I2983 — /ui/peers shows the blackboard and is read again when it changes
Add the Peers screen to the UI: every worker of the repository with where it works, its client, whether it is here, its intent and its claims; the claims that meet; the reviews and handovers that wait; the typed relations; and every source with its state. It renders blackboard.snapshot through the same shared read the live channel's followers take (http::follow::blackboard), so a screen read after a change frame is the blackboard at that change. share/ui/live.js follows /events?follow=blackboard&frames=snapshot through the one socket client (share/ui/socket.js, a byte copy of share/cockpit/socket.js kept by scripts/cockpit-assets), asks ui.js to read the screen again on a change or a reconnection, and keeps a state line that says live, reconnecting or read on a timer. The minute refresh runs only while the channel is not live. The published UI snapshot withholds the screen until its public-safe form exists (I2984).
BLOKOVÁNO vlna 3 · 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 I2982 is done. The status is derived from that, not declared.
Cíl
Add the Peers screen to the UI: every worker of the repository with where it works, its client, whether it is here, its intent and its claims; the claims that meet; the reviews and handovers that wait; the typed relations; and every source with its state. It renders blackboard.snapshot through the same shared read the live channel's followers take (http::follow::blackboard), so a screen read after a change frame is the blackboard at that change. share/ui/live.js follows /events?follow=blackboard&frames=snapshot through the one socket client (share/ui/socket.js, a byte copy of share/cockpit/socket.js kept by scripts/cockpit-assets), asks ui.js to read the screen again on a change or a reconnection, and keeps a state line that says live, reconnecting or read on a timer. The minute refresh runs only while the channel is not live. The published UI snapshot withholds the screen until its public-safe form exists (I2984).
Proč
Who works on what is on the blackboard and on no UI screen; /cockpit/peers reads peers.list, which knows one board's machines and nothing of the mesh.
Aktuální stav
No /ui screen renders blackboard.snapshot; /ui screens are refreshed every minute and never pushed.
Cílový stav
An announcement reaches an open /ui/peers within a second of the change on this machine, with the screen saying it is live.
Rozsah
- apps/majordomus-cli/src/ui/peers.rs
- apps/majordomus-cli/src/ui/mod.rs
- apps/majordomus-cli/src/ui/source.rs
- apps/majordomus-cli/src/http/follow.rs
- apps/majordomus-cli/src/web/report/snapshot.rs
- share/ui/live.js
- share/ui/socket.js
- share/ui/ui.js
- scripts/cockpit-assets
- docs/MAJORDOMUS_UI.md
- docs/BLACKBOARD.md
- .ai/repo/project/intents/the-peer-blackboard-is-one-reality.yaml
- test/cases/3383_the_peers_screen_follows_the_blackboard.sh
- test/cases/1092_the_ui_snapshot_holds_every_screen.sh
- .ai/repo/project/critiques/the-peer-blackboard-is-one-reality.yaml
Závislosti
Co na tom čeká
- I2984BLOCKED The published site shows a public-safe blackboard, labelled as the snapshot it is
- I2985BLOCKED The Observatory's cooperation scene draws the blackboard, not a second join of the journal
- I2998BLOCKED /cockpit/peers renders the blackboard and follows it live
- I2999BLOCKED From /ui/peers an operator answers a review, takes a handover or releases a claim, through its capability
- I3073BLOCKED The home page and the docs explain the peer blackboard: live on a runtime, a labelled snapshot on the published site
Kritéria přijetí
- /ui/peers lists a worker announced over MCP with its intent and claim, and its fragment read after a second announcement shows the new intent at once
- live.js reads the screen again on every snapshot frame, a connection's first one included, one reading at a time, and says live, reconnecting or offline
- The UI snapshot holds no /ui/peers page and a link to it leads to the live page
Validace
- majordomus plan validate
- bash test/run.sh 3383_the_peers_screen_follows_the_blackboard
Požadované důkazy
- case_peers_screen_follows
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/I2983.yaml. Read it back with majordomus plan show I2983.