I2783 — The intent workspace reads itself again when a move ends on its server
Have /ui/idd hold one channel to /events through the Cockpit's socket.js, named by the page with the channel's path, and read the screen again when an execution ends there, at most once per burst; the line beside the read time says whether that channel is live, reconnecting or offline, from the socket's own state.
DONE wave 2 · p1 · implementation profile · runs alone
Part of idd-workspace — The UI is where the owner directs the work, from an intent to its next move.
Objective
Have /ui/idd hold one channel to /events through the Cockpit's socket.js, named by the page with the channel's path, and read the screen again when an execution ends there, at most once per burst; the line beside the read time says whether that channel is live, reconnecting or offline, from the socket's own state.
Why
The workspace reads its sources once a minute, so a move made from another tab, the Cockpit or an agent through this server is invisible on it for up to a minute; the server already reports every execution on one channel with one client to read it.
Current state
/ui screens read again every minute; only the Cockpit follows /events.
Desired state
/ui/idd reads again within seconds of an execution ending on its server, says what its channel is doing, and still refreshes by the minute for what the channel does not carry.
Scope
- apps/majordomus-cli/src/ui
- apps/majordomus-cli/tests/ui_idd_live.rs
- share/ui/ui.js
- docs
- site
- .ai/repo/project
Dependencies
What waits on this
- I2789DONE The intent workspace shows why an intent stands where it stands and every move made on its issues
- I3220READY An intent proposed or an issue moved by any client reaches an open intent workspace without a reload
Acceptance criteria
- The workspace page names /events and the socket module, and the module is served
- A move started through executions.start ends on /events and the screen read again reads its new status
- No other screen declares that it follows executions
- A snapshot opens no channel
Validation
- majordomus plan validate
- cargo test --test ui_idd_live
- cargo test --lib ui::
Evidence required
- ui_idd_live_tests
Evidence
| covers | type | command | result | at commit |
|---|---|---|---|---|
| ui_idd_live_tests | ci | gh run view --job 117706042653 --log | tests/ui_idd_live.rs: 2 passed, 0 failed, in rust (3) of validate run 39137437606 on 2dfff96988a, the v0.30.0 top carrying I2783's merge afaecfe341d | dd4c0a8 |
Timeline
- started
- 2026-10-19T09:58:17Z
- verified
- 2026-10-19T09:58:35Z
- completed
- 2026-10-19T09:58:46Z
Those three fields, the evidence above and the state of the dependencies are all the status is made of. There is no status field to disagree with them.
Canonical record: .ai/repo/project/issues/I2783.yaml. Read it back with majordomus plan show I2783.