chore(queue): row 10 to Jason's gate, row 16 check, header points at the goals review (#1508)

Includes Darkwing's revs 3 to 8 (row 9 to waiting-on-jason, row 12 started).

Co-Authored-By: Claude Opus 5.5 <[email protected]>
This commit is contained in:
2026-09-26 20:23:47 -05:00
co-authored by Claude Opus 5.5
parent 5efe28ab01
commit eae341d3ca
2 changed files with 190 additions and 19 deletions
+12 -7
View File
@@ -7,15 +7,20 @@ refuse a table that isn't the render. `packages/queue/README.md` has the verbs.
How to find your next thing:
- **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.
- **A seat**: run `scripts/mosaic queue next SEAT` (or set
`$MOSAIC_AGENT_NAME`). 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.
Priority: the north star and goal order in
`docs/plans/2026-09-27_goals-review.md`, ratified by Jason on 2026-09-27.
Rows serve that order. A new priority from Jason goes there or into a row,
not into this header.
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
@@ -28,7 +33,7 @@ Gaps found while working go to `docs/plans/DEFERRED.md`, not here.
<!-- mosaic-queue:begin -->
Generated from `docs/plans/queue.json` revision 6 by `queue render`. Do not edit between the markers; change the queue with `scripts/mosaic queue`.
Generated from `docs/plans/queue.json` revision 12 by `queue render`. Do not edit between the markers; change the queue with `scripts/mosaic queue`.
| # | Piece | Owner | Issues | State | After | Gate | Brief | Note |
|---|---|---|---|---|---|---|---|---|
@@ -41,13 +46,13 @@ Generated from `docs/plans/queue.json` revision 6 by `queue render`. Do not edit
| 7 | Weekly ledger run and rails number | sage | — | in-progress | — | under 10 human messages per closed issue for the week of 2026-09-13 (jason) | `packages/ledger/README.md` § Ledger | recurring, every Monday (lead decision 27); Jason reads; 09-13..19: 47.7, 09-20..26: 33.0 human messages per closed issue |
| 8 | Fleet seats (`~/.mosaic`) onto `mosaic launch` | unassigned | — | parked | — | Jason's call (jason) | `docs/plans/2026-09-26_fleet-seats-onto-mosaic-launch.md` § Row 8: fleet seats onto `mosaic launch` (stub brief) | parked by current owner direction; no `~/.mosaic` changes during internal bootstrap |
| 9 | Queue as data: `docs/plans/queue.json`, `mosaic queue` is the only writer | darkwing; reviewers filbert | #1508; closes none | required; waiting-on-jason | — | G: a fresh seat told only "run `mosaic queue next` and do it" starts its piece with zero human messages (jason) | `docs/plans/2026-09-13_queue-as-data.md` § Piece A: queue record and `mosaic queue` (QUEUE row 9) | A1 34a72af9 and A2 6ca116b7 committed; Filbert approved both, and review round 1's candidate 6ca116b7 matches the approved A2 manifest 21/21 (agents/filbert/work/queue-a2-review-r1-2026-09-27.md); genesis 3377b877 by Sage; waits on Gate G, which also verifies row 10 and carries Gate F's zero-human-message test |
| 10 | Seats read the queue, not CURRENT.md (AGENTS.md cadence, seat context files) | sage | #1508; closes none | required; briefed | — | verified by Gate G (jason) | `docs/plans/2026-09-13_queue-as-data.md` § Piece B: seats read the queue, not CURRENT.md (QUEUE row 10) | AGENTS.md lines done 2026-09-13; the rest starts once genesis is committed |
| 10 | Seats read the queue, not CURRENT.md (AGENTS.md cadence, seat context files) | sage | #1508; closes none | required; waiting-on-jason | — | verified by Gate G (jason) | `docs/plans/2026-09-13_queue-as-data.md` § Piece B: seats read the queue, not CURRENT.md (QUEUE row 10) | source 5efe28ab: AGENTS.md cadence, pointer and recovery rule, six seat CONTEXT files, queue README n3; QUEUE.md header points at the goals review (n2). Gate G verifies it: a seat starts from queue next with no human message |
| 11 | Brief template `docs/plans/BRIEF-TEMPLATE.md`; `queue add` refuses a missing brief | darkwing | #1508; closes none | required; waiting-on-jason | — | two briefs accepted by Jason with no scope question (jason) | `docs/plans/2026-09-13_queue-as-data.md` § Piece C: brief template (QUEUE row 11) | template and the `queue add` brief refusal both committed with A1 (34a72af9); the gate counts the first briefs added through the queue |
| 12 | Reviews as issue comments posted by `queue move ID in-review`, not files in `docs/plans/reviews/` | darkwing | #1508; closes none | required; briefed | — | one review round with no new file under reviews/ (sage) | `docs/plans/2026-09-13_queue-as-data.md` § Piece D: reviews through a channel, not files (QUEUE row 12) | starts once genesis is committed; the live posting test needs the per-seat credential file (8.9) |
| 12 | Reviews as issue comments posted by `queue move ID in-review`, not files in `docs/plans/reviews/` | darkwing | #1508; closes none | required; in-progress | — | one review round with no new file under reviews/ (sage) | `docs/plans/2026-09-13_queue-as-data.md` § Piece D: reviews through a channel, not files (QUEUE row 12) | starts once genesis is committed; the live posting test needs the per-seat credential file (8.9) |
| 13 | Ledger "queue" section: issue/row/seat drift printed with the weekly number | darkwing; reviewers filbert | #1508 | required; briefed | — | rows 9 to 12 done, then a Monday ledger run with zero queue violations, or every one moved the same day (sage) | `docs/plans/2026-09-13_queue-as-data.md` § Piece E: ledger checks the queue (QUEUE row 13) | starts once genesis is committed; closes #1508 when done, so rows 9 to 12 close nothing; first run is the Monday after E is approved (Q7) |
| 14 | Discord connector pilot: Sage answers in Shared Signals (chat only, no tools, no repo writes) | coordinator; reviewers filbert | #1509 | done | — | H: offline suite green, eight-step live pilot with private receipts, then Jason says the reply reads as Sage (jason) | `docs/plans/2026-09-13_discord-connector-pilot.md` § Discord connector pilot: Sage on Shared Signals | 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; reviewer lane was Filbert or orch-01 |
| 15 | Discord connector: eyes reaction on every admitted message as a read receipt (MVP iteration 1) | coordinator | #1509 | done | — | Jason sees the reaction on a live message (jason) | `docs/plans/2026-09-13_discord-connector-pilot.md` § 11. MVP iteration, after the pilot | 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; reaction placed at admission before the engine runs, outcome in the turn record, none on drops or refusals; `scripts/test-discord.sh` 28/28 (90 node tests) |
| 16 | Repository-native development bootstrap: five internal agents, Darkwing coordination | darkwing; reviewers filbert | #1510 | waiting-on-jason | — | source approved; Researcher live response passed 26216; existing native Rocko lock preserved, no new Rocko model test; no MVP acceptance/publication (jason) | `docs/plans/2026-09-13_internal-development-bootstrap.md` § Repository-native development bootstrap | source approved by internal Filbert, exact R1 receipt 26204; six offline tests independently pass in both copies; 24 config tests and five no-effect checks are author evidence |
| 16 | Repository-native development bootstrap: five internal agents, Darkwing coordination | darkwing; reviewers filbert | #1510 | waiting-on-jason | — | source approved; Researcher live response passed 26216; existing native Rocko lock preserved, no new Rocko model test; no MVP acceptance/publication (jason) | `docs/plans/2026-09-13_internal-development-bootstrap.md` § Repository-native development bootstrap | Sage checked 2026-09-27: acceptance items 1 to 5 are met, source landed in af4203ca and d41f81aa and is pushed, and the seats are in daily use under Jason's 2026-09-26 ruling (Sage leads, so the title's Darkwing coordination is superseded). No quote from Jason accepts #1510 itself, so it stays here until he closes it or says to |
| 17 | Discord connector: systemd user service with a supervised pre-start (`recover`, exit 3 never retried) (MVP iteration 2) | coordinator | #1509 | done | — | the Sage connector runs under `mosaic-discord@shared-signals`, survives a kill with a clean restart, and stays down behind `discord.sh stop` (jason) | `docs/plans/2026-09-13_discord-connector-pilot.md` § 11. MVP iteration, after the pilot | done, operator-verified by Jason 2026-09-13 (all four steps): suite 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; the first cut (ExecStartPre) looped and was replaced by `run --supervised` before any traffic |
| 18 | Control board row for the Discord connector (MVP iteration 3): discovery from binding files, liveness from run.lock, reply refused | darkwing | #1509 | done | — | a Sage (discord) row on the board shows live, offline and braked correctly, and reply from the board is refused (jason) | `docs/plans/2026-09-14_discord-board-row.md` § Discord connector board row | done for bounded local delivery; Jason accepted visual test (parfait), R3 26257 reviewed, 322 tests and live 409 refusal verified; owner by Jason's ruling 2026-09-13, coordinator answered connector-side questions; also briefed in the pilot page section 11 |
| 19 | Discord connector: binding reload without a restart (`reload` verb, SIGHUP, `systemctl --user reload`); channels, users, limits and guildName apply in place, identity, engine and context stay fixed, an invalid file is refused and the old binding kept (MVP iteration 4) | coordinator | #1509 | done | — | edit the binding, run `scripts/discord.sh reload shared-signals`, the change applies with no restart, a broken edit is refused and journaled (jason) | `docs/plans/2026-09-13_discord-connector-pilot.md` § 11. MVP iteration, after the pilot | done: caaef941; live 00:03 UTC: reload applied Carmen's entry with no restart, unknown key refused by the CLI (exit 2), fixed key refused in the process with the binding kept, `systemctl --user reload` applied; suite 41/41 (101 node tests); receipt `mvp4-5-reload-carmen-*.json` |
+178 -12
View File
@@ -1,7 +1,7 @@
{
"version": 1,
"canonicalRoot": "/mnt/storage/src/mosaic-stack",
"revision": 6,
"revision": 12,
"rows": [
{
"id": 1,
@@ -314,7 +314,7 @@
1508
],
"closes": [],
"state": "briefed",
"state": "waiting-on-jason",
"previousState": null,
"required": true,
"requiredSince": "2026-09-13",
@@ -327,12 +327,31 @@
},
"after": [],
"reviewers": [],
"review": null,
"claim": null,
"note": "AGENTS.md lines done 2026-09-13; the rest starts once genesis is committed",
"review": {
"rounds": [
{
"n": 1,
"op": "row10-review-r1",
"by": "sage",
"at": "2026-09-27T01:23:20.299Z",
"issue": 1508,
"candidate": {
"kind": "commit",
"digest": "5efe28ab01c275c41979db2974b422a449dbf1e9",
"text": null
},
"request": "none"
}
]
},
"claim": {
"seat": "sage",
"op": "row10-start"
},
"note": "source 5efe28ab: AGENTS.md cadence, pointer and recovery rule, six seat CONTEXT files, queue README n3; QUEUE.md header points at the goals review (n2). Gate G verifies it: a seat starts from queue next with no human message",
"blockedReason": null,
"createdAt": "2026-09-13",
"updatedAt": "2026-09-27T01:16:40.574Z",
"updatedAt": "2026-09-27T01:23:20.429Z",
"updatedBy": "sage"
},
{
@@ -375,7 +394,7 @@
1508
],
"closes": [],
"state": "briefed",
"state": "in-progress",
"previousState": null,
"required": true,
"requiredSince": "2026-09-13",
@@ -389,12 +408,15 @@
"after": [],
"reviewers": [],
"review": null,
"claim": null,
"claim": {
"seat": "darkwing",
"op": "darkwing-12-start-1"
},
"note": "starts once genesis is committed; the live posting test needs the per-seat credential file (8.9)",
"blockedReason": null,
"createdAt": "2026-09-13",
"updatedAt": "2026-09-27T01:14:44.440Z",
"updatedBy": "sage"
"updatedAt": "2026-09-27T01:19:33.192Z",
"updatedBy": "darkwing"
},
{
"id": 13,
@@ -523,10 +545,10 @@
"seat": "darkwing",
"op": "genesis-2026-09-27"
},
"note": "source approved by internal Filbert, exact R1 receipt 26204; six offline tests independently pass in both copies; 24 config tests and five no-effect checks are author evidence",
"note": "Sage checked 2026-09-27: acceptance items 1 to 5 are met, source landed in af4203ca and d41f81aa and is pushed, and the seats are in daily use under Jason's 2026-09-26 ruling (Sage leads, so the title's Darkwing coordination is superseded). No quote from Jason accepts #1510 itself, so it stays here until he closes it or says to",
"blockedReason": null,
"createdAt": "2026-09-13",
"updatedAt": "2026-09-27T01:14:44.440Z",
"updatedAt": "2026-09-27T01:23:26.447Z",
"updatedBy": "sage"
},
{
@@ -2029,6 +2051,150 @@
"receipt": "ok darkwing-9-note-closeout-2 rev 6 row 9 note"
},
"viewSha": "55d8988b0a095eb907d7452ccdf5d213402ce7d5b21c03e3622b422798bf57c9"
},
{
"rev": 7,
"op": "row10-start",
"verb": "move",
"args": {
"id": 10,
"to": "in-progress",
"reason": null,
"candidate": null,
"evidence": null,
"issue": null
},
"by": "sage",
"at": "2026-09-27T01:18:54.047Z",
"semantics": 1,
"result": {
"row": 10,
"from": "briefed",
"to": "in-progress",
"round": null,
"issue": null,
"candidate": null,
"receipt": "ok row10-start rev 7 row 10 briefed→in-progress"
},
"viewSha": "9fe7ea03b06f4123d96e19f31497045dc3f8987d9fd2a8d527aabd3a43391dd9"
},
{
"rev": 8,
"op": "darkwing-12-start-1",
"verb": "move",
"args": {
"id": 12,
"to": "in-progress",
"reason": null,
"candidate": null,
"evidence": null,
"issue": null
},
"by": "darkwing",
"at": "2026-09-27T01:19:33.192Z",
"semantics": 1,
"result": {
"row": 12,
"from": "briefed",
"to": "in-progress",
"round": null,
"issue": null,
"candidate": null,
"receipt": "ok darkwing-12-start-1 rev 8 row 12 briefed→in-progress"
},
"viewSha": "3de3fb832f58b718da490a230bd5135de8f7b0c6d03aacb6565b2e74683f951a"
},
{
"rev": 9,
"op": "row10-review-r1",
"verb": "move",
"args": {
"id": 10,
"to": "in-review",
"reason": null,
"candidate": "5efe28ab01c275c41979db2974b422a449dbf1e9",
"evidence": null,
"issue": null
},
"by": "sage",
"at": "2026-09-27T01:23:20.299Z",
"semantics": 1,
"result": {
"row": 10,
"from": "in-progress",
"to": "in-review",
"round": 1,
"issue": 1508,
"candidate": {
"kind": "commit",
"digest": "5efe28ab01c275c41979db2974b422a449dbf1e9",
"text": null
},
"receipt": "ok row10-review-r1 rev 9 row 10 in-progress→in-review round 1 on #1508"
},
"viewSha": "4f7ae5584d499d9f3a00b882808e66574ca3f40f5340d80b15dae13f25bda867"
},
{
"rev": 10,
"op": "row10-wait-gate-g",
"verb": "move",
"args": {
"id": 10,
"to": "waiting-on-jason",
"reason": null,
"candidate": null,
"evidence": null,
"issue": null
},
"by": "sage",
"at": "2026-09-27T01:23:20.365Z",
"semantics": 1,
"result": {
"row": 10,
"from": "in-review",
"to": "waiting-on-jason",
"round": null,
"issue": null,
"candidate": null,
"receipt": "ok row10-wait-gate-g rev 10 row 10 in-review→waiting-on-jason"
},
"viewSha": "1ea954471befe6d1efe3ad82c90e7a969051d878057511844bd1944e5a78030c"
},
{
"rev": 11,
"op": "row10-note-r1",
"verb": "note",
"args": {
"id": 10,
"text": "source 5efe28ab: AGENTS.md cadence, pointer and recovery rule, six seat CONTEXT files, queue README n3; QUEUE.md header points at the goals review (n2). Gate G verifies it: a seat starts from queue next with no human message"
},
"by": "sage",
"at": "2026-09-27T01:23:20.429Z",
"semantics": 1,
"result": {
"row": 10,
"field": "note",
"receipt": "ok row10-note-r1 rev 11 row 10 note"
},
"viewSha": "35be5f3fc9231ee78c1afa2f579e76863a5ad834f41dc0796f540de55b0e0a0b"
},
{
"rev": 12,
"op": "row16-note-sage-check",
"verb": "note",
"args": {
"id": 16,
"text": "Sage checked 2026-09-27: acceptance items 1 to 5 are met, source landed in af4203ca and d41f81aa and is pushed, and the seats are in daily use under Jason's 2026-09-26 ruling (Sage leads, so the title's Darkwing coordination is superseded). No quote from Jason accepts #1510 itself, so it stays here until he closes it or says to"
},
"by": "sage",
"at": "2026-09-27T01:23:26.447Z",
"semantics": 1,
"result": {
"row": 16,
"field": "note",
"receipt": "ok row16-note-sage-check rev 12 row 16 note"
},
"viewSha": "9656335d0fcdde82a0478dea94149afd8dadf819f06e29f458321c0069ea680a"
}
]
}