Files
stack/agents/dewey/work/chat-03/PROGRESS.md
T
jason.woltjeandClaude Opus 5.5 1f4882d2b4 docs(wui): Dewey's design work: brand board, five mockups, slice 1 S5 views and checks
Brand board revisions, the five dashboard mockups with their verify
script and evidence, the slice 1 S5 design note (SLICE1-VIEWS.md, rev 3
plus the S2c section 10 update), the Console mockup of inbox, tasks,
agents and trail (mockups/slice1/) and checks/slice1-verify.mjs (16
checks; check 16 pinned to bus at d27042fa). Also the CHAT-03 progress
log and the 2026-09-26 dirty-tree manifest. Design and evidence only;
no package code. Row 40 (#1522), committed on its own at Sage's
direction, 2026-10-09.

Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-10-09 17:54:50 -05:00

19 lines
6.2 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# CHAT-03 I1 progress (Dewey, row 5)
Append-only. One line per working stop.
- 2026-10-04: resumed after Sage's REQUEST. Done and untracked: claim, cohort, shim, engine, events, framing, guard, pi-pin, records, text-policy, turns. Next: src/controller.mjs, then client, terminal, tests/fake-pi.mjs and the fixtures.
- 2026-10-04: src/controller.mjs written and import-checked (Interrupt dedup added). tests/fake-pi.mjs written (in-process FakePi + FakeLauncher, process form with control socket). Next: first end-to-end fixture, then client, terminal and the full fixture set.
- 2026-10-04: src/client.mjs, tests/harness.mjs, tests/ctrl-child.mjs and tests/claim.test.mjs (W1–W20, G1–G3, 21 tests) green. Controller fixes: written marked on the prompt response before the ack; launcher forceStop hook; kill handle on close; socket dir prepared only after classification (a refused contender no longer unlinks a live socket). Next: N1–N25, then H, K, E/S/P3, terminal, README, suites.
- 2026-10-04: tests/turns.test.mjs (N1–N25, 26 tests) green three runs in a row. fake-pi gained extension step scripts, triggerTurn queueing while streaming, an after-start point and a held get_state. No controller change was needed for N. Next: H, K, E/S/P3, terminal, README, suites.
- 2026-10-04: tests/races.test.mjs (H1–H4, H9–H23, 21 tests) green. Whole package 97/97. Three controller defects found and fixed in my files, to report to Sage: (1) `#evaluate` ran `res.outcome` on recover's Promise, so recover over the wire threw internal (W8 missed it because it resumes through a restart); (2) `#admission` skipped the binding push when only the state changed, so clients kept showing "stopping" after a failed force stop (also in `#uncertain`); (3) the client kept non-final receipts live across a new incarnation and now marks them outcome unknown. Fixture fix: fake-pi removes a stale control socket left behind by a SIGKILLed predecessor. Next: K1–K18, E/S/P3, terminal, README, suites.
- 2026-10-04: tests/cohort.test.mjs (K1–K18, 18 tests) green twice, no leaked scopes. Fixture changes: fake-pi tool children can ignore TERM and fork `sleep` in a loop; ctrl-child answers `proof`. K13 escapes are refused on this host (nsdelegate). K14 stops the scope with SIGKILL because the shim ignores TERM. Next: terminal, S1–S7, E1–E7, P3, README, suites.
- 2026-10-04: src/transcript.mjs and src/terminal.mjs written; tests/flows.test.mjs (S1–S7, P3, E1–E7, two terminal checks, schema check) green twice; package 134/134. Fixed in my source: the `unknown` push's `type` field overwrote the envelope's `type: "push"`, so clients dropped it (field renamed `nativeType`; `#push` now sets `type` last); a Transcript attached to a connected client now reads the page at once. Finding for Sage: pinned Pi appends `thinking_level_change` at startup when the branch lacks one, so K8 fails closed on such sessions. Next: smoke test, README, package.json, suites, mutants, packet.
- 2026-10-04: tests/smoke.test.mjs green (pinned Pi 0.85.1 sealed, no credentials, no prompt; also pins the bundled inline `/llama` command and the startup append). README and package.json done. All nine suites green; package tests conversation 137/137, webui 14/14, seat 19/19; chat-00, chat-01 and chat-01c checks pass. control-board failed 1 test: its refusal-status test scans every `new Refusal("…")` in conversation/src and found the controller's `configuration`, `channel` and `target`. Fixed in my files: control-layer refusals now throw `ControlRefusal` (subclass, safe-fs.mjs); README says why; control-board 124/124. Mutation pass running in /tmp scratch copies. Next: mutant results, manifest, packet, queue move.
2026-10-04 (later): mutation pass running; kill tests added for mutants 1 (A-B-A generation, H3), 3 (publish race, W1), 8 (single-use recover confirmation, K6), 12 (no revision name before sync, W1). Mutant 14 as first written was equivalent (unreachable line); guard.check restructured so the real-path check sits in one place, mutant retargeted. Next: re-run changed mutants in scratch, remaining survivors, manifest, packet, queue move.
- 2026-10-04: candidate frozen and in review. Manifest I1-manifest.sha256 (1404341e, 27 files), packet BUILD-I1.md. Suites green (conversation 141/141). All 41 mutants killed; kill tests added for 16 (link-level poison, H19) and 19 (clear_queue error response, N7; fake-pi failResponse). Row 5 in-review round 1, comment 26671 on #1507. Next: answer reviewer findings (two rounds at most).
- 2026-10-04 round 1 rework: Darkwing B1 (seal now an allow-list over extraArgs; non-list engine args refuse; command/preArgs documented as a test hook) and B2 (session key = Pi header ID; header change refuses target) fixed in the tree with N24 and three controller-level W4 tests; n1 and n2 in the README. Round-2 mutants r2-B1..B2b running in scratch. Waiting on Filbert's round-1 findings before freezing the round-2 manifest.
- 2026-10-04 round 2 requested: Darkwing B1-B2 and Filbert B1-B6 folded in; conversation 152/152, all other suites green; 60 of 61 mutants killed, r2-B5b (freeze not waited on) survives and is explained in BUILD-I1-r2.md; manifest I1-r2-manifest.sha256 (2b48e333); row 5 in-review round 2, comment 26689 on #1507 (revs 56-58). Next: round-2 verdicts. Sage commits after approval.
- 2026-10-04 round 2: Filbert approves (comment 26694 on #1507, rev 60). Follow-ups, none blocking: F1, correction to BUILD-I1-r2.md: only K12's cgroup.freeze read is timing-independent; the post-TERM pid-log check catches a missing freeze only when the fork loop forks between members and kill (Filbert's C4 and r2-B5b survive). A test-only hold after members would make C4 deterministic; r2-B5b still needs a FUSE or privileged fixture. F2: Ctrl-T, text and Enter in one chunk leaves the text in the composer (Enter checked before the queued takeover); fails safe. F3: default engine.command with caller preArgs reaches real Pi unsealed; documented test hook, no I1 production caller. Waiting on Darkwing's round-2 verdict.
- 2026-10-04: I1 committed by Sage as 243e153c and pushed after both reviewers approved round 2. Row 5 waiting-on-jason for Gate E (revs 61-62, 1595553a; summary comment 26697 on #1507). Reviewer follow-ups are in DEFERRED for the I3 brief. Nothing further on row 5 until Gate E.