Files
stack/docs/plans/DEFERRED.md
T
jason.woltjeandClaude Opus 5.5 0f5b7cb9be docs(records): Sage lead handover, rows 23-25 state, row 8 stub, BUILD-LOG rebuilt on HEAD
Records Jason's 2026-09-26 ruling: Sage leads the project, Darkwing is a
collaborating seat, development stays in T3, and the old ~/.mosaic fleet is
being retired. The lead role adds no push, merge or deploy authority.

- QUEUE rows 23-25 show their commits and pushes; row 8 links a parked stub
  brief listing the rulings Jason must make before fleet seats move.
- Shared records from Darkwing (rows 6, 16, 18, 22, #1511, #1512) and Dewey
  (row 5) that were waiting on one owner for the shared files.
- DEFERRED: T3 headers counted as human in the ledger (#1506), #1509 engine
  test leak and busy gap, #1512 re-run outcome.
- BUILD-LOG.md rebuilt as HEAD plus the uncommitted entries; the working copy
  had dropped the row 23-25 entries. Diff against HEAD is additions only.

All eight suites green. Not pushed.

Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-09-26 14:59:24 -05:00

8.1 KiB

Deferred list

One line per item, written from evidence, never from inertia. Add a line when a gap is found and not fixed in the current piece; strike it (move to Done at the bottom with the commit) when a piece closes it. Nothing here starts on its own; a line becomes a piece only when Jason calls it. Check it at every gate. Started 2026-09-12 during the control board MVP.

Open

  • Inherited Discord engine test intermittency during #1512 review. Frozen serialized run recorded a tool-turn engine assertion failure and then timed out at 120s. A later full TAP run with a 15s test deadline passed 351/351. Rocko isolated the busy/settled-event test race and missing failure cleanup; Darkwing independently reproduced the event-split assertion. Rocko also reported a timeout-log test race and a separate engine followUp-after-timeout defect. No live incident established. Row21 owner orch-01 notified; no Discord source takeover. Not assumed identical to earlier concurrent hangs. Integration held pending owner disposition; logs and scope in agents/darkwing/work/relaunch-activity/r1-review.md. (2026-09-15) Outcome 2026-09-26: 1685deb4 fixed the busy/settled race and the engine no longer sends a follow-up (held prompts). A re-run of the frozen candidate against 21e3e908 passed the serial acceptance command 397/397 three times. Two engine failures remain when tests run concurrently, and they reproduce on clean HEAD without the #1512 files, so they are #1509's (entry below). Sage ruled that #1512 integrates on the serial evidence; it landed in af4203ca. Record: agents/darkwing/work/relaunch-activity/rerun-2026-09-26.md.

  • Discord engine: leaked fake pi on a failed test, and a timeout gap in busy. (a) engine.test.mjs:100 reads the fake's commands.jsonl 20 ms after the second prompt and gets ENOENT under load. The test stops the engine outside finally, so the fake pi child outlives it and the test file never exits. Six other tests in the file also stop outside finally. This is one confirmed cause of the concurrent hangs in the entry below. (b) In engine-pi.mjs, busy is state.busy || pending.some((t) => !t.done). If a turn times out before its agent_start is read, the turn is marked done while state.busy is still false. The next prompt then goes straight to pi, which refuses it ("agent is streaming"). It fails closed, and production timeouts are long enough to make it rare. Seen twice in two default-concurrency runs, and once in three on clean HEAD. Fix in source and tests only; the live connector does not restart for this without Jason's word. Rocko reviews. (2026-09-26, #1509, Darkwing)

  • Combined concurrent test hangs need isolation. Row18 R1 frozen six-package runs timed out at 120s/60s, with logs in /tmp/discord-board-r1-KbMrGQWF/TESTS-first-timeout.txt and TESTS-second-timeout.txt. Serialized R3 independently passes 322/322. Cause and default-concurrency stability remain unverified; investigate separately without changing connector behavior or calling interrupted runs green. (2026-09-14, #1509)

  • Registration has no "set by" field. mosaic seat task records the task and updatedAt but not who set it, so a human session and the orchestrator look the same on the board. One-line record change; rides with the orchestrator assignment piece. (2026-09-12, #1504)

  • Usage-limit notice was missed. Jason reports Rocko exhausted usage without Jason seeing the notice, and is now available again. Investigate where the notice appeared and what operator notification is missing as part of Claude console integration. User-reported, not independently reproduced; no root cause established. Keep outside #1512's relaunch-display scope. (2026-09-15)

  • Claude Code seats register but get no board row. Rocko has no Pi session log, and rows come only from Pi logs. Needs a second row source or a Claude-side log reader. (2026-09-12, darkwing's #1504 report) 2026-09-15 #1511 live-test preflight reconfirmed no Rocko row: expected .pi/state/rocko/sessions discovery directory absent. Its existing repo registration names dead PID 185602, while the verified native lock owner is 3707667. No registration repair, discovery expansion or relaunch performed; test write refused before mutation. Evidence: agents/darkwing/work/task-attribution/backend-live-verification.json.

  • Fleet seats (~/.mosaic) stay on the old launchers. No registration, no board reply, no seat task. Moving them is the stress test and comes after the WebUI and fleet launch work. (Jason, 2026-09-12)

  • Sage launcher hook is uncommitted. agents/sage/ is untracked; the registration guard was added by hand to match the other four. Commit with the sage directory. (2026-09-12)

  • Comms skill has no rule for senders without a pane. The board trailer covers it today; if another pane-less sender appears, put the rule in skills/ms-communications instead of a second trailer. (2026-09-12, #1505)

  • Board: multiple sessions per seat, stopping seats, auth beyond loopback. Out of scope for the MVP by the plan; listed so they are not forgotten. (plan page, Boundaries)

  • MOSAIC-STACK-D-001 is Answered, not Completed. Mark --completed in jarvis-brain once Jason says the board answers "who is waiting on me". (2026-09-12)

  • Uncommitted working tree. AGENTS.md autonomy section, agents/README.md Sage row, Dewey's work/wui docs and evidence, docs/plans/reviews/2026-09-08..10_*, skills/ms-{arena,blast-radius, board,executive-update,git-operations,technical-writing}. Jason's edits from before 2026-09-12; they ride along in the next commit that touches them unless staged on purpose. (2026-09-12)

  • Fleet debt (orch-01, ~/.mosaic): sweep-commit.sh deny-list regex skips launch.env; needs the fix plus a regression test. (2026-09-12)

  • Parked, not cancelled: Dewey D05 dashboard mockup work beyond design 3, registry increment 3 (headless identity-env leak), new seat directories. (plan page, 2026-09-12 parking note)

  • Gitea helper response-file hardening. Predictable /tmp/gitea-api-response.$$ has no explicit 0600 mode; use mktemp with cleanup in a separately reviewed pass. Credential validation and later reread also have a race window. Other non-blocking ledger review notes remain in reviews/2026-09-12_ledger-verdict.md. No change beyond the reviewed GET cleanup fix in this piece. Filbert, LEDGER-1506-R1, 2026-09-12, #1506.

  • One shared checkout for every seat and the coordinator. Any git add of a shared file (CURRENT.md, SESSIONS.md, the plan page) commits another seat's in-progress edit under the wrong commit; it happened at f80404f5 (dewey's CURRENT.md status note went in with the piece 5 brief, harmless but unowned). Fix candidates: per-seat worktrees, or shared files edited only by the seat named in CURRENT.md. (2026-09-12)

  • Console mockup fields absent from the board API. Controller, generation, config fingerprint, turn count, goal/report and activity stream are omitted. Workspace paths are shown as board data, not invented registered workspace nodes. Launch, observe, stop, full transcript navigation, command palette and other screens are absent. Existing palette/appearance switches remain on the single page. Revisit only with a new brief. (2026-09-13 UTC, #1507)

  • Ledger counts T3 agent messages as human. messageKind classifies a prompt that opens with the T3 header [from: x (…) -> to: …] as human, so the weekly number in Table 2 rises once development runs in T3. Rocko reproduced it read-only, and Filbert confirmed it. The Gate G audit (#1508 R5) does not rely on this count. Fix it before the next weekly number is quoted. (2026-09-26 UTC, #1506)

Queue

Moved to docs/plans/QUEUE.md on 2026-09-13. This file holds only gaps.

Done

  • Ledger (piece 3, #1506): shipped cd0aa5fb, Gate D written 2026-09-12 (18.9 human messages per closed issue).
  • Relaunched seat shows the old last message (darkwing, Step 3 log, 2026-09-12): closed by #1512 relaunch activity, af4203ca. Filbert authored it; Darkwing and Dewey reviewed. The live board restart and Gate F remain separate.