From a68dc1740a922ef28217cf2e33b076fe332ad729 Mon Sep 17 00:00:00 2001 From: Jason Woltje Date: Sat, 26 Sep 2026 16:40:23 -0500 Subject: [PATCH] docs(records): CHAT-02 build log, Gate F commit, snapshot isolation gap Co-Authored-By: Claude Opus 5.5 --- BUILD-LOG.md | 23 +++++++++++++++++++++++ docs/SESSIONS.md | 2 ++ docs/plans/2026-09-26_lead-decisions.md | 7 +++++++ docs/plans/DEFERRED.md | 5 +++++ 4 files changed, 37 insertions(+) diff --git a/BUILD-LOG.md b/BUILD-LOG.md index 12afe89d..001283fe 100644 --- a/BUILD-LOG.md +++ b/BUILD-LOG.md @@ -3157,3 +3157,26 @@ newline-only splitter. Review: `agents/filbert/work/ledger-t3-build-review-2026- U+2029, and `readline` splits at each. The splitter covers both. His four nonblocking notes are listed in `agents/darkwing/work/ledger-t3-source/build.md` for a follow-up after the commit. + +## 2026-09-26: CHAT-02 backend and board routes land (#1507, Dewey, reviewed by Filbert and Darkwing) + +Before: the board had no conversation view. A reply sent through it could +be read only in the seat's own pane or its Pi session file. + +After: a5beb6d9. `packages/conversation` is a read-only library for Pi +session history: safe file access, the parser, CHAT-01 pages, pinned +snapshots, cursors and follow. The board serves it on `GET +/api/conversations` and `GET /api/conversation` behind the Host and Origin +guard. Filbert sent revision 1 back with three reproduced defects: branch +ids moved with every append, the assumed-link bridge could merge two +branches, and one unreadable seat directory turned the catalogue into a +500. He approved revision 2 (3b14d66c). Darkwing approved the routes +twice, at R1 (07b10ad1) and R2 (b9d92003). On an index export the eight +suites passed, conversation and control-board 153/153 and webui 9/9. The +board restarted at 21:36:29Z as PID 1042473. Live, the catalogue lists 18 +Pi conversations and 1 unsupported Claude conversation. A single +conversation returns a 10-entry page. A foreign Host or Origin gets 403, +an extra parameter 400 and POST 405. The Console that shows it is next. + +Gate F (136958c9) was committed after this, on Filbert's approval of +Darkwing's build; Darkwing's two entries above record it. diff --git a/docs/SESSIONS.md b/docs/SESSIONS.md index 78ed77ec..fbc61ffc 100644 --- a/docs/SESSIONS.md +++ b/docs/SESSIONS.md @@ -398,3 +398,5 @@ are never rewritten or removed; corrections are new entries. 2026-09-26T21:31:11Z | Sage (T3 Claude Code, thread 1ef1e4f8) | #1509 row 25 approver fix and second Discord restart | Jason's live check found no Approve button (DEC-009 approvers stored as names). Fix 20ea5a0b (Rocko R1/R2 revise, R3 approve 81379830), pushed; restart 21:30:21Z, PID 954332, pi has approver names jason,carmen. Approval recheck with Jason next. 2026-09-26T21:32:58Z | Filbert (T3 Claude Code, thread 9cb9731e) | #1507 CHAT-02 backend code review, revision 2 | Packet 0cf177b1 (nine pins verified): approve. Clean worktree 181/181, chat checks exit 0; all three repros fixed; fork probe holds branch names. One nonblocking note (idsDigest over parts). Review 3b14d66c. Reported to Dewey and Sage. No commit or push. 2026-09-26T21:37:07Z | Sage (T3 Claude Code, thread 1ef1e4f8) | #1507 CHAT-02 backend commit and board restart | a5beb6d9 pushed (Filbert R2 3b14d66c, Darkwing routes R2 b9d92003); board PID 1042473 from 21:36:29Z, new routes live and guarded. +2026-09-26T21:37:18Z | Filbert (T3 Claude Code, thread 9cb9731e) | #1506 Gate F build code review | Manifest ba73a163 (five pins and build.patch dc4cf73e verified in a clean 1c5f6bc3 worktree): approve, U+2028 reader fix approved separately. Ledger 47/47; live read exit 0, 1.6 s, no conflict. Four nonblocking notes (U+2029 and line counts, two untested diagnostic paths, catch-all label, snapshot test). Review e47ec6da. Reported to Darkwing and Sage. No commit or push. +2026-09-26T21:40:23Z | Sage (T3 Claude Code, thread 1ef1e4f8) | #1506 Gate F commit | 136958c9 pushed (Darkwing build ba73a163, Filbert e47ec6da); follow-up notes 1-3 to Darkwing, then A1. diff --git a/docs/plans/2026-09-26_lead-decisions.md b/docs/plans/2026-09-26_lead-decisions.md index 9b01d082..4c060afe 100644 --- a/docs/plans/2026-09-26_lead-decisions.md +++ b/docs/plans/2026-09-26_lead-decisions.md @@ -211,3 +211,10 @@ which stay with him. Each item names who decided it and what happened. The two nonblocking notes from Darkwing (the scan test checks keys, not status values, and it reads a fixed list of three files) go to Dewey as optional. The Console and its WebUI proxy allowlist are next. +18. **Gate F committed.** Filbert approved Darkwing's build (manifest + ba73a163, review e47ec6da), with the U+2028 reader fix as its own item. + Sage committed the eleven paths as 136958c9 after the eight suites and + ledger 47/47 passed on an index export. It was pushed. The live ledger + had been refusing on HEAD because of that line split, and it reads + again. Darkwing does Filbert's notes 1 to 3 as a small reviewed + follow-up, then queue-as-data A1. Note 4 is in DEFERRED. diff --git a/docs/plans/DEFERRED.md b/docs/plans/DEFERRED.md index 9ba69b32..9db067c1 100644 --- a/docs/plans/DEFERRED.md +++ b/docs/plans/DEFERRED.md @@ -129,6 +129,11 @@ at every gate. Started 2026-09-12 during the control board MVP. networks. The dw-* ones are still there. Fix: the export recipe, or the suites, removes the project network on exit. (2026-09-26) +- **Ledger T3 read: snapshot isolation has no test.** `readT3` runs every + query in one read transaction, but no test proves a write landing during + the read stays invisible. Filbert's note 4 on the Gate F build (e47ec6da). + Notes 1 to 3 go to Darkwing's follow-up. (2026-09-26, #1506) + ## Queue Moved to `docs/plans/QUEUE.md` on 2026-09-13. This file holds only gaps.