Přeskočit na obsah

Tato stránka byla automaticky přeložena z angličtiny, jediného jazyka, ve kterém se tento web píše. Číst originál.

peer-blackboard — The peer blackboard is one projection, pushed live to every surface

One capability computes the blackboard from the records that exist; a change of the board or the journal is pushed over one WebSocket to every page that follows it, with the monitor's cursor for resume; /ui, /cockpit and the home page read the same frames; the published site carries a public-safe snapshot labelled as one.

PLÁNOVÁNO 0 z 9 úkolů hotovo

připraveno
1
blokováno
8
aktivní
0
verify
0
hotovo
0
zrušeno
0

Problém

Who is working on what is already recorded — the board of every checkout (peers.list, gathered per ADR 0044), the mesh journal (sessions, claims, reviews, handovers per ADR 0067) and the monitor's folded signals (ADR 0133) — but no surface shows it as one picture and none shows it live. /cockpit/peers renders peers.list once and never changes; /ui has no peers screen; /cockpit/monitor polls the whole monitor every five seconds; the only WebSocket, /events, carries executions and nothing else; and nothing between the board, the journal and the socket says that anything changed. The unmerged ADR 0162 draft proposed a board channel for the kiosk alone and was never implemented.

Výsledek

One capability computes the blackboard from the records that exist; a change of the board or the journal is pushed over one WebSocket to every page that follows it, with the monitor's cursor for resume; /ui, /cockpit and the home page read the same frames; the published site carries a public-safe snapshot labelled as one.

Aktuální stav

peers.list, mesh.state and monitor.stream answer separately; /cockpit/peers is static; /cockpit/monitor polls; socket.js follows executions only.

Cílový stav

blackboard.snapshot answers on every interface; a board or journal change reaches a connected page in under a second on this machine; every surface that shows peers reads that one projection.

Rozsah

  • apps/majordomus-cli/src/commands/blackboard.rs
  • apps/majordomus-cli/src/capability/builtin/blackboard.rs
  • apps/majordomus-cli/src/http
  • apps/majordomus-cli/src/ui
  • apps/majordomus-cli/src/cockpit
  • share/cockpit
  • share/ui
  • docs/BLACKBOARD.md
  • test/cases

Mimo rozsah

  • A second peer registry, a message store or a broker; a peer message kind is added to the journal only when reviews and handovers are shown not to carry what peers send each other
  • A public WebSocket into a private mesh, or credentials in a published bundle
  • Presence for a provider (OpenAI Dots included) that exposes no supported, authenticated event source

Kritéria přijetí

  • blackboard.snapshot answers the same projection over the command line, HTTP and MCP, with completeness, sources, workers, conflicts, reviews, handovers, typed relations and signals
  • A board or journal change is pushed to a connected page over one WebSocket that resumes from the monitor's cursor and resynchronises when the cursor cannot be served
  • /ui/peers, the /ui home panel, /cockpit/peers and the home page read the same frames, and say live, reconnecting, offline or snapshot truthfully
  • The published site shows a public-safe snapshot of the blackboard with its revision, and no private path, message body or scope

Validace

  • majordomus plan validate
  • bash test/run.sh 3380_the_blackboard_is_one_projection

Rizika

  • The monitor rereads the whole journal on every page; pushing it on every change multiplies that cost by the subscribers unless one computation is shared by all of them.
  • A worker's board session and its own mesh session are two records; joining them by anything weaker than an identifier invents a person.

Úkoly

Každý z nich je prováděcí kontrakt s vlastními kritérii přijetí, validačním příkazem a požadovanými důkazy. Sloupec wave je vrstva grafu závislostí, v níž úkol leží.

issuestatusvlnazávisí nanázev
I2980 PŘIPRAVENO 0 — The blackboard is one projection answered on every interface
I2981 BLOKOVÁNO 1 I2980 A board or journal change is pushed over one WebSocket
I2982 BLOKOVÁNO 2 I2981 The monitor page is pushed over the live channel, and says when it polls
I2983 BLOKOVÁNO 3 I2982 /ui/peers shows the blackboard and is read again when it changes
I2984 BLOKOVÁNO 4 I2983 The published site shows a public-safe blackboard, labelled as the snapshot it is
I2985 BLOKOVÁNO 4 I2983 The Observatory's cooperation scene draws the blackboard, not a second join of the journal
I2998 BLOKOVÁNO 4 I2983 /cockpit/peers renders the blackboard and follows it live
I2999 BLOKOVÁNO 4 I2983 From /ui/peers an operator answers a review, takes a handover or releases a claim, through its capability
I3073 BLOKOVÁNO 4 I2983 The home page and the docs explain the peer blackboard: live on a runtime, a labelled snapshot on the published site

Graf

peer-blackboard dependency graphz .ai/repo/project
flowchart LR
    I2980["I2980<br/>The blackboard is one projection answered on every interface"]:::ready
    I2981["I2981<br/>A board or journal change is pushed over one WebSocket"]:::blocked
    I2982["I2982<br/>The monitor page is pushed over the live channel, and says when it polls"]:::blocked
    I2983["I2983<br/>/ui/peers shows the blackboard and is read again when it changes"]:::blocked
    I2984["I2984<br/>The published site shows a public-safe blackboard, labelled as the snapshot it is"]:::blocked
    I2985["I2985<br/>The Observatory's cooperation scene draws the blackboard, not a second join of the journal"]:::blocked
    I2998["I2998<br/>/cockpit/peers renders the blackboard and follows it live"]:::blocked
    I2999["I2999<br/>From /ui/peers an operator answers a review, takes a handover or releases a claim, through its capability"]:::blocked
    I3073["I3073<br/>The home page and the docs explain the peer blackboard: live on a runtime, a labelled snapshot on the published site"]:::blocked
    I2980 --> I2981
    I2981 --> I2982
    I2982 --> I2983
    I2983 --> I2984
    I2983 --> I2985
    I2983 --> I2998
    I2983 --> I2999
    I2983 --> I3073
    classDef done stroke:#16a34a,fill:#dcfce7,color:#14532d,stroke-width:2px
    classDef active stroke:#2563eb,fill:#eff6ff,color:#1e3a8a,stroke-width:2px
    classDef verify stroke:#7c3aed,fill:#f5f3ff,color:#4c1d95,stroke-width:2px
    classDef ready stroke:#0891b2,fill:#ecfeff,color:#164e63,stroke-width:2px
    classDef planned stroke:#0891b2,fill:#ecfeff,color:#164e63,stroke-width:2px
    classDef blocked stroke:#b45309,fill:#fffbeb,color:#78350f,stroke-width:2px
    classDef cancelled stroke:#6b7280,fill:#f9fafb,color:#374151,stroke-width:2px
    classDef superseded stroke:#6b7280,fill:#f9fafb,color:#374151,stroke-width:2px

Canonical record: .ai/repo/project/milestones/peer-blackboard.yaml. Read it back with majordomus plan show peer-blackboard.

Prohledává názvy a popisy všech stránek, které tento web publikuje.