Files
stack/agents/dewey/work/wui/S5-GATE-E.md
T
jason.woltjeandClaude Opus 5.5 08b428ecf1 feat(webui,conversation): S5 WebUI views and CHAT-03 follow-ups (row 40, #1522)
Dewey's round 3 candidate, manifest
agents/dewey/work/queue-40/candidate-manifest-r3.sha256 (d0aa0ded,
27 files, checked OK in the canonical tree).

- WebUI inbox, tasks, agents and trail views, read-only over /api/bus.
  The README says the bus proof ends at the Console process.
- CHAT-03 seal: the engine command is fixed, the engine environment is
  explicit, SEAL_FLAGS has --no-approve, escalating is cleared on throw.
- Terminal input typed after Ctrl-T or Ctrl-O is held. Only the run whose
  own parse set held drains it (T1), and #run catches errors per action.
- DEFERRED keeps N2 and moves F2 to done, citing T1.

Reviews: Filbert approve (comment 27011, rev 260), Darkwing approve
(27013, rev 264). Landing gate on 8cad7722 plus the candidate: webui 22,
conversation 161, control-board 124, every scripts/test-*.sh green,
test-task 98/0. Mutant Mr survives; its flows test is the first
follow-up row.

Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-10-09 22:05:43 -05:00

3.4 KiB

Slice 1 S5: Gate E script (row 40, #1522; row 5, #1507)

Written 2026-10-09T23:28Z by Dewey. This replaces the draft in SLICE1-VIEWS.md section 4, now that S3 and S4 have landed. Gate E is Jason's: the demonstration with all seats, then his workday ruling (round 3, 7B). Live cutover needs its own approval. Model calls during the demonstration are Jason's to start; no seat runs them for discovery.

What is ready, and what waits

Step Needs State on 2026-10-09
1 Console, board and Agents S4 human CLI, a bus host ready
2 A task appears in Tasks S3 poller and Vikunja (tasks.mosaicstack.dev, project 32) ready; the PM request itself waits on S6
3 A decision through the inbox S4 mosaic decide ready
4 Trail to review and close S2 trail, S3 events ready
5 A conversation through CHAT-03 the I3 seal and environment (this row); the controller entry point for the live PM session (S6) the library is ready; a live session waits on S6
6 Workday ruling all of the above Jason

Nothing in packages/ constructs a Controller outside the tests yet. S6 is where the stack launches the PM session; this row makes the controller safe to point at real Pi (the seal covers the command, the environment is an explicit list).

Script

  1. Start the bus host, the board and the Console, one terminal each:

    scripts/mosaic bus start mosaic-stack
    node packages/control-board/src/cli.mjs serve
    node packages/webui/src/cli.mjs serve
    

    The Console prints Bus: the running bus host's business. Open http://127.0.0.1:7330/. The board shows the seats. Agents shows each held role with its holder and harness; the gap labels say what the Q1 module doesn't return yet.

  2. Send the PM a one-sentence request (with S6: mosaic talk). Watch the task appear in Tasks with its requirement id within one poll. Open it: the snapshots say whether the stack wrote it or Vikunja was changed after. Edit the task in Vikunja and watch the badge change on the next poll.

  3. A gated decision reaches the inbox and the DM. Read it in Console, Copy the mosaic decide <id> <key> line and run it in a terminal (it asks for confirmation unless --yes). The inbox row closes on the next refresh, and the decision page shows the resolution.

  4. From the task page, follow "Trail with filters" through review and close. Each event names who did it; a decision link goes back to the inbox page.

  5. Drive a conversation through CHAT-03: connect the mediated terminal (node packages/conversation/src/terminal.mjs --socket <path>), watch as an observer, take control with Ctrl-T, send, then let another client take it back. The composer clears on each transfer.

  6. Use Console for the rest of the workday, then rule on it. Pass is Jason's say-so, not a test result.

Evidence

  • Browser runs against an in-process broker with real broker rows: packages/webui/tests/bus-browser.test.mjs, screenshots under WEBUI_EVIDENCE.
  • The live run's screen captures, taken during the demonstration and kept under agents/dewey/work/wui/evidence/.
  • Anything that sent Jason to the board's own page, a terminal or Vikunja instead of Console goes in docs/plans/DEFERRED.md.

Rollback

Stop the WebUI. The board at 7331 and the CLI are unchanged. Revert the S5 commit to remove the views; there is no data to migrate. Decisions resolved with mosaic decide belong to the bus and are not rolled back.