feat(queue): queue as data A2, migration, render and dispatch (#1508)
Filbert approved round 1 (f167b85e). Manifest 782bcb62, 21 files, plus the QUEUE.md markers and the TOOLS.md section. Lead decision 35. Co-Authored-By: Claude Opus 5.5 <[email protected]>
This commit is contained in:
@@ -0,0 +1,65 @@
|
||||
diff --git a/docs/plans/QUEUE.md b/docs/plans/QUEUE.md
|
||||
index c8e3d34..dd155c6 100644
|
||||
--- a/docs/plans/QUEUE.md
|
||||
+++ b/docs/plans/QUEUE.md
|
||||
@@ -1,29 +1,32 @@
|
||||
# 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.
|
||||
+Read this first. One row per piece. The table between the markers is
|
||||
+rendered from `docs/plans/queue.json`, and `scripts/mosaic queue` is its only
|
||||
+writer. Don't edit the table by hand: `queue verify` and the commit hook
|
||||
+refuse a table that isn't the render. `packages/queue/README.md` has the verbs.
|
||||
|
||||
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.
|
||||
-- **Sage, project lead** (Jason's ruling 2026-09-26; Darkwing before that): update this table at every gate, before
|
||||
- anything else is written. CURRENT.md is the narrative log; this table wins
|
||||
+- **A seat**: run `scripts/mosaic queue next`. It names the row to resume,
|
||||
+ review or start, or says there is nothing; if nothing, say so on the board
|
||||
+ and stop.
|
||||
+- **Jason**: rows in state `waiting-on-jason`, and parked rows to reopen.
|
||||
+- **Sage, project lead** (Jason's ruling 2026-09-26): changes the queue with
|
||||
+ `scripts/mosaic queue` and commits `queue.json` with QUEUE.md through
|
||||
+ `scripts/queue-commit.sh`. CURRENT.md is the narrative log; the queue 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.
|
||||
+States: `queued` (brief exists, not accepted) → `briefed` → `in-progress` →
|
||||
+`in-review` → `waiting-on-jason` → `done`. `blocked` returns to the state it
|
||||
+left. `parked` rows wait for Jason to reopen them. A `required` row can't be
|
||||
+parked, and only Jason clears the flag. `after` names the rows a piece waits
|
||||
+for.
|
||||
|
||||
-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)
|
||||
|
||||
+<!-- mosaic-queue:begin -->
|
||||
Lead: Sage from 2026-09-26 (Jason's ruling); Darkwing is a collaborating seat.
|
||||
Jason is preparing the target for the next phase; until it arrives, the
|
||||
priority below stands.
|
||||
@@ -79,8 +82,13 @@ Gate F or when blocked."
|
||||
| Console features outside the refined session-chat brief, including Fresh creation and model switching | Deferred by WEBUI Q1; required history/control/stop now belong to row 5, not this parked item | `2026-09-13_webui-session-chat.md` |
|
||||
| Open gaps from the MVP work | Fixed only when a gate needs them | DEFERRED.md, "Open" |
|
||||
|
||||
+<!-- mosaic-queue:end -->
|
||||
+
|
||||
## Log of table changes
|
||||
|
||||
+Frozen at genesis. Since then the log in `docs/plans/queue.json` records every
|
||||
+change; the entries below are history.
|
||||
+
|
||||
- 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.
|
||||
|
||||
Reference in New Issue
Block a user