Co-Authored-By: Claude Fable 5.1 <[email protected]>
This commit is contained in:
@@ -238,6 +238,63 @@ ledger's output, not from memory.
|
|||||||
- If a number cannot be computed from evidence it prints "unknown", never a
|
- If a number cannot be computed from evidence it prints "unknown", never a
|
||||||
guess.
|
guess.
|
||||||
|
|
||||||
|
## Piece 4: WebUI first screen (Console)
|
||||||
|
|
||||||
|
Approved by Jason 2026-09-12 ("speed walk to success") after Gate D. Decision
|
||||||
|
MOSAIC-STACK-D-002: Dewey's design 3, Console
|
||||||
|
(`agents/dewey/work/wui/mockups/d3-console.html`), is the WebUI starting
|
||||||
|
point. The board is its first and only screen. Owner: dewey. Dewey opens the
|
||||||
|
issue and updates `CURRENT.md` when picking it up.
|
||||||
|
|
||||||
|
### What it is
|
||||||
|
|
||||||
|
`packages/webui`: `node packages/webui/src/cli.mjs serve [--port N]
|
||||||
|
[--board http://127.0.0.1:7331]`. Loopback only. One page, the Console
|
||||||
|
layout from the mockup, populated from the control board's `/api/board`
|
||||||
|
JSON: project tree on the left, dense session table (state, task with its
|
||||||
|
source tag, active project, workspace, model, registered line, last
|
||||||
|
activity), inspector drawer on the row with the last assistant text and the
|
||||||
|
reply box. Actions proxy to the board: `POST /api/seen` and `POST /api/reply`
|
||||||
|
unchanged in shape. "Simulated" notices from the mockup are gone; every
|
||||||
|
control either does the board thing or does not exist yet.
|
||||||
|
|
||||||
|
- Data: only what `/api/board` already serves. No new scanner, no new
|
||||||
|
sources, no seat writes. If the mockup shows a field the board does not
|
||||||
|
have, the field is dropped for this piece and a line goes to
|
||||||
|
`docs/plans/DEFERRED.md`.
|
||||||
|
- Style: the mockup's CSS and brand assets as they are, palette and
|
||||||
|
appearance switches kept if they are already built, otherwise dropped.
|
||||||
|
- Refresh: same as the board page (its scan on load or refresh); no polling
|
||||||
|
loop beyond what the board page already does.
|
||||||
|
- No auth, no accounts, no settings page, no second screen, no router.
|
||||||
|
|
||||||
|
### Gate E (yes/no)
|
||||||
|
|
||||||
|
Jason works Monday 2026-09-14 from the WebUI and does not open the board's
|
||||||
|
own page or a terminal to a repo seat to answer "who is waiting on me". Pass
|
||||||
|
is his say-so at the end of the day, with any exception written as a line in
|
||||||
|
`DEFERRED.md` with the reason.
|
||||||
|
|
||||||
|
### Tests
|
||||||
|
|
||||||
|
- Page renders the fixture `/api/board` JSON (the board's own test fixture)
|
||||||
|
into the table and tree; counts match the fixture.
|
||||||
|
- Seen and reply proxy to the board with the same body; a fake board on
|
||||||
|
localhost captures the requests.
|
||||||
|
- Board unreachable: page says so with the URL, no blank screen.
|
||||||
|
- Loopback bind only, as the board.
|
||||||
|
- Dewey's existing mockup verifier (`work/wui/checks/mockups-verify.mjs`)
|
||||||
|
or its equivalent runs against the served page for contrast and 320px
|
||||||
|
width.
|
||||||
|
|
||||||
|
### Boundaries
|
||||||
|
|
||||||
|
- `packages/control-board` changes only if the WebUI needs a field the
|
||||||
|
scanner already computes but does not serialize; each such change is one
|
||||||
|
commit with a test, nothing else.
|
||||||
|
- No fleet sources, no comms changes, no `packages/seat` changes.
|
||||||
|
- Dewey coordinates with Darkwing before touching any board file.
|
||||||
|
|
||||||
## How the scanner decides state
|
## How the scanner decides state
|
||||||
|
|
||||||
The scanner reads the newest pi session log for each agent, plus whether
|
The scanner reads the newest pi session log for each agent, plus whether
|
||||||
|
|||||||
+13
-4
@@ -50,10 +50,19 @@ Gate C passed 2026-09-12 on 867619dc (logged by Jason at 4f830680):
|
|||||||
answered in its own session with no send attempt, and the row showed the
|
answered in its own session with no send attempt, and the row showed the
|
||||||
answer on the next scan. #1505 is closed.
|
answer on the next scan. #1505 is closed.
|
||||||
|
|
||||||
Next action: Jason runs Gate D for piece 3, the ledger, under #1506:
|
Gate D (2026-09-12, Jason's run of the ledger for 2026-09-06 to 2026-09-12):
|
||||||
`node packages/ledger/src/cli.mjs --since 2026-09-06 --until 2026-09-12`.
|
**18.9 human messages per closed issue.** That is the number to move next
|
||||||
Choose one number to move next week and write that sentence with the number
|
week: every message Jason types to a seat is a nudge the rails did not
|
||||||
into this file. Do not infer acceptance from the implementation or tests.
|
absorb. Target for the week of 2026-09-13: under 10, by assignment through
|
||||||
|
`mosaic seat task` and the board instead of the terminal, then the
|
||||||
|
orchestrator seat. Companion numbers from the same run, for context only:
|
||||||
|
8 issues closed, median 2.7 hours open, 1.9 follow-up commits per issue.
|
||||||
|
|
||||||
|
Next action: piece 4, the WebUI on Dewey's Console design (MOSAIC-STACK-D-002).
|
||||||
|
Brief on the plan page, section "Piece 4: WebUI first screen (Console)".
|
||||||
|
Owner: dewey. Darkwing closes #1506 (Gate D written) and #1504 (registration
|
||||||
|
shipped, Gate B passed), then holds for piece 5 (orchestrator seat) unless
|
||||||
|
Jason calls it. #1503 stays open until Jason rules on "who is waiting on me".
|
||||||
|
|
||||||
`packages/ledger` is implemented: read-only local refactor subjects, one
|
`packages/ledger` is implemented: read-only local refactor subjects, one
|
||||||
Gitea issue request, repo seats' user messages, two tables and JSON. Ledger
|
Gitea issue request, repo seats' user messages, two tables and JSON. Ledger
|
||||||
|
|||||||
@@ -55,13 +55,12 @@ at every gate. Started 2026-09-12 during the control board MVP.
|
|||||||
|
|
||||||
## Queue (Jason's order)
|
## Queue (Jason's order)
|
||||||
|
|
||||||
1. Ledger (piece 3, in progress, Gate D).
|
1. WebUI on Dewey's Console design absorbs the board as its first screen
|
||||||
2. WebUI on Dewey's Console design absorbs the board as its first screen
|
(piece 4, MOSAIC-STACK-D-002, Gate E on Monday 2026-09-14).
|
||||||
(MOSAIC-STACK-D-002).
|
|
||||||
3. Orchestrator seat: assigns tasks through `mosaic seat task`, closes the
|
3. Orchestrator seat: assigns tasks through `mosaic seat task`, closes the
|
||||||
"set by" gap.
|
"set by" gap.
|
||||||
4. Fleet launch through `mosaic launch`: the stress test.
|
4. Fleet launch through `mosaic launch`: the stress test.
|
||||||
|
|
||||||
## Done
|
## Done
|
||||||
|
|
||||||
- (none yet)
|
- Ledger (piece 3, #1506): shipped cd0aa5fb, Gate D written 2026-09-12 (18.9 human messages per closed issue).
|
||||||
|
|||||||
Reference in New Issue
Block a user