I2980 — The blackboard is one projection answered on every interface
Add blackboard.snapshot: one read capability that composes the repository-wide board (peers.list), the live mesh state (sessions, claims, reviews, handovers) and the newest monitor signals into one typed snapshot with the sources it read and their health, whether it is complete, every worker with its claims (advisory or exclusive), the conflicts (potential overlaps and confirmed conflicted claims), open reviews, untaken handovers, typed relations (verified or candidate) and the monitor cursor a stream resumes from.
PŘIPRAVENO vlna 0 · p1 · profil implementation · bezpečné paralelně
Part of peer-blackboard — The peer blackboard is one projection, pushed live to every surface.
Připraveno. Všechny závislosti jsou hotové, takže majordomus plan start I2980 bude přijato.
Cíl
Add blackboard.snapshot: one read capability that composes the repository-wide board (peers.list), the live mesh state (sessions, claims, reviews, handovers) and the newest monitor signals into one typed snapshot with the sources it read and their health, whether it is complete, every worker with its claims (advisory or exclusive), the conflicts (potential overlaps and confirmed conflicted claims), open reviews, untaken handovers, typed relations (verified or candidate) and the monitor cursor a stream resumes from.
Proč
The facts exist in three capabilities that each surface would have to join again, and a join done per renderer is a second truth; the board's p1 is a position on one board, so a join by it would merge people.
Aktuální stav
peers.list, mesh.state and monitor.stream answer separately; /cockpit/peers renders peers.list alone.
Cílový stav
majordomus blackboard, GET /api/v1/blackboard and majordomus_blackboard answer the same projection; a board peer and the mesh session its server projected for it are one worker by an explicit identifier, never by a name.
Rozsah
- apps/majordomus-cli/src/capability/builtin/blackboard.rs
- apps/majordomus-cli/src/capability/builtin/mod.rs
- apps/majordomus-cli/src/capability/builtin/peers.rs
- apps/majordomus-cli/src/capability/builtin/monitor.rs
- apps/majordomus-cli/src/commands/blackboard.rs
- apps/majordomus-cli/src/commands/mod.rs
- apps/majordomus-cli/src/cli.rs
- docs/BLACKBOARD.md
- test/cases/3380_the_blackboard_is_one_projection.sh
Závislosti
Žádné. Tento úkol je kořenem grafu.
Co na tom čeká
Kritéria přijetí
- The three interfaces answer the same projection
- An unread board or absent source makes complete false and names the reason
- A board peer joins the mesh session its own server projected only through the stream that server names, with the same board session id, checkout and client; two matches make candidates and no join
Validace
- majordomus plan validate
- bash test/run.sh 3380_the_blackboard_is_one_projection
Požadované důkazy
- case_blackboard_projection
Důkazy
Nic nezaznamenáno. Za každým tokenem výše musí stát příkaz nebo artefakt, než lze tento úkol dokončit; vyprávění se odmítá.
Časová osa
- zahájeno
- —
- ověřeno
- —
- dokončeno
- —
Tato tři pole, důkazy výše a stav závislostí jsou vše, z čeho se stav skládá. Neexistuje žádné pole stavu, které by s nimi mohlo být v rozporu.
Canonical record: .ai/repo/project/issues/I2980.yaml. Read it back with majordomus plan show I2980.