{ "version": 1, "canonicalRoot": "/mnt/storage/src/mosaic-stack", "revision": 49, "rows": [ { "id": 1, "piece": "Control board MVP (scanner + page)", "owner": "darkwing", "issues": [ 1503 ], "closes": [ 1503 ], "state": "done", "previousState": null, "required": false, "requiredSince": null, "gate": "A passed 2026-09-12", "gateOwner": "jason", "brief": { "path": "docs/plans/2026-09-12_control-board-mvp.md", "anchor": "Control board MVP — plan", "blob": "51a35b3bc24ebb9f8b27ef985b024bb7540ab3e0" }, "after": [], "reviewers": [], "review": null, "claim": null, "note": "done 2026-09-27 (Sage, lead decision 29): D-001 MVP delivered, Gate A passed 2026-09-12, attention status operator-accepted (row 22), relaunch activity, attribution and Host guard landed; #1503 closed; cross-harness board work belongs to Gate E (row 5)", "blockedReason": null, "createdAt": "2026-09-13", "updatedAt": "2026-09-27T01:14:44.440Z", "updatedBy": "sage" }, { "id": 2, "piece": "Seat registration and `mosaic seat task`", "owner": "darkwing", "issues": [ 1504 ], "closes": [ 1504 ], "state": "done", "previousState": null, "required": false, "requiredSince": null, "gate": "B passed 2026-09-12", "gateOwner": "jason", "brief": { "path": "docs/plans/2026-09-12_control-board-mvp.md", "anchor": "Step 3: daily use and fixes", "blob": "51a35b3bc24ebb9f8b27ef985b024bb7540ab3e0" }, "after": [], "reviewers": [], "review": null, "claim": null, "note": "done 2026-09-13", "blockedReason": null, "createdAt": "2026-09-13", "updatedAt": "2026-09-27T01:14:44.440Z", "updatedBy": "sage" }, { "id": 3, "piece": "Reply-from-board (piece 2 on the plan page)", "owner": "darkwing", "issues": [ 1505 ], "closes": [ 1505 ], "state": "done", "previousState": null, "required": false, "requiredSince": null, "gate": "C passed 2026-09-12", "gateOwner": "jason", "brief": { "path": "docs/plans/2026-09-12_control-board-mvp.md", "anchor": "Piece 2: reply-from-board", "blob": "51a35b3bc24ebb9f8b27ef985b024bb7540ab3e0" }, "after": [], "reviewers": [], "review": null, "claim": null, "note": "done 2026-09-12", "blockedReason": null, "createdAt": "2026-09-13", "updatedAt": "2026-09-27T01:14:44.440Z", "updatedBy": "sage" }, { "id": 4, "piece": "Ledger (piece 3 on the plan page)", "owner": "darkwing", "issues": [ 1506 ], "closes": [ 1506 ], "state": "done", "previousState": null, "required": false, "requiredSince": null, "gate": "D: 18.9 human messages per closed issue, week of 2026-09-06", "gateOwner": "jason", "brief": { "path": "docs/plans/2026-09-12_control-board-mvp.md", "anchor": "Piece 3: ledger (numbers for the rails)", "blob": "51a35b3bc24ebb9f8b27ef985b024bb7540ab3e0" }, "after": [], "reviewers": [], "review": null, "claim": null, "note": "done 2026-09-13", "blockedReason": null, "createdAt": "2026-09-13", "updatedAt": "2026-09-27T01:14:44.440Z", "updatedBy": "sage" }, { "id": 5, "piece": "WebUI first screen on the Console design (piece 4 on the plan page)", "owner": "dewey", "issues": [ 1507 ], "closes": [ 1507 ], "state": "in-progress", "previousState": null, "required": false, "requiredSince": null, "gate": "E: all-seat interactive demonstration then Jason workday ruling; live cutover separately approved", "gateOwner": "jason", "brief": { "path": "docs/plans/2026-09-13_webui-session-chat.md", "anchor": "WebUI session chat: refined brief and delivery plan", "blob": "58fb11f8ebd201097905b62f6f801b0e2e2d235a" }, "after": [], "reviewers": [ "darkwing", "filbert" ], "review": null, "claim": { "seat": "dewey", "op": "genesis-2026-09-27" }, "note": "2026-10-04 Dewey resumed CHAT-03 after a usage-limit stall since 09-27; about 2600 lines of untracked source in packages/conversation/src; left: controller, client and terminal, fake pi and fixtures, README, suites and mutants, then in-review with a manifest; ETA 25 to 35 Dewey turns; reviewers darkwing and filbert", "blockedReason": null, "createdAt": "2026-09-13", "updatedAt": "2026-10-04T05:27:36.564Z", "updatedBy": "sage" }, { "id": 6, "piece": "Darkwing on point: darkwing assigns and gates filbert's work (piece 5 on the plan page)", "owner": "darkwing", "issues": [ 1511, 1512 ], "closes": [ 1511, 1512 ], "state": "done", "previousState": null, "required": false, "requiredSince": null, "gate": "F: filbert's item closes with zero human messages from Jason; code phase does not claim Gate F", "gateOwner": "jason", "brief": { "path": "docs/plans/2026-09-12_control-board-mvp.md", "anchor": "Piece 5: darkwing on point (orchestrator behaviour)", "blob": "51a35b3bc24ebb9f8b27ef985b024bb7540ab3e0" }, "after": [], "reviewers": [ "dewey" ], "review": null, "claim": null, "note": "done 2026-09-27 (lead decision 29): #1511 and #1512 landed in af4203ca (pushed), closed; Gate F not passed (2 human messages in filbert's T3 thread; the first 11 days predate the T3 source); Gate G (row 9) carries the test. Filbert authored the pilot. Briefs also: 2026-09-15_relaunch-activity.md, 2026-09-14_task-attribution.md", "blockedReason": null, "createdAt": "2026-09-13", "updatedAt": "2026-09-27T01:14:44.440Z", "updatedBy": "sage" }, { "id": 7, "piece": "Weekly ledger run and rails number", "owner": "sage", "issues": [], "closes": [], "state": "in-progress", "previousState": null, "required": false, "requiredSince": null, "gate": "under 10 human messages per closed issue for the week of 2026-09-13", "gateOwner": "jason", "brief": { "path": "packages/ledger/README.md", "anchor": "Weekly routine", "blob": "483c981e564587a8df56575ed0149b06923ef1b0" }, "after": [], "reviewers": [], "review": null, "claim": { "seat": "sage", "op": "genesis-2026-09-27" }, "note": "2026-09-28 Monday run, week 09-20 to 09-26, rev 23: queue result fail, 4 age violations (rows 9, 10, 11, 13; rows 9 to 11 wait on Jason); 3 T3 seats exempt; rails 33.0 human messages per closed issue (1 closed), gate is under 10; output agents/sage/work/ledger/2026-09-28_weekly.txt", "blockedReason": null, "createdAt": "2026-09-13", "updatedAt": "2026-09-28T13:25:34.893Z", "updatedBy": "sage" }, { "id": 8, "piece": "Fleet seats (`~/.mosaic`) onto `mosaic launch`", "owner": "unassigned", "issues": [], "closes": [], "state": "parked", "previousState": null, "required": false, "requiredSince": null, "gate": "Jason's call", "gateOwner": "jason", "brief": { "path": "docs/plans/2026-09-26_fleet-seats-onto-mosaic-launch.md", "anchor": "Row 8: fleet seats onto `mosaic launch` (stub brief)", "blob": "df316da4a1a7c456a76ca799033ba1e0088d398a" }, "after": [], "reviewers": [], "review": null, "claim": null, "note": "parked by current owner direction; no `~/.mosaic` changes during internal bootstrap", "blockedReason": null, "createdAt": "2026-09-13", "updatedAt": "2026-09-27T01:14:44.440Z", "updatedBy": "sage" }, { "id": 9, "piece": "Queue as data: `docs/plans/queue.json`, `mosaic queue` is the only writer", "owner": "darkwing", "issues": [ 1508 ], "closes": [], "state": "done", "previousState": null, "required": true, "requiredSince": "2026-09-13", "gate": "G: a fresh seat told only \"run `mosaic queue next` and do it\" starts its piece with zero human messages", "gateOwner": "jason", "brief": { "path": "docs/plans/2026-09-13_queue-as-data.md", "anchor": "Piece A: queue record and `mosaic queue` (QUEUE row 9)", "blob": "0e57399e9e48b934ac7f7e6ff904d871b956407d" }, "after": [], "reviewers": [ "filbert" ], "review": { "rounds": [ { "n": 1, "op": "darkwing-9-review-1", "by": "darkwing", "at": "2026-09-27T01:18:13.080Z", "issue": 1508, "candidate": { "kind": "commit", "digest": "6ca116b7ba6d01df3e0e50bb69799d12b94942b5", "text": null }, "request": "none" } ] }, "claim": null, "note": "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", "blockedReason": null, "createdAt": "2026-09-13", "updatedAt": "2026-10-04T05:04:12.580Z", "updatedBy": "sage" }, { "id": 10, "piece": "Seats read the queue, not CURRENT.md (AGENTS.md cadence, seat context files)", "owner": "sage", "issues": [ 1508 ], "closes": [], "state": "done", "previousState": null, "required": true, "requiredSince": "2026-09-13", "gate": "verified by Gate G", "gateOwner": "jason", "brief": { "path": "docs/plans/2026-09-13_queue-as-data.md", "anchor": "Piece B: seats read the queue, not CURRENT.md (QUEUE row 10)", "blob": "0e57399e9e48b934ac7f7e6ff904d871b956407d" }, "after": [], "reviewers": [], "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": null, "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-10-04T05:04:12.696Z", "updatedBy": "sage" }, { "id": 11, "piece": "Brief template `docs/plans/BRIEF-TEMPLATE.md`; `queue add` refuses a missing brief", "owner": "darkwing", "issues": [ 1508 ], "closes": [], "state": "waiting-on-jason", "previousState": null, "required": true, "requiredSince": "2026-09-13", "gate": "two briefs accepted by Jason with no scope question", "gateOwner": "jason", "brief": { "path": "docs/plans/2026-09-13_queue-as-data.md", "anchor": "Piece C: brief template (QUEUE row 11)", "blob": "0e57399e9e48b934ac7f7e6ff904d871b956407d" }, "after": [], "reviewers": [], "review": null, "claim": { "seat": "darkwing", "op": "genesis-2026-09-27" }, "note": "brief 1 of 2 accepted: Jason accepted row 31's brief (docs/plans/2026-09-28_queue-owner-not-reviewer.md) with no scope question, T3 thread 1ef1e4f8, 2026-10-04 ('2. accepted'); brief 2 pending", "blockedReason": null, "createdAt": "2026-09-13", "updatedAt": "2026-10-04T05:04:12.925Z", "updatedBy": "sage" }, { "id": 12, "piece": "Reviews as issue comments posted by `queue move ID in-review`, not files in `docs/plans/reviews/`", "owner": "darkwing", "issues": [ 1508 ], "closes": [], "state": "done", "previousState": null, "required": true, "requiredSince": "2026-09-13", "gate": "one review round with no new file under reviews/", "gateOwner": "sage", "brief": { "path": "docs/plans/2026-09-13_queue-as-data.md", "anchor": "Piece D: reviews through a channel, not files (QUEUE row 12)", "blob": "0e57399e9e48b934ac7f7e6ff904d871b956407d" }, "after": [], "reviewers": [ "filbert" ], "review": { "rounds": [ { "n": 1, "op": "darkwing-12-review-1", "by": "darkwing", "at": "2026-09-27T15:09:58.299Z", "issue": 1508, "candidate": { "kind": "commit", "digest": "f539466fcb392ba7eaa0a491e5249b67719b956d", "text": null }, "request": "comment", "attempts": [ { "op": "darkwing-12-review-1", "by": "darkwing", "at": "2026-09-27T15:09:58.299Z", "state": "posted", "comment": 26577, "transport": { "outcome": "posted", "status": 201, "comment": 26577, "detail": "created" }, "resolutions": [] } ], "duplicateRisk": false, "receipts": [ { "reviewer": "filbert", "op": "filbert-12-record-1", "at": "2026-09-27T15:11:58.426Z", "verdict": "approve", "comment": 26579, "candidate": "f539466fcb392ba7eaa0a491e5249b67719b956d" } ] } ] }, "claim": null, "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-27T15:13:49.209Z", "updatedBy": "sage" }, { "id": 13, "piece": "Ledger \"queue\" section: issue/row/seat drift printed with the weekly number", "owner": "darkwing", "issues": [ 1508 ], "closes": [ 1508 ], "state": "in-review", "previousState": null, "required": true, "requiredSince": "2026-09-13", "gate": "rows 9 to 12 done, then a Monday ledger run with zero queue violations, or every one moved the same day", "gateOwner": "sage", "brief": { "path": "docs/plans/2026-09-13_queue-as-data.md", "anchor": "Piece E: ledger checks the queue (QUEUE row 13)", "blob": "0e57399e9e48b934ac7f7e6ff904d871b956407d" }, "after": [], "reviewers": [ "filbert" ], "review": { "rounds": [ { "n": 1, "op": "darkwing-13-review-1", "by": "darkwing", "at": "2026-09-27T16:35:40.688Z", "issue": 1508, "candidate": { "kind": "commit", "digest": "fd72d26899bc1467bef4bde6f2e45fd03ac50696", "text": null }, "request": "comment", "attempts": [ { "op": "darkwing-13-review-1", "by": "darkwing", "at": "2026-09-27T16:35:40.688Z", "state": "posted", "comment": 26586, "transport": { "outcome": "posted", "status": 201, "comment": 26586, "detail": "created" }, "resolutions": [] } ], "duplicateRisk": false, "receipts": [ { "reviewer": "filbert", "op": "filbert-13-record-1", "at": "2026-09-27T16:37:57.938Z", "verdict": "approve", "comment": 26589, "candidate": "fd72d26899bc1467bef4bde6f2e45fd03ac50696" } ] } ] }, "claim": { "seat": "darkwing", "op": "darkwing-13-start-1" }, "note": "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)", "blockedReason": null, "createdAt": "2026-09-13", "updatedAt": "2026-09-27T16:37:57.938Z", "updatedBy": "filbert" }, { "id": 14, "piece": "Discord connector pilot: Sage answers in Shared Signals (chat only, no tools, no repo writes)", "owner": "coordinator", "issues": [ 1509 ], "closes": [ 1509 ], "state": "done", "previousState": null, "required": false, "requiredSince": null, "gate": "H: offline suite green, eight-step live pilot with private receipts, then Jason says the reply reads as Sage", "gateOwner": "jason", "brief": { "path": "docs/plans/2026-09-13_discord-connector-pilot.md", "anchor": "Discord connector pilot: Sage on Shared Signals", "blob": "ef6cdbb8a38c1b22d8f1c3dcbc34260cdac9714e" }, "after": [], "reviewers": [ "filbert" ], "review": null, "claim": null, "note": "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", "blockedReason": null, "createdAt": "2026-09-13", "updatedAt": "2026-09-27T01:14:44.440Z", "updatedBy": "sage" }, { "id": 15, "piece": "Discord connector: eyes reaction on every admitted message as a read receipt (MVP iteration 1)", "owner": "coordinator", "issues": [ 1509 ], "closes": [ 1509 ], "state": "done", "previousState": null, "required": false, "requiredSince": null, "gate": "Jason sees the reaction on a live message", "gateOwner": "jason", "brief": { "path": "docs/plans/2026-09-13_discord-connector-pilot.md", "anchor": "11. MVP iteration, after the pilot", "blob": "ef6cdbb8a38c1b22d8f1c3dcbc34260cdac9714e" }, "after": [], "reviewers": [], "review": null, "claim": null, "note": "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)", "blockedReason": null, "createdAt": "2026-09-13", "updatedAt": "2026-09-27T01:14:44.440Z", "updatedBy": "sage" }, { "id": 16, "piece": "Repository-native development bootstrap: five internal agents, Darkwing coordination", "owner": "darkwing", "issues": [ 1510 ], "closes": [ 1510 ], "state": "done", "previousState": null, "required": false, "requiredSince": null, "gate": "source approved; Researcher live response passed 26216; existing native Rocko lock preserved, no new Rocko model test; no MVP acceptance/publication", "gateOwner": "jason", "brief": { "path": "docs/plans/2026-09-13_internal-development-bootstrap.md", "anchor": "Repository-native development bootstrap", "blob": "5dfe2f34ab1c4cdd34d4aebd00804df3842c24e2" }, "after": [], "reviewers": [ "filbert" ], "review": null, "claim": null, "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-10-04T05:04:12.799Z", "updatedBy": "sage" }, { "id": 17, "piece": "Discord connector: systemd user service with a supervised pre-start (`recover`, exit 3 never retried) (MVP iteration 2)", "owner": "coordinator", "issues": [ 1509 ], "closes": [ 1509 ], "state": "done", "previousState": null, "required": false, "requiredSince": null, "gate": "the Sage connector runs under `mosaic-discord@shared-signals`, survives a kill with a clean restart, and stays down behind `discord.sh stop`", "gateOwner": "jason", "brief": { "path": "docs/plans/2026-09-13_discord-connector-pilot.md", "anchor": "11. MVP iteration, after the pilot", "blob": "ef6cdbb8a38c1b22d8f1c3dcbc34260cdac9714e" }, "after": [], "reviewers": [], "review": null, "claim": null, "note": "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", "blockedReason": null, "createdAt": "2026-09-13", "updatedAt": "2026-09-27T01:14:44.440Z", "updatedBy": "sage" }, { "id": 18, "piece": "Control board row for the Discord connector (MVP iteration 3): discovery from binding files, liveness from run.lock, reply refused", "owner": "darkwing", "issues": [ 1509 ], "closes": [ 1509 ], "state": "done", "previousState": null, "required": false, "requiredSince": null, "gate": "a Sage (discord) row on the board shows live, offline and braked correctly, and reply from the board is refused", "gateOwner": "jason", "brief": { "path": "docs/plans/2026-09-14_discord-board-row.md", "anchor": "Discord connector board row", "blob": "6a7753f8ab9a3c57d6c89857054e4119a1051d13" }, "after": [], "reviewers": [], "review": null, "claim": null, "note": "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", "blockedReason": null, "createdAt": "2026-09-13", "updatedAt": "2026-09-27T01:14:44.440Z", "updatedBy": "sage" }, { "id": 19, "piece": "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)", "owner": "coordinator", "issues": [ 1509 ], "closes": [ 1509 ], "state": "done", "previousState": null, "required": false, "requiredSince": null, "gate": "edit the binding, run `scripts/discord.sh reload shared-signals`, the change applies with no restart, a broken edit is refused and journaled", "gateOwner": "jason", "brief": { "path": "docs/plans/2026-09-13_discord-connector-pilot.md", "anchor": "11. MVP iteration, after the pilot", "blob": "ef6cdbb8a38c1b22d8f1c3dcbc34260cdac9714e" }, "after": [], "reviewers": [], "review": null, "claim": null, "note": "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`", "blockedReason": null, "createdAt": "2026-09-13", "updatedAt": "2026-09-27T01:14:44.440Z", "updatedBy": "sage" }, { "id": 20, "piece": "Discord connector: per-user channel allowlist in the binding and Carmen enrolled (all listed rooms except #sage-admin) (MVP iteration 5)", "owner": "coordinator", "issues": [ 1509 ], "closes": [ 1509 ], "state": "done", "previousState": null, "required": false, "requiredSince": null, "gate": "Carmen gets a reply in #general and silence in #sage-admin; Jason unchanged", "gateOwner": "jason", "brief": { "path": "docs/plans/2026-09-13_discord-connector-pilot.md", "anchor": "11. MVP iteration, after the pilot", "blob": "ef6cdbb8a38c1b22d8f1c3dcbc34260cdac9714e" }, "after": [], "reviewers": [], "review": null, "claim": null, "note": "done: caaef941 (`users[].channels` allowlist, `channel-not-for-user` drop); Carmen enrolled live by reload 00:03 UTC; her first message was the remaining check; #1509 closed with rows 14 to 25 done (lead decision 29)", "blockedReason": null, "createdAt": "2026-09-13", "updatedAt": "2026-09-27T01:14:44.440Z", "updatedBy": "sage" }, { "id": 21, "piece": "Discord connector: read-only tools for the Discord Sage through a Mosaic pi extension confined to declared roots (MVP iteration 6)", "owner": "coordinator", "issues": [ 1509 ], "closes": [ 1509 ], "state": "done", "previousState": null, "required": false, "requiredSince": null, "gate": "Sage answers a question from a file under a declared root with the reads in the turn record; a read outside the roots is refused and recorded", "gateOwner": "jason", "brief": { "path": "docs/plans/2026-09-14_discord-readonly-tools.md", "anchor": "Discord Sage: read-only tools (iteration 6)", "blob": "d682fa0fb1c463311c5f8924a9eb860382a9b2ac" }, "after": [], "reviewers": [], "review": null, "claim": null, "note": "approved: rev-code-02 round 2 verdict 26276 (tree 43f0329b), committed; Jason ruled R1–R7 2026-09-14 (roots docs/ and agents/sage/, Carmen included); done with rows 14 to 25 when #1509 closed (lead decision 29); reviewer per Q12", "blockedReason": null, "createdAt": "2026-09-14", "updatedAt": "2026-09-27T01:14:44.440Z", "updatedBy": "sage" }, { "id": 22, "piece": "Board attention status: completed replies idle, explicit human input waiting", "owner": "darkwing", "issues": [ 1503 ], "closes": [ 1503 ], "state": "done", "previousState": null, "required": false, "requiredSince": null, "gate": "operator accepted full targeted status sequence: explicit request waiting, Seen hides attention but preserves waiting, completion returns idle; broader MVP/cross-harness acceptance and publication separate", "gateOwner": "jason", "brief": { "path": "docs/plans/2026-09-13_board-attention-status.md", "anchor": "Board attention status correction", "blob": "ce0bb5e3ebda8faf59cff78017257aec1772ccc2" }, "after": [], "reviewers": [ "filbert" ], "review": null, "claim": null, "note": "source approved, receipt 26248; reviewer 193 per copy, author union 213 pass; actual Researcher scan idle; operator accepted (row 1); #1503 closed (lead decision 29)", "blockedReason": null, "createdAt": "2026-09-14", "updatedAt": "2026-09-27T01:14:44.440Z", "updatedBy": "sage" }, { "id": 23, "piece": "Discord connector: writes confined to the `shared-signals` root plus web fetch and search for the Discord Sage (MVP iteration 7)", "owner": "coordinator", "issues": [ 1509 ], "closes": [ 1509 ], "state": "done", "previousState": null, "required": false, "requiredSince": null, "gate": "Sage writes a naming shortlist into the repository from #ideas with the write and web calls in the turn record; a write outside the root is refused", "gateOwner": "jason", "brief": { "path": "docs/plans/2026-09-16_discord-write-and-web-tools.md", "anchor": "Discord Sage: writes into the strategy repository, and web research (#1509, QUEUE row 23)", "blob": "69a5c5c6e4696dd54c696eb0002f5e31c7d755a2" }, "after": [], "reviewers": [], "review": null, "claim": null, "note": "done 2026-09-27 (Sage, lead decision 29): committed and pushed 1685deb4; live turns wrote `vault/Businesses/naming.md` with web_search and web_fetch in the turn record; the outside-root refusal rests on the offline suite, not a live turn; reviewer per Q12", "blockedReason": null, "createdAt": "2026-09-16", "updatedAt": "2026-09-27T01:14:44.440Z", "updatedBy": "sage" }, { "id": 24, "piece": "Discord connector: git verbs (status, commit, pull ff-only, push) for the Discord Sage on the `shared-signals` root, seat identity through the existing credential helper (MVP iteration 8)", "owner": "coordinator", "issues": [ 1509 ], "closes": [ 1509 ], "state": "done", "previousState": null, "required": false, "requiredSince": null, "gate": "Sage commits and pushes a decision file from #ideas; GitHub shows Sage as author with a Requested-by trailer; no token in any record", "gateOwner": "jason", "brief": { "path": "docs/plans/2026-09-16_discord-git-tools.md", "anchor": "Discord Sage: git for the strategy repository (#1509, QUEUE row 24)", "blob": "4139fcc07ad18a355db31205769e054d9dc75a98" }, "after": [], "reviewers": [], "review": null, "claim": null, "note": "done 2026-09-27 (Sage, lead decision 29): committed and pushed 1949ed8d; live-configured 2026-09-18, never used from Discord; records now go through row 25 and SetSpark cutover freezes `vault/`, so first real use is the check and a failure opens a new issue; reviewer per Q12", "blockedReason": null, "createdAt": "2026-09-16", "updatedAt": "2026-09-27T01:14:44.440Z", "updatedBy": "sage" }, { "id": 25, "piece": "Discord connector: SetSpark record client for the Discord Sage, fixed verbs against setspark-api, connector-verified approvals (MVP iteration 9)", "owner": "coordinator", "issues": [ 1509 ], "closes": [ 1509 ], "state": "done", "previousState": null, "required": false, "requiredSince": null, "gate": "Sage creates one work item from #sage-admin and the API shows it with revision 1; a proposal is approved by the Approve button and the audit row carries Sage's key id and Jason's Discord id separately; rev-code-02 approves on #1509", "gateOwner": "jason", "brief": { "path": "docs/plans/2026-09-20_discord-setspark-client.md", "anchor": "Discord Sage: SetSpark record client (#1509, QUEUE row 25)", "blob": "19de61ce5a6ec2757b9456b9432ef49d6e63a1e6" }, "after": [], "reviewers": [], "review": null, "claim": null, "note": "done 2026-09-26: committed and pushed 43d7574d, live check passed (DEC-010, request 2, approved by button at 21:38:58Z, lead decision 19); approver rule enforced by the service since shared-signals cc74d92 (lead decisions 24 and 28); reviewer per Q12", "blockedReason": null, "createdAt": "2026-09-20", "updatedAt": "2026-09-27T01:14:44.440Z", "updatedBy": "sage" }, { "id": 26, "piece": "Registry increment 3 (headless identity-env leak)", "owner": "unassigned", "issues": [], "closes": [], "state": "parked", "previousState": null, "required": false, "requiredSince": null, "gate": "Jason reopens", "gateOwner": "jason", "brief": { "path": "docs/plans/CURRENT.md", "anchor": "Completed checkpoint: #1500 increment 2 (historical)", "blob": "ef462c4eb7b99b64b751fdcff2d81f85452d2017" }, "after": [], "reviewers": [], "review": null, "claim": null, "note": "#1500 closed on increment 2; Jason has not asked for 3", "blockedReason": null, "createdAt": "2026-09-13", "updatedAt": "2026-09-27T01:14:44.440Z", "updatedBy": "sage" }, { "id": 27, "piece": "Auth/provider/harness registry review", "owner": "unassigned", "issues": [], "closes": [], "state": "parked", "previousState": null, "required": false, "requiredSince": null, "gate": "Jason reopens", "gateOwner": "jason", "brief": { "path": "docs/plans/2026-09-03_auth-provider-harness-registry.md", "anchor": "Harness declaration + centralized auth/provider registry", "blob": "18b922b0b9ae8a4216ccba53ffb549e2d09787ff" }, "after": [], "reviewers": [], "review": null, "claim": null, "note": "Paused for owner alignment", "blockedReason": null, "createdAt": "2026-09-13", "updatedAt": "2026-09-27T01:14:44.440Z", "updatedBy": "sage" }, { "id": 28, "piece": "CI runners, second real adapter, push automation", "owner": "unassigned", "issues": [], "closes": [], "state": "parked", "previousState": null, "required": false, "requiredSince": null, "gate": "Jason reopens", "gateOwner": "jason", "brief": { "path": "docs/plans/ROADMAP.md", "anchor": "Explicitly deferred", "blob": "3d866ce8c1c9ba2c58876bf398f1d55d0a9faaff" }, "after": [], "reviewers": [], "review": null, "claim": null, "note": "Deferred by owner 2026-09-03", "blockedReason": null, "createdAt": "2026-09-13", "updatedAt": "2026-09-27T01:14:44.440Z", "updatedBy": "sage" }, { "id": 29, "piece": "Console features outside the refined session-chat brief, including Fresh creation and model switching", "owner": "unassigned", "issues": [], "closes": [], "state": "parked", "previousState": null, "required": false, "requiredSince": null, "gate": "Jason reopens", "gateOwner": "jason", "brief": { "path": "docs/plans/2026-09-13_webui-session-chat.md", "anchor": "WebUI session chat: refined brief and delivery plan", "blob": "58fb11f8ebd201097905b62f6f801b0e2e2d235a" }, "after": [], "reviewers": [], "review": null, "claim": null, "note": "Deferred by WEBUI Q1; required history/control/stop now belong to row 5, not this parked item", "blockedReason": null, "createdAt": "unknown", "updatedAt": "2026-09-27T01:14:44.440Z", "updatedBy": "sage" }, { "id": 30, "piece": "Open gaps from the MVP work", "owner": "unassigned", "issues": [], "closes": [], "state": "parked", "previousState": null, "required": false, "requiredSince": null, "gate": "Jason reopens", "gateOwner": "jason", "brief": { "path": "docs/plans/DEFERRED.md", "anchor": "Open", "blob": "fd580118844bb02909d54726c83d08c7d53c393f" }, "after": [], "reviewers": [], "review": null, "claim": null, "note": "Fixed only when a gate needs them", "blockedReason": null, "createdAt": "2026-09-13", "updatedAt": "2026-09-27T01:14:44.440Z", "updatedBy": "sage" }, { "id": 31, "piece": "Refuse the owner as a reviewer at add, set reviewers and assign", "owner": "rocko", "issues": [ 1508 ], "closes": [], "state": "done", "previousState": null, "required": false, "requiredSince": null, "gate": "filbert approves through queue review record; Sage commits the candidate with queue tests green", "gateOwner": "sage", "brief": { "path": "docs/plans/2026-09-28_queue-owner-not-reviewer.md", "anchor": "Refuse the owner as a reviewer at add, set reviewers and assign", "blob": "0c4e24bf3c08856b5853fd12e36cdaf8b44ef68c" }, "after": [], "reviewers": [ "filbert" ], "review": { "rounds": [ { "n": 1, "op": "rocko-31-review", "by": "rocko", "at": "2026-09-28T13:56:25.903Z", "issue": 1508, "candidate": { "kind": "manifest", "digest": "35199daf6803db7f7872ded900911c386c0df400ad131a6e311f4078c87312cf", "text": "9d40c3308358595fd3829504de5b72b5a2763d2379b238c3f9b67bb0dc34a7d0 packages/queue/src/queue.mjs\n3bdad384f38f47e8041761139a39d7bdbe5ebe0ec84548d022f3fb3c0ebae2ea packages/queue/README.md\n06e5d00a6a854ad34dcb8bcd6b6e3506630e41d3269168377372ec0a8bb11c81 packages/queue/tests/data.test.mjs\n5f3dfc284d671b5f6732e9c7b4b281a4bf8f4449dfe06c4622fdcc4b7fb42722 packages/queue/tests/review.test.mjs\nab7321beb9662718620fbf5da4c16f997cd62bf0aa81396d64c0791e1eee541e packages/queue/tests/store.test.mjs\n" }, "request": "comment", "attempts": [ { "op": "rocko-31-review", "by": "rocko", "at": "2026-09-28T13:56:25.903Z", "state": "failed", "comment": null, "transport": { "outcome": "failed", "status": null, "comment": null, "detail": "pre-send: the credential or account check failed" }, "resolutions": [] }, { "op": "sage-31-request-2", "by": "sage", "at": "2026-10-04T05:04:02.101Z", "state": "posted", "comment": 26620, "transport": { "outcome": "posted", "status": 201, "comment": 26620, "detail": "created" }, "resolutions": [] } ], "duplicateRisk": false, "receipts": [ { "reviewer": "filbert", "op": "filbert-31-record-1", "at": "2026-10-04T05:12:14.720Z", "verdict": "approve", "comment": 26629, "candidate": "35199daf6803db7f7872ded900911c386c0df400ad131a6e311f4078c87312cf" } ] } ] }, "claim": null, "note": null, "blockedReason": null, "createdAt": "2026-09-28T13:27:03.880Z", "updatedAt": "2026-10-04T05:16:45.871Z", "updatedBy": "sage" }, { "id": 32, "piece": "Ledger: Jason's overhead per finished piece, unattended pieces, rework and wait time", "owner": "darkwing", "issues": [ 1514 ], "closes": [ 1514 ], "state": "queued", "previousState": null, "required": false, "requiredSince": null, "gate": "filbert approves through queue review record; Sage commits with ledger and queue suites green and posts a tagged run for 2026-09-27 to 2026-10-03 on #1514", "gateOwner": "sage", "brief": { "path": "docs/plans/2026-10-04_ledger-kpi-guideposts.md", "anchor": "Ledger: Jason's overhead per finished piece, unattended pieces, rework and wait time", "blob": "9bc7ffbc0dc296165d3aeceee74705f3835fb90d" }, "after": [], "reviewers": [ "filbert" ], "review": null, "claim": null, "note": null, "blockedReason": null, "createdAt": "2026-10-04T05:23:02.555Z", "updatedAt": "2026-10-04T05:23:02.555Z", "updatedBy": "sage" }, { "id": 33, "piece": "Queue: genesis owner-not-reviewer check, assign wording, queue-commit HEAD-moved message, calendar dates, cold-start flake", "owner": "filbert", "issues": [ 1508 ], "closes": [], "state": "done", "previousState": null, "required": false, "requiredSince": null, "gate": "darkwing approves through queue review record; Sage commits with queue suites green and verify --current ok", "gateOwner": "sage", "brief": { "path": "docs/plans/2026-10-04_queue-follow-ups.md", "anchor": "Queue: genesis owner-not-reviewer check, assign wording, queue-commit HEAD-moved message, calendar dates, cold-start flake", "blob": "1dc08bf0ac396bfb2ee6a699d7cdb211a6eec6e6" }, "after": [], "reviewers": [ "darkwing" ], "review": { "rounds": [ { "n": 1, "op": "filbert-33-review-1", "by": "filbert", "at": "2026-10-04T05:58:45.093Z", "issue": 1508, "candidate": { "kind": "manifest", "digest": "fe7da3ef063c3274a4b1c780e1b1641d9511bfebfba8b8539b07566f471751e8", "text": "d807dfaef4bf84639f900e588a314de774047aedfcf83a1745278d61173d75d1 packages/queue/README.md\n36b94e43e7b358328d52dcf9f6911761b4b1c608a9f73f51f675fe6a94b54664 packages/queue/src/queue.mjs\ne5fff821d6766ba35b5218eedc2a2a0fb387c3f6246a27d53a92a719b6594f22 packages/queue/tests/commit.test.mjs\nebb207ad9a5e0c3ce271805fc88bfbda1811aabfdcd49029a8f0da808f775820 packages/queue/tests/data.test.mjs\nd58d94b86a698b355516b6b3566f97c6b0b4c2715eca9cabc6b54263254e21d5 packages/queue/tests/store.test.mjs\n71be356ead122036a8add2d049411b6911946c8944250cdb1a0ee11f4e10800b scripts/queue-commit.sh\n23e209926fb543ebcb714552778d2c9d24ffc5d5716d81c4c2a667ddaf9fe91a docs/plans/DEFERRED.md\ndc39b4565ec8c8a9932558852a0a283b6e9863b0a010d293b874a3ac06ee3c1b agents/filbert/work/queue-33/build.md\n6e4119c5338a055666ed5aa1ca0f6f619731ea2491e80bf2826c0d3c9cc026a9 agents/filbert/work/queue-33/cold-runs.txt\n305d4382b42ce2ab3cf9a1b41f4df1c37031875a07e9cd9c3a0b12252ebaeea0 agents/filbert/work/queue-33/cold.sh\n" }, "request": "comment", "attempts": [ { "op": "filbert-33-review-1", "by": "filbert", "at": "2026-10-04T05:58:45.093Z", "state": "posted", "comment": 26648, "transport": { "outcome": "posted", "status": 201, "comment": 26648, "detail": "created" }, "resolutions": [] } ], "duplicateRisk": false, "receipts": [ { "reviewer": "darkwing", "op": "darkwing-33-r1-approve", "at": "2026-10-04T06:09:24.634Z", "verdict": "approve", "comment": 26651, "candidate": "fe7da3ef063c3274a4b1c780e1b1641d9511bfebfba8b8539b07566f471751e8" } ] } ] }, "claim": null, "note": null, "blockedReason": null, "createdAt": "2026-10-04T05:25:04.375Z", "updatedAt": "2026-10-04T06:25:07.139Z", "updatedBy": "sage" } ], "log": [ { "rev": 0, "op": "genesis-2026-09-27", "verb": "genesis", "args": { "root": "/mnt/storage/src/mosaic-stack", "branch": "refactor", "map": "agents/darkwing/work/queue-migration-map.md" }, "by": "sage", "at": "2026-09-27T01:14:44.440Z", "semantics": 1, "result": { "mapBlob": "21fc374784399b418ba6625eb0cc3e98bf445257", "highWater": 30, "retired": [], "rows": [ { "id": 1, "piece": "Control board MVP (scanner + page)", "owner": "darkwing", "issues": [ 1503 ], "closes": [ 1503 ], "state": "done", "previousState": null, "required": false, "requiredSince": null, "gate": "A passed 2026-09-12", "gateOwner": "jason", "brief": { "path": "docs/plans/2026-09-12_control-board-mvp.md", "anchor": "Control board MVP — plan", "blob": "51a35b3bc24ebb9f8b27ef985b024bb7540ab3e0" }, "after": [], "reviewers": [], "review": null, "claim": null, "note": "done 2026-09-27 (Sage, lead decision 29): D-001 MVP delivered, Gate A passed 2026-09-12, attention status operator-accepted (row 22), relaunch activity, attribution and Host guard landed; #1503 closed; cross-harness board work belongs to Gate E (row 5)", "blockedReason": null, "createdAt": "2026-09-13", "updatedAt": "2026-09-27T01:14:44.440Z", "updatedBy": "sage" }, { "id": 2, "piece": "Seat registration and `mosaic seat task`", "owner": "darkwing", "issues": [ 1504 ], "closes": [ 1504 ], "state": "done", "previousState": null, "required": false, "requiredSince": null, "gate": "B passed 2026-09-12", "gateOwner": "jason", "brief": { "path": "docs/plans/2026-09-12_control-board-mvp.md", "anchor": "Step 3: daily use and fixes", "blob": "51a35b3bc24ebb9f8b27ef985b024bb7540ab3e0" }, "after": [], "reviewers": [], "review": null, "claim": null, "note": "done 2026-09-13", "blockedReason": null, "createdAt": "2026-09-13", "updatedAt": "2026-09-27T01:14:44.440Z", "updatedBy": "sage" }, { "id": 3, "piece": "Reply-from-board (piece 2 on the plan page)", "owner": "darkwing", "issues": [ 1505 ], "closes": [ 1505 ], "state": "done", "previousState": null, "required": false, "requiredSince": null, "gate": "C passed 2026-09-12", "gateOwner": "jason", "brief": { "path": "docs/plans/2026-09-12_control-board-mvp.md", "anchor": "Piece 2: reply-from-board", "blob": "51a35b3bc24ebb9f8b27ef985b024bb7540ab3e0" }, "after": [], "reviewers": [], "review": null, "claim": null, "note": "done 2026-09-12", "blockedReason": null, "createdAt": "2026-09-13", "updatedAt": "2026-09-27T01:14:44.440Z", "updatedBy": "sage" }, { "id": 4, "piece": "Ledger (piece 3 on the plan page)", "owner": "darkwing", "issues": [ 1506 ], "closes": [ 1506 ], "state": "done", "previousState": null, "required": false, "requiredSince": null, "gate": "D: 18.9 human messages per closed issue, week of 2026-09-06", "gateOwner": "jason", "brief": { "path": "docs/plans/2026-09-12_control-board-mvp.md", "anchor": "Piece 3: ledger (numbers for the rails)", "blob": "51a35b3bc24ebb9f8b27ef985b024bb7540ab3e0" }, "after": [], "reviewers": [], "review": null, "claim": null, "note": "done 2026-09-13", "blockedReason": null, "createdAt": "2026-09-13", "updatedAt": "2026-09-27T01:14:44.440Z", "updatedBy": "sage" }, { "id": 5, "piece": "WebUI first screen on the Console design (piece 4 on the plan page)", "owner": "dewey", "issues": [ 1507 ], "closes": [ 1507 ], "state": "in-progress", "previousState": null, "required": false, "requiredSince": null, "gate": "E: all-seat interactive demonstration then Jason workday ruling; live cutover separately approved", "gateOwner": "jason", "brief": { "path": "docs/plans/2026-09-13_webui-session-chat.md", "anchor": "WebUI session chat: refined brief and delivery plan", "blob": "58fb11f8ebd201097905b62f6f801b0e2e2d235a" }, "after": [], "reviewers": [ "filbert", "rocko" ], "review": null, "claim": { "seat": "dewey", "op": "genesis-2026-09-27" }, "note": "CHAT-00/01/01C published (370823b3, 28d4e98a, b023841c); CHAT-02 done: backend a5beb6d9, Console c9e771cf, live check passed 2026-09-26; CHAT-03 brief approved and pinned 2026-09-27 (BRIEF.md 1ef15ac0, rescoped to Gate E, lead decisions 30 to 33; Filbert r3 approve, Rocko blocker closed, Filbert scope check pass); source author named by Sage after queue A2 lands; CHAT-04..08 not chartered; Gate E blocked", "blockedReason": null, "createdAt": "2026-09-13", "updatedAt": "2026-09-27T01:14:44.440Z", "updatedBy": "sage" }, { "id": 6, "piece": "Darkwing on point: darkwing assigns and gates filbert's work (piece 5 on the plan page)", "owner": "darkwing", "issues": [ 1511, 1512 ], "closes": [ 1511, 1512 ], "state": "done", "previousState": null, "required": false, "requiredSince": null, "gate": "F: filbert's item closes with zero human messages from Jason; code phase does not claim Gate F", "gateOwner": "jason", "brief": { "path": "docs/plans/2026-09-12_control-board-mvp.md", "anchor": "Piece 5: darkwing on point (orchestrator behaviour)", "blob": "51a35b3bc24ebb9f8b27ef985b024bb7540ab3e0" }, "after": [], "reviewers": [ "dewey" ], "review": null, "claim": null, "note": "done 2026-09-27 (lead decision 29): #1511 and #1512 landed in af4203ca (pushed), closed; Gate F not passed (2 human messages in filbert's T3 thread; the first 11 days predate the T3 source); Gate G (row 9) carries the test. Filbert authored the pilot. Briefs also: 2026-09-15_relaunch-activity.md, 2026-09-14_task-attribution.md", "blockedReason": null, "createdAt": "2026-09-13", "updatedAt": "2026-09-27T01:14:44.440Z", "updatedBy": "sage" }, { "id": 7, "piece": "Weekly ledger run and rails number", "owner": "sage", "issues": [], "closes": [], "state": "in-progress", "previousState": null, "required": false, "requiredSince": null, "gate": "under 10 human messages per closed issue for the week of 2026-09-13", "gateOwner": "jason", "brief": { "path": "packages/ledger/README.md", "anchor": "Ledger", "blob": "3a2ce27cdc4ef939258fa51eeb0e942bc60fb617" }, "after": [], "reviewers": [], "review": null, "claim": { "seat": "sage", "op": "genesis-2026-09-27" }, "note": "recurring, every Monday (lead decision 27); Jason reads; 09-13..19: 47.7, 09-20..26: 33.0 human messages per closed issue", "blockedReason": null, "createdAt": "2026-09-13", "updatedAt": "2026-09-27T01:14:44.440Z", "updatedBy": "sage" }, { "id": 8, "piece": "Fleet seats (`~/.mosaic`) onto `mosaic launch`", "owner": "unassigned", "issues": [], "closes": [], "state": "parked", "previousState": null, "required": false, "requiredSince": null, "gate": "Jason's call", "gateOwner": "jason", "brief": { "path": "docs/plans/2026-09-26_fleet-seats-onto-mosaic-launch.md", "anchor": "Row 8: fleet seats onto `mosaic launch` (stub brief)", "blob": "df316da4a1a7c456a76ca799033ba1e0088d398a" }, "after": [], "reviewers": [], "review": null, "claim": null, "note": "parked by current owner direction; no `~/.mosaic` changes during internal bootstrap", "blockedReason": null, "createdAt": "2026-09-13", "updatedAt": "2026-09-27T01:14:44.440Z", "updatedBy": "sage" }, { "id": 9, "piece": "Queue as data: `docs/plans/queue.json`, `mosaic queue` is the only writer", "owner": "darkwing", "issues": [ 1508 ], "closes": [], "state": "in-progress", "previousState": null, "required": true, "requiredSince": "2026-09-13", "gate": "G: a fresh seat told only \"run `mosaic queue next` and do it\" starts its piece with zero human messages", "gateOwner": "jason", "brief": { "path": "docs/plans/2026-09-13_queue-as-data.md", "anchor": "Piece A: queue record and `mosaic queue` (QUEUE row 9)", "blob": "0e57399e9e48b934ac7f7e6ff904d871b956407d" }, "after": [], "reviewers": [ "filbert" ], "review": null, "claim": { "seat": "darkwing", "op": "genesis-2026-09-27" }, "note": "A1 (journal, lock, CLI, verify) committed 34a72af9; A2 (migration, render, dispatch) committed with this map; Filbert approved both; genesis and hook install by Sage; Gate G also verifies row 10", "blockedReason": null, "createdAt": "2026-09-13", "updatedAt": "2026-09-27T01:14:44.440Z", "updatedBy": "sage" }, { "id": 10, "piece": "Seats read the queue, not CURRENT.md (AGENTS.md cadence, seat context files)", "owner": "coordinator", "issues": [ 1508 ], "closes": [], "state": "briefed", "previousState": null, "required": true, "requiredSince": "2026-09-13", "gate": "verified by Gate G", "gateOwner": "jason", "brief": { "path": "docs/plans/2026-09-13_queue-as-data.md", "anchor": "Piece B: seats read the queue, not CURRENT.md (QUEUE row 10)", "blob": "0e57399e9e48b934ac7f7e6ff904d871b956407d" }, "after": [], "reviewers": [], "review": null, "claim": null, "note": "AGENTS.md lines done 2026-09-13; the rest starts once genesis is committed", "blockedReason": null, "createdAt": "2026-09-13", "updatedAt": "2026-09-27T01:14:44.440Z", "updatedBy": "sage" }, { "id": 11, "piece": "Brief template `docs/plans/BRIEF-TEMPLATE.md`; `queue add` refuses a missing brief", "owner": "darkwing", "issues": [ 1508 ], "closes": [], "state": "waiting-on-jason", "previousState": null, "required": true, "requiredSince": "2026-09-13", "gate": "two briefs accepted by Jason with no scope question", "gateOwner": "jason", "brief": { "path": "docs/plans/2026-09-13_queue-as-data.md", "anchor": "Piece C: brief template (QUEUE row 11)", "blob": "0e57399e9e48b934ac7f7e6ff904d871b956407d" }, "after": [], "reviewers": [], "review": null, "claim": { "seat": "darkwing", "op": "genesis-2026-09-27" }, "note": "template and the `queue add` brief refusal both committed with A1 (34a72af9); the gate counts the first briefs added through the queue", "blockedReason": null, "createdAt": "2026-09-13", "updatedAt": "2026-09-27T01:14:44.440Z", "updatedBy": "sage" }, { "id": 12, "piece": "Reviews as issue comments posted by `queue move ID in-review`, not files in `docs/plans/reviews/`", "owner": "darkwing", "issues": [ 1508 ], "closes": [], "state": "briefed", "previousState": null, "required": true, "requiredSince": "2026-09-13", "gate": "one review round with no new file under reviews/", "gateOwner": "sage", "brief": { "path": "docs/plans/2026-09-13_queue-as-data.md", "anchor": "Piece D: reviews through a channel, not files (QUEUE row 12)", "blob": "0e57399e9e48b934ac7f7e6ff904d871b956407d" }, "after": [], "reviewers": [], "review": null, "claim": null, "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" }, { "id": 13, "piece": "Ledger \"queue\" section: issue/row/seat drift printed with the weekly number", "owner": "darkwing", "issues": [ 1508 ], "closes": [ 1508 ], "state": "briefed", "previousState": null, "required": true, "requiredSince": "2026-09-13", "gate": "first run Monday 2026-09-21, zero violations or every one moved same day", "gateOwner": "sage", "brief": { "path": "docs/plans/2026-09-13_queue-as-data.md", "anchor": "Piece E: ledger checks the queue (QUEUE row 13)", "blob": "0e57399e9e48b934ac7f7e6ff904d871b956407d" }, "after": [], "reviewers": [ "filbert" ], "review": null, "claim": null, "note": "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)", "blockedReason": null, "createdAt": "2026-09-13", "updatedAt": "2026-09-27T01:14:44.440Z", "updatedBy": "sage" }, { "id": 14, "piece": "Discord connector pilot: Sage answers in Shared Signals (chat only, no tools, no repo writes)", "owner": "coordinator", "issues": [ 1509 ], "closes": [ 1509 ], "state": "done", "previousState": null, "required": false, "requiredSince": null, "gate": "H: offline suite green, eight-step live pilot with private receipts, then Jason says the reply reads as Sage", "gateOwner": "jason", "brief": { "path": "docs/plans/2026-09-13_discord-connector-pilot.md", "anchor": "Discord connector pilot: Sage on Shared Signals", "blob": "ef6cdbb8a38c1b22d8f1c3dcbc34260cdac9714e" }, "after": [], "reviewers": [ "filbert" ], "review": null, "claim": null, "note": "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", "blockedReason": null, "createdAt": "2026-09-13", "updatedAt": "2026-09-27T01:14:44.440Z", "updatedBy": "sage" }, { "id": 15, "piece": "Discord connector: eyes reaction on every admitted message as a read receipt (MVP iteration 1)", "owner": "coordinator", "issues": [ 1509 ], "closes": [ 1509 ], "state": "done", "previousState": null, "required": false, "requiredSince": null, "gate": "Jason sees the reaction on a live message", "gateOwner": "jason", "brief": { "path": "docs/plans/2026-09-13_discord-connector-pilot.md", "anchor": "11. MVP iteration, after the pilot", "blob": "ef6cdbb8a38c1b22d8f1c3dcbc34260cdac9714e" }, "after": [], "reviewers": [], "review": null, "claim": null, "note": "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)", "blockedReason": null, "createdAt": "2026-09-13", "updatedAt": "2026-09-27T01:14:44.440Z", "updatedBy": "sage" }, { "id": 16, "piece": "Repository-native development bootstrap: five internal agents, Darkwing coordination", "owner": "darkwing", "issues": [ 1510 ], "closes": [ 1510 ], "state": "waiting-on-jason", "previousState": null, "required": false, "requiredSince": null, "gate": "source approved; Researcher live response passed 26216; existing native Rocko lock preserved, no new Rocko model test; no MVP acceptance/publication", "gateOwner": "jason", "brief": { "path": "docs/plans/2026-09-13_internal-development-bootstrap.md", "anchor": "Repository-native development bootstrap", "blob": "5dfe2f34ab1c4cdd34d4aebd00804df3842c24e2" }, "after": [], "reviewers": [ "filbert" ], "review": null, "claim": { "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", "blockedReason": null, "createdAt": "2026-09-13", "updatedAt": "2026-09-27T01:14:44.440Z", "updatedBy": "sage" }, { "id": 17, "piece": "Discord connector: systemd user service with a supervised pre-start (`recover`, exit 3 never retried) (MVP iteration 2)", "owner": "coordinator", "issues": [ 1509 ], "closes": [ 1509 ], "state": "done", "previousState": null, "required": false, "requiredSince": null, "gate": "the Sage connector runs under `mosaic-discord@shared-signals`, survives a kill with a clean restart, and stays down behind `discord.sh stop`", "gateOwner": "jason", "brief": { "path": "docs/plans/2026-09-13_discord-connector-pilot.md", "anchor": "11. MVP iteration, after the pilot", "blob": "ef6cdbb8a38c1b22d8f1c3dcbc34260cdac9714e" }, "after": [], "reviewers": [], "review": null, "claim": null, "note": "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", "blockedReason": null, "createdAt": "2026-09-13", "updatedAt": "2026-09-27T01:14:44.440Z", "updatedBy": "sage" }, { "id": 18, "piece": "Control board row for the Discord connector (MVP iteration 3): discovery from binding files, liveness from run.lock, reply refused", "owner": "darkwing", "issues": [ 1509 ], "closes": [ 1509 ], "state": "done", "previousState": null, "required": false, "requiredSince": null, "gate": "a Sage (discord) row on the board shows live, offline and braked correctly, and reply from the board is refused", "gateOwner": "jason", "brief": { "path": "docs/plans/2026-09-14_discord-board-row.md", "anchor": "Discord connector board row", "blob": "6a7753f8ab9a3c57d6c89857054e4119a1051d13" }, "after": [], "reviewers": [], "review": null, "claim": null, "note": "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", "blockedReason": null, "createdAt": "2026-09-13", "updatedAt": "2026-09-27T01:14:44.440Z", "updatedBy": "sage" }, { "id": 19, "piece": "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)", "owner": "coordinator", "issues": [ 1509 ], "closes": [ 1509 ], "state": "done", "previousState": null, "required": false, "requiredSince": null, "gate": "edit the binding, run `scripts/discord.sh reload shared-signals`, the change applies with no restart, a broken edit is refused and journaled", "gateOwner": "jason", "brief": { "path": "docs/plans/2026-09-13_discord-connector-pilot.md", "anchor": "11. MVP iteration, after the pilot", "blob": "ef6cdbb8a38c1b22d8f1c3dcbc34260cdac9714e" }, "after": [], "reviewers": [], "review": null, "claim": null, "note": "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`", "blockedReason": null, "createdAt": "2026-09-13", "updatedAt": "2026-09-27T01:14:44.440Z", "updatedBy": "sage" }, { "id": 20, "piece": "Discord connector: per-user channel allowlist in the binding and Carmen enrolled (all listed rooms except #sage-admin) (MVP iteration 5)", "owner": "coordinator", "issues": [ 1509 ], "closes": [ 1509 ], "state": "done", "previousState": null, "required": false, "requiredSince": null, "gate": "Carmen gets a reply in #general and silence in #sage-admin; Jason unchanged", "gateOwner": "jason", "brief": { "path": "docs/plans/2026-09-13_discord-connector-pilot.md", "anchor": "11. MVP iteration, after the pilot", "blob": "ef6cdbb8a38c1b22d8f1c3dcbc34260cdac9714e" }, "after": [], "reviewers": [], "review": null, "claim": null, "note": "done: caaef941 (`users[].channels` allowlist, `channel-not-for-user` drop); Carmen enrolled live by reload 00:03 UTC; her first message was the remaining check; #1509 closed with rows 14 to 25 done (lead decision 29)", "blockedReason": null, "createdAt": "2026-09-13", "updatedAt": "2026-09-27T01:14:44.440Z", "updatedBy": "sage" }, { "id": 21, "piece": "Discord connector: read-only tools for the Discord Sage through a Mosaic pi extension confined to declared roots (MVP iteration 6)", "owner": "coordinator", "issues": [ 1509 ], "closes": [ 1509 ], "state": "done", "previousState": null, "required": false, "requiredSince": null, "gate": "Sage answers a question from a file under a declared root with the reads in the turn record; a read outside the roots is refused and recorded", "gateOwner": "jason", "brief": { "path": "docs/plans/2026-09-14_discord-readonly-tools.md", "anchor": "Discord Sage: read-only tools (iteration 6)", "blob": "d682fa0fb1c463311c5f8924a9eb860382a9b2ac" }, "after": [], "reviewers": [], "review": null, "claim": null, "note": "approved: rev-code-02 round 2 verdict 26276 (tree 43f0329b), committed; Jason ruled R1–R7 2026-09-14 (roots docs/ and agents/sage/, Carmen included); done with rows 14 to 25 when #1509 closed (lead decision 29); reviewer per Q12", "blockedReason": null, "createdAt": "2026-09-14", "updatedAt": "2026-09-27T01:14:44.440Z", "updatedBy": "sage" }, { "id": 22, "piece": "Board attention status: completed replies idle, explicit human input waiting", "owner": "darkwing", "issues": [ 1503 ], "closes": [ 1503 ], "state": "done", "previousState": null, "required": false, "requiredSince": null, "gate": "operator accepted full targeted status sequence: explicit request waiting, Seen hides attention but preserves waiting, completion returns idle; broader MVP/cross-harness acceptance and publication separate", "gateOwner": "jason", "brief": { "path": "docs/plans/2026-09-13_board-attention-status.md", "anchor": "Board attention status correction", "blob": "ce0bb5e3ebda8faf59cff78017257aec1772ccc2" }, "after": [], "reviewers": [ "filbert" ], "review": null, "claim": null, "note": "source approved, receipt 26248; reviewer 193 per copy, author union 213 pass; actual Researcher scan idle; operator accepted (row 1); #1503 closed (lead decision 29)", "blockedReason": null, "createdAt": "2026-09-14", "updatedAt": "2026-09-27T01:14:44.440Z", "updatedBy": "sage" }, { "id": 23, "piece": "Discord connector: writes confined to the `shared-signals` root plus web fetch and search for the Discord Sage (MVP iteration 7)", "owner": "coordinator", "issues": [ 1509 ], "closes": [ 1509 ], "state": "done", "previousState": null, "required": false, "requiredSince": null, "gate": "Sage writes a naming shortlist into the repository from #ideas with the write and web calls in the turn record; a write outside the root is refused", "gateOwner": "jason", "brief": { "path": "docs/plans/2026-09-16_discord-write-and-web-tools.md", "anchor": "Discord Sage: writes into the strategy repository, and web research (#1509, QUEUE row 23)", "blob": "69a5c5c6e4696dd54c696eb0002f5e31c7d755a2" }, "after": [], "reviewers": [], "review": null, "claim": null, "note": "done 2026-09-27 (Sage, lead decision 29): committed and pushed 1685deb4; live turns wrote `vault/Businesses/naming.md` with web_search and web_fetch in the turn record; the outside-root refusal rests on the offline suite, not a live turn; reviewer per Q12", "blockedReason": null, "createdAt": "2026-09-16", "updatedAt": "2026-09-27T01:14:44.440Z", "updatedBy": "sage" }, { "id": 24, "piece": "Discord connector: git verbs (status, commit, pull ff-only, push) for the Discord Sage on the `shared-signals` root, seat identity through the existing credential helper (MVP iteration 8)", "owner": "coordinator", "issues": [ 1509 ], "closes": [ 1509 ], "state": "done", "previousState": null, "required": false, "requiredSince": null, "gate": "Sage commits and pushes a decision file from #ideas; GitHub shows Sage as author with a Requested-by trailer; no token in any record", "gateOwner": "jason", "brief": { "path": "docs/plans/2026-09-16_discord-git-tools.md", "anchor": "Discord Sage: git for the strategy repository (#1509, QUEUE row 24)", "blob": "4139fcc07ad18a355db31205769e054d9dc75a98" }, "after": [], "reviewers": [], "review": null, "claim": null, "note": "done 2026-09-27 (Sage, lead decision 29): committed and pushed 1949ed8d; live-configured 2026-09-18, never used from Discord; records now go through row 25 and SetSpark cutover freezes `vault/`, so first real use is the check and a failure opens a new issue; reviewer per Q12", "blockedReason": null, "createdAt": "2026-09-16", "updatedAt": "2026-09-27T01:14:44.440Z", "updatedBy": "sage" }, { "id": 25, "piece": "Discord connector: SetSpark record client for the Discord Sage, fixed verbs against setspark-api, connector-verified approvals (MVP iteration 9)", "owner": "coordinator", "issues": [ 1509 ], "closes": [ 1509 ], "state": "done", "previousState": null, "required": false, "requiredSince": null, "gate": "Sage creates one work item from #sage-admin and the API shows it with revision 1; a proposal is approved by the Approve button and the audit row carries Sage's key id and Jason's Discord id separately; rev-code-02 approves on #1509", "gateOwner": "jason", "brief": { "path": "docs/plans/2026-09-20_discord-setspark-client.md", "anchor": "Discord Sage: SetSpark record client (#1509, QUEUE row 25)", "blob": "19de61ce5a6ec2757b9456b9432ef49d6e63a1e6" }, "after": [], "reviewers": [], "review": null, "claim": null, "note": "done 2026-09-26: committed and pushed 43d7574d, live check passed (DEC-010, request 2, approved by button at 21:38:58Z, lead decision 19); approver rule enforced by the service since shared-signals cc74d92 (lead decisions 24 and 28); reviewer per Q12", "blockedReason": null, "createdAt": "2026-09-20", "updatedAt": "2026-09-27T01:14:44.440Z", "updatedBy": "sage" }, { "id": 26, "piece": "Registry increment 3 (headless identity-env leak)", "owner": "unassigned", "issues": [], "closes": [], "state": "parked", "previousState": null, "required": false, "requiredSince": null, "gate": "Jason reopens", "gateOwner": "jason", "brief": { "path": "docs/plans/CURRENT.md", "anchor": "Completed checkpoint: #1500 increment 2 (historical)", "blob": "ef462c4eb7b99b64b751fdcff2d81f85452d2017" }, "after": [], "reviewers": [], "review": null, "claim": null, "note": "#1500 closed on increment 2; Jason has not asked for 3", "blockedReason": null, "createdAt": "2026-09-13", "updatedAt": "2026-09-27T01:14:44.440Z", "updatedBy": "sage" }, { "id": 27, "piece": "Auth/provider/harness registry review", "owner": "unassigned", "issues": [], "closes": [], "state": "parked", "previousState": null, "required": false, "requiredSince": null, "gate": "Jason reopens", "gateOwner": "jason", "brief": { "path": "docs/plans/2026-09-03_auth-provider-harness-registry.md", "anchor": "Harness declaration + centralized auth/provider registry", "blob": "18b922b0b9ae8a4216ccba53ffb549e2d09787ff" }, "after": [], "reviewers": [], "review": null, "claim": null, "note": "Paused for owner alignment", "blockedReason": null, "createdAt": "2026-09-13", "updatedAt": "2026-09-27T01:14:44.440Z", "updatedBy": "sage" }, { "id": 28, "piece": "CI runners, second real adapter, push automation", "owner": "unassigned", "issues": [], "closes": [], "state": "parked", "previousState": null, "required": false, "requiredSince": null, "gate": "Jason reopens", "gateOwner": "jason", "brief": { "path": "docs/plans/ROADMAP.md", "anchor": "Explicitly deferred", "blob": "3d866ce8c1c9ba2c58876bf398f1d55d0a9faaff" }, "after": [], "reviewers": [], "review": null, "claim": null, "note": "Deferred by owner 2026-09-03", "blockedReason": null, "createdAt": "2026-09-13", "updatedAt": "2026-09-27T01:14:44.440Z", "updatedBy": "sage" }, { "id": 29, "piece": "Console features outside the refined session-chat brief, including Fresh creation and model switching", "owner": "unassigned", "issues": [], "closes": [], "state": "parked", "previousState": null, "required": false, "requiredSince": null, "gate": "Jason reopens", "gateOwner": "jason", "brief": { "path": "docs/plans/2026-09-13_webui-session-chat.md", "anchor": "WebUI session chat: refined brief and delivery plan", "blob": "58fb11f8ebd201097905b62f6f801b0e2e2d235a" }, "after": [], "reviewers": [], "review": null, "claim": null, "note": "Deferred by WEBUI Q1; required history/control/stop now belong to row 5, not this parked item", "blockedReason": null, "createdAt": "unknown", "updatedAt": "2026-09-27T01:14:44.440Z", "updatedBy": "sage" }, { "id": 30, "piece": "Open gaps from the MVP work", "owner": "unassigned", "issues": [], "closes": [], "state": "parked", "previousState": null, "required": false, "requiredSince": null, "gate": "Jason reopens", "gateOwner": "jason", "brief": { "path": "docs/plans/DEFERRED.md", "anchor": "Open", "blob": "fd580118844bb02909d54726c83d08c7d53c393f" }, "after": [], "reviewers": [], "review": null, "claim": null, "note": "Fixed only when a gate needs them", "blockedReason": null, "createdAt": "2026-09-13", "updatedAt": "2026-09-27T01:14:44.440Z", "updatedBy": "sage" } ], "legacyView": "Lead: Sage from 2026-09-26 (Jason's ruling); Darkwing is a collaborating seat.\nJason is preparing the target for the next phase; until it arrives, the\npriority below stands.\n\nCurrent priority: Sage's goal order from the 2026-09-27 goals review (close\nwhat is open, queue as data, Gate E), ratified by Jason 2026-09-27. Earlier: row 6, after Jason accepted row 18. His newer standing continuation instruction supplies the\nstart; the earlier row-18-only priority is complete. Jason requires\nautomatic continuation to the next authorized item after each accepted iteration;\nno routine next-step prompt. Explicit dependencies and protected-action gates remain. Use the five internal agents, not fleet seats. No\n`~/.mosaic` changes or live fleet migration. Row 6 closed 2026-09-27 (lead decision 29),\nwhich clears rows 9-13 to proceed; it does not authorize publication/access changes.\n\n| # | Piece | Owner | Issue | State | Gate | Brief |\n|---|-------|-------|-------|-------|------|-------|\n| 1 | Control board MVP (scanner + page) | darkwing | #1503 | done 2026-09-27 (Sage, lead decision 29): D-001 MVP delivered, Gate A passed 2026-09-12, attention status operator-accepted (row 22), relaunch activity, attribution and Host guard landed; #1503 closed; cross-harness board work belongs to Gate E (row 5) | A passed 2026-09-12 | plan page, top |\n| 2 | Seat registration and `mosaic seat task` | darkwing | #1504 | done 2026-09-13 | B passed 2026-09-12 | plan page, Step 3 |\n| 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\" |\n| 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\" |\n| 5 | WebUI first screen on the Console design (piece 4 on the plan page) | dewey; filbert reviews | #1507 | CHAT-00/01/01C contracts published (370823b3, 28d4e98a, b023841c); CHAT-02 done: backend a5beb6d9, Console c9e771cf, live check passed 2026-09-26; CHAT-03 brief approved and pinned 2026-09-27 (BRIEF.md 1ef15ac0, rescoped to Gate E, lead decisions 30 to 33; Filbert r3 approve, Rocko blocker closed, Filbert scope check pass); source author named by Sage after queue A2 lands; CHAT-04..08 not chartered; Gate E blocked | E: all-seat interactive demonstration then Jason workday ruling; live cutover separately approved | `2026-09-13_webui-session-chat.md`, CHAT-00..08 |\n| 6 | Darkwing on point: darkwing assigns and gates filbert's work (piece 5 on the plan page) | darkwing; filbert authors pilot; darkwing/dewey review | #1511 code phase; #1512 pilot | done 2026-09-27 (Sage, lead decision 29): #1511 and #1512 landed in af4203ca (pushed) and are closed; Gate F not passed: the ledger counts 2 human messages in filbert's T3 thread during #1512 (one is Jason's 09-26 seat takeover) and its first 11 days predate the T3 source; Gate G (row 9) now carries the zero-human-message test | F: filbert's item closes with zero human messages from Jason; code phase does not claim Gate F | `2026-09-15_relaunch-activity.md`; `2026-09-14_task-attribution.md`; plan page Piece 5 |\n| 7 | Weekly ledger run and rails number | sage (lead decision 27); Jason reads | — | recurring, every Monday; 09-13..19: 47.7, 09-20..26: 33.0 human messages per closed issue | under 10 human messages per closed issue for the week of 2026-09-13 | `packages/ledger/README.md` |\n| 8 | Fleet seats (`~/.mosaic`) onto `mosaic launch` | unassigned | — | parked by current owner direction; no `~/.mosaic` changes during internal bootstrap | Jason's call | none yet |\n| 9 | Queue as data: `docs/plans/queue.json`, `mosaic queue` is the only writer | darkwing; filbert reviews | #1508 | required; A1 (journal, lock, CLI, verify) committed 34a72af9 2026-09-27, Filbert approved; A2 (migration, render, dispatch) in progress, then genesis and hook install by Sage | 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 |\n| 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 |\n| 11 | Brief template `docs/plans/BRIEF-TEMPLATE.md`; `queue add` refuses a missing brief | darkwing | #1508 | required; template committed with A1 (34a72af9); `queue add` refusal lands with A2 | two briefs accepted by Jason with no scope question | `2026-09-13_queue-as-data.md`, Piece C |\n| 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 |\n| 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 |\n| 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` |\n| 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 |\n| 16 | Repository-native development bootstrap: five internal agents, Darkwing coordination | darkwing; filbert reviews | #1510 | 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 | source approved; Researcher live response passed 26216; existing native Rocko lock preserved, no new Rocko model test; no MVP acceptance/publication | `2026-09-13_internal-development-bootstrap.md` |\n| 17 | Discord connector: systemd user service with a supervised pre-start (`recover`, exit 3 never retried) (MVP iteration 2) | coordinator | #1509 | done, operator-verified by Jason 2026-09-13 (all four steps): `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 |\n| 18 | Control board row for the Discord connector (MVP iteration 3): discovery from binding files, liveness from run.lock, reply refused | darkwing (Jason's ruling 2026-09-13); coordinator answers connector-side questions | #1509 | done for bounded local delivery; Jason accepted visual test (parfait), R3 26257 reviewed, 322 tests and live 409 refusal verified; no publication or live connector state transitions claimed | a Sage (discord) row on the board shows live, offline and braked correctly, and reply from the board is refused | `2026-09-14_discord-board-row.md`; original pilot section 11 |\n| 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: 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` | edit the binding, run `scripts/discord.sh reload shared-signals`, the change applies with no restart, a broken edit is refused and journaled | `2026-09-13_discord-connector-pilot.md` section 11 |\n| 20 | Discord connector: per-user channel allowlist in the binding and Carmen enrolled (all listed rooms except #sage-admin) (MVP iteration 5) | coordinator | #1509 | done: caaef941 (`users[].channels` allowlist, `channel-not-for-user` drop); Carmen enrolled live by reload 00:03 UTC; her first message is the remaining check | Carmen gets a reply in #general and silence in #sage-admin; Jason unchanged | `2026-09-13_discord-connector-pilot.md` section 11 |\n| 21 | Discord connector: read-only tools for the Discord Sage through a Mosaic pi extension confined to declared roots (MVP iteration 6) | coordinator; reviewer per Q12 | #1509 | approved: rev-code-02 round 2 verdict 26276 (tree 43f0329b); committed locally; live check in #sage-admin with Jason next; Jason ruled R1–R7 2026-09-14 (roots docs/ and agents/sage/, Carmen included) | Sage answers a question from a file under a declared root with the reads in the turn record; a read outside the roots is refused and recorded | `2026-09-14_discord-readonly-tools.md` |\n| 22 | Board attention status: completed replies idle, explicit human input waiting | darkwing; filbert reviews | #1503 | source approved, receipt 26248; reviewer 193 per copy, author union 213 pass; actual Researcher scan idle | operator accepted full targeted status sequence: explicit request waiting, Seen hides attention but preserves waiting, completion returns idle; broader MVP/cross-harness acceptance and publication separate | `2026-09-13_board-attention-status.md` |\n| 23 | Discord connector: writes confined to the `shared-signals` root plus web fetch and search for the Discord Sage (MVP iteration 7) | coordinator; reviewer per Q12 | #1509 | done 2026-09-27 (Sage, lead decision 29): committed and pushed 1685deb4; live turns wrote `vault/Businesses/naming.md` with web_search and web_fetch in the turn record; the outside-root refusal rests on the offline suite, not a live turn | Sage writes a naming shortlist into the repository from #ideas with the write and web calls in the turn record; a write outside the root is refused | `2026-09-16_discord-write-and-web-tools.md` |\n| 24 | Discord connector: git verbs (status, commit, pull ff-only, push) for the Discord Sage on the `shared-signals` root, seat identity through the existing credential helper (MVP iteration 8) | coordinator; reviewer per Q12 | #1509 | done 2026-09-27 (Sage, lead decision 29): committed and pushed 1949ed8d; live-configured 2026-09-18, never used from Discord; records now go through row 25 and SetSpark cutover freezes `vault/`, so first real use is the check and a failure opens a new issue | Sage commits and pushes a decision file from #ideas; GitHub shows Sage as author with a Requested-by trailer; no token in any record | `2026-09-16_discord-git-tools.md` |\n| 25 | Discord connector: SetSpark record client for the Discord Sage, fixed verbs against setspark-api, connector-verified approvals (MVP iteration 9) | coordinator; reviewer per Q12 | #1509 | done 2026-09-26: committed and pushed 43d7574d, live check passed (DEC-010, request 2, approved by button at 21:38:58Z, lead decision 19); approver rule enforced by the service since shared-signals cc74d92 (lead decisions 24 and 28) | Sage creates one work item from #sage-admin and the API shows it with revision 1; a proposal is approved by the Approve button and the audit row carries Sage's key id and Jason's Discord id separately; rev-code-02 approves on #1509 | `2026-09-20_discord-setspark-client.md` |\n\nStart message for row 6, sent from the board to darkwing:\n\"Read docs/plans/QUEUE.md, then the plan page section \"Piece 5: darkwing on\npoint\", and execute it. Start with the first assignment for filbert. Report at\nGate F or when blocked.\"\n\n## Parked (not in order, needs Jason to reopen)\n\n| Item | Why parked | Where |\n|------|------------|-------|\n| Registry increment 3 (headless identity-env leak) | #1500 closed on increment 2; Jason has not asked for 3 | CURRENT.md, \"#1500 increment 2 (historical)\" |\n| Auth/provider/harness registry review | Paused for owner alignment | `docs/plans/2026-09-03_auth-provider-harness-registry.md` |\n| CI runners, second real adapter, push automation | Deferred by owner 2026-09-03 | `docs/plans/ROADMAP.md`, \"Explicitly deferred\" |\n| 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` |\n| Open gaps from the MVP work | Fixed only when a gate needs them | DEFERRED.md, \"Open\" |\n\n", "receipt": "ok genesis-2026-09-27 rev 0 genesis 30 rows" }, "viewSha": "3306b486be165b88c554ba13283cab4c79a5b67fbe3c2b6bfe72f987e1eddf07" }, { "rev": 1, "op": "assign-10-sage", "verb": "assign", "args": { "id": 10, "seat": "sage" }, "by": "sage", "at": "2026-09-27T01:16:40.574Z", "semantics": 1, "result": { "row": 10, "field": "owner", "from": "coordinator", "to": "sage", "receipt": "ok assign-10-sage rev 1 row 10 owner: coordinator→sage" }, "viewSha": "b09c9036d3e40f4242295a550c871e10873eac34bf65f0c148ca48d8776cf6c0" }, { "rev": 2, "op": "row13-gate-reword", "verb": "set", "args": { "id": 13, "field": "gate", "value": "rows 9 to 12 done, then a Monday ledger run with zero queue violations, or every one moved the same day", "reason": null }, "by": "sage", "at": "2026-09-27T01:16:40.640Z", "semantics": 1, "result": { "row": 13, "field": "gate", "from": "first run Monday 2026-09-21, zero violations or every one moved same day", "to": "rows 9 to 12 done, then a Monday ledger run with zero queue violations, or every one moved the same day", "receipt": "ok row13-gate-reword rev 2 row 13 gate: first run Monday 2026-09-21, zero violations or every one moved same day→rows 9 to 12 done, then a Monday ledger run with zero queue violations, or every one moved the same day" }, "viewSha": "98b4b55b9e2fda7c89e4a5bc2e28514773b9d993be87a92fc98dbbae62b70b7a" }, { "rev": 3, "op": "darkwing-9-review-1", "verb": "move", "args": { "id": 9, "to": "in-review", "reason": null, "candidate": "6ca116b7ba6d01df3e0e50bb69799d12b94942b5", "evidence": null, "issue": null }, "by": "darkwing", "at": "2026-09-27T01:18:13.080Z", "semantics": 1, "result": { "row": 9, "from": "in-progress", "to": "in-review", "round": 1, "issue": 1508, "candidate": { "kind": "commit", "digest": "6ca116b7ba6d01df3e0e50bb69799d12b94942b5", "text": null }, "receipt": "ok darkwing-9-review-1 rev 3 row 9 in-progress→in-review round 1 on #1508" }, "viewSha": "3b583a7df4b4bcf38619e63cabed54f8c8c1cba9c204f5dd12b5c45358c013c3" }, { "rev": 4, "op": "darkwing-9-to-jason-1", "verb": "move", "args": { "id": 9, "to": "waiting-on-jason", "reason": null, "candidate": null, "evidence": null, "issue": null }, "by": "darkwing", "at": "2026-09-27T01:18:16.887Z", "semantics": 1, "result": { "row": 9, "from": "in-review", "to": "waiting-on-jason", "round": null, "issue": null, "candidate": null, "receipt": "ok darkwing-9-to-jason-1 rev 4 row 9 in-review→waiting-on-jason" }, "viewSha": "47851be5a42e0508fe156e7db5a210c82f4cdf44c8e23cfa92262790cd78d1c9" }, { "rev": 5, "op": "darkwing-9-note-closeout", "verb": "note", "args": { "id": 9, "text": "A1 34a72af9 and A2 6ca116b7 committed; Filbert approved both, and review round 1's candidate 6ca116b7 matches the A2 manifest he approved 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" }, "by": "darkwing", "at": "2026-09-27T01:18:16.950Z", "semantics": 1, "result": { "row": 9, "field": "note", "receipt": "ok darkwing-9-note-closeout rev 5 row 9 note" }, "viewSha": "0414f31ed303a5c0f3587fdc5a0c6dc499ceadd69cfbcdf324885622f506c7a8" }, { "rev": 6, "op": "darkwing-9-note-closeout-2", "verb": "note", "args": { "id": 9, "text": "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" }, "by": "darkwing", "at": "2026-09-27T01:18:22.293Z", "semantics": 1, "result": { "row": 9, "field": "note", "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" }, { "rev": 13, "op": "row5-note-chat03-author", "verb": "note", "args": { "id": 5, "text": "CHAT-00/01/01C published (370823b3, 28d4e98a, b023841c); CHAT-02 done: backend a5beb6d9, Console c9e771cf, live check passed 2026-09-26; CHAT-03 brief pinned 2026-09-27 (BRIEF.md 1ef15ac0, lead decisions 30 to 34); CHAT-03 source author Dewey, reviewers Filbert then Rocko on binding and extension refusal, two rounds (lead decision 36); CHAT-04..08 not chartered; Gate E blocked" }, "by": "sage", "at": "2026-09-27T01:25:02.397Z", "semantics": 1, "result": { "row": 5, "field": "note", "receipt": "ok row5-note-chat03-author rev 13 row 5 note" }, "viewSha": "60efc311c3146629946eddbf9cae8b72a56443081ddb79cc0ab3ccd25034272f" }, { "rev": 14, "op": "sage-12-reviewers-1", "verb": "set", "args": { "id": 12, "field": "reviewers", "value": [ "filbert" ], "reason": null }, "by": "sage", "at": "2026-09-27T15:09:05.208Z", "semantics": 2, "result": { "row": 12, "field": "reviewers", "from": [], "to": [ "filbert" ], "receipt": "ok sage-12-reviewers-1 rev 14 row 12 reviewers: none→filbert" }, "viewSha": "46f24009684e96428a32f77a5b30b9c07e7e5f5df0a0953f141e68a5429f9193" }, { "rev": 15, "op": "darkwing-12-review-1", "verb": "move", "args": { "id": 12, "to": "in-review", "reason": null, "candidate": "f539466f", "evidence": null, "issue": null }, "by": "darkwing", "at": "2026-09-27T15:09:58.299Z", "semantics": 2, "result": { "row": 12, "from": "in-progress", "to": "in-review", "round": 1, "issue": 1508, "candidate": { "kind": "commit", "digest": "f539466fcb392ba7eaa0a491e5249b67719b956d", "text": null }, "receipt": "ok darkwing-12-review-1 rev 15 row 12 in-progress→in-review round 1 on #1508; request darkwing-12-review-1 requesting" }, "viewSha": "8ff89ccf81295f9aa38a94eacf6f8741e1db30a199553fae1811ed7840626ab2" }, { "rev": 16, "op": "darkwing-12-review-1.outcome", "verb": "review-outcome", "args": { "id": 12, "attempt": "darkwing-12-review-1", "outcome": "posted", "status": 201, "comment": 26577, "detail": "created" }, "by": "darkwing", "at": "2026-09-27T15:09:59.154Z", "semantics": 2, "result": { "row": 12, "round": 1, "attempt": "darkwing-12-review-1", "state": "posted", "receipt": "ok darkwing-12-review-1.outcome rev 16 row 12 round 1 request darkwing-12-review-1 posted comment 26577" }, "viewSha": "09e2983526a7823a3a9a00689bc49bcd312f44b2ccd28b0eb5e4a89a1834ceaa" }, { "rev": 17, "op": "filbert-12-record-1", "verb": "review-record", "args": { "id": 12, "verdict": "approve", "comment": 26579, "candidate": "f539466fcb392ba7eaa0a491e5249b67719b956d" }, "by": "filbert", "at": "2026-09-27T15:11:58.426Z", "semantics": 2, "result": { "row": 12, "round": 1, "verdict": "approve", "receipt": "ok filbert-12-record-1 rev 17 row 12 round 1 approve by filbert (comment 26579)" }, "viewSha": "b71757db206ef49ce9546ab434a5a9b9a46d937f53655f48d132a44fe8c5bf62" }, { "rev": 18, "op": "darkwing-13-start-1", "verb": "move", "args": { "id": 13, "to": "in-progress", "reason": null, "candidate": null, "evidence": null, "issue": null }, "by": "darkwing", "at": "2026-09-27T15:12:11.975Z", "semantics": 2, "result": { "row": 13, "from": "briefed", "to": "in-progress", "round": null, "issue": null, "candidate": null, "receipt": "ok darkwing-13-start-1 rev 18 row 13 briefed→in-progress" }, "viewSha": "3afb02f471a89cc73e54b977adae87e46378b231f5a1b9041ee91f8f88768fff" }, { "rev": 19, "op": "sage-12-done-1", "verb": "move", "args": { "id": 12, "to": "done", "reason": null, "candidate": null, "evidence": null, "issue": null }, "by": "sage", "at": "2026-09-27T15:13:49.209Z", "semantics": 2, "result": { "row": 12, "from": "in-review", "to": "done", "round": 1, "issue": null, "candidate": null, "receipt": "ok sage-12-done-1 rev 19 row 12 in-review→done round 1" }, "viewSha": "ee2ff4a052e2a283dd5af046064f11a54aeb32e97fce288933169dbdb3403200" }, { "rev": 20, "op": "sage-7-brief-e", "verb": "set", "args": { "id": 7, "field": "brief", "value": "packages/ledger/README.md#Weekly routine", "reason": null }, "by": "sage", "at": "2026-09-27T16:34:31.356Z", "semantics": 2, "result": { "row": 7, "field": "brief", "from": { "path": "packages/ledger/README.md", "anchor": "Ledger", "blob": "3a2ce27cdc4ef939258fa51eeb0e942bc60fb617" }, "to": { "path": "packages/ledger/README.md", "anchor": "Weekly routine", "blob": "483c981e564587a8df56575ed0149b06923ef1b0" }, "receipt": "ok sage-7-brief-e rev 20 row 7 brief: packages/ledger/README.md § Ledger @3a2ce27cdc4e→packages/ledger/README.md § Weekly routine @483c981e5645" }, "viewSha": "b10056e21cb6a7bf4152fff5fb6fb160ededf025c4fe887a20568daa09b72a0f" }, { "rev": 21, "op": "darkwing-13-review-1", "verb": "move", "args": { "id": 13, "to": "in-review", "reason": null, "candidate": "fd72d268", "evidence": null, "issue": null }, "by": "darkwing", "at": "2026-09-27T16:35:40.688Z", "semantics": 2, "result": { "row": 13, "from": "in-progress", "to": "in-review", "round": 1, "issue": 1508, "candidate": { "kind": "commit", "digest": "fd72d26899bc1467bef4bde6f2e45fd03ac50696", "text": null }, "receipt": "ok darkwing-13-review-1 rev 21 row 13 in-progress→in-review round 1 on #1508; request darkwing-13-review-1 requesting" }, "viewSha": "717ab28665ca145d57d801ee7473e3025b3b7c124ffa5eb04d52805c269fd918" }, { "rev": 22, "op": "darkwing-13-review-1.outcome", "verb": "review-outcome", "args": { "id": 13, "attempt": "darkwing-13-review-1", "outcome": "posted", "status": 201, "comment": 26586, "detail": "created" }, "by": "darkwing", "at": "2026-09-27T16:35:41.385Z", "semantics": 2, "result": { "row": 13, "round": 1, "attempt": "darkwing-13-review-1", "state": "posted", "receipt": "ok darkwing-13-review-1.outcome rev 22 row 13 round 1 request darkwing-13-review-1 posted comment 26586" }, "viewSha": "378a366dfe1de3a87b7bc4994574034f0625fe193af1dd5e4bb90423d356a0f6" }, { "rev": 23, "op": "filbert-13-record-1", "verb": "review-record", "args": { "id": 13, "verdict": "approve", "comment": 26589, "candidate": "fd72d26899bc1467bef4bde6f2e45fd03ac50696" }, "by": "filbert", "at": "2026-09-27T16:37:57.938Z", "semantics": 2, "result": { "row": 13, "round": 1, "verdict": "approve", "receipt": "ok filbert-13-record-1 rev 23 row 13 round 1 approve by filbert (comment 26589)" }, "viewSha": "00048edf9a6cb3b4806561042d7c91d67f581e732673b6626970c3dafcd97d2a" }, { "rev": 24, "op": "sage-7-weekly-0928", "verb": "note", "args": { "id": 7, "text": "2026-09-28 Monday run, week 09-20 to 09-26, rev 23: queue result fail, 4 age violations (rows 9, 10, 11, 13; rows 9 to 11 wait on Jason); 3 T3 seats exempt; rails 33.0 human messages per closed issue (1 closed), gate is under 10; output agents/sage/work/ledger/2026-09-28_weekly.txt" }, "by": "sage", "at": "2026-09-28T13:25:34.893Z", "semantics": 2, "result": { "row": 7, "field": "note", "receipt": "ok sage-7-weekly-0928 rev 24 row 7 note" }, "viewSha": "1de24c5d7e5100b3b6cfe919db3e25a87bd65e351206b783cc12491d6c1844f7" }, { "rev": 25, "op": "sage-add-owner-not-reviewer", "verb": "add", "args": { "piece": "Refuse the owner as a reviewer at add, set reviewers and assign", "gate": "filbert approves through queue review record; Sage commits the candidate with queue tests green", "brief": "docs/plans/2026-09-28_queue-owner-not-reviewer.md#Refuse the owner as a reviewer at add, set reviewers and assign", "issues": [ 1508 ], "note": null, "owner": "rocko", "gateOwner": "sage", "after": null, "reviewers": [ "filbert" ], "required": null }, "by": "sage", "at": "2026-09-28T13:27:03.880Z", "semantics": 2, "result": { "row": 31, "from": null, "to": "queued", "brief": { "path": "docs/plans/2026-09-28_queue-owner-not-reviewer.md", "anchor": "Refuse the owner as a reviewer at add, set reviewers and assign", "blob": "0c4e24bf3c08856b5853fd12e36cdaf8b44ef68c" }, "receipt": "ok sage-add-owner-not-reviewer rev 25 row 31 none→queued" }, "viewSha": "cf059cc7dfab3bce4fc74464a4b80b50955480e772084b7fc85282ba3c04ed92" }, { "rev": 26, "op": "sage-31-accept", "verb": "move", "args": { "id": 31, "to": "briefed", "reason": null, "candidate": null, "evidence": null, "issue": null }, "by": "sage", "at": "2026-09-28T13:27:06.990Z", "semantics": 2, "result": { "row": 31, "from": "queued", "to": "briefed", "round": null, "issue": null, "candidate": null, "receipt": "ok sage-31-accept rev 26 row 31 queued→briefed" }, "viewSha": "5191fd27f1c9b5c5d0902abc42dec4f477b4f729b676d5ba8477b09650960af5" }, { "rev": 27, "op": "rocko-31-start", "verb": "move", "args": { "id": 31, "to": "in-progress", "reason": null, "candidate": null, "evidence": null, "issue": null }, "by": "rocko", "at": "2026-09-28T13:56:20.201Z", "semantics": 2, "result": { "row": 31, "from": "briefed", "to": "in-progress", "round": null, "issue": null, "candidate": null, "receipt": "ok rocko-31-start rev 27 row 31 briefed→in-progress" }, "viewSha": "125c2330538b3384738dfaef0de64e76406f649471250e7c3af5b284d1d79e70" }, { "rev": 28, "op": "rocko-31-review", "verb": "move", "args": { "id": 31, "to": "in-review", "reason": null, "candidate": "agents/rocko/work/queue-31/build-manifest.sha256", "evidence": null, "issue": null }, "by": "rocko", "at": "2026-09-28T13:56:25.903Z", "semantics": 2, "result": { "row": 31, "from": "in-progress", "to": "in-review", "round": 1, "issue": 1508, "candidate": { "kind": "manifest", "digest": "35199daf6803db7f7872ded900911c386c0df400ad131a6e311f4078c87312cf", "text": "9d40c3308358595fd3829504de5b72b5a2763d2379b238c3f9b67bb0dc34a7d0 packages/queue/src/queue.mjs\n3bdad384f38f47e8041761139a39d7bdbe5ebe0ec84548d022f3fb3c0ebae2ea packages/queue/README.md\n06e5d00a6a854ad34dcb8bcd6b6e3506630e41d3269168377372ec0a8bb11c81 packages/queue/tests/data.test.mjs\n5f3dfc284d671b5f6732e9c7b4b281a4bf8f4449dfe06c4622fdcc4b7fb42722 packages/queue/tests/review.test.mjs\nab7321beb9662718620fbf5da4c16f997cd62bf0aa81396d64c0791e1eee541e packages/queue/tests/store.test.mjs\n" }, "receipt": "ok rocko-31-review rev 28 row 31 in-progress→in-review round 1 on #1508; request rocko-31-review requesting" }, "viewSha": "fcdb0a5d31c7bec50b80ee0c511ef0dbc15a8edc7ddceae54906dc60dac4118d" }, { "rev": 29, "op": "rocko-31-review.outcome", "verb": "review-outcome", "args": { "id": 31, "attempt": "rocko-31-review", "outcome": "failed", "status": null, "comment": null, "detail": "pre-send: the credential or account check failed" }, "by": "rocko", "at": "2026-09-28T13:56:25.934Z", "semantics": 2, "result": { "row": 31, "round": 1, "attempt": "rocko-31-review", "state": "failed", "receipt": "ok rocko-31-review.outcome rev 29 row 31 round 1 request rocko-31-review failed" }, "viewSha": "080187ace5e56d7a136023f31476e4fc7279f08f80c00ad77cb33af9286ed2bf" }, { "rev": 30, "op": "sage-31-request-2", "verb": "review-request", "args": { "id": 31 }, "by": "sage", "at": "2026-10-04T05:04:02.101Z", "semantics": 2, "result": { "row": 31, "round": 1, "attempt": "sage-31-request-2", "state": "requesting", "receipt": "ok sage-31-request-2 rev 30 row 31 round 1 request sage-31-request-2 requesting" }, "viewSha": "6cef7d84132a62ab8e8eb41d726bc2681271d911d5458629002e828ccc6757ed" }, { "rev": 31, "op": "sage-31-request-2.outcome", "verb": "review-outcome", "args": { "id": 31, "attempt": "sage-31-request-2", "outcome": "posted", "status": 201, "comment": 26620, "detail": "created" }, "by": "sage", "at": "2026-10-04T05:04:02.944Z", "semantics": 2, "result": { "row": 31, "round": 1, "attempt": "sage-31-request-2", "state": "posted", "receipt": "ok sage-31-request-2.outcome rev 31 row 31 round 1 request sage-31-request-2 posted comment 26620" }, "viewSha": "5e819f6a511a3839e2055112c5d80c4ec9309ed04364c1bc693c961697c6fe3c" }, { "rev": 32, "op": "sage-9-close-gateg", "verb": "move", "args": { "id": 9, "to": "done", "reason": null, "candidate": null, "evidence": "Jason in T3 thread 1ef1e4f8 on 2026-10-04, Gate G verdict: '1. pass' (fresh rocko started row 31 from queue next with zero human messages)", "issue": null }, "by": "sage", "at": "2026-10-04T05:04:12.580Z", "semantics": 2, "result": { "row": 9, "from": "waiting-on-jason", "to": "done", "round": null, "issue": null, "candidate": null, "receipt": "ok sage-9-close-gateg rev 32 row 9 waiting-on-jason→done" }, "viewSha": "482fd29f9d237d7b62a3bfde1d13bf649a15b21561b54bb7d1f2137021db759c" }, { "rev": 33, "op": "sage-10-close-gateg", "verb": "move", "args": { "id": 10, "to": "done", "reason": null, "candidate": null, "evidence": "Jason in T3 thread 1ef1e4f8 on 2026-10-04, Gate G verdict: '1. pass'; row 10's gate is verified by Gate G", "issue": null }, "by": "sage", "at": "2026-10-04T05:04:12.696Z", "semantics": 2, "result": { "row": 10, "from": "waiting-on-jason", "to": "done", "round": null, "issue": null, "candidate": null, "receipt": "ok sage-10-close-gateg rev 33 row 10 waiting-on-jason→done" }, "viewSha": "368996a6b75598d16601866f8c36827410f34631232ec1636563d0f7d586f7af" }, { "rev": 34, "op": "sage-16-close-1510", "verb": "move", "args": { "id": 16, "to": "done", "reason": null, "candidate": null, "evidence": "Jason in T3 thread 1ef1e4f8 on 2026-10-04, asked whether to close #1510 (row 16): '5. yes'", "issue": null }, "by": "sage", "at": "2026-10-04T05:04:12.799Z", "semantics": 2, "result": { "row": 16, "from": "waiting-on-jason", "to": "done", "round": null, "issue": null, "candidate": null, "receipt": "ok sage-16-close-1510 rev 34 row 16 waiting-on-jason→done" }, "viewSha": "9d8be0d194f061118b81d7721faf76632ace0a1b264abe58f619e0dfefd5c577" }, { "rev": 35, "op": "sage-11-note-brief1", "verb": "note", "args": { "id": 11, "text": "brief 1 of 2 accepted: Jason accepted row 31's brief (docs/plans/2026-09-28_queue-owner-not-reviewer.md) with no scope question, T3 thread 1ef1e4f8, 2026-10-04 ('2. accepted'); brief 2 pending" }, "by": "sage", "at": "2026-10-04T05:04:12.925Z", "semantics": 2, "result": { "row": 11, "field": "note", "receipt": "ok sage-11-note-brief1 rev 35 row 11 note" }, "viewSha": "18dc279bc73d1669e159f76577fada8cb4c4021a8721c4f1ce77cc73867fa131" }, { "rev": 36, "op": "sage-31-closes-none", "verb": "set", "args": { "id": 31, "field": "closes", "value": [], "reason": "row 31 is one piece of #1508; rows 11 and 13 are still open, so finishing row 31 must not close the issue" }, "by": "sage", "at": "2026-10-04T05:04:21.282Z", "semantics": 2, "result": { "row": 31, "field": "closes", "from": [ 1508 ], "to": [], "receipt": "ok sage-31-closes-none rev 36 row 31 closes: #1508→none" }, "viewSha": "72f8b7fb1f7e5b584504586c3913f8b82459187b1477cab6fd45a98681b1dcbe" }, { "rev": 37, "op": "filbert-31-record-1", "verb": "review-record", "args": { "id": 31, "verdict": "approve", "comment": 26629, "candidate": "35199daf6803db7f7872ded900911c386c0df400ad131a6e311f4078c87312cf" }, "by": "filbert", "at": "2026-10-04T05:12:14.720Z", "semantics": 2, "result": { "row": 31, "round": 1, "verdict": "approve", "receipt": "ok filbert-31-record-1 rev 37 row 31 round 1 approve by filbert (comment 26629)" }, "viewSha": "6afdcacd580a9843e32f2cf81008c2cad6f5d597c59029929e5c74931e69b70e" }, { "rev": 38, "op": "sage-31-done", "verb": "move", "args": { "id": 31, "to": "done", "reason": null, "candidate": null, "evidence": null, "issue": null }, "by": "sage", "at": "2026-10-04T05:16:45.871Z", "semantics": 2, "result": { "row": 31, "from": "in-review", "to": "done", "round": 1, "issue": null, "candidate": null, "receipt": "ok sage-31-done rev 38 row 31 in-review→done round 1" }, "viewSha": "36292e6b2ed68f520af22323968216e2443adfc39e701fded93dccf46fac35f6" }, { "rev": 39, "op": "sage-add-guideposts", "verb": "add", "args": { "piece": "Ledger: Jason's overhead per finished piece, unattended pieces, rework and wait time", "gate": "filbert approves through queue review record; Sage commits with ledger and queue suites green and posts a tagged run for 2026-09-27 to 2026-10-03 on #1514", "brief": "docs/plans/2026-10-04_ledger-kpi-guideposts.md#Ledger: Jason's overhead per finished piece, unattended pieces, rework and wait time", "issues": [ 1514 ], "note": null, "owner": "darkwing", "gateOwner": "sage", "after": null, "reviewers": [ "filbert" ], "required": null }, "by": "sage", "at": "2026-10-04T05:23:02.555Z", "semantics": 2, "result": { "row": 32, "from": null, "to": "queued", "brief": { "path": "docs/plans/2026-10-04_ledger-kpi-guideposts.md", "anchor": "Ledger: Jason's overhead per finished piece, unattended pieces, rework and wait time", "blob": "9bc7ffbc0dc296165d3aeceee74705f3835fb90d" }, "receipt": "ok sage-add-guideposts rev 39 row 32 none→queued" }, "viewSha": "3ac0727c1e52206bb7b9980d5177def6c869ecbffd26d9f8d9351b5c3a65cc0e" }, { "rev": 40, "op": "sage-5-reviewers-darkwing", "verb": "set", "args": { "id": 5, "field": "reviewers", "value": [ "darkwing", "filbert" ], "reason": null }, "by": "sage", "at": "2026-10-04T05:24:16.886Z", "semantics": 2, "result": { "row": 5, "field": "reviewers", "from": [ "filbert", "rocko" ], "to": [ "darkwing", "filbert" ], "receipt": "ok sage-5-reviewers-darkwing rev 40 row 5 reviewers: filbert, rocko→darkwing, filbert" }, "viewSha": "46240dd100515aa2706de7aa070a35724e0ff9acef42ec9b3828399e128e03af" }, { "rev": 41, "op": "sage-add-queue-followups", "verb": "add", "args": { "piece": "Queue: genesis owner-not-reviewer check, assign wording, queue-commit HEAD-moved message, calendar dates, cold-start flake", "gate": "darkwing approves through queue review record; Sage commits with queue suites green and verify --current ok", "brief": "docs/plans/2026-10-04_queue-follow-ups.md#Queue: genesis owner-not-reviewer check, assign wording, queue-commit HEAD-moved message, calendar dates, cold-start flake", "issues": [ 1508 ], "note": null, "owner": "filbert", "gateOwner": "sage", "after": null, "reviewers": [ "darkwing" ], "required": null }, "by": "sage", "at": "2026-10-04T05:25:04.375Z", "semantics": 2, "result": { "row": 33, "from": null, "to": "queued", "brief": { "path": "docs/plans/2026-10-04_queue-follow-ups.md", "anchor": "Queue: genesis owner-not-reviewer check, assign wording, queue-commit HEAD-moved message, calendar dates, cold-start flake", "blob": "1dc08bf0ac396bfb2ee6a699d7cdb211a6eec6e6" }, "receipt": "ok sage-add-queue-followups rev 41 row 33 none→queued" }, "viewSha": "3a70a59e41537724d9716bcce7e9c54cbcc1f4a8f5de63ef3180b2bd45398424" }, { "rev": 42, "op": "sage-33-accept", "verb": "move", "args": { "id": 33, "to": "briefed", "reason": null, "candidate": null, "evidence": null, "issue": null }, "by": "sage", "at": "2026-10-04T05:25:04.469Z", "semantics": 2, "result": { "row": 33, "from": "queued", "to": "briefed", "round": null, "issue": null, "candidate": null, "receipt": "ok sage-33-accept rev 42 row 33 queued→briefed" }, "viewSha": "dd8a917481c62a64d0c50455f6aed06c8c98d8522dfaef1212cf571ef654e5d4" }, { "rev": 43, "op": "sage-33-closes-none", "verb": "set", "args": { "id": 33, "field": "closes", "value": [], "reason": "follow-up piece under #1508; rows 11 and 13 close the issue, not this row" }, "by": "sage", "at": "2026-10-04T05:25:49.372Z", "semantics": 2, "result": { "row": 33, "field": "closes", "from": [ 1508 ], "to": [], "receipt": "ok sage-33-closes-none rev 43 row 33 closes: #1508→none" }, "viewSha": "6c34c6e606624039e5efb9c14ee029cfbe5d3a83a6cba659d692e8597f9f3661" }, { "rev": 44, "op": "filbert-33-start-1", "verb": "move", "args": { "id": 33, "to": "in-progress", "reason": null, "candidate": null, "evidence": null, "issue": null }, "by": "filbert", "at": "2026-10-04T05:27:03.547Z", "semantics": 2, "result": { "row": 33, "from": "briefed", "to": "in-progress", "round": null, "issue": null, "candidate": null, "receipt": "ok filbert-33-start-1 rev 44 row 33 briefed→in-progress" }, "viewSha": "ad907657fe9999d2229a3952c67fafbdacdfad35a4edc3ee6cd873c6ed13b9c3" }, { "rev": 45, "op": "sage-5-note-resume", "verb": "note", "args": { "id": 5, "text": "2026-10-04 Dewey resumed CHAT-03 after a usage-limit stall since 09-27; about 2600 lines of untracked source in packages/conversation/src; left: controller, client and terminal, fake pi and fixtures, README, suites and mutants, then in-review with a manifest; ETA 25 to 35 Dewey turns; reviewers darkwing and filbert" }, "by": "sage", "at": "2026-10-04T05:27:36.564Z", "semantics": 2, "result": { "row": 5, "field": "note", "receipt": "ok sage-5-note-resume rev 45 row 5 note" }, "viewSha": "5e780194c18fdccb9cc785dfebf206bffc8f310b301423f6c053f0af2a4af43e" }, { "rev": 46, "op": "filbert-33-review-1", "verb": "move", "args": { "id": 33, "to": "in-review", "reason": null, "candidate": "agents/filbert/work/queue-33/candidate-manifest.sha256", "evidence": null, "issue": null }, "by": "filbert", "at": "2026-10-04T05:58:45.093Z", "semantics": 2, "result": { "row": 33, "from": "in-progress", "to": "in-review", "round": 1, "issue": 1508, "candidate": { "kind": "manifest", "digest": "fe7da3ef063c3274a4b1c780e1b1641d9511bfebfba8b8539b07566f471751e8", "text": "d807dfaef4bf84639f900e588a314de774047aedfcf83a1745278d61173d75d1 packages/queue/README.md\n36b94e43e7b358328d52dcf9f6911761b4b1c608a9f73f51f675fe6a94b54664 packages/queue/src/queue.mjs\ne5fff821d6766ba35b5218eedc2a2a0fb387c3f6246a27d53a92a719b6594f22 packages/queue/tests/commit.test.mjs\nebb207ad9a5e0c3ce271805fc88bfbda1811aabfdcd49029a8f0da808f775820 packages/queue/tests/data.test.mjs\nd58d94b86a698b355516b6b3566f97c6b0b4c2715eca9cabc6b54263254e21d5 packages/queue/tests/store.test.mjs\n71be356ead122036a8add2d049411b6911946c8944250cdb1a0ee11f4e10800b scripts/queue-commit.sh\n23e209926fb543ebcb714552778d2c9d24ffc5d5716d81c4c2a667ddaf9fe91a docs/plans/DEFERRED.md\ndc39b4565ec8c8a9932558852a0a283b6e9863b0a010d293b874a3ac06ee3c1b agents/filbert/work/queue-33/build.md\n6e4119c5338a055666ed5aa1ca0f6f619731ea2491e80bf2826c0d3c9cc026a9 agents/filbert/work/queue-33/cold-runs.txt\n305d4382b42ce2ab3cf9a1b41f4df1c37031875a07e9cd9c3a0b12252ebaeea0 agents/filbert/work/queue-33/cold.sh\n" }, "receipt": "ok filbert-33-review-1 rev 46 row 33 in-progress→in-review round 1 on #1508; request filbert-33-review-1 requesting" }, "viewSha": "b9c885a75340a473530c226607b2404124cd6f6250ce31fae64021ee7fd14564" }, { "rev": 47, "op": "filbert-33-review-1.outcome", "verb": "review-outcome", "args": { "id": 33, "attempt": "filbert-33-review-1", "outcome": "posted", "status": 201, "comment": 26648, "detail": "created" }, "by": "filbert", "at": "2026-10-04T05:58:45.995Z", "semantics": 2, "result": { "row": 33, "round": 1, "attempt": "filbert-33-review-1", "state": "posted", "receipt": "ok filbert-33-review-1.outcome rev 47 row 33 round 1 request filbert-33-review-1 posted comment 26648" }, "viewSha": "bfa0a251ca682109e4170076ded2c036014f4b617bd0d6656c919503f3cc82d6" }, { "rev": 48, "op": "darkwing-33-r1-approve", "verb": "review-record", "args": { "id": 33, "verdict": "approve", "comment": 26651, "candidate": "fe7da3ef063c3274a4b1c780e1b1641d9511bfebfba8b8539b07566f471751e8" }, "by": "darkwing", "at": "2026-10-04T06:09:24.634Z", "semantics": 2, "result": { "row": 33, "round": 1, "verdict": "approve", "receipt": "ok darkwing-33-r1-approve rev 48 row 33 round 1 approve by darkwing (comment 26651)" }, "viewSha": "0d72c9b76f4be4c180f072d29797fd292a943ad01c6b3468d85ef82f6dba3971" }, { "rev": 49, "op": "sage-33-done", "verb": "move", "args": { "id": 33, "to": "done", "reason": null, "candidate": null, "evidence": null, "issue": null }, "by": "sage", "at": "2026-10-04T06:25:07.139Z", "semantics": 2, "result": { "row": 33, "from": "in-review", "to": "done", "round": 1, "issue": null, "candidate": null, "receipt": "ok sage-33-done rev 49 row 33 in-review→done round 1" }, "viewSha": "26a1cbc258aac419bc6dedac482dc9ff65ebaee7b7b1ad3e47be08da14cc2e7e" } ] }