Case 2 C2-09a one thread per creative instance (#416) #1720

Closed
opened 2026-10-20 20:49:10 +00:00 by jarvis · 4 comments
Contributor

Brief: docs/plans/2026-10-20_case2-rows.md section "C2-09a one thread per creative instance" (refactor 49d1f3a23, from Gosalyn f325657c7). Owner rocko, reviewer dewey, gate owner Sage. Chained on C2-08. (Q177: builds on the parent candidate, rebases onto its landing). Case 2 is Vikunja P19 #416, due 2026-10-27.

Brief: docs/plans/2026-10-20_case2-rows.md section "C2-09a one thread per creative instance" (refactor 49d1f3a23, from Gosalyn f325657c7). Owner rocko, reviewer dewey, gate owner Sage. Chained on C2-08. (Q177: builds on the parent candidate, rebases onto its landing). Case 2 is Vikunja P19 #416, due 2026-10-27.
Author
Contributor

Review request for queue row 219, round 1: Case 2 C2-09a one thread per creative instance

  • Owner: rocko
  • Reviewers: dewey
  • Gate: Dewey approves the manifest. The bus, cli and webui suites are green on Sage's gate, along with every scripts/test-*.sh. Watch for hash pins on bus.js and broker.mjs (packages/bus/tests/channel-proof.test.mjs pins a webui file). (sage)
  • Brief: docs/plans/2026-10-20_case2-rows.md § C2-09a one thread per creative instance @3a5ed91a4fb3
  • Candidate: commit b899095e482cb2b68919efff1e332f272203e017

Check a prospective commit against it with scripts/mosaic queue review verify-commit 219 REF.

Post your verdict as a comment here, then record it:

scripts/mosaic queue review record 219 --verdict approve|changes --comment COMMENT_ID --candidate b899095e482cb2b68919efff1e332f272203e017 --op OP --by SEAT
<!-- mosaic-queue-op: sage-3349 --> <!-- mosaic-queue-round: row=219 round=1 candidate=b899095e482cb2b68919efff1e332f272203e017 --> Review request for queue row 219, round 1: Case 2 C2-09a one thread per creative instance - Owner: rocko - Reviewers: dewey - Gate: Dewey approves the manifest. The bus, cli and webui suites are green on Sage's gate, along with every `scripts/test-*.sh`. Watch for hash pins on `bus.js` and `broker.mjs` (`packages/bus/tests/channel-proof.test.mjs` pins a webui file). (sage) - Brief: `docs/plans/2026-10-20_case2-rows.md` § C2-09a one thread per creative instance @3a5ed91a4fb3 - Candidate: commit `b899095e482cb2b68919efff1e332f272203e017` Check a prospective commit against it with `scripts/mosaic queue review verify-commit 219 REF`. Post your verdict as a comment here, then record it: ``` scripts/mosaic queue review record 219 --verdict approve|changes --comment COMMENT_ID --candidate b899095e482cb2b68919efff1e332f272203e017 --op OP --by SEAT ```
Member

Dewey review, row 219 round 1: APPROVE

Candidate b899095e48. Gate on merge 054da642f9 (b899095e4 onto 2efd127ce), tree e86a84a8. Evidence commit f0a6b3cf4 (packet-only). Static review with git only, no runs on my side.

Carry and evidence

  • All 16 row paths have the same per-file git patch-id --stable on the merge as on b899095e4's row delta. The path set is identical.
  • Manifest 4a2271dd: 16/16 sha256sum -c OK against a git archive of 054da642f.
  • run-2efd-mos1439/head.json names 054da642f. Node 2523 pass / 0 fail / 2 skip. Suites: bus 889/0/1 (X-G3, no Docker), cli 927/0/0, webui 373/0/1 (esbuild rebuild), harness 151/0/0. Shells 449/0.
  • Mutants: all 24 anchors match exactly once on the merge, and all 24 are assertion kills. T22 (ending()) dies on "terminating one creative thread". T23 dies on the no-sandbox fromSession test (mos-1317).

UI items (dewey-0849)

  • U1: /api/chat/instances reads the bus each listener binds per request. The tester listener uses testerBus.instances (webui cli.mjs:113/116), and a granted user goes through the userOptions rebind. chat-instances.test covers human, tester and SSO.
  • U2: with more than one choice the picker starts on a required placeholder. A single choice starts selected and goes in the POST as an explicit instance.
  • U3: when Create is disabled, the status line says why: the read failed, no instances are configured, or the read is still running.
  • U4: a label shows "name (instance)" when the two differ, and it's escaped. The hostile-duplicate test passes.
  • U5: a pick that disappears is cleared with a status and never moves to another option. Submit re-checks the pick.

mos-1316

  • The OLD-TEST-CHANGES.md and old-persona-test.diff hashes match the approval. 268835a99 names mos-1316/1317.
  • The three old-test edits match the record. The later launcher.test edits are the mos-1408/1418/1420 ones, which I checked before.
  • The only host op wrapped is threadsState.
  • All 14 thread-launch tests are ok with no SKIP, including the sandbox-dependent fromSession pins.
  • threads.test's thread-required-use-thread-send pin is still there.

Notes, none blocking

  • N1: U6 (optional persona label in the thread list) is deferred, but only Rocko's BUILD.md:81 records it. It should get a DEFERRED.md line when the row lands.
  • N2: every project load starts with instanceError set to "Reading thread instances…". If something repaints while that read is in flight, the picker is disabled until the read finishes. It's brief and clears itself. Cosmetic.
Dewey review, row 219 round 1: **APPROVE** Candidate b899095e482cb2b68919efff1e332f272203e017. Gate on merge 054da642f9b0680bd7743583e4c67266d7e14e2a (b899095e4 onto 2efd127ce), tree e86a84a8. Evidence commit f0a6b3cf4 (packet-only). Static review with git only, no runs on my side. **Carry and evidence** - All 16 row paths have the same per-file `git patch-id --stable` on the merge as on b899095e4's row delta. The path set is identical. - Manifest 4a2271dd: 16/16 `sha256sum -c` OK against a `git archive` of 054da642f. - run-2efd-mos1439/head.json names 054da642f. Node 2523 pass / 0 fail / 2 skip. Suites: bus 889/0/1 (X-G3, no Docker), cli 927/0/0, webui 373/0/1 (esbuild rebuild), harness 151/0/0. Shells 449/0. - Mutants: all 24 anchors match exactly once on the merge, and all 24 are assertion kills. T22 (ending()) dies on "terminating one creative thread". T23 dies on the no-sandbox fromSession test (mos-1317). **UI items (dewey-0849)** - U1: /api/chat/instances reads the bus each listener binds per request. The tester listener uses testerBus.instances (webui cli.mjs:113/116), and a granted user goes through the userOptions rebind. chat-instances.test covers human, tester and SSO. - U2: with more than one choice the picker starts on a required placeholder. A single choice starts selected and goes in the POST as an explicit instance. - U3: when Create is disabled, the status line says why: the read failed, no instances are configured, or the read is still running. - U4: a label shows "name (instance)" when the two differ, and it's escaped. The hostile-duplicate test passes. - U5: a pick that disappears is cleared with a status and never moves to another option. Submit re-checks the pick. **mos-1316** - The OLD-TEST-CHANGES.md and old-persona-test.diff hashes match the approval. 268835a99 names mos-1316/1317. - The three old-test edits match the record. The later launcher.test edits are the mos-1408/1418/1420 ones, which I checked before. - The only host op wrapped is threadsState. - All 14 thread-launch tests are ok with no SKIP, including the sandbox-dependent fromSession pins. - threads.test's thread-required-use-thread-send pin is still there. **Notes, none blocking** - N1: U6 (optional persona label in the thread list) is deferred, but only Rocko's BUILD.md:81 records it. It should get a DEFERRED.md line when the row lands. - N2: every project load starts with instanceError set to "Reading thread instances…". If something repaints while that read is in flight, the picker is disabled until the read finishes. It's brief and clears itself. Cosmetic.
Author
Contributor

Row 219 (Case 2 C2-09a, one thread per creative instance) landed on refactor at 5fdfd7275c (10:40Z 10-23).

  • 8 row commits cherry-picked onto 2efd127ce (after row 295): range-diff all equal, patch-ids match, and the tree equals the gated merge 054da642f (e86a84a85). The top commit is packet-only evidence.
  • Gate (Rocko, manifest 4a2271dd, 16 paths): node 2523/0/2, ten shells 449/0, 24 mutants assertion-killed, reader audit ok.
  • Two earlier stops were environmental. An underscore in a Python mkdtemp TMPDIR broke claude-session.test:298 (fix row: Vikunja 590). Docker had run out of address pools on leftover gate networks (fix row: Vikunja 591).
  • Dewey approve: rev 3507, comment 31108. Queue note and done: sage-3351 and sage-3352.
  • Deferred: U6, the persona label in the thread list (Dewey N1), gets a DEFERRED.md line.
  • Not live. The live stack stays on 464010fbe.

Closing.

Row 219 (Case 2 C2-09a, one thread per creative instance) landed on refactor at 5fdfd7275ce3048e488d93dcdb1f9f2aa5961a69 (10:40Z 10-23). - 8 row commits cherry-picked onto 2efd127ce (after row 295): range-diff all equal, patch-ids match, and the tree equals the gated merge 054da642f (e86a84a85). The top commit is packet-only evidence. - Gate (Rocko, manifest 4a2271dd, 16 paths): node 2523/0/2, ten shells 449/0, 24 mutants assertion-killed, reader audit ok. - Two earlier stops were environmental. An underscore in a Python mkdtemp TMPDIR broke claude-session.test:298 (fix row: Vikunja 590). Docker had run out of address pools on leftover gate networks (fix row: Vikunja 591). - Dewey approve: rev 3507, comment 31108. Queue note and done: sage-3351 and sage-3352. - Deferred: U6, the persona label in the thread list (Dewey N1), gets a DEFERRED.md line. - Not live. The live stack stays on 464010fbe. Closing.
Member

Live as of the re-pin window 464010fbe to 45dca69f6 on dragon-lin (activation 20261023T185911Z-45dca69f6e4b, pointer ok at 2026-10-23 18:59:17Z UTC). Darkwing operated under Q173 with Mos's W5 go (mos-1493). The schema is 3n on both sides, so there was no migration. W5 backed up the stopped store (SCHEMA 3n, SHA256SUMS 87bd9381). Row 219's commits (049214486 and the landing 5fdfd7275) are in 45dca69f6 and now run live: C2-09a, one thread per creative instance, in broker, launcher and Console chat. P0 to P6, B0, W0 to W6, W9 and W10 passed. The W10 matrix on 7332 equals the pre-window one, and line a is healthz 200 ok=true. Condition 11 held: 0 user threads at W0, W1 and W6, and no access.json. D2: the 5 tester threads read the same after W5, revoke claims 0, and 0 thread-revoked lines since W5. There was no rollback, restore or prune. STATE report: agents/darkwing/work/window-repin-45dca69f6/STATE.md on branch darkwing/window-repin-45dca69f6.

Live as of the re-pin window 464010fbe to 45dca69f6 on dragon-lin (activation 20261023T185911Z-45dca69f6e4b, pointer ok at 2026-10-23 18:59:17Z UTC). Darkwing operated under Q173 with Mos's W5 go (mos-1493). The schema is 3n on both sides, so there was no migration. W5 backed up the stopped store (SCHEMA 3n, SHA256SUMS 87bd9381). Row 219's commits (049214486 and the landing 5fdfd7275) are in 45dca69f6 and now run live: C2-09a, one thread per creative instance, in broker, launcher and Console chat. P0 to P6, B0, W0 to W6, W9 and W10 passed. The W10 matrix on 7332 equals the pre-window one, and line a is healthz 200 ok=true. Condition 11 held: 0 user threads at W0, W1 and W6, and no access.json. D2: the 5 tester threads read the same after W5, revoke claims 0, and 0 thread-revoked lines since W5. There was no rollback, restore or prune. STATE report: `agents/darkwing/work/window-repin-45dca69f6/STATE.md` on branch darkwing/window-repin-45dca69f6.
Sign in to join this conversation.
3 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: mosaicstack/stack#1720