I2998 — /cockpit/peers renders the blackboard and follows it live
Render /cockpit/peers from blackboard.snapshot instead of peers.list: every worker on every board and linked machine, its claims, the conflicts, the waiting reviews and handovers, and every source. Follow /events?follow=blackboard&frames=snapshot through the one socket client (share/cockpit/socket.js), as /ui/peers does. The page's state line says live, reconnecting or offline truthfully. /ui/peers and /cockpit/peers then render the same projection, and neither joins a fact of its own.
BLOKOVÁNO vlna 4 · p1 · profil implementation · běží samostatně
Part of peer-blackboard — The peer blackboard is one projection, pushed live to every surface.
Blocked. This issue cannot start until I2983 is done. The status is derived from that, not declared.
Cíl
Render /cockpit/peers from blackboard.snapshot instead of peers.list: every worker on every board and linked machine, its claims, the conflicts, the waiting reviews and handovers, and every source. Follow /events?follow=blackboard&frames=snapshot through the one socket client (share/cockpit/socket.js), as /ui/peers does. The page's state line says live, reconnecting or offline truthfully. /ui/peers and /cockpit/peers then render the same projection, and neither joins a fact of its own.
Proč
The milestone's invariant is that every surface that shows peers reads the one projection. /cockpit/peers still reads peers.list once: one checkout's boards, nothing of the mesh, never updated.
Aktuální stav
cockpit/pages.rs peers() asks peers.list and renders it once.
Cílový stav
/cockpit/peers shows what /ui/peers shows, from the same frames, and is pushed a change within a second on this machine.
Rozsah
- apps/majordomus-cli/src/cockpit/pages.rs
- share/cockpit/peers.js
- docs/BLACKBOARD.md
- docs/COCKPIT.md
- .ai/repo/project/intents/the-peer-blackboard-is-one-reality.yaml
- test/cases/3386_the_cockpit_peers_page_follows_the_blackboard.sh
Závislosti
Kritéria přijetí
- /cockpit/peers lists a worker announced over MCP with its intent and claim, and a mesh session of a linked runtime, from blackboard.snapshot
- A second announcement reaches an open /cockpit/peers without a reload, and the page says live
- No cockpit or ui page that shows peers asks peers.list or mesh.state for them directly
Validace
- majordomus plan validate
- bash test/run.sh 3386_the_cockpit_peers_page_follows_the_blackboard
Požadované důkazy
- case_cockpit_peers_follows_the_blackboard
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/I2998.yaml. Read it back with majordomus plan show I2998.