Files
stack/docs/plans/QUEUE.md
T
jason.woltjeandClaude Fable 5.1 90cb31f56f docs(discord): brief the control board row as iteration 3, blocked on ownership (#1509)
QUEUE row 18. The board discovers rows from pi session directories and
decides liveness by tmux; the connector's session and run.lock live
elsewhere and it has no pane since iteration 2. The brief lists what the
board-side change needs. Owner for Jason to rule.

Co-Authored-By: Claude Fable 5.1 <[email protected]>
2026-09-13 14:40:29 -05:00

88 lines
11 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# QUEUE — the one task list
Read this first. One row per piece. Nobody needs to read the prose plans to
know what is next; the Brief column says which section to open only when you
are the owner of that row.
How to find your next thing:
- **Jason**: the first row whose State starts with `Jason:`.
- **A seat**: the first row where Owner is you and State is `in progress`,
`in review` or `briefed`. If there is none, you have nothing; say so on the
board and stop.
- **Coordinator (Claude session)**: update this table at every gate, before
anything else is written. CURRENT.md is the narrative log; this table wins
if they disagree.
States: `queued` (no brief yet) → `briefed` (brief written, not started) →
`in progress``in review``Jason: <what he must do>``done`. `parked`
means not before the rows above it and not without Jason's say. `required`
means it cannot be parked or reordered below `queued` rows; only Jason moves it.
Brief locations: "plan page" is `docs/plans/2026-09-12_control-board-mvp.md`.
Gaps found while working go to `docs/plans/DEFERRED.md`, not here.
## Pieces (in order)
| # | Piece | Owner | Issue | State | Gate | Brief |
|---|-------|-------|-------|-------|------|-------|
| 1 | Control board MVP (scanner + page) | darkwing | #1503 | Jason: rule whether the page answers "who is waiting on me" without a terminal; then close #1503 and mark MOSAIC-STACK-D-001 completed | A passed 2026-09-12 | plan page, top |
| 2 | Seat registration and `mosaic seat task` | darkwing | #1504 | done 2026-09-13 | B passed 2026-09-12 | plan page, Step 3 |
| 3 | Reply-from-board (piece 2 on the plan page) | darkwing | #1505 | done 2026-09-12 | C passed 2026-09-12 | plan page, "Piece 2: reply-from-board" |
| 4 | Ledger (piece 3 on the plan page) | darkwing | #1506 | done 2026-09-13 | D: 18.9 human messages per closed issue, week of 2026-09-06 | plan page, "Piece 3: ledger" |
| 5 | WebUI first screen on the Console design (piece 4 on the plan page) | dewey; filbert reviews | #1507 | Jason: use WebUI Monday and give Gate E ruling; ea00ec66 published, Filbert approved, committed-tree 208/208 | E: Jason works Monday 2026-09-14 from the WebUI without the terminal | plan page, "Piece 4: WebUI first screen (Console)" |
| 6 | Darkwing on point: darkwing assigns and gates filbert's work (piece 5 on the plan page) | darkwing | none yet | briefed; Jason: send the start message from the board on Sunday 2026-09-13 | F: filbert's item closes with zero human messages from Jason | plan page, "Piece 5: darkwing on point" |
| 7 | Weekly ledger run and rails number | Jason | — | recurring, end of Monday 2026-09-14 | under 10 human messages per closed issue for the week of 2026-09-13 | `packages/ledger/README.md` |
| 8 | Fleet seats (`~/.mosaic`) onto `mosaic launch` | unassigned | — | queued; not before row 6 is done | Jason's call | none yet |
| 9 | Queue as data: `docs/plans/queue.json`, `mosaic queue` is the only writer | darkwing; filbert reviews | #1508 | required; starts when row 6 is done, before row 8 | G: a fresh seat told only "run `mosaic queue next` and do it" starts its piece with zero human messages | `2026-09-13_queue-as-data.md`, Piece A |
| 10 | Seats read the queue, not CURRENT.md (AGENTS.md cadence, seat context files) | coordinator | #1508 | required; AGENTS.md lines done 2026-09-13, rest after row 9 | verified by Gate G | `2026-09-13_queue-as-data.md`, Piece B |
| 11 | Brief template `docs/plans/BRIEF-TEMPLATE.md`; `queue add` refuses a missing brief | darkwing | #1508 | required; with row 9 | two briefs accepted by Jason with no scope question | `2026-09-13_queue-as-data.md`, Piece C |
| 12 | Reviews as issue comments posted by `queue move ID in-review`, not files in `docs/plans/reviews/` | darkwing | #1508 | required; after row 9 | one review round with no new file under reviews/ | `2026-09-13_queue-as-data.md`, Piece D |
| 13 | Ledger "queue" section: issue/row/seat drift printed with the weekly number | darkwing; filbert reviews | #1508 | required; after row 9 | first run Monday 2026-09-21, zero violations or every one moved same day | `2026-09-13_queue-as-data.md`, Piece E |
| 14 | Discord connector pilot: Sage answers in Shared Signals (chat only, no tools, no repo writes) | coordinator; Filbert or orch-01 seat reviews | #1509 | done: rev-code-02 APPROVE 26170 (round 9), committed 786e379c; pilot steps 1-8 done with private receipts, Gate H passed (Jason, 2026-09-13: replies read as Sage); connector left running for MVP iteration | H: offline suite green, eight-step live pilot with private receipts, then Jason says the reply reads as Sage | `2026-09-13_discord-connector-pilot.md` |
| 15 | Discord connector: eyes reaction on every admitted message as a read receipt (MVP iteration 1) | coordinator | #1509 | done: committed 93d6b624, live check passed 19:21 UTC (turn record receipt ok, Jason: test is successful), receipt `mvp1-read-receipt-20260913T192158Z.json` in the private evidence dir; `rest.react` best effort, reaction placed at admission before the engine runs, outcome in the turn record, no reaction on drops or refusals; `scripts/test-discord.sh` 28/28 (90 node tests) | Jason sees the reaction on a live message | `2026-09-13_discord-connector-pilot.md` section 11 |
| 17 | Discord connector: systemd user service with a supervised pre-start (`recover`, exit 3 never retried) (MVP iteration 2) | coordinator | #1509 | done: `scripts/test-discord.sh` 40/40 (95 node tests); Sage seat migrated 19:35 UTC, SIGKILL recovered in 16 s with the dead lock cleared, brake held (exit 3, no restart), released and READY; receipt `mvp2-service-unit-*.json` in the private evidence dir. First cut (ExecStartPre) looped and was replaced by `run --supervised` before any traffic | the Sage connector runs under `mosaic-discord@shared-signals`, survives a kill with a clean restart, and stays down behind `discord.sh stop` | `2026-09-13_discord-connector-pilot.md` section 11 |
| 18 | Control board row for the Discord connector (MVP iteration 3): discovery from binding files, liveness from run.lock, reply refused | Jason to assign: darkwing (board owner) or coordinator with darkwing's review | #1509 | briefed; blocked on ownership, not design | a Sage (discord) row on the board shows live, offline and braked correctly, and reply from the board is refused | `2026-09-13_discord-connector-pilot.md` section 11 |
Start message for row 6, sent from the board to darkwing:
"Read docs/plans/QUEUE.md, then the plan page section "Piece 5: darkwing on
point", and execute it. Start with the first assignment for filbert. Report at
Gate F or when blocked."
## Parked (not in order, needs Jason to reopen)
| Item | Why parked | Where |
|------|------------|-------|
| Registry increment 3 (headless identity-env leak) | #1500 closed on increment 2; Jason has not asked for 3 | CURRENT.md, "#1500 increment 2 (historical)" |
| Auth/provider/harness registry review | Paused for owner alignment | `docs/plans/2026-09-03_auth-provider-harness-registry.md` |
| CI runners, second real adapter, push automation | Deferred by owner 2026-09-03 | `docs/plans/ROADMAP.md`, "Explicitly deferred" |
| Console screens beyond the first (launch, observe, stop, transcript, palette) | Needs a new brief after Gate E | DEFERRED.md |
| Open gaps from the MVP work | Fixed only when a gate needs them | DEFERRED.md, "Open" |
## Log of table changes
- 2026-09-13 — created; rows 1 to 8 taken from CURRENT.md, DEFERRED.md and the plan page.
- 2026-09-13 — rows 9 to 13 added (#1508): the process itself becomes data with one writer and ledger checks. Jason: "I want this iron-clad." Required, not parked; rule: these rows cannot be moved to parked, only to done.
- 2026-09-13 — dewey: WebUI row advanced to Jason-owned Gate E after Filbert approval, exact committed-tree 208/208 and remote-verified ea00ec66 publication. No other row changed.
- 2026-09-13 — rows 9 to 13 now point at the plan page `2026-09-13_queue-as-data.md` (pieces A to E, Gate G).
- 2026-09-13 — coordinator: row 14 added (Discord connector pilot for Sage on Shared Signals), briefed, unassigned, waiting on Jason for decisions D1-D7. No other row changed.
- 2026-09-13 — coordinator: row 14 moved to in progress (#1509) after Jason ruled Q1-Q27 through ms-grill-me. No other row changed.
- 2026-09-13 — coordinator: row 14 moved to in review; package, suite, wrapper, DISCORD-USER.md draft and README written, offline and existing suites green. No other row changed.
- 2026-09-13 — coordinator: row 14 stays in review; rev-code-02 round two findings (26121) fixed, round three requested. No other row changed.
- 2026-09-13 — coordinator: row 14 stays in review; rev-code-02 round three finding (26123, stale reclaim race) fixed by failing closed plus `unlock`, round four requested. No other row changed.
- 2026-09-13 — coordinator: row 14 stays in review; rev-code-02 round four finding (26132, unlock restore race) fixed with a `STOP` quiescence gate, round five requested. No other row changed.
- 2026-09-13 — coordinator: row 14 stays in review; rev-code-02 round five findings (26150, boot identity and unlock wording) fixed, round six requested. No other row changed.
- 2026-09-13 — coordinator: row 14 stays in review; rev-code-02 round six finding (26158, legacy record and unreadable record must refuse) fixed, round seven requested. No other row changed.
- 2026-09-13 — coordinator: row 14 stays in review; rev-code-02 round seven finding (26165, malformed identity strings must refuse) fixed, round eight requested. No other row changed.
- 2026-09-13 — coordinator: row 14 stays in review; rev-code-02 round eight finding (26168, noncanonical start digits must refuse) fixed, round nine requested. No other row changed.
- 2026-09-13 — coordinator: row 14 moved to in pilot; approved 26170, committed 786e379c (no push), check passed, connector running. No other row changed.
- 2026-09-13 — coordinator: row 14 done; Gate H passed, Jason ruled the replies read as Sage. Connector stays up; MVP improvements come as new rows. No other row changed.
- 2026-09-13 — coordinator: row 15 added and done (Discord read receipt, Jason's request after the pilot); committed after suites green. No other row changed.
- 2026-09-13 — coordinator: row 15 moved to in verification; committed 93d6b624, connector running the new code, waiting for Jason's live message to show the reaction. No other row changed.
- 2026-09-13 — coordinator: row 15 done; live reaction confirmed by Jason and by the turn record. No other row changed.
- 2026-09-13 — coordinator: rows 1415 pushed on Jason's authorization (788515dc..dc5902aa to origin/refactor). No other row changed.
- 2026-09-13 — coordinator: row 17 added, in verification (Discord service unit, iteration 2 on Jason's "proceed as suggested"). No other row changed.
- 2026-09-13 — coordinator: row 17 done; the Sage connector runs under systemd, kill and brake checks passed live. No other row changed.
- 2026-09-13 — coordinator: row 18 added, briefed; board-side work in darkwing's package, owner for Jason to rule. No other row changed.