docs(build-log): row 40 landed; Dewey's round 1-3 entries and manifests

Dewey's four BUILD-LOG entries for row 40 (started, round 1, round 2,
round 3) and their three candidate manifests under
agents/dewey/work/queue-40/, plus my landing entry with the gate counts
and the Mr follow-up.

Co-Authored-By: Claude Opus 5.5 <[email protected]>
This commit is contained in:
2026-10-09 22:06:14 -05:00
co-authored by Claude Opus 5.5
parent 08b428ecf1
commit 48f76e7674
4 changed files with 101 additions and 0 deletions
+21
View File
@@ -3805,10 +3805,18 @@ Before: no business file, no project file, no bus host. After: `~/.config/mosaic
Before: no harness package, no Claude adapter, and the PM runs in Sage's T3 thread. Row 41 is in-progress (rev 241). Plan: `agents/filbert/work/s6/PLAN.md`. The launcher lives in the trusted bus host, so the build also touches `packages/bus` (IPC ops identity, authorize, refuse, endLaunch and credentialStatus, plus `Broker.endLaunch`) and `packages/cli` (a host launch socket and `bus start --pm`). It adds no socket verb, no event kind and no schema change. Each managed session gets its own PID namespace, which closes the decision 62 `setsid` gap for the ancestry proof; its limits will be recorded. The build happens in a detached worktree, and the packet is build.patch plus a candidate manifest. The recorded PM→coder run uses a scratch data root, not the live unit, and nothing runs on Astra. No push.
### 2026-10-09 — Dewey, row 40 slice 1 S5 (WebUI views and CHAT-03 follow-ups, #1522)
Before: the WebUI shows the board and CHAT-03 I1, with no inbox, tasks, agents or trail views. The controller takes any engine command and passes the whole process environment to Pi. Row 40 went in-progress at rev 240. This entry was written after the build started, not before it. Plan, from the brief and lead decision 56: read-only views over the human transport (`/api/bus/*`), with resolution left to `mosaic decide` behind a Copy button. The seal covers the engine command, at construction and again at start. The engine environment is an explicit list plus credential names the caller lists. `escalating` clears when the force-stop fence throws. Input after Ctrl-T or Ctrl-O waits until that action finishes. Mutation checks run in scratch copies only. Gate E script: `agents/dewey/work/wui/S5-GATE-E.md`. No push.
### 2026-10-09 — Claude Code (direct session for Jason), Mosaic Stack design draft 1
Before: there was no single design for the product. Earlier pieces were Dewey's palettes, brand board and slice 1 mockups, and Jason's console rulings (d3 layout, Manrope with JetBrains Mono, Relay mark, ten palettes in three modes). Jason asked for branding, WebUI page designs, a TUI design, and full feature coverage. Haiku 5.5 subagents read the PRD, the briefs and the packages. After: `docs/design/` holds `mosaic-stack-design.html` (one self-contained preview with four tabs), `README.md` (the spec) and the Relay mark in two drawings. The brand tab covers the mark at five sizes, the palettes, type, icons, voice and the status vocabulary. The console has 13 views, each in five preview states, an inspector and Ctrl+K. The terminal tab draws 13 `mosaic` screens at 120×36 and one at 80×24, and quotes the CLI's own strings. The coverage tab lists 39 features with a status each: 18 implemented, 3 in progress, 3 planned, 15 proposed. The design keeps REQ-DEC-3: the web copies `mosaic decide <short> <k>` and has no Resolve button. Checked in Chrome: every view and preview state renders with no script errors; every terminal line is exactly 120 (or 80) columns; no page-level horizontal scroll at 400 px; the inspector is a full-screen sheet on phones; all ten palettes in every mode apply without errors. I spot-checked three of the 18 implemented statuses against the code (Discord DM, `role.revoke` gated, loopback serving), not all 18. It is also published as a private claude.ai artifact. Nothing under `packages/` changed. No suite covers docs. No Gitea issue was opened. Open for Jason: default palette and mode, final mark, web resolution through v1, and `mosaic` with no arguments opening the full-screen app. No push.
### 2026-10-10 — Dewey, row 40 slice 1 S5 built to review (#1522)
After: the candidate is the 26-file manifest `agents/dewey/work/queue-40/candidate-manifest.sha256` (bcc2b772), uncommitted. Row 40 moved to in-review at rev 242; the request is comment 26979, posted at rev 243, and the details are in comment 26980. The suites ran in a detached worktree of 1e11100b with the candidate copied in, one at a time: webui 20/20, conversation 157/157, control-board 124/124, and every scripts/test-*.sh green (auth 15, conductor 17, config 24, discord 66, extension-package 18, foundation 44, queue 27 with node 148/148, release 14, task 98). The mutation check killed 10 of 10 (`agents/dewey/work/wui/evidence/s5-mutants.md`). It added K19 after the `manager` mutant survived the first run, and it moved N24b's bind-time close into `finally` after the `seal` mutant hung `turns.test.mjs` to the 900 s timeout. Correction: the first full mutation run's baseline failed 2 tests because the scratch copy lacked `docs/plans/chat-01`, so it was discarded. Earlier in the session, `pkill -f` with a pattern from my own command line killed my shell and left two runners on one tree; those results were discarded too, and the runners are now stopped by PID. Revs 242 and 243 are uncommitted and left for Sage. No push. Gate E (row 5) is Jason's; steps 2 and 5 wait on S6.
### 2026-10-10 — Filbert, row 41 slice 1 S6 round 1 in review (#1523)
After: the candidate is 41 files, +4302/−55, over base `915e00e5`, uncommitted. The packet is `agents/filbert/work/s6/` at 9b670e27: BUILD.md, build.patch, candidate-manifest (digest 5b3a934d…27f3) and the gate output. The new `packages/harness` holds the bundle, typed tools, gate, Pi extension, Claude Code hook and MCP server, and the runner. `adapters/claude/` is new. `packages/seat` gains the session module. `packages/cli` gains the launcher in the bus host, `talk`, `stop`, `launches` and `bus start --pm`. `packages/bus` gains trusted IPC launch ops with no new socket verb, event kind or schema change. `adapters/pi/adapter.sh` and `scripts/agent-host-dev.sh` now pass `--no-approve`, checked with a probe against a trusted workspace. The DEFERRED entry can close when this lands. Differences from the plan: the capability goes on the runner's stdin, not into a file; the verbs live in `packages/cli`; `--pm` takes no argument.
@@ -3817,6 +3825,10 @@ Gate at 2855e628 with the patch applied, run sequentially in a detached worktree
Row 41 is in-review: revs 244-245 in c7a2c703, request posted as #1523 comment 26991. Darkwing is the reviewer. The recorded PM→coder launch and the integration commit wait on the Q14 Vikunja cutover, per Sage. No push.
### 2026-10-10 — Dewey, row 40 slice 1 S5 round 2 in review (#1522)
Before: Filbert asked for changes in round 1 (comment 26993, rev 246). F1: the WebUI README said the bus checks the caller, but the proof ends at the Console process. F2: the engine seal lacked `--no-approve`, and this checkout is trusted in `~/.pi/agent/trust.json`. N1 to N3 were non-blocking. Darkwing had not posted. After: F1 and F2 are fixed. The README states that anything that can reach the port reads the bus views, and SEAL_FLAGS carries `--no-approve`. A new real-engine smoke test runs the pinned Pi against a trusted scratch project, with a positive control that uses `--approve` past the seal. N1 is fixed in `terminal.mjs`: the queue survives a throw, and `input()` puts the error in the status line. It has a new test. N2 is a DEFERRED item for whoever wires the Controller, and N3 is a README clause. The candidate is `agents/dewey/work/queue-40/candidate-manifest-r2.sha256` (27 files, 5cbf22c0), uncommitted. Mutants: base 159/159, 13 of 13 killed (`noapprove`, `queuecatch` and `inputcatch` are new). Gate on a detached worktree of 9ed25be9: webui 20, conversation 159, control-board 124, and every scripts/test-*.sh green, including test-task 98/0, so the Docker recall pair passed on this host. Revs 248-250 (in-progress, in-review round 2, request posted as comment 26996) are uncommitted and left for Sage. The notes are comment 26997. No push.
### 2026-10-10 — Filbert, row 41 slice 1 S6 round 2 in review (#1523)
Before: Darkwing's round 1 asked for changes (#1523 comment 26995, rev 247). R1: host↔broker IPC replies had no request id, so a stalled broker's late reply could answer the wrong request. R3: the workspace gate let a write through a dangling symlink create its target outside the workspace. R2: a half-open `launch.sock` client could hold `launcher.close()`. Notes 1-5 covered `--restricted` docs and tests, `launchPm` skipping `authorizeLaunch`, the policy parse outside the `try`, the system prompt in argv, and the surviving mutants Mh-Mk plus a hang under Mg. Sage ruled that all three are fixed this round, R1 under decision 77 (trusted IPC, no socket verb, event kind or schema change). Row 41 went back to in-progress (rev 252).
@@ -3825,6 +3837,12 @@ After: the candidate is 42 files, +4679/−63, over base `915e00e5`, uncommitted
Row 41 is in-review round 2: revs 253-254 in b887ee1e, request posted as #1523 comment 27004. Darkwing is the reviewer. Landing waits on Q14 (Sage's target 2026-10-13). No push.
### 2026-10-10 — Dewey, row 40 slice 1 S5 round 3 in review (#1522)
Before: both reviewers asked for changes in round 2. Darkwing's comment 27001 (rev 251) and Filbert's comment 27005 (rev 255) gave T1 as blocking: `#run` drained `held` for whichever chunk finished, so after a slow Ctrl-G, Ctrl-T and then `hi` Enter, the text was judged before the takeover. Darkwing's notes: mutants Mm (no SIGKILL on timeout) and Mp (unchecked `serve --business`) survived; DEFERRED.md is Sage's; the seal leaves context files on; the copied `mosaic decide` has no `--business`. Filbert's N4: held input's `key()` returned the holder's promise, and `input()`'s late error overwrote `prompt: admitted`. Sage ruled: fix T1 this round with a test that has two actions in flight, keep N2 in DEFERRED, and drop the F2-to-done line or restore it once T1 is fixed.
After: only the run whose own parse set `held` drains it, with a flows test across three chunkings while a gated Ctrl-G is pending. Held input's `key()` returns the queue with the error caught. `input()` reports each error when it happens. `#run` catches per action, so a throw no longer skips the rest of its chunk; I found that gap while writing the N4 test. Mm and Mp each have a webui test, and Mk stays unreachable. The conversation README covers context files and the terminal order. The WebUI README covers `mosaic decide` without `--business`. DEFERRED (a proposal) keeps N2 and restores the F2 line citing T1. The candidate is `agents/dewey/work/queue-40/candidate-manifest-r3.sha256`: 27 files, digest d0aa0ded, 7 of them changed since r2, uncommitted. Mutants: base 161/161, 17 of 17 conversation mutants killed (6 new ones for the terminal code), plus webui Mm and Mp killed 6/7. Correction: the first Mm run hung on the surviving child. I stopped it by PID, and the test now kills a survivor on cleanup. Gate on a detached worktree of 86b22cc2 plus the 23 code and doc files: webui 22, conversation 161, control-board 124, and every scripts/test-*.sh green, including test-task 98/0 (the Docker recall pair passed and makes a live model call). Revs 256-258 (in-progress, in-review round 3, request posted as comment 27007) are uncommitted and left for Sage. The notes are comment 27008. No push.
### 2026-10-10 — Filbert, row 41 slice 1 S6 round 3 started (#1523)
Before: Darkwing's round 2 asked for changes (#1523 comment 27010, rev 259). R4: Pi's `read` tool opens a different spelling when the given path doesn't exist. It tries U+202F before AM/PM, then NFD, then a curly apostrophe, then curly NFD (`path-utils.js`, `resolveReadPathAsync`). The gate checks only the given name, so a read of `it's.txt` can open a link `it’s.txt` that points outside the workspace. Darkwing's probe read `SECRET-OUTSIDE-THE-WORKSPACE` that way through a real Pi session. Sage ruled R4 is fixed in round 3: fail closed, test each variant family with a real Pi-shaped read, add one case where the variant target is inside the workspace and is still allowed, and don't reopen R1 to R3. Row 41 is in-progress again (rev 261, e211d384). Plan: for `read` (and Claude Code's `Read`, which Darkwing's note 3 asks for), build Pi's candidate list from the resolved path and refuse if any variant that exists resolves outside the workspace or through a dangling link. The harness README pin note names `path-utils.js` for recheck on a Pi upgrade. Darkwing's notes on Mv (a per-test timeout for `launcher.test.mjs`) and Mr are optional. No push; landing waits on Q14.
@@ -3832,3 +3850,6 @@ Before: Darkwing's round 2 asked for changes (#1523 comment 27010, rev 259). R4:
### 2026-10-10 — Filbert, row 41 slice 1 S6 round 3 in review (#1523)
After: R4 is fixed in `packages/harness/src/gate.mjs`. For Pi's `read` and Claude Code's `Read`, the gate builds every spelling Pi's `resolveReadPathAsync` would try: U+202F before AM/PM, NFD, U+2019, and NFD with U+2019. It builds them from both the workspace path and its real path, since the adapter starts Pi with `cd "$MOSAIC_WORKSPACE"`. A spelling that exists and resolves outside the workspace, or through a dangling link, refuses the read whichever spelling Pi would open. A missing spelling or ENOTDIR is skipped, and any other lstat error refuses. Tests: two gate tests (six names covering each family and their mixes, relative and absolute, both harnesses, each with an inside case that is allowed; plus directories, dangling links, ENOTDIR and Pi's cwd) and one real Pi 0.85.1 session reading all six plus an inside one. Ten mutants are all killed. The first test draft let the single-feature NFD and U+2019 mutants survive, and two single-feature names were added. Darkwing's `pi-variant.sh` probe refuses all four modes. From Darkwing's notes: Mr has a test (fails under the mutant), every `launcher.test.mjs` test has a 30 s timeout (Mv now ends in 62 s instead of hanging), the Ma leftover is a follow-up. A conversation `shim.mjs` left by my round 2 gate was still running, ignored SIGTERM and was killed by PID; recorded as a row 40 follow-up. Candidate manifest 9f0593af (42 files, 6 changed). Gate at 66b9e082: all green but test-task's two Docker recall checks, same on the unpatched base. Packet 0f38236f, revs 262-263 (a8ee6cc1), request comment 27012, REQUEST to Darkwing. No push; landing waits on Q14.
### 2026-10-10 — Sage, row 40 landed: slice 1 S5 WebUI views and CHAT-03 follow-ups (#1522)
Both round 3 reviews approve candidate d0aa0ded: Filbert (comment 27011, rev 260, a248ec64) and Darkwing (comment 27013, rev 264, 09bcd1a9, packet 67630cc4). The manifest checked 27/27 in the canonical tree, and the candidate landed as 08b428ec. I committed it through a temporary index because about 150 unrelated files under packages/mosaic/framework/tools/ are staged in the shared index. `queue review verify-commit 40 HEAD` matched all 27 paths. Gate on a detached worktree of 8cad7722 plus the candidate: webui 22/0, conversation 161/0, control-board 124/0, test-auth 15, test-conductor 17, test-config 24, test-discord 66, test-extension-package 18, test-foundation 44, test-queue 27, test-release 14, test-task 98/0, all with 0 failed. The Docker recall pair passed this time. Darkwing's note 1 is not fixed in this landing: mutant Mr (a hold inside held text is not drained again) survives, so a regression would swallow all later terminal input, Ctrl-C included. I took the approved candidate as it stands rather than open round 4 for one test. Dewey's flows test (drafted, kills Mr, flows 28/28) is the first follow-up row. Filbert's row 41 round 3 entry mentions a conversation `shim.mjs` from their round 2 gate that ignored SIGTERM; that test-cleanup note goes in the same follow-up row. Row 5 Gate E stays Jason's.
@@ -0,0 +1,27 @@
cef660ecd9389500cfcd1e4d16ca7e14a204a158526d747d75ccd6af6b15e79e agents/dewey/work/wui/S5-GATE-E.md
416a6014762b06fb6dd463bc90a4f28316dd64e8743ac50aff8b1000c551d5ec agents/dewey/work/wui/SLICE1-VIEWS.md
1179401b3252a7e8f54e5bf2f0d7c460d83596cf7140c79cbb38258ec84a7193 agents/dewey/work/wui/TASKS.md
3f4c129e7f90fc0840bea48fc9fee44f9eeca212594a26d78bb9fd3aa72933eb agents/dewey/work/wui/evidence/s5-mutants.md
035038082edb22de6a63c64c2dd5ae9ec7372ffb1894ebf270a4de005b06800b docs/plans/DEFERRED.md
cba8267fd7ab6bb7ce2e4259fcc4f5203d77b66821d0d73e962e7a1c60956149 packages/conversation/README.md
38621d505f6ffd859e37c4309f7a2d3a3ee21a53d1ba41b8ff9ca29250a6dc37 packages/conversation/src/cohort.mjs
26f8fa2c7caf794e6224802b8e5d8882419d0bda725d2ab30f0a058a678a57b9 packages/conversation/src/controller.mjs
a06468434e7bf3a3dfc3c5ea05b8c21a1510f8fa0c8eaa6e9908b970fa98367e packages/conversation/src/pi-pin.mjs
72fd7af1475218abcbde15e1801260d6c0db5d3f8c47f09b7aa68e2e47414e0a packages/conversation/src/terminal.mjs
a555d3c9394a911cc1e33191eb9112f0a3f0aca8c78ce6adc888a2d40d4a2ffb packages/conversation/tests/cohort.test.mjs
6310ea0163c5fcd3f1cbd15e4433ba9c1897e9649ceed1e8e169ed8fb884ad36 packages/conversation/tests/ctrl-child.mjs
881121aadcf879a56c84722eec7726b0a71160c58bf99056758dab3d285c514d packages/conversation/tests/fake-pi.mjs
b148bb535d6b9727a57feb30b873e84b6a5cc3d849f3c2b0eacf3515b6456d35 packages/conversation/tests/flows.test.mjs
28e66a9cc9876660418f4fe171ec51639313ce2ca9675d2e0fdcf7b9c8b5e446 packages/conversation/tests/races.test.mjs
b7b5fa60374a55270c5584fff5c97ae2c25ad2056a5569c285c09e78e35752ce packages/conversation/tests/smoke.test.mjs
9d0078fa7fa8335d336130a5f0b44f141448e9eb3de59efab1909e50e0243bdb packages/conversation/tests/turns.test.mjs
2ce037d9cd480709b31fd20f35c72ee81d04398c7532d44f0ecd9905c5fa9b37 packages/webui/README.md
da2ac17666296b954141756fd687652c623560787f03e64b4e43d863b9bfda3d packages/webui/src/bus.mjs
06b35c24ef6e25aeeadeef66ffccf090378e5b51d13cf81b04801dba93407f06 packages/webui/src/cli.mjs
341a3669b3b45b91a724ea1bc338ab56fda18491db55ac96123f252cb93a6935 packages/webui/src/public/bus.css
794c4604dc2b9d0dab5f32e8b44358f3a0f0d7e6682a2cbf393c0f7b42fbb1b8 packages/webui/src/public/bus.js
b27d4fbec45f716f2cafee10d8e3abf3be6d2f1701a4f55f52f70dcc9f04fcc4 packages/webui/src/public/index.html
2b60c4bca11b3c53d4affb22ce482c9fb0db6b213ffec298473fe899a9e5d026 packages/webui/src/serve.mjs
18b1bd786a1e74d554d3bc3de4e0c142203fb43fcd860560bfd6263aa9e6ed11 packages/webui/tests/browser.test.mjs
416df2a9a2feca4f1cf9393d092f682eef06850769675b7bb28fc73c05e77010 packages/webui/tests/bus-browser.test.mjs
c4ef7ad46824ac85b19b64a1003c82e7585f5a5aea60cc4fc06caee68c6066a1 packages/webui/tests/bus.test.mjs
@@ -0,0 +1,27 @@
cef660ecd9389500cfcd1e4d16ca7e14a204a158526d747d75ccd6af6b15e79e agents/dewey/work/wui/S5-GATE-E.md
416a6014762b06fb6dd463bc90a4f28316dd64e8743ac50aff8b1000c551d5ec agents/dewey/work/wui/SLICE1-VIEWS.md
1179401b3252a7e8f54e5bf2f0d7c460d83596cf7140c79cbb38258ec84a7193 agents/dewey/work/wui/TASKS.md
40034b67f4cc4cd007eff36502ae723882688feffa8a5856981950c3218c611c agents/dewey/work/wui/evidence/s5-mutants.md
601e39d6f203f969c84dd9c5d23e28b191071c71f2a35374ebea18d2683e243a docs/plans/DEFERRED.md
c38191d302da8757a3329abed5e443d06d8eb7b09a0f583d67827ffc1a74e838 packages/conversation/README.md
38621d505f6ffd859e37c4309f7a2d3a3ee21a53d1ba41b8ff9ca29250a6dc37 packages/conversation/src/cohort.mjs
26f8fa2c7caf794e6224802b8e5d8882419d0bda725d2ab30f0a058a678a57b9 packages/conversation/src/controller.mjs
a06468434e7bf3a3dfc3c5ea05b8c21a1510f8fa0c8eaa6e9908b970fa98367e packages/conversation/src/pi-pin.mjs
c24d28a073659640b8b027eb12ad150ba895c3001091b892ecef2ec1da40d5cd packages/conversation/src/terminal.mjs
a555d3c9394a911cc1e33191eb9112f0a3f0aca8c78ce6adc888a2d40d4a2ffb packages/conversation/tests/cohort.test.mjs
6310ea0163c5fcd3f1cbd15e4433ba9c1897e9649ceed1e8e169ed8fb884ad36 packages/conversation/tests/ctrl-child.mjs
881121aadcf879a56c84722eec7726b0a71160c58bf99056758dab3d285c514d packages/conversation/tests/fake-pi.mjs
0c2647b62c540bee7164686ea028c5a48e2d570af967a5b3dfa271893a51d6d8 packages/conversation/tests/flows.test.mjs
28e66a9cc9876660418f4fe171ec51639313ce2ca9675d2e0fdcf7b9c8b5e446 packages/conversation/tests/races.test.mjs
b7b5fa60374a55270c5584fff5c97ae2c25ad2056a5569c285c09e78e35752ce packages/conversation/tests/smoke.test.mjs
9d0078fa7fa8335d336130a5f0b44f141448e9eb3de59efab1909e50e0243bdb packages/conversation/tests/turns.test.mjs
18ca9e95d8dbda1279fb96d6c38bac1142b6da9990b6cb36499c205882380b58 packages/webui/README.md
da2ac17666296b954141756fd687652c623560787f03e64b4e43d863b9bfda3d packages/webui/src/bus.mjs
06b35c24ef6e25aeeadeef66ffccf090378e5b51d13cf81b04801dba93407f06 packages/webui/src/cli.mjs
341a3669b3b45b91a724ea1bc338ab56fda18491db55ac96123f252cb93a6935 packages/webui/src/public/bus.css
794c4604dc2b9d0dab5f32e8b44358f3a0f0d7e6682a2cbf393c0f7b42fbb1b8 packages/webui/src/public/bus.js
b27d4fbec45f716f2cafee10d8e3abf3be6d2f1701a4f55f52f70dcc9f04fcc4 packages/webui/src/public/index.html
2b60c4bca11b3c53d4affb22ce482c9fb0db6b213ffec298473fe899a9e5d026 packages/webui/src/serve.mjs
18b1bd786a1e74d554d3bc3de4e0c142203fb43fcd860560bfd6263aa9e6ed11 packages/webui/tests/browser.test.mjs
416df2a9a2feca4f1cf9393d092f682eef06850769675b7bb28fc73c05e77010 packages/webui/tests/bus-browser.test.mjs
2af65f0d48ec7632e12a22aeb5c84ae4c5c183fbb08e282fe557bafc2764b8b5 packages/webui/tests/bus.test.mjs
@@ -0,0 +1,26 @@
9250aa6358f4dcf96b8369fb84607000f0142cefe393ab478014cc6b0c26c539 agents/dewey/work/wui/evidence/s5-mutants.md
cef660ecd9389500cfcd1e4d16ca7e14a204a158526d747d75ccd6af6b15e79e agents/dewey/work/wui/S5-GATE-E.md
416a6014762b06fb6dd463bc90a4f28316dd64e8743ac50aff8b1000c551d5ec agents/dewey/work/wui/SLICE1-VIEWS.md
1179401b3252a7e8f54e5bf2f0d7c460d83596cf7140c79cbb38258ec84a7193 agents/dewey/work/wui/TASKS.md
0176ebf077dc24f6ff3fbdad68ff6d73e72fb82c2073e3c13decf686bc23ff04 docs/plans/DEFERRED.md
0a6f74c44a729f1ceba0b4b1a81d1ab984c9a359f2ff755e14e87f72391a37a4 packages/conversation/README.md
38621d505f6ffd859e37c4309f7a2d3a3ee21a53d1ba41b8ff9ca29250a6dc37 packages/conversation/src/cohort.mjs
26f8fa2c7caf794e6224802b8e5d8882419d0bda725d2ab30f0a058a678a57b9 packages/conversation/src/controller.mjs
a097edd438c9b5de20ddb3e709ac3a09e362214d5ef72208587fa4cd8e7c74fe packages/conversation/src/pi-pin.mjs
ad2b0d9699af0e4b51b22c6b98d7bfb12891800c7810da5d41bfdf72564084fb packages/conversation/src/terminal.mjs
a555d3c9394a911cc1e33191eb9112f0a3f0aca8c78ce6adc888a2d40d4a2ffb packages/conversation/tests/cohort.test.mjs
6310ea0163c5fcd3f1cbd15e4433ba9c1897e9649ceed1e8e169ed8fb884ad36 packages/conversation/tests/ctrl-child.mjs
881121aadcf879a56c84722eec7726b0a71160c58bf99056758dab3d285c514d packages/conversation/tests/fake-pi.mjs
622dffadcd80f6abc489997407d63a3e423d1b4bae0614234b9ac3a45bb96257 packages/conversation/tests/flows.test.mjs
28e66a9cc9876660418f4fe171ec51639313ce2ca9675d2e0fdcf7b9c8b5e446 packages/conversation/tests/races.test.mjs
e6de71956347ede436be6bcf7689b51c48e3e5455f7ed8871587fece12f3a005 packages/conversation/tests/turns.test.mjs
2c182a1b9214eb541941a2e72ff721d3423193f152d49487914d23ec29fc719d packages/webui/README.md
da2ac17666296b954141756fd687652c623560787f03e64b4e43d863b9bfda3d packages/webui/src/bus.mjs
06b35c24ef6e25aeeadeef66ffccf090378e5b51d13cf81b04801dba93407f06 packages/webui/src/cli.mjs
341a3669b3b45b91a724ea1bc338ab56fda18491db55ac96123f252cb93a6935 packages/webui/src/public/bus.css
794c4604dc2b9d0dab5f32e8b44358f3a0f0d7e6682a2cbf393c0f7b42fbb1b8 packages/webui/src/public/bus.js
b27d4fbec45f716f2cafee10d8e3abf3be6d2f1701a4f55f52f70dcc9f04fcc4 packages/webui/src/public/index.html
2b60c4bca11b3c53d4affb22ce482c9fb0db6b213ffec298473fe899a9e5d026 packages/webui/src/serve.mjs
18b1bd786a1e74d554d3bc3de4e0c142203fb43fcd860560bfd6263aa9e6ed11 packages/webui/tests/browser.test.mjs
416df2a9a2feca4f1cf9393d092f682eef06850769675b7bb28fc73c05e77010 packages/webui/tests/bus-browser.test.mjs
c4ef7ad46824ac85b19b64a1003c82e7585f5a5aea60cc4fc06caee68c6066a1 packages/webui/tests/bus.test.mjs