Compare commits

..
Author SHA1 Message Date
jason.woltje 1b3c9a9c26 docs(proxy): pin actual runtime interaction diagnostic driver before run 2026-10-25 07:12:36 -05:00
jason.woltje 1c0cdb90ae docs(proxy): record real publication caller intended RED under sage4582 2026-10-25 07:07:22 -05:00
jason.woltje 72a338f29a docs(proxy): record real confined marker intended RED under sage4580 2026-10-25 07:04:31 -05:00
jason.woltje ffb662c670 docs(proxy): record missing first-turn producer RED under sage4578 2026-10-25 07:02:10 -05:00
jason.woltje ea3aad240a docs(proxy): record intended clock reader RED under sage4577 2026-10-25 07:01:10 -05:00
jason.woltje e45fc485a4 docs(proxy): record clock idle and first-turn intended RED under sage4574 2026-10-25 06:59:36 -05:00
jason.woltje b9dfe25d68 test(proxy): prepare runtime key-loss terminal-proof interaction diagnostic 2026-10-25 06:57:39 -05:00
jason.woltje df0599121b docs(proxy): correct clock protocol anchor notes without changing proposed bytes 2026-10-25 06:53:31 -05:00
jason.woltje 1ac21d36cd test(proxy): keep clock behavior inventory free of source grep checks 2026-10-25 06:50:47 -05:00
jason.woltje 9507e2ee43 test(proxy): prepare strict clock reader and controlled publication failure packet 2026-10-25 06:39:53 -05:00
jason.woltje 852a8da71a docs(proxy): map focused lifecycle content to tested commit 2026-10-25 06:39:53 -05:00
jason.woltje 6d3edea61f fix(proxy): isolate sweep failures and confirm reused model credentials 2026-10-25 06:38:05 -05:00
jason.woltje 46c00e7419 docs(proxy): freeze applied low lifecycle candidate before focused run 2026-10-25 06:31:03 -05:00
jason.woltje 13d6782dd2 docs(proxy): propose bounded lifecycle focused block and unresolved interaction652 2026-10-25 06:22:25 -05:00
jason.woltje fccb2d78c7 docs(proxy): record intended runtime orphan hire RED 2026-10-25 06:19:31 -05:00
jason.woltje 1861c2d8f1 docs(proxy): record corrected L3b controller intended RED 2026-10-25 06:16:59 -05:00
jason.woltje a27f07e204 test(proxy): canonicalize three new revoking timestamp literals 2026-10-25 06:14:48 -05:00
jason.woltje 6f12b6df79 docs(proxy): record L3b controller RED and canonical timestamp fixture failure 2026-10-25 06:11:58 -05:00
jason.woltje 311f49d51c test(proxy): prepare complete orphan state table and runtime hire proof 2026-10-25 06:03:46 -05:00
jason.woltje 994ead40a5 test(proxy): prepare first actual turn clock and confined marker packet 2026-10-25 05:57:52 -05:00
jason.woltje 2a2b0136b8 docs(proxy): record intended L1 pre-fix RED under sage4538 2026-10-25 05:55:57 -05:00
jason.woltje 7458754328 test(proxy): prepare no-op sweep receipt control under Mos1705 2026-10-25 05:54:14 -05:00
jason.woltje 96dd4d0dde test(proxy): preserve lifecycle secret history and robust owned cleanup 2026-10-25 05:53:02 -05:00
jason.woltje 0ec63de70e test(proxy): prepare isolated sweep and orphan admission regressions 2026-10-25 05:48:36 -05:00
jason.woltje 860582c27d docs(proxy): pin tested M1 M2 candidate and full verification packet 2026-10-25 05:43:02 -05:00
jason.woltje 5868d77f18 fix(proxy): retain terminal proofs and clean up historical launches 2026-10-25 05:42:15 -05:00
jason.woltje 07292713ba docs: preserve real historical cleanup IPC intended red 2026-10-25 05:34:28 -05:00
jason.woltje 05d6a33368 test: prepare actual historical cleanup IPC and bounded focused packet 2026-10-25 05:29:46 -05:00
jason.woltje c3eb952420 docs: preserve separate M1 and M2 intended red evidence 2026-10-25 05:23:00 -05:00
jason.woltje bc6942412a test: prepare separate M1 terminal proof and M2 historical cleanup packets 2026-10-25 05:15:47 -05:00
jason.woltje 6a645188d0 docs: preserve round two queue and request failure receipts 2026-10-25 04:40:05 -05:00
jason.woltje d817e58408 docs: preserve B1 full builder results and review response 2026-10-25 04:29:39 -05:00
jason.woltje e5a4ade07e docs: preserve B1 focused green and prepare full verification packet 2026-10-25 04:08:09 -05:00
jason.woltje 81cbdea37f fix: preserve authoritative model run inventory across host restart 2026-10-25 04:04:08 -05:00
jason.woltje c90dcc4b1a docs: preserve B1 boundary intended red and product identity 2026-10-25 03:59:41 -05:00
jason.woltje 26fad224fe docs: pin separate B1 boundary red preparation 2026-10-25 03:56:44 -05:00
jason.woltje cf890901d8 test: prepare B1 retirement HTTP boundary regressions before fix 2026-10-25 03:56:44 -05:00
jason.woltje c059625b8c docs: propose private B1 mutation boundary confirmation 2026-10-25 03:52:16 -05:00
jason.woltje 41e909bcce docs: preserve B1 intended red and unchanged product receipts 2026-10-25 03:47:42 -05:00
jason.woltje ca0e83337b test: correct B1 fixture contract cleanup and sweep observation 2026-10-25 03:44:18 -05:00
jason.woltje 7c563ece9c docs: prepare B1 test-first discovery and stop authority proposal 2026-10-25 03:39:10 -05:00
jason.woltje c77a5444c3 test: prepare B1 persisted session restart regressions before repair 2026-10-25 03:36:38 -05:00
jason.woltje 1932d6e00b docs: record P2 review handoff and restart grace finding 2026-10-25 03:26:45 -05:00
jason.woltje d62c69c867 docs: preserve P2 full builder gate and mutant receipts 2026-10-25 03:20:42 -05:00
jason.woltje 2ff10ffac2 docs: prepare r5 full gate dependency and run packet 2026-10-25 03:00:09 -05:00
jason.woltje 3f8a24a41f docs: preserve r5 focused verification and confinement receipts 2026-10-25 02:54:01 -05:00
jason.woltje 87a2adc190 docs: pin r5 candidate content manifest 2026-10-25 02:50:56 -05:00
jason.woltje 4948ece0e5 fix: isolate proxy validation from sandbox host state 2026-10-25 02:50:38 -05:00
jason.woltje 07da4cf961 test: pin P2 sandbox validation boundary before r5 repair 2026-10-25 02:49:37 -05:00
jason.woltje 8d88a60297 docs: preserve row 331 r4 stopped gate receipts 2026-10-25 02:42:33 -05:00
jason.woltje 0965fe1ea5 row331 r4: use approved scratch hireable aide fixture 2026-10-25 01:50:19 -05:00
jason.woltje 989a482ac4 row331: preserve r3 probe receipts and content manifest 2026-10-25 01:49:15 -05:00
jason.woltje 6fe36f4a9f row331: correct r3 receipt authorization to sage-4447
Replace the preparation placeholder in the receipt clear field. Every measured run value is preserved unchanged.
2026-10-25 01:47:12 -05:00
jason.woltje e0578794ce row331 r3: enable fixture pi and measure gate priority 2026-10-25 01:13:16 -05:00
jason.woltje 0dd764d366 row331: record r2 fixture refusal, load and measured priority 2026-10-25 01:12:04 -05:00
jason.woltje a32481b780 row331: create private data root in real-bus test fixture 2026-10-25 00:18:40 -05:00
jason.woltje 5c70feebde row331: record first GREEN fixture failure and return slot 2026-10-25 00:12:02 -05:00
jason.woltje a86a881e1b row331: record base overlap check and direct handoffs 2026-10-24 23:41:59 -05:00
jason.woltje fb484acb72 row331: normalize RED evidence whitespace with provenance 2026-10-24 23:40:12 -05:00
jason.woltje f832064731 row331: build model key lifecycle candidate pending GREEN 2026-10-24 23:39:49 -05:00
jason.woltje 78b69e1e68 docs: Vikunja 633 (P7 proxy startup refreshes) and 634 (row 284 N1) per mos-1647. DEFERRED entries, BUILD-LOG line, filing receipt. 2026-10-24 19:18:35 -05:00
jason.woltje 48b89db33b docs: row 284 landed ce0b6ed41 (#1789). BUILD-LOG and SESSIONS lines, DEFERRED Webby N1 (library read path). 2026-10-24 19:15:48 -05:00
jason.woltje 7c8dc20335 queue: revs 4065-4072. Row 284 round 2: Della reopen 4065, in-review 4066, request outcome 4067 (Della's); Sage request posted c31653 (4068-4069); Webby approve c31654 (4070, Webby's). Row 284 landed ce0b6ed41: note 4071, done 4072. 2026-10-24 19:15:41 -05:00
jason.woltje ce0b6ed411 row284: record row329 landed-base rebase pending CLEAR 2026-10-24 18:40:35 -05:00
jason.woltje 97cb9a7630 row284: record import-list passes and nine killed mutants 2026-10-24 18:40:23 -05:00
jason.woltje e908f7ffee row284: record stale queue brief pin and exact import example 2026-10-24 18:40:23 -05:00
jason.woltje 92df71a982 row284: record landed-base rebase and import-derived run plan 2026-10-24 18:40:23 -05:00
jason.woltje 0abec5d2e8 row284: cover absent supporting prefix directly (unrun) 2026-10-24 18:40:23 -05:00
jason.woltje 20996ecd66 row284: supporting lookup scope and served blob IDs (unrun) 2026-10-24 18:40:22 -05:00
jason.woltje 78b932feb6 row284: migrate playground get tests under mos-1330 (unrun) 2026-10-24 18:40:22 -05:00
jason.woltje 9e2689dffb docs: row 329 landed 61ebf2c34 (#1827). BUILD-LOG and SESSIONS lines, DEFERRED N2/R2-N1 (row 331) and N1 (P7), Vikunja 631 filing and 237 comment receipts. 2026-10-24 18:37:46 -05:00
jason.woltje b24d917ec9 queue: revs 4062-4064. Row 284 round 1 approve by Webby, comment 31645 (rev 4062, Webby's). Row 329 landed 61ebf2c34: note 4063, done 4064. 2026-10-24 18:37:13 -05:00
jason.woltje 61ebf2c34d Refuse non-ASCII proxy management keys before initialization 2026-10-24 18:30:11 -05:00
jason.woltje d1f6f2b199 row329: normalize review receipt whitespace and reseal manifest (#1827) 2026-10-24 18:30:11 -05:00
jason.woltje c65fb34ee6 row329: finish pinned model proxy P1 and record final gate (#1827) 2026-10-24 18:30:11 -05:00
jason.woltje 94cde633e2 WIP row329: preserve P1 draft before required base rebase (#1827) 2026-10-24 18:30:11 -05:00
jason.woltje 669cdf42c4 queue: revs 4021-4061. Row 329 r1/r2 (Magica 4025-4026, 4031-4033; Boyd 4029, 4048; Dewey 4030, 4047; Sage 4021-4024, 4027-4028, 4037, 4040-4042). Row 284 (Della 4038, 4052-4053; Sage reviewers 4055, request 4060-4061 comment 31644). Re-pins 284/288/289/214/227/267/229/223 (4034-4036, 4039, 4043-4046). Row 209 brief 4049, row 229 blocked 4050. Row 332 note/assign/after (4051, 4054, 4057), Fethry start 4059. Row 333 reviewers 4056. Row 334 added for #1832 (4058).
Includes other seats' revs: Magica 4025-4026, 4031-4033; Boyd 4029, 4048; Dewey 4030, 4047; Della 4038, 4052-4053; Fethry 4059 (mos-1634 item 5).
2026-10-24 18:22:57 -05:00
jason.woltje 98614187ce docs: Sage handoff after the T3 crash, the faceless bot receipt and Researcher's row 209 phase B report (mos-1628, mos-1618) 2026-10-24 17:54:14 -05:00
910 changed files with 88286 additions and 339 deletions

No files matched your search

+37 -4
View File
@@ -5575,10 +5575,43 @@ claim. Receipts and limitations in agents/lena/work/queue-296/BUILD.md and run-r
2026-10-24T19:44:50Z | Sage | Row 328 (#1826, Vikunja 622, old T9 timer race, Fethry on Codex, Boyd and Dewey) LANDED 8bb5b3c73, pushed 19:40Z 10-24. Before: refactor at 5e77cdd09. After: Fethry's 8 commits cherry-picked onto 5e77cdd09 (same patches); T9's second start passes intervalMs 2147483647 (mos-1594), test-only. Under 8x50 concurrent loops M1 (50 ms back) gave 26 expected failures and the fix 400/400. Boyd APPROVE c31621 rev 4002, Dewey APPROVE c31622 rev 4003. Sage gate GREEN 19:38:54Z on 8bb5b3c73 itself, no drift: bus 1011/0, business 283/0, harness 176/0, cli 990/0 plus the allowed FED R7 skip, webui 458/0, every scripts/test-*.sh rc 0 (Dewey N1). Manifest 1e010468. #1826 closed c31625, Vikunja 622 done (comment 1071), note rev 4019, done rev 4020. Not re-pinned.
## 2026-10-24 — row332 P3 proxy harness configuration: investigation/test placement
2026-10-24 — Magica row329 P1 (#1827, Vikunja237): beginning pinned model-proxy fetch/init/client/unit build at 7fe32d722, under mos-1600/1601. Acceptance uses only fresh temp roots and unshare -rn; live instance and host proxy excluded. Evidence agents/magica/work/queue-329/BUILD.md.
Fethry at c8a9bcf94, per Sage sage-4292 and mos-1616 pi-route amendment. Before: every managed session receives instance-wide provider credentials; harnesses have no transient per-session proxy context; pi preflight checks only its binary. Intended after: proxy-mode isolation, Claude proxy env, pi private run-local route config using environment references only, credential preflight, and business proxy account settings. Design/test plan: agents/fethry/work/queue-332/BUILD.md. Initial tests placed before production changes. No tests run: Sage CLEAR is required and has not arrived. No success/acceptance claim, live change, or dependency landing. Existing proxy issue number requested from Sage; not yet received.
2026-10-24 — Magica row329 P1 (#1827): final builder checks green: model-proxy61/61, bus1018/1018, CLI999pass+1listed federation skip, pinned-copy10/10, config55/55 and federation runner1/1. Final unit-config fix verified by two new tests and all direct CLI readers. Original F7 red, Mos1604 diagnostic and Mos1605 unchanged rerun are preserved; cause unknown, landing independent. Q250 drops the panel forward; PIN8.0.42/panel1.26.7 unchanged. Evidence agents/magica/work/queue-329/BUILD.md.
## 2026-10-24 — row332 crash stop, documentation-only checkpoint
2026-10-24 — Magica row329 round2 (#1827): Boyd B1 tightens management keys to printable non-space ASCII before init creates state; new whole-tree refusal cases first reproduced the defect. Header check retained, no old assertions edited. N1 outer Docker count correction, N3 stale-lock recovery and N4 34-code coverage docs included. Cleared dependency-reader gate running; two stand-in over-selections disclosed and removed from the plan per sage-4277, F7 cause unknown. Evidence agents/magica/work/queue-329/BUILD.md.
Fethry stopped under Mos mos-1630/Jason's T3 crash instruction. No production implementation, tests, probes, mutants or acceptance runs occurred; Sage CLEAR never arrived. Explicit route metadata per sage-4293 is recorded in agents/fethry/work/queue-332/BUILD.md; full state and resumption boundaries are in HANDOFF.md there. Safe crash checkpoint commits documentation/historical plain-text import manifest only; four unrun tests and the import-audit script remain uncommitted. No long jobs restarted, protected branch changes, merges, live changes or further thread messages.
2026-10-24 — Magica row329 R2 (#1827): B1 ASCII-only management key fix verified with complete-tree refusals and positive auth control; package66/66,30bus readers261/261,49CLI readers726/726,config55/55, no required skip/failure. N1 corrects R1 bus total to1019; N3 stale-lock guidance and N4 34-code inventory corrected. Two over-selected file runs are recorded separately, with no F7 inference; cause unknown/Vikunja625. Old502 test/helper files byte-identical, slot returned to Sage. Evidence agents/magica/work/queue-329/BUILD.md.
2026-10-24T23:37:46Z | Sage | Row 329 (#1827, P1 pinned model proxy, Magica) LANDED 61ebf2c34, pushed 23:31:27Z 10-24. Before: refactor at 669cdf42c. After: Magica's 4 commits (94cde633e, c65fb34ee, d1f6f2b19, 61ebf2c34) cherry-picked onto 669cdf42c, diff vs the gated tree limited to drift paths, range-diff in scratch. Gate: one unchanged full landing gate in /mnt/storage/scratch/sage-r329l/wt (gate.sh 8b4978887 c8a9bcf94), started 23:08:12Z at load 14.35, GATE GREEN 23:29:14Z at load 8.67, no rerun, no test or timeout edit (mos-1634). Host note: two Codex workers cleaned T3 worktrees from about 23:14Z (mos-1639, Vikunja 632). Approvals: Dewey r2 c31643 rev 4047, Boyd r2 c31642 rev 4048. #1827 comment 31650, closed. Vikunja 237 comment 1109 (stays open for P2-P7); C4 P10 red filed as Vikunja 631. Queue: note rev 4063, done rev 4064, committed b24d917ec. DEFERRED: N2 and R2-N1 bound to row 331, N1 bound to P7. Overlap: row 284 (packages/bus/src/broker.mjs) and row 157 (scripts/mosaic-config.mjs) rebase onto 61ebf2c34 before their gates.
2026-10-25T00:15:48Z | Sage | Row 284 (#1789, C2-05c library.get scope, Della) LANDED ce0b6ed41, pushed 00:09:52Z 10-25. Before: refactor at 9e2689dff (row 329 landing docs). After: fast-forward to Della's 7 rebased commits 78b932feb..ce0b6ed41; 8 paths, manifest-r4 de505cfd matches the landed tree. Gate: one unchanged full landing gate in /mnt/storage/scratch/sage-r284l/wt (the 329 gate.sh with D and the compose project renamed), started 23:51:19Z at load 1.62, GATE GREEN 00:09:04Z at load 5.20, no rerun, no test or timeout edit. Counts: bus 1020/0, business 283/0, cli 999 pass 1 allowed skip (FED R7), harness 177/0, library 156/0, seat 218/0, webui 458/0, every scripts/test-*.sh rc 0; queue 34 and task 87/93 skips are the standing ones. Della's whole-file runs on ce0b6ed41: library-lookups 12/0, library-tools 5/0, query 34/0. Approval: Webby round 2 delta c31654 rev 4070 (round 1 rev 4062). Overlap sweep: rows 13, 157, 309, gyro/row310 and fethry/row332-p1 clean. #1789 comment 31655, closed. No Vikunja task for the row. Queue: note rev 4071, done rev 4072, committed 7c8dc2033. DEFERRED: Webby N1 (whole-tree listing per get) bound to the next library read-path row; N2 needs nothing; N3 is this gate.
2026-10-25T00:18:35Z | Sage | Follow-up tasks for mos-1647 item 3 (Q109): Vikunja 633 (P7 cutover, CLIProxyAPI 8.0.42 startup Grok-npm and antigravity version refreshes, from row 332 isolated runs) and 634 (row 284 Webby N1, library get lists the whole tree). DEFERRED gains the 633 entry and the 634 number for row 284 N1. Filing script and receipt in agents/sage/work/vikunja-setup/.
2026-10-24 — Magica row 331 / #1829 BEFORE: P1 has pinned fetch/init and a redacted management client; agent model-key lifecycle, reconciliation and launch preflight are absent. P2 design and acceptance plan in agents/magica/work/queue-331/BUILD.md. Root worktree npm ci passed; no tests run pending Sage CLEAR. No live proxy or real credential access.
2026-10-25 — Magica row331 / #1829 GREEN attempt on a86a881e1:54 whole files pass; file55 model-keys.test.mjs rc1 (24pass/6fail). All6 new real-bus fixtures lack dataRoot before Store lstat; no old test failed in attempted prefix. Aggregate592tests/586pass/6fail/0skip. Stopped without edits/reruns; remaining207files/test-config/4mutants not run. Slot returned to Sage05:10:48Z. Per-run rc/count/nice/hash receipts: agents/magica/work/queue-331/green-receipts.json. No in-review/completion claim.
2026-10-25 — Magica row331 r2 on a32481b78 (sage-4437):54 whole files pass; file55 model-keys rc1,24pass/6fail. Six own new fixtures omit plugins.harness pi and correctly receive existing invalid-harness at chief binding. Aggregate592/586pass/6fail/0skip; no old test failed in attempted prefix. Last step load4.03/7.54/10.98 ->3.79/7.37/10.89. SLOT BACK06:10:45Z, no edits/reruns. Parent measured nice19x2/16x53 despite startup19 and per-child19; raw fixed nice19 header not measurement. Per-step rc/count/load/hash receipts and caveat in agents/magica/work/queue-331/r2-receipts.json; remaining207/test-config/mutants unrun.
2026-10-25 — Magica row331 r3 whole-file model-keys probe on e0578794c:30tests/27pass/3fail,rc1,0skip/cancel. Three own hire fixtures correctly refuse definition-not-hireable: review.verdict outside HIRE_ALLOWED and chief hireable empty. Fire/revision-race cases pass. No full gate/mutants started, no edits/reruns. Load6.37/11.24/14.46 ->6.34/11.15/14.42; measured driver/child19. SLOT BACK06:45:43Z. Authorization-only receipt correction6fe36f4a9 preserves measurements; r3-summary/events and content-manifest pin the attempt.
2026-10-25 — Magica row331 r4 sage-4459 on0965fe1ea: model-keys probe30/30 green;68 frozen whole files green, file69 project-runtime rc1 (2pass/1fail), existing exact broker import-list assertion omits P2 common.mjs import. Aggregate707/706pass/1fail/0skip/cancel including probe. Stopped, SLOT BACK magica-331-0029; no edits/retry;193 files/test-config/mutants unrun. Fail-step load10.39/20.98/25.16 both ends, measured driver/child19. Receipts r4-events.jsonl/r4-receipts.json; await old-test ruling.
2026-10-25 — Magica row331 r5 bounded correction646 under sage-4472:16 focused whole files rc0,181/181pass/0fail/skip/cancel. Actual confined sandbox11 and session13 including startup/negative controls verified, no unavailable skips. Code4948ece0e, manifest-only checkout87a2adc19; measured driver/child19 every step, load6.91/9.43/16.39 ->7.74/9.38/16.15. SLOT BACK magica-331-0033. No full gate/mutants/landing; fresh independent guard review outstanding.
2026-10-25 — Magica row331 r5 full builder sage-4477 on2ff10ffac/code4948ece0e: probe30/30,269wholefiles2426pass/0fail/1standingFEDR7skip, test-config55/0, four named mutants killed with30/30 restored controls each. Real sandbox11/session13 verified, no confined skip. All279 child starts19; driver277x19/2x16 host renice retained. Startload7.08/8.10/12.53 ->8.75/9.50/10.40, complete08:19:20Z, SLOT BACK0036. No reruns/edits/nextgate/landing; reviews/globalgate/row288 outstanding.
2026-10-25 — Magica row331 B1/647 intended RED sage-4490 onca0e83337: exactlyone whole runtime restart file12tests/2controlsPASS/10expectedFAIL at old-key retention,0skip/cancel/timeout/harness/cleanupfail. Product4948ece0e before/after hashes equal. Measured19/19, load8.00/7.57/8.12 ->7.53/7.48/8.08. SLOT BACK0049, no retry/fix/extra run; await runtime repair ruling.
2026-10-25 — Magica row331 B1 boundary RED sage-4495 on26fad224f: one whole separate2casefile,0pass/2intended Missingexpectedrejection failures,0skip/cancel/timeout/fixture/cleanupfail. Product4948ece0e fivehashes unchanged. Measured19/19 load6.66/7.46/7.82 unchanged. SLOT BACK0053; original12caseRED not rerun, nofix/extra runs, awaitresume.
2026-10-25 — Magica row331 B1/647 repaired81cbdea37 focused sage-4496:9wholefiles131/131pass,0fail/skip/cancel, real confinement verified; no retries/edits/timeouts/cleanupfail. Product runtime+exactprivateModelKeys delta only. Measured19/19all9, load8.32/7.90/7.87 ->8.35/8.02/7.91. SLOT BACK0055; sleepfixtures do notprove successfulrealrunnerSIGTERM. PriorREDs preserved, fullgate/freshreviews/global/FEDR7/288 outstanding.
2026-10-25 — Magica row331 B1 full builder sage-4498 on e5a4ade07/code81cbdea37: probe30,271whole2440pass/0fail/1standingFEDR7skip,config55; all4mutants killed/4restored controls30each. Nonmutant2525pass/1skip/0fail/cancel, real confinement verified, no retry/timeout/cleanupfail. All281driver+childstarts19, load6.76/7.39/7.69 ->8.54/9.21/8.55. Source byte-restored. SLOT BACK0057; fresh fullP2round2/ClaudeQ246/Dewey/global/FEDR7/288 remain outstanding.
2026-10-25 — Magica row331 M1/#648 pre-fix sage-4520:7tests/5controls/2intendedfail, M2/#649 sage-4522:17tests/9controls/8intendedfail, separate wholefiles/evidence. No skipped/cancel/harness/cleanup failures or retries, product9pins81 unchanged. Slots returned0065/0066. Syntheticreuse not actualOSproof; M2inprocess notIPCproof. No implementation/full/global/landing/newround.
2026-10-25 — Magica row331 M2 actualIPC pre-fix sage-4527:9tests/2controls/7intendedfail,0skip/cancel/timeout/harnesscleanupfail. Source9pins81unchanged. Firstrawinvalid-host-request, otherpredicateinnercodesnotindividuallycaptured. Realfork/hostclose awaited, ownroots0; nestedpriorityinheritance not individuallymeasured. SLOT BACK0068; no repair/extra run, awaitresumeexactdiffs/20focus.
2026-10-25 — Magica row331 M1/M2: exact approved sticky terminal-proof and Broker-owned historical cleanup repair, focused20 254/254 green under sage-4529. Scope and receipt limits in queue-331/BUILD.md; no full/global/landing claim.
2026-10-25 — Magica row331 L1/L3b: exact private ModelKeys repair815b92c8, focused23 276/276 under sage4565; slot back, no full/global/landing claim;652 diagnostic and650 protocol pending.
+934
View File
@@ -0,0 +1,934 @@
# Row284 C2-05c — supporting scope and served-tree blob (#1789)
Owner Della; reviewer Dewey; gate Sage. Build start sage-3658/3660 (10-23).
Branch della/row284. Original prerequisite base Honker28346bad7ea3;
merge fc05bcbc3 carries22423816cf28 and2164f3fbc25a intact. Only conflict was
CLI thread-launch's added footer tests: retained both full test bodies and
assertions. No prerequisite code copied. Every prerequisite needs its own
review/mutants/landing under mos1351; rebase after283 lands.
## Execution status
UNTESTED. No Node, node--check, test or mutant run before Sage CLEAR. First
own commit is the authorized old-test migration; the implementation follows.
Sage authorizes an immediate untested push. No queue write or shared-log edit.
224 stays first;284 is critical to Bubba288. T4 for224 is not a CLEAR yet.
## Binding readings
Brief C2-05c at94c33a43c:1737-1789, Q226, sage2918 and mos1330 item3.
get defaults canon; explicit playground/supporting opt-in; mismatch null.
Sort full outgoing/incoming lists supporting, playground, canon before paging,
keep cross-scope links and universe filter. Manuscript stays canon/playground.
No all/array scope, write tool, guard, mapping or creative-name-count change.
## mos-1330 old-test migration (separate commit)
All paths below are packages/library/tests/query.test.mjs. Baseline file at
fc05bcbc3 matches216's file. Source assertions retained; negative calls receive
explicit scope too, so universe isolation cannot pass on default-scope denial.
Call/assertion 348 -> 348:
```js
// OLD
const rin = await get(s, { universe: 'idea', path: 'Drafts/New World/Characters/Rin.md' });
// NEW
const rin = await get(s, { universe: 'idea', path: 'Drafts/New World/Characters/Rin.md', scope: 'playground' });
```
Call/assertion 350 -> 350:
```js
// OLD
assert.equal(await get(s, { universe: 'harbor', path: 'Drafts/New World/Characters/Rin.md' }), null);
// NEW
assert.equal(await get(s, { universe: 'harbor', path: 'Drafts/New World/Characters/Rin.md', scope: 'playground' }), null);
```
Call/assertion 366 -> 366:
```js
// OLD
assert.equal(await get(src(ref, mapping(WITH_BLEND)), { universe: 'blend', path }), null);
// NEW
assert.equal(await get(src(ref, mapping(WITH_BLEND)), { universe: 'blend', path, scope: 'playground' }), null);
```
Call/assertion 367 -> 367:
```js
// OLD
const own = await get(src(ref), { universe: 'harbor', path });
// NEW
const own = await get(src(ref), { universe: 'harbor', path, scope: 'playground' });
```
Assertion 349 retained, OLD == NEW:
```js
assert.equal(rin.scope, 'playground');
```
Assertion 368 retained, OLD == NEW:
```js
assert.equal(own.scope, 'playground');
```
The null assertions at350 and366 are the complete OLD/NEW expressions above:
expectation remains null. Added one separate no-scope playground-get -> null
behavior test. It is unrun and expected to expose old get behavior until the
new scope implementation lands. This migration is authorized by mos1330 under
mos1272; no check removed or weakened. Dewey checks this list in manifest review.
## 283 surface and blob choice
Inspected actual46bad7ea3: optional editor.user is present. reader's parsed
file records and index entries still discard tree oid. In owned query.mjs use
the existing bounded listTree(repo, servedCommit) to obtain exact path oid,
not HEAD and not a user-supplied revision expression. No reader/index edit.
Tradeoff: one additional bounded tree listing per get; latency unmeasured.
Recheck after rebasing to283's actual landing.
## Intended owned paths
query.mjs; broker.mjs lookup branch; tools.mjs lookup schemas/descriptions;
library query.test.mjs/query-fixture.mjs; bus library-lookups.test.mjs;
harness library-tools.test.mjs; this BUILD.md. Other files are prerequisites.
## Gate
Dewey manifest approval, whole library/bus/harness suites and every
scripts/test-*.sh on Sage gate. Before review grep all package tests for enum
pins and canon/playground pairs. Keep shared logs out; send receipts to Sage.
No test or mutant evidence claimed. Manifest/digest follows complete code.
## Implementation head (UNTESTED, sage-3658)
- query scope accepts supporting for find/search/get. get defaults canon,
mismatch null. Manuscript passes a separate two-value scope allowlist.
- get returns blob from listTree(source.repo,index.commit) after scope/universe
filtering. The same index.commit supplies the text; source HEAD is irrelevant.
- Full outgoing and incoming link lists are stably sorted by supporting,
playground,canon before combining/paging. All visible cross-scope links stay;
universe/hybrid visibility still applies. Scope metadata isn't added to links.
- Broker only adds optional scope to library.get's strict fields. No new verbs.
- Typed scope expands find/search/get only; manuscript retains its own two-value
enum. Names/M3 counts remain the row224 six/eight, no write tools added.
- New tests: book/universe/draft supporting find/search/get; defaults/mismatch;
absent supporting prefix; source HEAD advances but each scope's blob equals
served:path; 300 outgoing plus300 incoming links ordered across bounded pages,
retaining cross-scope links and dropping other-universe links; hybrid source
stays canon-only; no all/array scope; manuscript rejects supporting; broker
scope/blob forwarding; typed enums and unchanged names. All unrun.
## Additional old assertion pin (brief Gate)
harness/tests/library-tools.test.mjs:49 at23816cf28 (line49, unchanged in this head):
OLD find scope enum ['canon','playground']; NEW ['canon','playground','supporting'].
This is the exact scope-enum pin the brief directs updating. Existing six/eight
name snapshots and TYPES equality assertion are unchanged. The new manuscript
pin intentionally remains ['canon','playground']. No other two-scope test pin
was found by rg over packages/*/tests at this build's prerequisite merge.
## Proposed mutation evidence (reviewer confirms final set)
All unrun. Require assertion failures with whole-file runs and pristine restore:
M1 remove supporting from query SCOPES -> supporting lookup cases.
M2 drop get's requested-scope comparison -> default/mismatch null cases.
M3 use source HEAD for blob lookup -> served-tree/advanced-HEAD equality case.
M4 remove link rank sort -> multi-page outgoing/incoming expected order.
M5 restrict links to requested scope -> cross-scope link counts/order case.
M6 drop sees() from visible/link filtering -> second-universe/hybrid cases.
M7 allow supporting in manuscript validator -> manuscript refusal case.
M8 omit get scope from broker fields -> real broker supporting get case.
M9 widen typed manuscript enum -> typed-scope separation case.
## Inspection and pending gate
No production imports change in broker/tools, so no new sandbox closure file
or mount. query.mjs is host library code and adds existing reader.listTree;
no new package/export/copy-path file. rg found the one old find scope pin plus
the intentional new manuscript two-scope pin. Whole library/bus/harness and
shell gates remain required. CLI integration/merge context is prerequisite224/
219, not this row's source delta; any changed gate expectation goes to Sage.
Node checks, tests, mutants and elapsed-time evidence remain absent pending
CLEAR. The first test-migration commit and this implementation are distinct.
Sage sweep receipt: Della row284 builds on28346bad7ea3 plus intact224 merge;
mos1330 old-test migration separate, supporting scope/blob implementation and
fixtures authored, completely UNTESTED. No shared-log/queue write or live action.
## Current assertion anchors after implementation imports
The separate migration commit0ed4fbab9 retains its complete OLD/NEW text
above. Adding only the fs/path imports in the implementation shifts anchors:
query.test.mjs:130: `const blendCh2 = await get(src(ref, mapping(WITH_BLEND)), { universe: 'blend', path: 'Book One/Chapters/Chapter 02.md' });`
query.test.mjs:350: `const rin = await get(s, { universe: 'idea', path: 'Drafts/New World/Characters/Rin.md', scope: 'playground' });`
query.test.mjs:351: `assert.equal(rin.scope, 'playground');`
query.test.mjs:352: `assert.equal(await get(s, { universe: 'harbor', path: 'Drafts/New World/Characters/Rin.md', scope: 'playground' }), null);`
query.test.mjs:368: `assert.equal(await get(src(ref, mapping(WITH_BLEND)), { universe: 'blend', path, scope: 'playground' }), null);`
query.test.mjs:369: `const own = await get(src(ref), { universe: 'harbor', path, scope: 'playground' });`
query.test.mjs:370: `assert.equal(own.scope, 'playground');`
No result/null assertion changed; scope arguments carry the explicit opt-in.
## Dewey dewey-0941 static review — round2
Static scope fc05bcbc3..47db04eba CLEAN; not a final verdict or test evidence.
M1-M9 accepted as the final set. Optional M10 not added to this gate.
N2 taken: keep the existing canon-path supporting-scope mismatch assertion,
and ADD get(Book One/Support/Notes/Helper.md,scope:supporting) -> null under
the default mapping with no supporting prefix. The supporting-positive test
already returns this same path under withSupporting, so the added probe
pins the missing-prefix case directly. No assertion removed or weakened;
mos1330's separate migration commit and its retained assertions unchanged.
N1 proposed DEFERRED/follow-up for Sage: retain each tree oid in reader/index
entries so get can return blob without cat-file/whole ls-tree -r -l per page.
Current get's result is pinned correctly, but per-page cost grows with the
library. No performance measurement yet. This optimization needs reader/index
ownership and separate acceptance/performance evidence; do not silently expand
284's manifest or change its served-snapshot contract for it.
No Node, tests, mutants or syntax checks run in this round; hold still applies.
## sage-4281 — rebase onto landed 224/283, 2026-10-24
New worktree /mnt/storage/scratch/della-row284-r2, branch della/row284-r2,
base refactor 95d4991d20a4ef291c824d37c886eaeaa9be7062. Cherry-picked only
284-owned 0ed4fbab9, 47db04eba, 5d587a552. Range-diff: all three equal, no
conflicts. The separate mos-1330 migration remains its own commit. No 216,
224 or 283 prerequisite commits copied. Old della/row284 remains unchanged.
mos-1584 fixture check: new tests add no businessDoc() with a library. The
harness role() uses landed 224's gitea reference for bean; the library-enabled
CLI chief fixture fix is also upstream. New broker test uses the direct
Broker fixture (no businessDoc/bootConfig), not a new validated organization.
No new made-up credential values are introduced in this row; existing short
fixture references are reused, so no new credential reaches 24 characters.
No credential values were inspected or printed. No fixture edit necessary.
No Node, npm, syntax check, service, test, mutant or install run in this worktree.
No canonical node_modules link. Dependency installation remains a separately
cleared local npm ci if needed; tests wait for Sage CLEAR. For future runs use
shell mktemp -d /mnt/storage/scratch/tmp/XXXXXX and per-child absolute nice 19.
Shared logs unchanged; Sage owns landing receipts.
## Import-derived whole-file run plan (mos-1612)
Walked relative static import/re-export edges and literal dynamic imports
transitively, from each packages/*/tests/**/*.test.mjs to changed query.mjs,
broker.mjs, tools.mjs or query-fixture.mjs. This follows source import edges,
not textual mentions. Example CLI/thread-launch -> Broker; CLI/helpers ->
Broker; webui/serve -> webui/bus -> Broker; harness/bundle -> tools.
Evidence generator and per-test import chains are in
/mnt/storage/scratch/della-row284-r2-evidence/import-run-list.py and .json.
The import-derived set has 260 files; union with the brief's whole library,
bus and harness suites adds files that use subprocesses/source reads instead
of direct imports. Excluded case1-accept.test.mjs by sage-4281. Any dynamic
nonliteral loading or external shell gate is not claimed covered by import
tracing; mandatory package suites and Sage's full script gate remain required.
First focused whole files: library/query.test.mjs; bus/library-lookups.test.mjs;
harness/library-tools.test.mjs. Then the full import-derived/mandatory union
below, each file whole (duplicates need not repeat without a change). This
is a proposed run list for Sage's CLEAR, not authorization to run now.
M1-M9 retain Dewey's agreed specification above; no mutant executed.
Whole-file union:
```text
packages/bus/tests/access-revoke.test.mjs
packages/bus/tests/account-migration.test.mjs
packages/bus/tests/address.test.mjs
packages/bus/tests/agents.test.mjs
packages/bus/tests/approval-binding.test.mjs
packages/bus/tests/broker.test.mjs
packages/bus/tests/business.test.mjs
packages/bus/tests/channel-proof.test.mjs
packages/bus/tests/chief-of-staff.test.mjs
packages/bus/tests/citation-availability.test.mjs
packages/bus/tests/citation-guard.test.mjs
packages/bus/tests/citation-runtime.test.mjs
packages/bus/tests/comment-cursors.test.mjs
packages/bus/tests/comment-migration.test.mjs
packages/bus/tests/console-decide.test.mjs
packages/bus/tests/creative.test.mjs
packages/bus/tests/credential-claim.test.mjs
packages/bus/tests/credential-status.test.mjs
packages/bus/tests/credential-store.test.mjs
packages/bus/tests/credential-verbs.test.mjs
packages/bus/tests/credentials.test.mjs
packages/bus/tests/csuite-messaging.test.mjs
packages/bus/tests/daily-quota-runtime.test.mjs
packages/bus/tests/decision-close.test.mjs
packages/bus/tests/decision-route.test.mjs
packages/bus/tests/decisions.test.mjs
packages/bus/tests/end-launch.test.mjs
packages/bus/tests/fire-revokes-grants.test.mjs
packages/bus/tests/gitea-grant-docker.test.mjs
packages/bus/tests/gitea-grant.test.mjs
packages/bus/tests/gitea-migration.test.mjs
packages/bus/tests/grant-enroll.test.mjs
packages/bus/tests/grant-executor.test.mjs
packages/bus/tests/grant-host.test.mjs
packages/bus/tests/grant-migration.test.mjs
packages/bus/tests/grant-scope-runtime.test.mjs
packages/bus/tests/grant-scope.test.mjs
packages/bus/tests/hard-waits.test.mjs
packages/bus/tests/host-run.test.mjs
packages/bus/tests/host-tools.test.mjs
packages/bus/tests/human.test.mjs
packages/bus/tests/instances-verb.test.mjs
packages/bus/tests/interpreter.test.mjs
packages/bus/tests/land.test.mjs
packages/bus/tests/launch-notice.test.mjs
packages/bus/tests/launcher-released.test.mjs
packages/bus/tests/library-credential.test.mjs
packages/bus/tests/library-lookups.test.mjs
packages/bus/tests/library-sync.test.mjs
packages/bus/tests/library.test.mjs
packages/bus/tests/lifecycle-revoke.test.mjs
packages/bus/tests/lifecycle-verbs.test.mjs
packages/bus/tests/limit-checks.test.mjs
packages/bus/tests/limit-stop.test.mjs
packages/bus/tests/limits-runtime.test.mjs
packages/bus/tests/limits.test.mjs
packages/bus/tests/message-citation.test.mjs
packages/bus/tests/message-filter.test.mjs
packages/bus/tests/messages.test.mjs
packages/bus/tests/messaging.test.mjs
packages/bus/tests/name-migration.test.mjs
packages/bus/tests/names.test.mjs
packages/bus/tests/peer-transport.test.mjs
packages/bus/tests/peercred.test.mjs
packages/bus/tests/plugins-verb.test.mjs
packages/bus/tests/principal.test.mjs
packages/bus/tests/process.test.mjs
packages/bus/tests/processing-runtime.test.mjs
packages/bus/tests/processing-timeout.test.mjs
packages/bus/tests/processing-web.test.mjs
packages/bus/tests/processing.test.mjs
packages/bus/tests/project-await.test.mjs
packages/bus/tests/project-files.test.mjs
packages/bus/tests/project-runtime.test.mjs
packages/bus/tests/publish.test.mjs
packages/bus/tests/reload.test.mjs
packages/bus/tests/replies.test.mjs
packages/bus/tests/requirements.test.mjs
packages/bus/tests/review.test.mjs
packages/bus/tests/revoke-window.test.mjs
packages/bus/tests/room-check.test.mjs
packages/bus/tests/rooms.test.mjs
packages/bus/tests/routes-verb.test.mjs
packages/bus/tests/schema.test.mjs
packages/bus/tests/session-clear.test.mjs
packages/bus/tests/session-compactions.test.mjs
packages/bus/tests/sessions.test.mjs
packages/bus/tests/single-use.test.mjs
packages/bus/tests/spec-migration.test.mjs
packages/bus/tests/spec-review.test.mjs
packages/bus/tests/spec-socket.test.mjs
packages/bus/tests/spec.test.mjs
packages/bus/tests/staff-request.test.mjs
packages/bus/tests/state.test.mjs
packages/bus/tests/store.test.mjs
packages/bus/tests/task-page.test.mjs
packages/bus/tests/task-read.test.mjs
packages/bus/tests/tasks.test.mjs
packages/bus/tests/tester-threads.test.mjs
packages/bus/tests/tester-writes.test.mjs
packages/bus/tests/tester.test.mjs
packages/bus/tests/thread-claims.test.mjs
packages/bus/tests/thread-migration.test.mjs
packages/bus/tests/thread-shares.test.mjs
packages/bus/tests/threads.test.mjs
packages/bus/tests/transport.test.mjs
packages/bus/tests/usage-broker.test.mjs
packages/bus/tests/usage-migration.test.mjs
packages/bus/tests/usage-runtime.test.mjs
packages/bus/tests/usage.test.mjs
packages/bus/tests/user-principal.test.mjs
packages/bus/tests/viewer.test.mjs
packages/bus/tests/web.test.mjs
packages/bus/tests/workflow-roles.test.mjs
packages/business/tests/case1-business-file.test.mjs
packages/business/tests/launch-settings.test.mjs
packages/cli/tests/access-boot.test.mjs
packages/cli/tests/access.test.mjs
packages/cli/tests/app.test.mjs
packages/cli/tests/boot-status.test.mjs
packages/cli/tests/case1-hostcheck.test.mjs
packages/cli/tests/case2-install.test.mjs
packages/cli/tests/case2-persona-import.test.mjs
packages/cli/tests/case2-unit.test.mjs
packages/cli/tests/channel-cli.test.mjs
packages/cli/tests/channel-recovery.test.mjs
packages/cli/tests/cli.test.mjs
packages/cli/tests/compactions-launch.test.mjs
packages/cli/tests/config.test.mjs
packages/cli/tests/credentials.test.mjs
packages/cli/tests/federation-acceptance.test.mjs
packages/cli/tests/follow.test.mjs
packages/cli/tests/git-socket.test.mjs
packages/cli/tests/grants-scope.test.mjs
packages/cli/tests/grants.test.mjs
packages/cli/tests/host.test.mjs
packages/cli/tests/hosts.test.mjs
packages/cli/tests/idle-stop-race.test.mjs
packages/cli/tests/instances.test.mjs
packages/cli/tests/launch-account.test.mjs
packages/cli/tests/launch-limit-checks.test.mjs
packages/cli/tests/launch-limits.test.mjs
packages/cli/tests/launch-routes.test.mjs
packages/cli/tests/launcher.test.mjs
packages/cli/tests/lifecycle.test.mjs
packages/cli/tests/limits-tokens.test.mjs
packages/cli/tests/limits.test.mjs
packages/cli/tests/mark-read.test.mjs
packages/cli/tests/names.test.mjs
packages/cli/tests/notifier.test.mjs
packages/cli/tests/optional-tracker.test.mjs
packages/cli/tests/other-tree.test.mjs
packages/cli/tests/processing-cli.test.mjs
packages/cli/tests/project-name-repo.test.mjs
packages/cli/tests/project.test.mjs
packages/cli/tests/publish-socket.test.mjs
packages/cli/tests/reply-limits.test.mjs
packages/cli/tests/revoke-window.test.mjs
packages/cli/tests/session-clear.test.mjs
packages/cli/tests/session-cli.test.mjs
packages/cli/tests/session-launch.test.mjs
packages/cli/tests/stack-copy.test.mjs
packages/cli/tests/stack-instances.test.mjs
packages/cli/tests/tester-http.test.mjs
packages/cli/tests/tester-reads.test.mjs
packages/cli/tests/tester-threads.test.mjs
packages/cli/tests/tester.test.mjs
packages/cli/tests/thread-cli.test.mjs
packages/cli/tests/thread-launch.test.mjs
packages/cli/tests/thread-revoke.test.mjs
packages/cli/tests/trackers-boot.test.mjs
packages/cli/tests/transport.test.mjs
packages/cli/tests/usage.test.mjs
packages/cli/tests/verbs.test.mjs
packages/harness/tests/bundle.test.mjs
packages/harness/tests/citation-runner.test.mjs
packages/harness/tests/claude-gate.test.mjs
packages/harness/tests/claude-session.test.mjs
packages/harness/tests/creative.test.mjs
packages/harness/tests/gate.test.mjs
packages/harness/tests/git-tools.test.mjs
packages/harness/tests/library-tools.test.mjs
packages/harness/tests/mcp-server.test.mjs
packages/harness/tests/pi-session.test.mjs
packages/harness/tests/raise-domain.test.mjs
packages/harness/tests/runner.test.mjs
packages/harness/tests/skills.test.mjs
packages/harness/tests/spec-tools.test.mjs
packages/harness/tests/tools.test.mjs
packages/library/tests/guard.test.mjs
packages/library/tests/index-build.test.mjs
packages/library/tests/links.test.mjs
packages/library/tests/mapping.test.mjs
packages/library/tests/mirror.test.mjs
packages/library/tests/query.test.mjs
packages/library/tests/reader.test.mjs
packages/library/tests/render.test.mjs
packages/library/tests/scope.test.mjs
packages/library/tests/supporting.test.mjs
packages/library/tests/survey.test.mjs
packages/library/tests/sync.test.mjs
packages/processing-control/tests/task.test.mjs
packages/seat/tests/sandbox.test.mjs
packages/seat/tests/session.test.mjs
packages/tasks/tests/adapter.test.mjs
packages/tasks/tests/comment-restart.test.mjs
packages/tasks/tests/fields.test.mjs
packages/tasks/tests/processing.test.mjs
packages/tasks/tests/shapes.test.mjs
packages/tasks/tests/startup.test.mjs
packages/tasks/tests/sync.test.mjs
packages/tasks/tests/tree.test.mjs
packages/tasks/tests/verbs.test.mjs
packages/webui/tests/agents-browser.test.mjs
packages/webui/tests/agents.test.mjs
packages/webui/tests/assistant.test.mjs
packages/webui/tests/board-held.test.mjs
packages/webui/tests/browser-edge.test.mjs
packages/webui/tests/browser.test.mjs
packages/webui/tests/bus-browser.test.mjs
packages/webui/tests/bus.test.mjs
packages/webui/tests/channel-chat.test.mjs
packages/webui/tests/chat-browser.test.mjs
packages/webui/tests/chat-instances.test.mjs
packages/webui/tests/chat-replies-browser.test.mjs
packages/webui/tests/chat-sessions-access.test.mjs
packages/webui/tests/chat.test.mjs
packages/webui/tests/conversation.test.mjs
packages/webui/tests/decide-browser.test.mjs
packages/webui/tests/decide-sso.test.mjs
packages/webui/tests/decision-http.test.mjs
packages/webui/tests/discord.test.mjs
packages/webui/tests/docs-browser.test.mjs
packages/webui/tests/editor-browser.test.mjs
packages/webui/tests/editor.test.mjs
packages/webui/tests/granted-user.test.mjs
packages/webui/tests/history-return-flow.test.mjs
packages/webui/tests/instances-browser.test.mjs
packages/webui/tests/instances.test.mjs
packages/webui/tests/library-cli.test.mjs
packages/webui/tests/library-routes.test.mjs
packages/webui/tests/library-status.test.mjs
packages/webui/tests/limits-browser.test.mjs
packages/webui/tests/limits-route.test.mjs
packages/webui/tests/messages.test.mjs
packages/webui/tests/pinned-copy.test.mjs
packages/webui/tests/preview.test.mjs
packages/webui/tests/processing-browser.test.mjs
packages/webui/tests/processing.test.mjs
packages/webui/tests/project-file.test.mjs
packages/webui/tests/project-name-repo.test.mjs
packages/webui/tests/proof-cli.test.mjs
packages/webui/tests/proof.test.mjs
packages/webui/tests/reads.test.mjs
packages/webui/tests/relaunch.test.mjs
packages/webui/tests/return-flow.test.mjs
packages/webui/tests/room-browser.test.mjs
packages/webui/tests/room-http.test.mjs
packages/webui/tests/routes-browser.test.mjs
packages/webui/tests/routes.test.mjs
packages/webui/tests/send-browser.test.mjs
packages/webui/tests/send.test.mjs
packages/webui/tests/serve.test.mjs
packages/webui/tests/settings-form.test.mjs
packages/webui/tests/settings-write.test.mjs
packages/webui/tests/shell.test.mjs
packages/webui/tests/sso-browser.test.mjs
packages/webui/tests/sso.test.mjs
packages/webui/tests/tester-browser.test.mjs
packages/webui/tests/tester-cli.test.mjs
packages/webui/tests/tester-listener.test.mjs
packages/webui/tests/tester-socket.test.mjs
packages/webui/tests/thread-claims-browser.test.mjs
packages/webui/tests/thread-claims.test.mjs
packages/webui/tests/thread-sharing.test.mjs
packages/webui/tests/usage-browser.test.mjs
packages/webui/tests/usage.test.mjs
packages/webui/tests/user-option-swap.test.mjs
packages/webui/tests/views.test.mjs
```
Queue next on 2026-10-24 names row284 but reports the whole brief differs
from its queue pin and asks the lead to re-pin. Sage-4281 names 5e8a720b and
says the section is unchanged; awaiting lead resolution of the queue pin
before the start move. No queue policy refusal is bypassed.
## sage-4289 lane B — completed verification, 2026-10-24
Current reviewer is Webby under mos-1614 / sage-4284, replacing Dewey.
Dewey's earlier static readings and agreed M1-M9 remain historical evidence.
Row284 claimed in-progress rev4038, op della-284-start-1 after lead re-pin.
Candidate tested: 2f1a6bd93e5fc602c46ee5f770d19adecde5fc11. No code,
fixture or assertion change during verification. Local npm ci used the exact
lockfile, ignore-scripts/no-audit/no-fund, rc0,128 packages; no canonical
node_modules link. Installer receipt and log are in the evidence directory.
Run list sent in full to Sage before starting (della-0058); source is the
import walk documented above, union mandatory package suites,279 whole files.
Three targeted files first, then M1-M9 with byte-exact restore after each,
then remaining276 whole files. Already-passed unchanged targeted files are
not repeated. Every Node invocation used fresh shell gXXX TMPDIR,29 bytes,
absolute nice19 set in the child before exec, timeout -k10 (900-second cap,
shortened automatically near23:45Z hardstop). All timeout nice observations
were19. Normal run total1067.962s; mutant total19.485s. Completed22:34Z.
| Package | Whole files | Pass | Fail | Skip |
| --- | ---: | ---: | ---: | ---: |
| bus | 114 | 1012 | 0 | 0 |
| business | 2 | 25 | 0 | 0 |
| cli | 58 | 610 | 0 | 1 |
| harness | 15 | 177 | 0 | 0 |
| library | 12 | 156 | 0 | 0 |
| processing-control | 1 | 7 | 0 | 0 |
| seat | 2 | 23 | 0 | 0 |
| tasks | 9 | 95 | 0 | 0 |
| webui | 66 | 396 | 0 | 0 |
Totals:279 whole files,2501 passed,0 failed,1 skipped,0 cancelled.
Sole skip: packages/cli/tests/federation-acceptance.test.mjs,
FED R7 scratch two-instance acceptance, directs running
scripts/test-federation-acceptance.sh. That acceptance was not exercised;
Sage's full shell landing gate is separate. case1-accept.test.mjs excluded
as ordered. No unlisted run or extra mutant. Targeted counts: query34/34,
broker12/12,typed tools5/5,zero skips.
M1-M9 all killed with exit1, no syntax/setup failures. M1 and M8 are expected
behavior errors when a required capability is removed; the others fail
assertions/refusal checks. Killing named tests are recorded below. Each
restored original bytes in finally; git diff --stat and status --porcelain
empty after every mutant and again after all normal runs, before receipts.
No extra post-restore test rerun.
| Mutant | Killing behavior oracle | Restored |
| --- | --- | --- |
| M1 | supporting find/search/get | byte-exact, clean |
| M2 | get without scope returns null | byte-exact, clean |
| M3 | each get blob equals its served tree object | byte-exact, clean |
| M4 | full outgoing and incoming links stay in scope order | byte-exact, clean |
| M5 | full outgoing and incoming links stay in scope order | byte-exact, clean |
| M6 | full outgoing and incoming links stay in scope order | byte-exact, clean |
| M7 | manuscript still refuses supporting | byte-exact, clean |
| M8 | broker forwards supporting scope | byte-exact, clean |
| M9 | scope schemas expand only find/search/get | byte-exact, clean |
Post-run sweep: current OS user's executable names node/nodejs/chromium/
chrome, matching cwd or argv paths under this worktree or any run TMPDIR.
Checked289 unique roots;0 matching live processes. No signals sent, no
other seat's process inspected beyond process identity/path matching.
No full argv, environment or credential values printed. Slot returned to
Sage in della-0059 at22:34Z. No further tests.
Evidence: /mnt/storage/scratch/della-row284-r2-evidence/run-4289 contains
install receipt, exact commands, stdout/stderr per whole-file run, mutant
edits/restores, summaries and hashed logs. The following plain-text ledger
freezes commands and results; raw logs remain available for reviewer checks.
Each normal test path below was run whole; hashes are SHA256 of raw logs.
```text
{"label":"target-query","command":["timeout","-k","10","900","node","--test","packages/library/tests/query.test.mjs"],"TMPDIR":"/mnt/storage/scratch/tmp/gUgw","start_nice":19,"observed_timeout_nice":19,"exit":0,"seconds":2.889,"mutant":false,"tests":34,"pass":34,"fail":0,"cancelled":0,"skipped":0,"todo":0,"log_sha256":"dc2575e2c597b099c94b7cf254b0cb4d009a0ddb14c0cbd572f93e5ad15f8f72"}
{"label":"target-broker","command":["timeout","-k","10","900","node","--test","packages/bus/tests/library-lookups.test.mjs"],"TMPDIR":"/mnt/storage/scratch/tmp/gDd2","start_nice":19,"observed_timeout_nice":19,"exit":0,"seconds":1.431,"mutant":false,"tests":12,"pass":12,"fail":0,"cancelled":0,"skipped":0,"todo":0,"log_sha256":"6729e92f2241a2c2d0b725cb9c6ed4fe4d8b50352fd179cf30f905182eac9160"}
{"label":"target-tools","command":["timeout","-k","10","900","node","--test","packages/harness/tests/library-tools.test.mjs"],"TMPDIR":"/mnt/storage/scratch/tmp/gmPG","start_nice":19,"observed_timeout_nice":19,"exit":0,"seconds":0.169,"mutant":false,"tests":5,"pass":5,"fail":0,"cancelled":0,"skipped":0,"todo":0,"log_sha256":"532de351eef39478011d7f84b3b506711c3bafc71676716f623fa29573fc4dec"}
{"label":"M1","command":["timeout","-k","10","900","node","--test","packages/library/tests/query.test.mjs"],"TMPDIR":"/mnt/storage/scratch/tmp/gIGt","start_nice":19,"observed_timeout_nice":19,"exit":1,"seconds":2.683,"mutant":true,"tests":34,"pass":30,"fail":4,"cancelled":0,"skipped":0,"todo":0,"log_sha256":"ec36434e918ee16c7639ec0ec4259be66e0381e2684bac7c6ee5755756bded78"}
{"label":"M2","command":["timeout","-k","10","900","node","--test","packages/library/tests/query.test.mjs"],"TMPDIR":"/mnt/storage/scratch/tmp/geid","start_nice":19,"observed_timeout_nice":19,"exit":1,"seconds":2.587,"mutant":true,"tests":34,"pass":31,"fail":3,"cancelled":0,"skipped":0,"todo":0,"log_sha256":"e08eadfd606fc685faed21edb06b1d7d00fd11e7942051fddc0b48b83c6bef90"}
{"label":"M3","command":["timeout","-k","10","900","node","--test","packages/library/tests/query.test.mjs"],"TMPDIR":"/mnt/storage/scratch/tmp/gs4j","start_nice":19,"observed_timeout_nice":19,"exit":1,"seconds":2.538,"mutant":true,"tests":34,"pass":33,"fail":1,"cancelled":0,"skipped":0,"todo":0,"log_sha256":"8abb79847deb7a05940c7b48d5407dde6baaf394fef31334f6ac266d65b3c02f"}
{"label":"M4","command":["timeout","-k","10","900","node","--test","packages/library/tests/query.test.mjs"],"TMPDIR":"/mnt/storage/scratch/tmp/gvmZ","start_nice":19,"observed_timeout_nice":19,"exit":1,"seconds":2.674,"mutant":true,"tests":34,"pass":33,"fail":1,"cancelled":0,"skipped":0,"todo":0,"log_sha256":"8b8386b876fb85e12335be27216dc5c6a8d5c311c03db0bf49ffbe0639a8693c"}
{"label":"M5","command":["timeout","-k","10","900","node","--test","packages/library/tests/query.test.mjs"],"TMPDIR":"/mnt/storage/scratch/tmp/gG6o","start_nice":19,"observed_timeout_nice":19,"exit":1,"seconds":2.633,"mutant":true,"tests":34,"pass":32,"fail":2,"cancelled":0,"skipped":0,"todo":0,"log_sha256":"08ff976a29e42f593dce3262e596e75c43da2ae2e3dfe48945989fe98c3061cf"}
{"label":"M6","command":["timeout","-k","10","900","node","--test","packages/library/tests/query.test.mjs"],"TMPDIR":"/mnt/storage/scratch/tmp/gWpu","start_nice":19,"observed_timeout_nice":19,"exit":1,"seconds":2.347,"mutant":true,"tests":34,"pass":23,"fail":11,"cancelled":0,"skipped":0,"todo":0,"log_sha256":"4cd149d0f74e402d2294c2d9ef05aac440ec4c3dc379acad7b9624b7402528bb"}
{"label":"M7","command":["timeout","-k","10","900","node","--test","packages/library/tests/query.test.mjs"],"TMPDIR":"/mnt/storage/scratch/tmp/g65B","start_nice":19,"observed_timeout_nice":19,"exit":1,"seconds":2.403,"mutant":true,"tests":34,"pass":33,"fail":1,"cancelled":0,"skipped":0,"todo":0,"log_sha256":"541100f0937dd2e592ed9bee7c48f27ae4e13634d3c0dcf53fc3e8b2f632a000"}
{"label":"M8","command":["timeout","-k","10","900","node","--test","packages/bus/tests/library-lookups.test.mjs"],"TMPDIR":"/mnt/storage/scratch/tmp/gtX5","start_nice":19,"observed_timeout_nice":19,"exit":1,"seconds":1.421,"mutant":true,"tests":12,"pass":11,"fail":1,"cancelled":0,"skipped":0,"todo":0,"log_sha256":"2adc93e5aaa663621caa9fd762faded3a975f62de918d7c46a1b5b0469001955"}
{"label":"M9","command":["timeout","-k","10","900","node","--test","packages/harness/tests/library-tools.test.mjs"],"TMPDIR":"/mnt/storage/scratch/tmp/gMtM","start_nice":19,"observed_timeout_nice":19,"exit":1,"seconds":0.199,"mutant":true,"tests":5,"pass":4,"fail":1,"cancelled":0,"skipped":0,"todo":0,"log_sha256":"da8c8c2094732b36526dc803e567d4bce18ff964bf70ff406e1981bb7dd313de"}
{"label":"import-001","command":["timeout","-k","10","900","node","--test","packages/bus/tests/access-revoke.test.mjs"],"TMPDIR":"/mnt/storage/scratch/tmp/gGcs","start_nice":19,"observed_timeout_nice":19,"exit":0,"seconds":0.728,"mutant":false,"tests":10,"pass":10,"fail":0,"cancelled":0,"skipped":0,"todo":0,"log_sha256":"ee78177b9385025df0b0ce154e9f92f3d84a01920da94eb2b95df7aee533721a"}
{"label":"import-002","command":["timeout","-k","10","900","node","--test","packages/bus/tests/account-migration.test.mjs"],"TMPDIR":"/mnt/storage/scratch/tmp/giJX","start_nice":19,"observed_timeout_nice":19,"exit":0,"seconds":0.456,"mutant":false,"tests":3,"pass":3,"fail":0,"cancelled":0,"skipped":0,"todo":0,"log_sha256":"04456ac702b53d59e127eb7ae2d9828b79acbbcc99c8845cc226e88e4569ffb2"}
{"label":"import-003","command":["timeout","-k","10","900","node","--test","packages/bus/tests/address.test.mjs"],"TMPDIR":"/mnt/storage/scratch/tmp/gLUL","start_nice":19,"observed_timeout_nice":19,"exit":0,"seconds":0.102,"mutant":false,"tests":15,"pass":15,"fail":0,"cancelled":0,"skipped":0,"todo":0,"log_sha256":"c4ff31db588ac88b6492416d3850b123492e29dbd7c6b2aa283dd736e6caa8cc"}
{"label":"import-004","command":["timeout","-k","10","900","node","--test","packages/bus/tests/agents.test.mjs"],"TMPDIR":"/mnt/storage/scratch/tmp/gDuh","start_nice":19,"observed_timeout_nice":19,"exit":0,"seconds":0.493,"mutant":false,"tests":11,"pass":11,"fail":0,"cancelled":0,"skipped":0,"todo":0,"log_sha256":"424001894b865c63405976f7facc9a9c93c2ac018b6c97f17ebf87001d071d52"}
{"label":"import-005","command":["timeout","-k","10","900","node","--test","packages/bus/tests/approval-binding.test.mjs"],"TMPDIR":"/mnt/storage/scratch/tmp/gsfL","start_nice":19,"observed_timeout_nice":19,"exit":0,"seconds":0.305,"mutant":false,"tests":6,"pass":6,"fail":0,"cancelled":0,"skipped":0,"todo":0,"log_sha256":"f8029477d12d0acbd774ec6fa82d9af47ae93c575e0ada16c31130248280431d"}
{"label":"import-006","command":["timeout","-k","10","900","node","--test","packages/bus/tests/broker.test.mjs"],"TMPDIR":"/mnt/storage/scratch/tmp/gwdO","start_nice":19,"observed_timeout_nice":19,"exit":0,"seconds":0.532,"mutant":false,"tests":16,"pass":16,"fail":0,"cancelled":0,"skipped":0,"todo":0,"log_sha256":"b02528f749bc8367149451f2118cf612f7d46ee6269ad05d9a894d6ef893b727"}
{"label":"import-007","command":["timeout","-k","10","900","node","--test","packages/bus/tests/business.test.mjs"],"TMPDIR":"/mnt/storage/scratch/tmp/gX5H","start_nice":19,"observed_timeout_nice":19,"exit":0,"seconds":0.102,"mutant":false,"tests":1,"pass":1,"fail":0,"cancelled":0,"skipped":0,"todo":0,"log_sha256":"3246c77a5431fda5ee0ef798b9850ee8bf05297c7afa272fc88d148582dc14d8"}
{"label":"import-008","command":["timeout","-k","10","900","node","--test","packages/bus/tests/channel-proof.test.mjs"],"TMPDIR":"/mnt/storage/scratch/tmp/g0t2","start_nice":19,"observed_timeout_nice":19,"exit":0,"seconds":0.644,"mutant":false,"tests":2,"pass":2,"fail":0,"cancelled":0,"skipped":0,"todo":0,"log_sha256":"d3dc7af8bd80c5cd391a42468cec38fa2cdf4d7bb8d758e84094a255cf2e8626"}
{"label":"import-009","command":["timeout","-k","10","900","node","--test","packages/bus/tests/chief-of-staff.test.mjs"],"TMPDIR":"/mnt/storage/scratch/tmp/gAXk","start_nice":19,"observed_timeout_nice":19,"exit":0,"seconds":2.744,"mutant":false,"tests":42,"pass":42,"fail":0,"cancelled":0,"skipped":0,"todo":0,"log_sha256":"6e355388daee3b3cfe0251abd3f1f1fc56744e26354b8489d8113e4cb4033847"}
{"label":"import-010","command":["timeout","-k","10","900","node","--test","packages/bus/tests/citation-availability.test.mjs"],"TMPDIR":"/mnt/storage/scratch/tmp/gNQV","start_nice":19,"observed_timeout_nice":19,"exit":0,"seconds":5.391,"mutant":false,"tests":3,"pass":3,"fail":0,"cancelled":0,"skipped":0,"todo":0,"log_sha256":"fe32f9423c7317c53d0946d6422fb4ea58bcbb0795730b80cba7b5daae47b8ef"}
{"label":"import-011","command":["timeout","-k","10","900","node","--test","packages/bus/tests/citation-guard.test.mjs"],"TMPDIR":"/mnt/storage/scratch/tmp/gilj","start_nice":19,"observed_timeout_nice":19,"exit":0,"seconds":1.258,"mutant":false,"tests":13,"pass":13,"fail":0,"cancelled":0,"skipped":0,"todo":0,"log_sha256":"1f6c35c535a407a121ec4ee9bb4e9acdc12b5e16e3f8ccf75bcb94a66511b820"}
{"label":"import-012","command":["timeout","-k","10","900","node","--test","packages/bus/tests/citation-runtime.test.mjs"],"TMPDIR":"/mnt/storage/scratch/tmp/gjTW","start_nice":19,"observed_timeout_nice":19,"exit":0,"seconds":0.331,"mutant":false,"tests":1,"pass":1,"fail":0,"cancelled":0,"skipped":0,"todo":0,"log_sha256":"9cb0ab5a64b667f563c827239c242ee77475acb8744e515d8472d839d7190e2e"}
{"label":"import-013","command":["timeout","-k","10","900","node","--test","packages/bus/tests/comment-cursors.test.mjs"],"TMPDIR":"/mnt/storage/scratch/tmp/gQvO","start_nice":19,"observed_timeout_nice":19,"exit":0,"seconds":0.162,"mutant":false,"tests":2,"pass":2,"fail":0,"cancelled":0,"skipped":0,"todo":0,"log_sha256":"898a7bcc0f68f8a54748a9da6c75b702738b07230a48ff4f939206b1c2dccfdf"}
{"label":"import-014","command":["timeout","-k","10","900","node","--test","packages/bus/tests/comment-migration.test.mjs"],"TMPDIR":"/mnt/storage/scratch/tmp/g4nL","start_nice":19,"observed_timeout_nice":19,"exit":0,"seconds":0.609,"mutant":false,"tests":5,"pass":5,"fail":0,"cancelled":0,"skipped":0,"todo":0,"log_sha256":"ade667dca625e36750417b46f3156be89ec5d40fff78511722c3fa671f3bcd25"}
{"label":"import-015","command":["timeout","-k","10","900","node","--test","packages/bus/tests/console-decide.test.mjs"],"TMPDIR":"/mnt/storage/scratch/tmp/girM","start_nice":19,"observed_timeout_nice":19,"exit":0,"seconds":0.893,"mutant":false,"tests":12,"pass":12,"fail":0,"cancelled":0,"skipped":0,"todo":0,"log_sha256":"11a0ac7147f0164542442a9fc6e9224e5d36305cd3e999fc03733e289dfc8f4e"}
{"label":"import-016","command":["timeout","-k","10","900","node","--test","packages/bus/tests/creative.test.mjs"],"TMPDIR":"/mnt/storage/scratch/tmp/gXAL","start_nice":19,"observed_timeout_nice":19,"exit":0,"seconds":0.447,"mutant":false,"tests":4,"pass":4,"fail":0,"cancelled":0,"skipped":0,"todo":0,"log_sha256":"13b107465c7ddecb4fba573b58d4ff42f8807221d1956325b2a0e54eec4581d2"}
{"label":"import-017","command":["timeout","-k","10","900","node","--test","packages/bus/tests/credential-claim.test.mjs"],"TMPDIR":"/mnt/storage/scratch/tmp/g8Cy","start_nice":19,"observed_timeout_nice":19,"exit":0,"seconds":0.157,"mutant":false,"tests":8,"pass":8,"fail":0,"cancelled":0,"skipped":0,"todo":0,"log_sha256":"a66956b56367cb240de84571fc79e4297bf4bf49c06ce92ac3dd9c5d155b26a5"}
{"label":"import-018","command":["timeout","-k","10","900","node","--test","packages/bus/tests/credential-status.test.mjs"],"TMPDIR":"/mnt/storage/scratch/tmp/gEDT","start_nice":19,"observed_timeout_nice":19,"exit":0,"seconds":0.401,"mutant":false,"tests":4,"pass":4,"fail":0,"cancelled":0,"skipped":0,"todo":0,"log_sha256":"8812b6b0962c7b15e437a9c9b5741d502ab81001d9e17c9b5b14729db8f6033d"}
{"label":"import-019","command":["timeout","-k","10","900","node","--test","packages/bus/tests/credential-store.test.mjs"],"TMPDIR":"/mnt/storage/scratch/tmp/gPQx","start_nice":19,"observed_timeout_nice":19,"exit":0,"seconds":0.158,"mutant":false,"tests":12,"pass":12,"fail":0,"cancelled":0,"skipped":0,"todo":0,"log_sha256":"2ead3ac9725024e493121f7aaa8e7cf71a35616ffd57c901d3f425ac50b4a8b7"}
{"label":"import-020","command":["timeout","-k","10","900","node","--test","packages/bus/tests/credential-verbs.test.mjs"],"TMPDIR":"/mnt/storage/scratch/tmp/g1Wz","start_nice":19,"observed_timeout_nice":19,"exit":0,"seconds":0.328,"mutant":false,"tests":2,"pass":2,"fail":0,"cancelled":0,"skipped":0,"todo":0,"log_sha256":"bf447a8e6566816992f48a92e6821441ec1acd86960251aeee4b03b6e4b6dee3"}
{"label":"import-021","command":["timeout","-k","10","900","node","--test","packages/bus/tests/credentials.test.mjs"],"TMPDIR":"/mnt/storage/scratch/tmp/grcF","start_nice":19,"observed_timeout_nice":19,"exit":0,"seconds":0.105,"mutant":false,"tests":5,"pass":5,"fail":0,"cancelled":0,"skipped":0,"todo":0,"log_sha256":"f3f807e470c8ec40f6c1aea188308a1ca183c8f0e98a0eaea996c96577ab471a"}
{"label":"import-022","command":["timeout","-k","10","900","node","--test","packages/bus/tests/csuite-messaging.test.mjs"],"TMPDIR":"/mnt/storage/scratch/tmp/gFHk","start_nice":19,"observed_timeout_nice":19,"exit":0,"seconds":0.779,"mutant":false,"tests":16,"pass":16,"fail":0,"cancelled":0,"skipped":0,"todo":0,"log_sha256":"1034823ca51c040db2f0bb18416c67761580ed55df0e60636883bc217878afd5"}
{"label":"import-023","command":["timeout","-k","10","900","node","--test","packages/bus/tests/daily-quota-runtime.test.mjs"],"TMPDIR":"/mnt/storage/scratch/tmp/gl0H","start_nice":19,"observed_timeout_nice":19,"exit":0,"seconds":0.401,"mutant":false,"tests":4,"pass":4,"fail":0,"cancelled":0,"skipped":0,"todo":0,"log_sha256":"95472c3d6b012d38f3db4c790fdd48b710535beee03274c0ea44a2cbd97ed095"}
{"label":"import-024","command":["timeout","-k","10","900","node","--test","packages/bus/tests/decision-close.test.mjs"],"TMPDIR":"/mnt/storage/scratch/tmp/g2Iz","start_nice":19,"observed_timeout_nice":19,"exit":0,"seconds":0.34,"mutant":false,"tests":8,"pass":8,"fail":0,"cancelled":0,"skipped":0,"todo":0,"log_sha256":"5c855717b19f203797db5b4f2789dd8f8df7d49cbdfee62ae0ffa220e4ed1a4a"}
{"label":"import-025","command":["timeout","-k","10","900","node","--test","packages/bus/tests/decision-route.test.mjs"],"TMPDIR":"/mnt/storage/scratch/tmp/gDI5","start_nice":19,"observed_timeout_nice":19,"exit":0,"seconds":0.286,"mutant":false,"tests":5,"pass":5,"fail":0,"cancelled":0,"skipped":0,"todo":0,"log_sha256":"485577231e6e797c256db8a832d98aca4bf856e47459e0c30a1940598c60b8aa"}
{"label":"import-026","command":["timeout","-k","10","900","node","--test","packages/bus/tests/decisions.test.mjs"],"TMPDIR":"/mnt/storage/scratch/tmp/geqP","start_nice":19,"observed_timeout_nice":19,"exit":0,"seconds":0.474,"mutant":false,"tests":7,"pass":7,"fail":0,"cancelled":0,"skipped":0,"todo":0,"log_sha256":"aa887a5b2b30390fab4906cbd2f6ffa4ec37cc9e794478b18e7cd47eb354063b"}
{"label":"import-027","command":["timeout","-k","10","900","node","--test","packages/bus/tests/end-launch.test.mjs"],"TMPDIR":"/mnt/storage/scratch/tmp/g5u4","start_nice":19,"observed_timeout_nice":19,"exit":0,"seconds":0.414,"mutant":false,"tests":7,"pass":7,"fail":0,"cancelled":0,"skipped":0,"todo":0,"log_sha256":"e3aced744c09beda07405cba691c54a8c8dca973b7718285f67612cbfdad4ac1"}
{"label":"import-028","command":["timeout","-k","10","900","node","--test","packages/bus/tests/fire-revokes-grants.test.mjs"],"TMPDIR":"/mnt/storage/scratch/tmp/gD7b","start_nice":19,"observed_timeout_nice":19,"exit":0,"seconds":4.034,"mutant":false,"tests":24,"pass":24,"fail":0,"cancelled":0,"skipped":0,"todo":0,"log_sha256":"0e79b5a7c00f0701c84b76f3e9fd73f1bac2c9343594039df1e8a667e42d6ea4"}
{"label":"import-029","command":["timeout","-k","10","900","node","--test","packages/bus/tests/gitea-grant-docker.test.mjs"],"TMPDIR":"/mnt/storage/scratch/tmp/gcCX","start_nice":19,"observed_timeout_nice":19,"exit":0,"seconds":25.371,"mutant":false,"tests":2,"pass":2,"fail":0,"cancelled":0,"skipped":0,"todo":0,"log_sha256":"5720e4fc3d58350dc4192c7ceb5dff76aba9bf1aff1ac917e016e7295380b325"}
{"label":"import-030","command":["timeout","-k","10","900","node","--test","packages/bus/tests/gitea-grant.test.mjs"],"TMPDIR":"/mnt/storage/scratch/tmp/gIPd","start_nice":19,"observed_timeout_nice":19,"exit":0,"seconds":12.386,"mutant":false,"tests":66,"pass":66,"fail":0,"cancelled":0,"skipped":0,"todo":0,"log_sha256":"142962fbea6f3602701e4bcc5e0248cb06b98a2fad8bfafb92143a593e535ee6"}
{"label":"import-031","command":["timeout","-k","10","900","node","--test","packages/bus/tests/gitea-migration.test.mjs"],"TMPDIR":"/mnt/storage/scratch/tmp/gPFr","start_nice":19,"observed_timeout_nice":19,"exit":0,"seconds":0.443,"mutant":false,"tests":5,"pass":5,"fail":0,"cancelled":0,"skipped":0,"todo":0,"log_sha256":"2a3d38fa696805a193460d33bfec2461778463b7087e368b738700c583ad23c3"}
{"label":"import-032","command":["timeout","-k","10","900","node","--test","packages/bus/tests/grant-enroll.test.mjs"],"TMPDIR":"/mnt/storage/scratch/tmp/gAeL","start_nice":19,"observed_timeout_nice":19,"exit":0,"seconds":1.838,"mutant":false,"tests":24,"pass":24,"fail":0,"cancelled":0,"skipped":0,"todo":0,"log_sha256":"fc5d1d86af5c0689eb5a92d94ee1dc7a0143299523fc010d4a119c34b30ff768"}
{"label":"import-033","command":["timeout","-k","10","900","node","--test","packages/bus/tests/grant-executor.test.mjs"],"TMPDIR":"/mnt/storage/scratch/tmp/gEJ1","start_nice":19,"observed_timeout_nice":19,"exit":0,"seconds":22.682,"mutant":false,"tests":42,"pass":42,"fail":0,"cancelled":0,"skipped":0,"todo":0,"log_sha256":"97a66205b109952a7704ff9d5d63efbb0277922a0bf1510a677284f9ccbc9831"}
{"label":"import-034","command":["timeout","-k","10","900","node","--test","packages/bus/tests/grant-host.test.mjs"],"TMPDIR":"/mnt/storage/scratch/tmp/gYeV","start_nice":19,"observed_timeout_nice":19,"exit":0,"seconds":0.433,"mutant":false,"tests":10,"pass":10,"fail":0,"cancelled":0,"skipped":0,"todo":0,"log_sha256":"0ab7ed5613f9c353c5e6f786ceffc6112c4f851debb799cf60ff73ae2f2bf65d"}
{"label":"import-035","command":["timeout","-k","10","900","node","--test","packages/bus/tests/grant-migration.test.mjs"],"TMPDIR":"/mnt/storage/scratch/tmp/gcHz","start_nice":19,"observed_timeout_nice":19,"exit":0,"seconds":0.495,"mutant":false,"tests":6,"pass":6,"fail":0,"cancelled":0,"skipped":0,"todo":0,"log_sha256":"690a9c67e3426b8f6dc94c34f1b34ae5e502c0f8fb9ce67c5beab7cf5122557e"}
{"label":"import-036","command":["timeout","-k","10","900","node","--test","packages/bus/tests/grant-scope-runtime.test.mjs"],"TMPDIR":"/mnt/storage/scratch/tmp/gVjH","start_nice":19,"observed_timeout_nice":19,"exit":0,"seconds":0.228,"mutant":false,"tests":1,"pass":1,"fail":0,"cancelled":0,"skipped":0,"todo":0,"log_sha256":"c013731042ef37735fe6648ec299831b127d3ddb351c613d95efd4bc610d6ff2"}
{"label":"import-037","command":["timeout","-k","10","900","node","--test","packages/bus/tests/grant-scope.test.mjs"],"TMPDIR":"/mnt/storage/scratch/tmp/gwvw","start_nice":19,"observed_timeout_nice":19,"exit":0,"seconds":1.35,"mutant":false,"tests":14,"pass":14,"fail":0,"cancelled":0,"skipped":0,"todo":0,"log_sha256":"1b48fba6570d0dcef4666725bde8b8c8f95e75eb8abb517d15b226a6ae5b0ea4"}
{"label":"import-038","command":["timeout","-k","10","900","node","--test","packages/bus/tests/hard-waits.test.mjs"],"TMPDIR":"/mnt/storage/scratch/tmp/gM7r","start_nice":19,"observed_timeout_nice":19,"exit":0,"seconds":1.464,"mutant":false,"tests":13,"pass":13,"fail":0,"cancelled":0,"skipped":0,"todo":0,"log_sha256":"41d7bdf1b5276a7205b6b3e61ff4ac2f7982d60f5f190c3475e75c1ff4cebefd"}
{"label":"import-039","command":["timeout","-k","10","900","node","--test","packages/bus/tests/host-run.test.mjs"],"TMPDIR":"/mnt/storage/scratch/tmp/gfCB","start_nice":19,"observed_timeout_nice":19,"exit":0,"seconds":15.268,"mutant":false,"tests":26,"pass":26,"fail":0,"cancelled":0,"skipped":0,"todo":0,"log_sha256":"7f5c5ab5e5f654c1826e84369739616606de89763879d96ffaa9cc196db05d72"}
{"label":"import-040","command":["timeout","-k","10","900","node","--test","packages/bus/tests/host-tools.test.mjs"],"TMPDIR":"/mnt/storage/scratch/tmp/gbtM","start_nice":19,"observed_timeout_nice":19,"exit":0,"seconds":4.726,"mutant":false,"tests":6,"pass":6,"fail":0,"cancelled":0,"skipped":0,"todo":0,"log_sha256":"dfd0a799f300925eb291c8047adc0f9359bf05927f0b1c129c6b420fcf0bfcc0"}
{"label":"import-041","command":["timeout","-k","10","900","node","--test","packages/bus/tests/human.test.mjs"],"TMPDIR":"/mnt/storage/scratch/tmp/gnLK","start_nice":19,"observed_timeout_nice":19,"exit":0,"seconds":0.102,"mutant":false,"tests":4,"pass":4,"fail":0,"cancelled":0,"skipped":0,"todo":0,"log_sha256":"09791081c562afc5c9fa6da5b6df4e37935797147fc6d4c3f4cd8be2dd3d56ae"}
{"label":"import-042","command":["timeout","-k","10","900","node","--test","packages/bus/tests/instances-verb.test.mjs"],"TMPDIR":"/mnt/storage/scratch/tmp/g46h","start_nice":19,"observed_timeout_nice":19,"exit":0,"seconds":0.305,"mutant":false,"tests":3,"pass":3,"fail":0,"cancelled":0,"skipped":0,"todo":0,"log_sha256":"d41d14dd33492e34f21452550fed8d0ca0d3b1847cca0fb86c53ad13f8cb4fb7"}
{"label":"import-043","command":["timeout","-k","10","900","node","--test","packages/bus/tests/interpreter.test.mjs"],"TMPDIR":"/mnt/storage/scratch/tmp/gTjS","start_nice":19,"observed_timeout_nice":19,"exit":0,"seconds":0.178,"mutant":false,"tests":5,"pass":5,"fail":0,"cancelled":0,"skipped":0,"todo":0,"log_sha256":"c3be5eace9c994767d451fcd0d99ddfff2a647a8f7e74f21306c95ac503c229c"}
{"label":"import-044","command":["timeout","-k","10","900","node","--test","packages/bus/tests/land.test.mjs"],"TMPDIR":"/mnt/storage/scratch/tmp/gOEa","start_nice":19,"observed_timeout_nice":19,"exit":0,"seconds":1.156,"mutant":false,"tests":18,"pass":18,"fail":0,"cancelled":0,"skipped":0,"todo":0,"log_sha256":"b59e6b60f597b4b1d02d4ced63344dbcb820946148a11a4ddd8e29ac422ef0f8"}
{"label":"import-045","command":["timeout","-k","10","900","node","--test","packages/bus/tests/launch-notice.test.mjs"],"TMPDIR":"/mnt/storage/scratch/tmp/gv3V","start_nice":19,"observed_timeout_nice":19,"exit":0,"seconds":0.543,"mutant":false,"tests":8,"pass":8,"fail":0,"cancelled":0,"skipped":0,"todo":0,"log_sha256":"4979af0184d2b8fe0cfc7048da37828e2f58a8bb433b589399be4d8a7798371d"}
{"label":"import-046","command":["timeout","-k","10","900","node","--test","packages/bus/tests/launcher-released.test.mjs"],"TMPDIR":"/mnt/storage/scratch/tmp/gEQl","start_nice":19,"observed_timeout_nice":19,"exit":0,"seconds":0.365,"mutant":false,"tests":3,"pass":3,"fail":0,"cancelled":0,"skipped":0,"todo":0,"log_sha256":"9e4890aeaa7e21398fb140c469c606cb8a5cec2b564826232ade66f171fed937"}
{"label":"import-047","command":["timeout","-k","10","900","node","--test","packages/bus/tests/library-credential.test.mjs"],"TMPDIR":"/mnt/storage/scratch/tmp/gJlk","start_nice":19,"observed_timeout_nice":19,"exit":0,"seconds":3.11,"mutant":false,"tests":6,"pass":6,"fail":0,"cancelled":0,"skipped":0,"todo":0,"log_sha256":"ca7c89d815a3bc281b406089a04dbaf94d04927c0b6b0ae840cae34cd8e858f5"}
{"label":"import-049","command":["timeout","-k","10","900","node","--test","packages/bus/tests/library-sync.test.mjs"],"TMPDIR":"/mnt/storage/scratch/tmp/geyX","start_nice":19,"observed_timeout_nice":19,"exit":0,"seconds":7.525,"mutant":false,"tests":6,"pass":6,"fail":0,"cancelled":0,"skipped":0,"todo":0,"log_sha256":"835bea6e1730fb67ab7d7ef02701ace657b0b3a839d300713ca16d0a32713828"}
{"label":"import-050","command":["timeout","-k","10","900","node","--test","packages/bus/tests/library.test.mjs"],"TMPDIR":"/mnt/storage/scratch/tmp/gejb","start_nice":19,"observed_timeout_nice":19,"exit":0,"seconds":0.736,"mutant":false,"tests":6,"pass":6,"fail":0,"cancelled":0,"skipped":0,"todo":0,"log_sha256":"70633e1f2e5662e511239ada1bb47e1dc197b79e2c9ecf005308b270f713a41c"}
{"label":"import-051","command":["timeout","-k","10","900","node","--test","packages/bus/tests/lifecycle-revoke.test.mjs"],"TMPDIR":"/mnt/storage/scratch/tmp/gA7g","start_nice":19,"observed_timeout_nice":19,"exit":0,"seconds":0.815,"mutant":false,"tests":8,"pass":8,"fail":0,"cancelled":0,"skipped":0,"todo":0,"log_sha256":"190fd253cefb4d669245531043a93225d37ae66ba694635a3e8bffd86c9e4264"}
{"label":"import-052","command":["timeout","-k","10","900","node","--test","packages/bus/tests/lifecycle-verbs.test.mjs"],"TMPDIR":"/mnt/storage/scratch/tmp/gYLp","start_nice":19,"observed_timeout_nice":19,"exit":0,"seconds":0.62,"mutant":false,"tests":13,"pass":13,"fail":0,"cancelled":0,"skipped":0,"todo":0,"log_sha256":"071bed270aff7f251d954b557e090230ee6e224535938b85b93e8f885d3fb944"}
{"label":"import-053","command":["timeout","-k","10","900","node","--test","packages/bus/tests/limit-checks.test.mjs"],"TMPDIR":"/mnt/storage/scratch/tmp/gt3p","start_nice":19,"observed_timeout_nice":19,"exit":0,"seconds":0.347,"mutant":false,"tests":16,"pass":16,"fail":0,"cancelled":0,"skipped":0,"todo":0,"log_sha256":"cb634a9e2819a161ec128a250586e4086591696309f00c9e6a62d7c54c6b9382"}
{"label":"import-054","command":["timeout","-k","10","900","node","--test","packages/bus/tests/limit-stop.test.mjs"],"TMPDIR":"/mnt/storage/scratch/tmp/g1Vs","start_nice":19,"observed_timeout_nice":19,"exit":0,"seconds":0.362,"mutant":false,"tests":5,"pass":5,"fail":0,"cancelled":0,"skipped":0,"todo":0,"log_sha256":"93504cdb3c5a9e5295bd72b8224ec69c43bbd344529a97538376c5a09e47328e"}
{"label":"import-055","command":["timeout","-k","10","900","node","--test","packages/bus/tests/limits-runtime.test.mjs"],"TMPDIR":"/mnt/storage/scratch/tmp/giXl","start_nice":19,"observed_timeout_nice":19,"exit":0,"seconds":0.454,"mutant":false,"tests":5,"pass":5,"fail":0,"cancelled":0,"skipped":0,"todo":0,"log_sha256":"a18ac489d4eaa62e0bdb40444d70722379b0f4dc172f28e71f8600307ce7c3b6"}
{"label":"import-056","command":["timeout","-k","10","900","node","--test","packages/bus/tests/limits.test.mjs"],"TMPDIR":"/mnt/storage/scratch/tmp/gZog","start_nice":19,"observed_timeout_nice":19,"exit":0,"seconds":0.424,"mutant":false,"tests":3,"pass":3,"fail":0,"cancelled":0,"skipped":0,"todo":0,"log_sha256":"072dfdd9f45f609d52910d3619d4253bd05b54ec36e1a8599db17e17b472e99a"}
{"label":"import-057","command":["timeout","-k","10","900","node","--test","packages/bus/tests/message-citation.test.mjs"],"TMPDIR":"/mnt/storage/scratch/tmp/gCEq","start_nice":19,"observed_timeout_nice":19,"exit":0,"seconds":0.244,"mutant":false,"tests":3,"pass":3,"fail":0,"cancelled":0,"skipped":0,"todo":0,"log_sha256":"d53489b437b4adc8ac10bc52d0f1e6557b6fd187786008a6ad13a264207be034"}
{"label":"import-058","command":["timeout","-k","10","900","node","--test","packages/bus/tests/message-filter.test.mjs"],"TMPDIR":"/mnt/storage/scratch/tmp/gsfe","start_nice":19,"observed_timeout_nice":19,"exit":0,"seconds":0.58,"mutant":false,"tests":6,"pass":6,"fail":0,"cancelled":0,"skipped":0,"todo":0,"log_sha256":"6038a839d1b12b29d8cdbc0ea341ae22197e19444be5743ca327cb188cd1af59"}
{"label":"import-059","command":["timeout","-k","10","900","node","--test","packages/bus/tests/messages.test.mjs"],"TMPDIR":"/mnt/storage/scratch/tmp/gkz2","start_nice":19,"observed_timeout_nice":19,"exit":0,"seconds":0.501,"mutant":false,"tests":4,"pass":4,"fail":0,"cancelled":0,"skipped":0,"todo":0,"log_sha256":"e507905469453069f469a1366bd4cbd446c6b7e2e8ba5234c3d0bee83d1172ba"}
{"label":"import-060","command":["timeout","-k","10","900","node","--test","packages/bus/tests/messaging.test.mjs"],"TMPDIR":"/mnt/storage/scratch/tmp/gPZR","start_nice":19,"observed_timeout_nice":19,"exit":0,"seconds":0.502,"mutant":false,"tests":13,"pass":13,"fail":0,"cancelled":0,"skipped":0,"todo":0,"log_sha256":"434390031617151891ecb63a788da353c0d43051a4ea60db2e5727b149c9de4e"}
{"label":"import-061","command":["timeout","-k","10","900","node","--test","packages/bus/tests/name-migration.test.mjs"],"TMPDIR":"/mnt/storage/scratch/tmp/gsLH","start_nice":19,"observed_timeout_nice":19,"exit":0,"seconds":0.192,"mutant":false,"tests":1,"pass":1,"fail":0,"cancelled":0,"skipped":0,"todo":0,"log_sha256":"1979f0b1dd32162d42acace08a4b4306249e1096f5bbadb47038681af6b375d5"}
{"label":"import-062","command":["timeout","-k","10","900","node","--test","packages/bus/tests/names.test.mjs"],"TMPDIR":"/mnt/storage/scratch/tmp/grPm","start_nice":19,"observed_timeout_nice":19,"exit":0,"seconds":0.313,"mutant":false,"tests":7,"pass":7,"fail":0,"cancelled":0,"skipped":0,"todo":0,"log_sha256":"1d35ce65a08ec74388a7a65af8bfb7a87d341fab5795360fd553e65aa10d4999"}
{"label":"import-063","command":["timeout","-k","10","900","node","--test","packages/bus/tests/peer-transport.test.mjs"],"TMPDIR":"/mnt/storage/scratch/tmp/g2ja","start_nice":19,"observed_timeout_nice":19,"exit":0,"seconds":0.194,"mutant":false,"tests":4,"pass":4,"fail":0,"cancelled":0,"skipped":0,"todo":0,"log_sha256":"579cce4a4581e991e6cad80666cd40bfb10d1346699f1233a44dab5d17ee1583"}
{"label":"import-064","command":["timeout","-k","10","900","node","--test","packages/bus/tests/peercred.test.mjs"],"TMPDIR":"/mnt/storage/scratch/tmp/g35b","start_nice":19,"observed_timeout_nice":19,"exit":0,"seconds":0.499,"mutant":false,"tests":5,"pass":5,"fail":0,"cancelled":0,"skipped":0,"todo":0,"log_sha256":"c6d9c4a534f8aab5c73e6920346674eb243a19439eaaa09436ff4c2bc9b68fd7"}
{"label":"import-065","command":["timeout","-k","10","900","node","--test","packages/bus/tests/plugins-verb.test.mjs"],"TMPDIR":"/mnt/storage/scratch/tmp/gGrj","start_nice":19,"observed_timeout_nice":19,"exit":0,"seconds":0.331,"mutant":false,"tests":3,"pass":3,"fail":0,"cancelled":0,"skipped":0,"todo":0,"log_sha256":"4677c69292a7fe1961239e40ecd5848b1e9355e6d9326f1c935dd077605cc36b"}
{"label":"import-066","command":["timeout","-k","10","900","node","--test","packages/bus/tests/principal.test.mjs"],"TMPDIR":"/mnt/storage/scratch/tmp/g5U9","start_nice":19,"observed_timeout_nice":19,"exit":0,"seconds":0.102,"mutant":false,"tests":5,"pass":5,"fail":0,"cancelled":0,"skipped":0,"todo":0,"log_sha256":"efac2a82f133ae63ba26543832b6704df573f345c7699b48b928d4329467f03e"}
{"label":"import-067","command":["timeout","-k","10","900","node","--test","packages/bus/tests/process.test.mjs"],"TMPDIR":"/mnt/storage/scratch/tmp/go8U","start_nice":19,"observed_timeout_nice":19,"exit":0,"seconds":1.448,"mutant":false,"tests":8,"pass":8,"fail":0,"cancelled":0,"skipped":0,"todo":0,"log_sha256":"e26c9f5eb045dd7f651f453875fc1daac5dafa5f2060a69c3edcf37c79433e24"}
{"label":"import-068","command":["timeout","-k","10","900","node","--test","packages/bus/tests/processing-runtime.test.mjs"],"TMPDIR":"/mnt/storage/scratch/tmp/gmrO","start_nice":19,"observed_timeout_nice":19,"exit":0,"seconds":0.392,"mutant":false,"tests":2,"pass":2,"fail":0,"cancelled":0,"skipped":0,"todo":0,"log_sha256":"624f60b78329dbf8db5b5ce17e9f218148f7e417a46bcace45666b10193ea4c4"}
{"label":"import-069","command":["timeout","-k","10","900","node","--test","packages/bus/tests/processing-timeout.test.mjs"],"TMPDIR":"/mnt/storage/scratch/tmp/gt14","start_nice":19,"observed_timeout_nice":19,"exit":0,"seconds":0.263,"mutant":false,"tests":1,"pass":1,"fail":0,"cancelled":0,"skipped":0,"todo":0,"log_sha256":"30a4c425941c5732bb0afa09ff8cf2229f11ec6031c7cd3ae26932cf55dc2552"}
{"label":"import-070","command":["timeout","-k","10","900","node","--test","packages/bus/tests/processing-web.test.mjs"],"TMPDIR":"/mnt/storage/scratch/tmp/gWj9","start_nice":19,"observed_timeout_nice":19,"exit":0,"seconds":0.126,"mutant":false,"tests":1,"pass":1,"fail":0,"cancelled":0,"skipped":0,"todo":0,"log_sha256":"dbe9bc036efc99fc38b2dea8824cb7a64fc39e49fcd3a1ef07c60298b0d8e69f"}
{"label":"import-071","command":["timeout","-k","10","900","node","--test","packages/bus/tests/processing.test.mjs"],"TMPDIR":"/mnt/storage/scratch/tmp/gP4m","start_nice":19,"observed_timeout_nice":19,"exit":0,"seconds":0.381,"mutant":false,"tests":14,"pass":14,"fail":0,"cancelled":0,"skipped":0,"todo":0,"log_sha256":"d2204029f1dbc5836a759b43d421f2790ca32b97a1cc1fc6cb3f098fa4d7ab5d"}
{"label":"import-072","command":["timeout","-k","10","900","node","--test","packages/bus/tests/project-await.test.mjs"],"TMPDIR":"/mnt/storage/scratch/tmp/grrE","start_nice":19,"observed_timeout_nice":19,"exit":0,"seconds":0.177,"mutant":false,"tests":4,"pass":4,"fail":0,"cancelled":0,"skipped":0,"todo":0,"log_sha256":"55cb0e215ff4f1e3265322c3336b3861d37fc3ba3cac53a31aa3dcc9ee0cab46"}
{"label":"import-073","command":["timeout","-k","10","900","node","--test","packages/bus/tests/project-files.test.mjs"],"TMPDIR":"/mnt/storage/scratch/tmp/gZZ4","start_nice":19,"observed_timeout_nice":19,"exit":0,"seconds":0.894,"mutant":false,"tests":8,"pass":8,"fail":0,"cancelled":0,"skipped":0,"todo":0,"log_sha256":"b3395652052ccd06de8df2a1ce1aaac185dab50e854fb712a33aef8319d17fdc"}
{"label":"import-074","command":["timeout","-k","10","900","node","--test","packages/bus/tests/project-runtime.test.mjs"],"TMPDIR":"/mnt/storage/scratch/tmp/gYyK","start_nice":19,"observed_timeout_nice":19,"exit":0,"seconds":0.404,"mutant":false,"tests":3,"pass":3,"fail":0,"cancelled":0,"skipped":0,"todo":0,"log_sha256":"b139c3c9cea5fc9bd86ac64f33c4af23f568bee13f9271fef40a07d76ed51cf2"}
{"label":"import-075","command":["timeout","-k","10","900","node","--test","packages/bus/tests/publish.test.mjs"],"TMPDIR":"/mnt/storage/scratch/tmp/gUl2","start_nice":19,"observed_timeout_nice":19,"exit":0,"seconds":0.831,"mutant":false,"tests":13,"pass":13,"fail":0,"cancelled":0,"skipped":0,"todo":0,"log_sha256":"0adf717babd8ac6229a115e1c796071fd68c1524f140d4596c9f1ee8c528b69f"}
{"label":"import-076","command":["timeout","-k","10","900","node","--test","packages/bus/tests/reload.test.mjs"],"TMPDIR":"/mnt/storage/scratch/tmp/gZPr","start_nice":19,"observed_timeout_nice":19,"exit":0,"seconds":1.003,"mutant":false,"tests":10,"pass":10,"fail":0,"cancelled":0,"skipped":0,"todo":0,"log_sha256":"2ce6a9bd3ea3eeccf1689e1b6335b72bba2d440ae27feeec3dc727567fa140ff"}
{"label":"import-077","command":["timeout","-k","10","900","node","--test","packages/bus/tests/replies.test.mjs"],"TMPDIR":"/mnt/storage/scratch/tmp/gbjz","start_nice":19,"observed_timeout_nice":19,"exit":0,"seconds":0.374,"mutant":false,"tests":7,"pass":7,"fail":0,"cancelled":0,"skipped":0,"todo":0,"log_sha256":"6db5c1588c83f2df4be469f06857569df7f4cfc47c18b15a8f9e741d4d739c4f"}
{"label":"import-078","command":["timeout","-k","10","900","node","--test","packages/bus/tests/requirements.test.mjs"],"TMPDIR":"/mnt/storage/scratch/tmp/g1jX","start_nice":19,"observed_timeout_nice":19,"exit":0,"seconds":0.192,"mutant":false,"tests":3,"pass":3,"fail":0,"cancelled":0,"skipped":0,"todo":0,"log_sha256":"32b876110fc8a35246f6ab16343dae9ea6da42ef556a99e1e5356e077474a96f"}
{"label":"import-079","command":["timeout","-k","10","900","node","--test","packages/bus/tests/review.test.mjs"],"TMPDIR":"/mnt/storage/scratch/tmp/gVJz","start_nice":19,"observed_timeout_nice":19,"exit":0,"seconds":0.427,"mutant":false,"tests":8,"pass":8,"fail":0,"cancelled":0,"skipped":0,"todo":0,"log_sha256":"333b7d84cf72b95ba2cdb1d3824bcb8043623c5f0810c68ed22738210977c297"}
{"label":"import-080","command":["timeout","-k","10","900","node","--test","packages/bus/tests/revoke-window.test.mjs"],"TMPDIR":"/mnt/storage/scratch/tmp/gRZs","start_nice":19,"observed_timeout_nice":19,"exit":0,"seconds":0.305,"mutant":false,"tests":3,"pass":3,"fail":0,"cancelled":0,"skipped":0,"todo":0,"log_sha256":"7e759b3330537c0c566b55b2c405adc6f5f48c3b229c4450d938aaec3280fc09"}
{"label":"import-081","command":["timeout","-k","10","900","node","--test","packages/bus/tests/room-check.test.mjs"],"TMPDIR":"/mnt/storage/scratch/tmp/gzW9","start_nice":19,"observed_timeout_nice":19,"exit":0,"seconds":0.225,"mutant":false,"tests":2,"pass":2,"fail":0,"cancelled":0,"skipped":0,"todo":0,"log_sha256":"300f1ea96ccfa38c9405ef163e531cfeec3c7eb8f46986f077669ca95b8f72f3"}
{"label":"import-082","command":["timeout","-k","10","900","node","--test","packages/bus/tests/rooms.test.mjs"],"TMPDIR":"/mnt/storage/scratch/tmp/gEx0","start_nice":19,"observed_timeout_nice":19,"exit":0,"seconds":1.033,"mutant":false,"tests":18,"pass":18,"fail":0,"cancelled":0,"skipped":0,"todo":0,"log_sha256":"fbcac36a4495da1def5dd650d8aea5758bf25d3e7473148a2b8961bb97b57239"}
{"label":"import-083","command":["timeout","-k","10","900","node","--test","packages/bus/tests/routes-verb.test.mjs"],"TMPDIR":"/mnt/storage/scratch/tmp/g0LO","start_nice":19,"observed_timeout_nice":19,"exit":0,"seconds":0.292,"mutant":false,"tests":4,"pass":4,"fail":0,"cancelled":0,"skipped":0,"todo":0,"log_sha256":"4fef276b76a79518faa03b81d119962ab8880af3010fa33ead93f393dca89f02"}
{"label":"import-084","command":["timeout","-k","10","900","node","--test","packages/bus/tests/schema.test.mjs"],"TMPDIR":"/mnt/storage/scratch/tmp/gZFQ","start_nice":19,"observed_timeout_nice":19,"exit":0,"seconds":0.169,"mutant":false,"tests":1,"pass":1,"fail":0,"cancelled":0,"skipped":0,"todo":0,"log_sha256":"e71271414564fa851dbf25a155b44dcf481770c7f3d4dafe5ce44a09c49526b1"}
{"label":"import-085","command":["timeout","-k","10","900","node","--test","packages/bus/tests/session-clear.test.mjs"],"TMPDIR":"/mnt/storage/scratch/tmp/gfrg","start_nice":19,"observed_timeout_nice":19,"exit":0,"seconds":0.773,"mutant":false,"tests":19,"pass":19,"fail":0,"cancelled":0,"skipped":0,"todo":0,"log_sha256":"c8097880d5e9a396fb907bc1f35f342821971b545fea7f1e4ddcb2b9f2fb322a"}
{"label":"import-086","command":["timeout","-k","10","900","node","--test","packages/bus/tests/session-compactions.test.mjs"],"TMPDIR":"/mnt/storage/scratch/tmp/gfRL","start_nice":19,"observed_timeout_nice":19,"exit":0,"seconds":0.179,"mutant":false,"tests":4,"pass":4,"fail":0,"cancelled":0,"skipped":0,"todo":0,"log_sha256":"0a2f0ef4d7f6588e2aaeb5a5d8e200650ae573c4468640130140eb83430261b3"}
{"label":"import-087","command":["timeout","-k","10","900","node","--test","packages/bus/tests/sessions.test.mjs"],"TMPDIR":"/mnt/storage/scratch/tmp/gaNb","start_nice":19,"observed_timeout_nice":19,"exit":0,"seconds":0.654,"mutant":false,"tests":7,"pass":7,"fail":0,"cancelled":0,"skipped":0,"todo":0,"log_sha256":"11f26dc0d082b49ce7839d22aca75067dcc2f978d6c319da3d2800adcc0a9ffc"}
{"label":"import-088","command":["timeout","-k","10","900","node","--test","packages/bus/tests/single-use.test.mjs"],"TMPDIR":"/mnt/storage/scratch/tmp/gSe3","start_nice":19,"observed_timeout_nice":19,"exit":0,"seconds":0.416,"mutant":false,"tests":12,"pass":12,"fail":0,"cancelled":0,"skipped":0,"todo":0,"log_sha256":"7a0e2e7a4a6ab79b85462ad1a39955c5402dab8a9236534c857cef88d08ecc87"}
{"label":"import-089","command":["timeout","-k","10","900","node","--test","packages/bus/tests/spec-migration.test.mjs"],"TMPDIR":"/mnt/storage/scratch/tmp/gPmw","start_nice":19,"observed_timeout_nice":19,"exit":0,"seconds":0.215,"mutant":false,"tests":1,"pass":1,"fail":0,"cancelled":0,"skipped":0,"todo":0,"log_sha256":"b9831356a0d65a037796a66764dcf7dcc267d8512e70087b364cbe390a8c85dc"}
{"label":"import-090","command":["timeout","-k","10","900","node","--test","packages/bus/tests/spec-review.test.mjs"],"TMPDIR":"/mnt/storage/scratch/tmp/gqKv","start_nice":19,"observed_timeout_nice":19,"exit":0,"seconds":2.034,"mutant":false,"tests":12,"pass":12,"fail":0,"cancelled":0,"skipped":0,"todo":0,"log_sha256":"8a70a550b2b056c35f2e85bdd4a155bf7d02332d89596aeed40e16bec765221c"}
{"label":"import-091","command":["timeout","-k","10","900","node","--test","packages/bus/tests/spec-socket.test.mjs"],"TMPDIR":"/mnt/storage/scratch/tmp/gY6G","start_nice":19,"observed_timeout_nice":19,"exit":0,"seconds":0.787,"mutant":false,"tests":6,"pass":6,"fail":0,"cancelled":0,"skipped":0,"todo":0,"log_sha256":"d58670526310fa5106ab9b3d724d817910283b76cfa8bd79278b0428e42b73c3"}
{"label":"import-092","command":["timeout","-k","10","900","node","--test","packages/bus/tests/spec.test.mjs"],"TMPDIR":"/mnt/storage/scratch/tmp/gnTM","start_nice":19,"observed_timeout_nice":19,"exit":0,"seconds":0.538,"mutant":false,"tests":4,"pass":4,"fail":0,"cancelled":0,"skipped":0,"todo":0,"log_sha256":"d04ac45ad25906322cbbd50b703c316c4eeefad1d40f901eeaf2c34224fc5958"}
{"label":"import-093","command":["timeout","-k","10","900","node","--test","packages/bus/tests/staff-request.test.mjs"],"TMPDIR":"/mnt/storage/scratch/tmp/g07B","start_nice":19,"observed_timeout_nice":19,"exit":0,"seconds":0.544,"mutant":false,"tests":10,"pass":10,"fail":0,"cancelled":0,"skipped":0,"todo":0,"log_sha256":"e0e379d2e0871ecbbae9a5e92ee7217342dc31cf69c80373aeef72f78ea27fd9"}
{"label":"import-094","command":["timeout","-k","10","900","node","--test","packages/bus/tests/state.test.mjs"],"TMPDIR":"/mnt/storage/scratch/tmp/gx6m","start_nice":19,"observed_timeout_nice":19,"exit":0,"seconds":0.289,"mutant":false,"tests":8,"pass":8,"fail":0,"cancelled":0,"skipped":0,"todo":0,"log_sha256":"63ac32064c6220c89204a8c34f13ce45ebb76f65a6e10e4173608740e1b54887"}
{"label":"import-095","command":["timeout","-k","10","900","node","--test","packages/bus/tests/store.test.mjs"],"TMPDIR":"/mnt/storage/scratch/tmp/g5mj","start_nice":19,"observed_timeout_nice":19,"exit":0,"seconds":0.286,"mutant":false,"tests":7,"pass":7,"fail":0,"cancelled":0,"skipped":0,"todo":0,"log_sha256":"329377b361787f86ffb5bda9210559d3d073e8ed9cfacc43e341156de63af707"}
{"label":"import-096","command":["timeout","-k","10","900","node","--test","packages/bus/tests/task-page.test.mjs"],"TMPDIR":"/mnt/storage/scratch/tmp/gErK","start_nice":19,"observed_timeout_nice":19,"exit":0,"seconds":1.203,"mutant":false,"tests":6,"pass":6,"fail":0,"cancelled":0,"skipped":0,"todo":0,"log_sha256":"0e48322586d18073df7d9efbc0700b7f9e2e45a7a61eb32ffa13ab9d9695de54"}
{"label":"import-097","command":["timeout","-k","10","900","node","--test","packages/bus/tests/task-read.test.mjs"],"TMPDIR":"/mnt/storage/scratch/tmp/g7B0","start_nice":19,"observed_timeout_nice":19,"exit":0,"seconds":0.237,"mutant":false,"tests":3,"pass":3,"fail":0,"cancelled":0,"skipped":0,"todo":0,"log_sha256":"3aa73723d9410d5c6851352f6b3d9c0f671f9b008b8a2355021488f2a071c22b"}
{"label":"import-098","command":["timeout","-k","10","900","node","--test","packages/bus/tests/tasks.test.mjs"],"TMPDIR":"/mnt/storage/scratch/tmp/gqcQ","start_nice":19,"observed_timeout_nice":19,"exit":0,"seconds":1.037,"mutant":false,"tests":9,"pass":9,"fail":0,"cancelled":0,"skipped":0,"todo":0,"log_sha256":"60e43ca791f0ee0e5a91c0a112ad0d971f38d28e18d6feb7a2d33132aec934fe"}
{"label":"import-099","command":["timeout","-k","10","900","node","--test","packages/bus/tests/tester-threads.test.mjs"],"TMPDIR":"/mnt/storage/scratch/tmp/gbPX","start_nice":19,"observed_timeout_nice":19,"exit":0,"seconds":0.486,"mutant":false,"tests":15,"pass":15,"fail":0,"cancelled":0,"skipped":0,"todo":0,"log_sha256":"101fcf483990278f3a997ed1cff44b6191b1766147083ddf21341a4480eb602b"}
{"label":"import-100","command":["timeout","-k","10","900","node","--test","packages/bus/tests/tester-writes.test.mjs"],"TMPDIR":"/mnt/storage/scratch/tmp/gMT4","start_nice":19,"observed_timeout_nice":19,"exit":0,"seconds":0.609,"mutant":false,"tests":8,"pass":8,"fail":0,"cancelled":0,"skipped":0,"todo":0,"log_sha256":"d5618314574cf7e64ac877e29787712f5fd68903228e6e1001c37cdd9b54a9e4"}
{"label":"import-101","command":["timeout","-k","10","900","node","--test","packages/bus/tests/tester.test.mjs"],"TMPDIR":"/mnt/storage/scratch/tmp/gl5m","start_nice":19,"observed_timeout_nice":19,"exit":0,"seconds":2.337,"mutant":false,"tests":14,"pass":14,"fail":0,"cancelled":0,"skipped":0,"todo":0,"log_sha256":"c44885e9d43e6ed5969af2f87ecc17fe00e1f1895435d86f5ddbe399c945642e"}
{"label":"import-102","command":["timeout","-k","10","900","node","--test","packages/bus/tests/thread-claims.test.mjs"],"TMPDIR":"/mnt/storage/scratch/tmp/gmfF","start_nice":19,"observed_timeout_nice":19,"exit":0,"seconds":0.354,"mutant":false,"tests":6,"pass":6,"fail":0,"cancelled":0,"skipped":0,"todo":0,"log_sha256":"bd053d20e52d1859ea6ed13f316e7ed27dac3ba3a8f1be5b3b7adef2fa15e356"}
{"label":"import-103","command":["timeout","-k","10","900","node","--test","packages/bus/tests/thread-migration.test.mjs"],"TMPDIR":"/mnt/storage/scratch/tmp/gUt3","start_nice":19,"observed_timeout_nice":19,"exit":0,"seconds":0.513,"mutant":false,"tests":3,"pass":3,"fail":0,"cancelled":0,"skipped":0,"todo":0,"log_sha256":"ee94081c476ab12b1c1b73eb2efb6138c22deee6dda92aa015fd2b2cc4cc405e"}
{"label":"import-104","command":["timeout","-k","10","900","node","--test","packages/bus/tests/thread-shares.test.mjs"],"TMPDIR":"/mnt/storage/scratch/tmp/g6KY","start_nice":19,"observed_timeout_nice":19,"exit":0,"seconds":0.966,"mutant":false,"tests":16,"pass":16,"fail":0,"cancelled":0,"skipped":0,"todo":0,"log_sha256":"e2c37691510cc5acfecfcd6d5be612b701fa72a06c544c265b027a381eb577ae"}
{"label":"import-105","command":["timeout","-k","10","900","node","--test","packages/bus/tests/threads.test.mjs"],"TMPDIR":"/mnt/storage/scratch/tmp/gqdT","start_nice":19,"observed_timeout_nice":19,"exit":0,"seconds":1.848,"mutant":false,"tests":20,"pass":20,"fail":0,"cancelled":0,"skipped":0,"todo":0,"log_sha256":"0e25845dfd5e6c68c206ef19b6ab74b5e00d01cf2ce6cd8843b7f0abe4229d60"}
{"label":"import-106","command":["timeout","-k","10","900","node","--test","packages/bus/tests/transport.test.mjs"],"TMPDIR":"/mnt/storage/scratch/tmp/gG0Z","start_nice":19,"observed_timeout_nice":19,"exit":0,"seconds":0.355,"mutant":false,"tests":5,"pass":5,"fail":0,"cancelled":0,"skipped":0,"todo":0,"log_sha256":"177ad5f143bb47dc7d65ef89785b19170ed7f5a25d1dd78079c73367b7d34bb5"}
{"label":"import-107","command":["timeout","-k","10","900","node","--test","packages/bus/tests/usage-broker.test.mjs"],"TMPDIR":"/mnt/storage/scratch/tmp/gYVM","start_nice":19,"observed_timeout_nice":19,"exit":0,"seconds":0.179,"mutant":false,"tests":1,"pass":1,"fail":0,"cancelled":0,"skipped":0,"todo":0,"log_sha256":"91d3b9ff3e854f2afb6d635a0994a4b2d1af482804067c2e6f78930babf25378"}
{"label":"import-108","command":["timeout","-k","10","900","node","--test","packages/bus/tests/usage-migration.test.mjs"],"TMPDIR":"/mnt/storage/scratch/tmp/gJIX","start_nice":19,"observed_timeout_nice":19,"exit":0,"seconds":0.232,"mutant":false,"tests":1,"pass":1,"fail":0,"cancelled":0,"skipped":0,"todo":0,"log_sha256":"35dae9048409bf16982b1554b0d3bf53de51293c012b428cfa95e3876c353d1b"}
{"label":"import-109","command":["timeout","-k","10","900","node","--test","packages/bus/tests/usage-runtime.test.mjs"],"TMPDIR":"/mnt/storage/scratch/tmp/gzcI","start_nice":19,"observed_timeout_nice":19,"exit":0,"seconds":0.3,"mutant":false,"tests":1,"pass":1,"fail":0,"cancelled":0,"skipped":0,"todo":0,"log_sha256":"1b260c414d98caf272852cc1c6a0928a79f84b05baad356f954fabb8befed9f4"}
{"label":"import-110","command":["timeout","-k","10","900","node","--test","packages/bus/tests/usage.test.mjs"],"TMPDIR":"/mnt/storage/scratch/tmp/g9hD","start_nice":19,"observed_timeout_nice":19,"exit":0,"seconds":0.341,"mutant":false,"tests":15,"pass":15,"fail":0,"cancelled":0,"skipped":0,"todo":0,"log_sha256":"4b7a7719685b54f0bafcd0d6ca0eff8da3c35e8c438b69fb63826120c444646d"}
{"label":"import-111","command":["timeout","-k","10","900","node","--test","packages/bus/tests/user-principal.test.mjs"],"TMPDIR":"/mnt/storage/scratch/tmp/gCyo","start_nice":19,"observed_timeout_nice":19,"exit":0,"seconds":0.843,"mutant":false,"tests":24,"pass":24,"fail":0,"cancelled":0,"skipped":0,"todo":0,"log_sha256":"7e5d8e391b6d683905f7654276e74e56cd2e0bb3019d8882fb51f5e96e8bb4e2"}
{"label":"import-112","command":["timeout","-k","10","900","node","--test","packages/bus/tests/viewer.test.mjs"],"TMPDIR":"/mnt/storage/scratch/tmp/gckq","start_nice":19,"observed_timeout_nice":19,"exit":0,"seconds":0.495,"mutant":false,"tests":7,"pass":7,"fail":0,"cancelled":0,"skipped":0,"todo":0,"log_sha256":"0088c69c83ad21b0c09c5b74986f7d1b5609f6155d40d6230cb755914506b209"}
{"label":"import-113","command":["timeout","-k","10","900","node","--test","packages/bus/tests/web.test.mjs"],"TMPDIR":"/mnt/storage/scratch/tmp/gr8J","start_nice":19,"observed_timeout_nice":19,"exit":0,"seconds":1.209,"mutant":false,"tests":19,"pass":19,"fail":0,"cancelled":0,"skipped":0,"todo":0,"log_sha256":"81db5367857555ba39abf0d45a2b4837a60c796109af4039b43f3dceaaf9a3e4"}
{"label":"import-114","command":["timeout","-k","10","900","node","--test","packages/bus/tests/workflow-roles.test.mjs"],"TMPDIR":"/mnt/storage/scratch/tmp/gObE","start_nice":19,"observed_timeout_nice":19,"exit":0,"seconds":0.265,"mutant":false,"tests":4,"pass":4,"fail":0,"cancelled":0,"skipped":0,"todo":0,"log_sha256":"4a3d911233067a9623aacbe0f856296e7c80d616d1099a30a9ce253506791bb2"}
{"label":"import-115","command":["timeout","-k","10","900","node","--test","packages/business/tests/case1-business-file.test.mjs"],"TMPDIR":"/mnt/storage/scratch/tmp/gKGR","start_nice":19,"observed_timeout_nice":19,"exit":0,"seconds":0.839,"mutant":false,"tests":7,"pass":7,"fail":0,"cancelled":0,"skipped":0,"todo":0,"log_sha256":"2dd7e08774e88449fc90beffa7a1097772a4b04906e62548cd34b31f1cf541b3"}
{"label":"import-116","command":["timeout","-k","10","900","node","--test","packages/business/tests/launch-settings.test.mjs"],"TMPDIR":"/mnt/storage/scratch/tmp/gaiJ","start_nice":19,"observed_timeout_nice":19,"exit":0,"seconds":0.451,"mutant":false,"tests":18,"pass":18,"fail":0,"cancelled":0,"skipped":0,"todo":0,"log_sha256":"849eeebfaaf47c96f22db45752fb5f00143663fb4ed0aa2d22d74f8af9ea3905"}
{"label":"import-117","command":["timeout","-k","10","900","node","--test","packages/cli/tests/access-boot.test.mjs"],"TMPDIR":"/mnt/storage/scratch/tmp/gU7B","start_nice":19,"observed_timeout_nice":19,"exit":0,"seconds":0.64,"mutant":false,"tests":4,"pass":4,"fail":0,"cancelled":0,"skipped":0,"todo":0,"log_sha256":"1698f3f93b14d11b330e559f19a580edae78b4182042df0e7da1cc9d4cbb53be"}
{"label":"import-118","command":["timeout","-k","10","900","node","--test","packages/cli/tests/access.test.mjs"],"TMPDIR":"/mnt/storage/scratch/tmp/gHaW","start_nice":19,"observed_timeout_nice":19,"exit":0,"seconds":7.364,"mutant":false,"tests":34,"pass":34,"fail":0,"cancelled":0,"skipped":0,"todo":0,"log_sha256":"e42f5491e4db8370ad6f6c2f09a8008c9559ecd572f0985f766f0ca11b1d7b60"}
{"label":"import-119","command":["timeout","-k","10","900","node","--test","packages/cli/tests/app.test.mjs"],"TMPDIR":"/mnt/storage/scratch/tmp/gmHw","start_nice":19,"observed_timeout_nice":19,"exit":0,"seconds":16.086,"mutant":false,"tests":30,"pass":30,"fail":0,"cancelled":0,"skipped":0,"todo":0,"log_sha256":"d65043a7cf3a1d67b99bb47de8efa029c44b90b9fcc0cc7cb8d8ed54403bba81"}
{"label":"import-120","command":["timeout","-k","10","900","node","--test","packages/cli/tests/boot-status.test.mjs"],"TMPDIR":"/mnt/storage/scratch/tmp/gYv3","start_nice":19,"observed_timeout_nice":19,"exit":0,"seconds":1.916,"mutant":false,"tests":3,"pass":3,"fail":0,"cancelled":0,"skipped":0,"todo":0,"log_sha256":"f6753a454d658737099bb6da76219aeb3c6e92bce76b78c53f2d9dae29f5d777"}
{"label":"import-121","command":["timeout","-k","10","900","node","--test","packages/cli/tests/case1-hostcheck.test.mjs"],"TMPDIR":"/mnt/storage/scratch/tmp/gvaK","start_nice":19,"observed_timeout_nice":19,"exit":0,"seconds":3.735,"mutant":false,"tests":19,"pass":19,"fail":0,"cancelled":0,"skipped":0,"todo":0,"log_sha256":"aeb1e23bf951d5859d7adb54fe8f3c6464ba4bf368e9316dce8e5142e097565c"}
{"label":"import-122","command":["timeout","-k","10","900","node","--test","packages/cli/tests/case2-install.test.mjs"],"TMPDIR":"/mnt/storage/scratch/tmp/gLWb","start_nice":19,"observed_timeout_nice":19,"exit":0,"seconds":11.37,"mutant":false,"tests":27,"pass":27,"fail":0,"cancelled":0,"skipped":0,"todo":0,"log_sha256":"06166332e80fd57cd9ae5e5ef2f167260adb413cd6c799b9c1834255cbf3ed63"}
{"label":"import-123","command":["timeout","-k","10","900","node","--test","packages/cli/tests/case2-persona-import.test.mjs"],"TMPDIR":"/mnt/storage/scratch/tmp/g955","start_nice":19,"observed_timeout_nice":19,"exit":0,"seconds":3.606,"mutant":false,"tests":14,"pass":14,"fail":0,"cancelled":0,"skipped":0,"todo":0,"log_sha256":"6005b321161cba438dc94ee6f58a05a05919e099da0d5b43b16b0438214b128e"}
{"label":"import-124","command":["timeout","-k","10","900","node","--test","packages/cli/tests/case2-unit.test.mjs"],"TMPDIR":"/mnt/storage/scratch/tmp/gPC5","start_nice":19,"observed_timeout_nice":19,"exit":0,"seconds":104.569,"mutant":false,"tests":47,"pass":47,"fail":0,"cancelled":0,"skipped":0,"todo":0,"log_sha256":"b9c64e1eea4e389dfc10b9e1ddf88e47d903c7abb1f175b0f73b0a6adf5e8a3b"}
{"label":"import-125","command":["timeout","-k","10","900","node","--test","packages/cli/tests/channel-cli.test.mjs"],"TMPDIR":"/mnt/storage/scratch/tmp/gCxf","start_nice":19,"observed_timeout_nice":19,"exit":0,"seconds":0.604,"mutant":false,"tests":2,"pass":2,"fail":0,"cancelled":0,"skipped":0,"todo":0,"log_sha256":"69ae3003d282a5f998613498ca1a696b684a9e4c03f5b006409d1fb15402c3c6"}
{"label":"import-126","command":["timeout","-k","10","900","node","--test","packages/cli/tests/channel-recovery.test.mjs"],"TMPDIR":"/mnt/storage/scratch/tmp/gy7b","start_nice":19,"observed_timeout_nice":19,"exit":0,"seconds":7.039,"mutant":false,"tests":1,"pass":1,"fail":0,"cancelled":0,"skipped":0,"todo":0,"log_sha256":"0df2d0dce24f2c7e9e70c1db3da115d848ee778a3b77c30f50db5fa5b70b15a8"}
{"label":"import-127","command":["timeout","-k","10","900","node","--test","packages/cli/tests/cli.test.mjs"],"TMPDIR":"/mnt/storage/scratch/tmp/g4YA","start_nice":19,"observed_timeout_nice":19,"exit":0,"seconds":0.986,"mutant":false,"tests":12,"pass":12,"fail":0,"cancelled":0,"skipped":0,"todo":0,"log_sha256":"9e9f75b810bdce44a7e288a0f03572a824642a0e615c3912113d8882fba57f20"}
{"label":"import-128","command":["timeout","-k","10","900","node","--test","packages/cli/tests/compactions-launch.test.mjs"],"TMPDIR":"/mnt/storage/scratch/tmp/gH0o","start_nice":19,"observed_timeout_nice":19,"exit":0,"seconds":18.141,"mutant":false,"tests":5,"pass":5,"fail":0,"cancelled":0,"skipped":0,"todo":0,"log_sha256":"7ab789f5de01f4d9fb2c2933fc906d657bb3c867ebb7e8545b4ae8b2f07e348b"}
{"label":"import-129","command":["timeout","-k","10","900","node","--test","packages/cli/tests/config.test.mjs"],"TMPDIR":"/mnt/storage/scratch/tmp/gvdv","start_nice":19,"observed_timeout_nice":19,"exit":0,"seconds":0.989,"mutant":false,"tests":7,"pass":7,"fail":0,"cancelled":0,"skipped":0,"todo":0,"log_sha256":"46976c51d867431031baeb7dfb03518e111f88327f99f24fafa727c987037710"}
{"label":"import-130","command":["timeout","-k","10","900","node","--test","packages/cli/tests/credentials.test.mjs"],"TMPDIR":"/mnt/storage/scratch/tmp/gW4m","start_nice":19,"observed_timeout_nice":19,"exit":0,"seconds":0.558,"mutant":false,"tests":5,"pass":5,"fail":0,"cancelled":0,"skipped":0,"todo":0,"log_sha256":"1633748b05e927193646fd8eaeb9cc64092553734a972a33ac9b26baee4390e1"}
{"label":"import-131","command":["timeout","-k","10","900","node","--test","packages/cli/tests/federation-acceptance.test.mjs"],"TMPDIR":"/mnt/storage/scratch/tmp/gEeW","start_nice":19,"observed_timeout_nice":19,"exit":0,"seconds":0.281,"mutant":false,"tests":1,"pass":0,"fail":0,"cancelled":0,"skipped":1,"todo":0,"log_sha256":"76dec3f040a21cad59757b69487247ebb3b6a8b27b015f0615585b3be477942a"}
{"label":"import-132","command":["timeout","-k","10","900","node","--test","packages/cli/tests/follow.test.mjs"],"TMPDIR":"/mnt/storage/scratch/tmp/gxPz","start_nice":19,"observed_timeout_nice":19,"exit":0,"seconds":1.084,"mutant":false,"tests":6,"pass":6,"fail":0,"cancelled":0,"skipped":0,"todo":0,"log_sha256":"db3463b8998634a487878c02c81b31eb196077dc45ac102de56f6f06a7bd26ee"}
{"label":"import-133","command":["timeout","-k","10","900","node","--test","packages/cli/tests/git-socket.test.mjs"],"TMPDIR":"/mnt/storage/scratch/tmp/gcHM","start_nice":19,"observed_timeout_nice":19,"exit":0,"seconds":27.936,"mutant":false,"tests":24,"pass":24,"fail":0,"cancelled":0,"skipped":0,"todo":0,"log_sha256":"c1a6247751b05dcaad81d9a42e93c923200f2971ef17622924d00a07c8292735"}
{"label":"import-134","command":["timeout","-k","10","900","node","--test","packages/cli/tests/grants-scope.test.mjs"],"TMPDIR":"/mnt/storage/scratch/tmp/gRr9","start_nice":19,"observed_timeout_nice":19,"exit":0,"seconds":0.298,"mutant":false,"tests":4,"pass":4,"fail":0,"cancelled":0,"skipped":0,"todo":0,"log_sha256":"2f9222ce2ac41443cb24c69bffea46fd96c53af469670f642dcc2319d162ffc5"}
{"label":"import-135","command":["timeout","-k","10","900","node","--test","packages/cli/tests/grants.test.mjs"],"TMPDIR":"/mnt/storage/scratch/tmp/gbr2","start_nice":19,"observed_timeout_nice":19,"exit":0,"seconds":0.418,"mutant":false,"tests":6,"pass":6,"fail":0,"cancelled":0,"skipped":0,"todo":0,"log_sha256":"018fba785221ec997b369739f1fa39ff927f7144b6276f071338a64ba331e555"}
{"label":"import-136","command":["timeout","-k","10","900","node","--test","packages/cli/tests/host.test.mjs"],"TMPDIR":"/mnt/storage/scratch/tmp/gIQc","start_nice":19,"observed_timeout_nice":19,"exit":0,"seconds":20.522,"mutant":false,"tests":43,"pass":43,"fail":0,"cancelled":0,"skipped":0,"todo":0,"log_sha256":"98d2bb8ac91e143fd16fb02b29d877b2df4397a1d8857687707d0bfebb3459be"}
{"label":"import-137","command":["timeout","-k","10","900","node","--test","packages/cli/tests/hosts.test.mjs"],"TMPDIR":"/mnt/storage/scratch/tmp/gB9t","start_nice":19,"observed_timeout_nice":19,"exit":0,"seconds":0.5,"mutant":false,"tests":8,"pass":8,"fail":0,"cancelled":0,"skipped":0,"todo":0,"log_sha256":"376d8a698c39bc25b9e43ee63f762718ab2d2d2dbfab36da61971e3982f98353"}
{"label":"import-138","command":["timeout","-k","10","900","node","--test","packages/cli/tests/idle-stop-race.test.mjs"],"TMPDIR":"/mnt/storage/scratch/tmp/gt4N","start_nice":19,"observed_timeout_nice":19,"exit":0,"seconds":2.246,"mutant":false,"tests":1,"pass":1,"fail":0,"cancelled":0,"skipped":0,"todo":0,"log_sha256":"4ee49db59177a6cedcc98642ad2b4215e1489c8720e3ab27c88a1d3513b4384f"}
{"label":"import-139","command":["timeout","-k","10","900","node","--test","packages/cli/tests/instances.test.mjs"],"TMPDIR":"/mnt/storage/scratch/tmp/ga2n","start_nice":19,"observed_timeout_nice":19,"exit":0,"seconds":4.158,"mutant":false,"tests":15,"pass":15,"fail":0,"cancelled":0,"skipped":0,"todo":0,"log_sha256":"125780e39af442913bf056f71a57b663c954d8eb5a96fb245db8063237ccb1e1"}
{"label":"import-140","command":["timeout","-k","10","900","node","--test","packages/cli/tests/launch-account.test.mjs"],"TMPDIR":"/mnt/storage/scratch/tmp/gEgp","start_nice":19,"observed_timeout_nice":19,"exit":0,"seconds":0.427,"mutant":false,"tests":7,"pass":7,"fail":0,"cancelled":0,"skipped":0,"todo":0,"log_sha256":"1a2de9540358023f6acb51ab8cdfe0f56e21331cca06ecef672fe7e9b1e0b43a"}
{"label":"import-141","command":["timeout","-k","10","900","node","--test","packages/cli/tests/launch-limit-checks.test.mjs"],"TMPDIR":"/mnt/storage/scratch/tmp/gxqf","start_nice":19,"observed_timeout_nice":19,"exit":0,"seconds":0.398,"mutant":false,"tests":5,"pass":5,"fail":0,"cancelled":0,"skipped":0,"todo":0,"log_sha256":"027fb83eb3ef68f01fde4e1a272faf569516372f194e3e8404973756f9ffb974"}
{"label":"import-142","command":["timeout","-k","10","900","node","--test","packages/cli/tests/launch-limits.test.mjs"],"TMPDIR":"/mnt/storage/scratch/tmp/g5N5","start_nice":19,"observed_timeout_nice":19,"exit":0,"seconds":0.255,"mutant":false,"tests":1,"pass":1,"fail":0,"cancelled":0,"skipped":0,"todo":0,"log_sha256":"a3c26a3f092d8e7dd96fe1addfcd77b89d726d027e9f988340a1442823644c3c"}
{"label":"import-143","command":["timeout","-k","10","900","node","--test","packages/cli/tests/launch-routes.test.mjs"],"TMPDIR":"/mnt/storage/scratch/tmp/gMhQ","start_nice":19,"observed_timeout_nice":19,"exit":0,"seconds":0.514,"mutant":false,"tests":9,"pass":9,"fail":0,"cancelled":0,"skipped":0,"todo":0,"log_sha256":"ba0335e2efd7de694b51ca89b427ffb06b652f6d9757df1997f9c1c7703ac74a"}
{"label":"import-144","command":["timeout","-k","10","900","node","--test","packages/cli/tests/launcher.test.mjs"],"TMPDIR":"/mnt/storage/scratch/tmp/gqhv","start_nice":19,"observed_timeout_nice":19,"exit":0,"seconds":45.769,"mutant":false,"tests":34,"pass":34,"fail":0,"cancelled":0,"skipped":0,"todo":0,"log_sha256":"5e5374884901f29432961198070f3ede2f87fcc41a818423c3cb90c919dfd7d0"}
{"label":"import-145","command":["timeout","-k","10","900","node","--test","packages/cli/tests/lifecycle.test.mjs"],"TMPDIR":"/mnt/storage/scratch/tmp/g76b","start_nice":19,"observed_timeout_nice":19,"exit":0,"seconds":16.885,"mutant":false,"tests":24,"pass":24,"fail":0,"cancelled":0,"skipped":0,"todo":0,"log_sha256":"37c3dcc1555bc527fe0f853c1a08bae993bd541143c3b6f7edc360c0c3c26d8d"}
{"label":"import-146","command":["timeout","-k","10","900","node","--test","packages/cli/tests/limits-tokens.test.mjs"],"TMPDIR":"/mnt/storage/scratch/tmp/g7dV","start_nice":19,"observed_timeout_nice":19,"exit":0,"seconds":0.224,"mutant":false,"tests":5,"pass":5,"fail":0,"cancelled":0,"skipped":0,"todo":0,"log_sha256":"6dae4cd3607f44b07df6a5e6764276a2ef152b892f050340d6defd14a83b731e"}
{"label":"import-147","command":["timeout","-k","10","900","node","--test","packages/cli/tests/limits.test.mjs"],"TMPDIR":"/mnt/storage/scratch/tmp/gLVw","start_nice":19,"observed_timeout_nice":19,"exit":0,"seconds":0.442,"mutant":false,"tests":5,"pass":5,"fail":0,"cancelled":0,"skipped":0,"todo":0,"log_sha256":"efe051216bb6347423f556f8951c6b6c4adf9c266d8fde6fedfbebb3e678c17f"}
{"label":"import-148","command":["timeout","-k","10","900","node","--test","packages/cli/tests/mark-read.test.mjs"],"TMPDIR":"/mnt/storage/scratch/tmp/gVQ4","start_nice":19,"observed_timeout_nice":19,"exit":0,"seconds":1.266,"mutant":false,"tests":6,"pass":6,"fail":0,"cancelled":0,"skipped":0,"todo":0,"log_sha256":"b90e024010c9a6fbded17306d01b78b2f5748167f9dd4fee20bc5775ef72de81"}
{"label":"import-149","command":["timeout","-k","10","900","node","--test","packages/cli/tests/names.test.mjs"],"TMPDIR":"/mnt/storage/scratch/tmp/gJL7","start_nice":19,"observed_timeout_nice":19,"exit":0,"seconds":0.297,"mutant":false,"tests":2,"pass":2,"fail":0,"cancelled":0,"skipped":0,"todo":0,"log_sha256":"b8d4005cb4e0f1acbe89bc6427b952459b2b876f54c1ed031a558789b535e87e"}
{"label":"import-150","command":["timeout","-k","10","900","node","--test","packages/cli/tests/notifier.test.mjs"],"TMPDIR":"/mnt/storage/scratch/tmp/gSos","start_nice":19,"observed_timeout_nice":19,"exit":0,"seconds":1.033,"mutant":false,"tests":27,"pass":27,"fail":0,"cancelled":0,"skipped":0,"todo":0,"log_sha256":"c7156a9c99f99c3b51da2c73b728349f348dac6a0b0530bda96212a848014f7c"}
{"label":"import-151","command":["timeout","-k","10","900","node","--test","packages/cli/tests/optional-tracker.test.mjs"],"TMPDIR":"/mnt/storage/scratch/tmp/ggn7","start_nice":19,"observed_timeout_nice":19,"exit":0,"seconds":0.413,"mutant":false,"tests":4,"pass":4,"fail":0,"cancelled":0,"skipped":0,"todo":0,"log_sha256":"d09457d3034c683bc98639f04d83d5348815571d46d5c30cbe055aed5ceef3a7"}
{"label":"import-152","command":["timeout","-k","10","900","node","--test","packages/cli/tests/other-tree.test.mjs"],"TMPDIR":"/mnt/storage/scratch/tmp/gclm","start_nice":19,"observed_timeout_nice":19,"exit":0,"seconds":0.3,"mutant":false,"tests":4,"pass":4,"fail":0,"cancelled":0,"skipped":0,"todo":0,"log_sha256":"aa7be88cd823a44c8743159006f1d9b61072ebaa04935339d4a875d0997f903e"}
{"label":"import-153","command":["timeout","-k","10","900","node","--test","packages/cli/tests/processing-cli.test.mjs"],"TMPDIR":"/mnt/storage/scratch/tmp/gvyI","start_nice":19,"observed_timeout_nice":19,"exit":0,"seconds":0.367,"mutant":false,"tests":4,"pass":4,"fail":0,"cancelled":0,"skipped":0,"todo":0,"log_sha256":"55d67187192edfd5c929713af6a8f40025259429f36a444eb886fd26013a3135"}
{"label":"import-154","command":["timeout","-k","10","900","node","--test","packages/cli/tests/project-name-repo.test.mjs"],"TMPDIR":"/mnt/storage/scratch/tmp/g3qR","start_nice":19,"observed_timeout_nice":19,"exit":0,"seconds":0.431,"mutant":false,"tests":2,"pass":2,"fail":0,"cancelled":0,"skipped":0,"todo":0,"log_sha256":"9e8364d68d732dbcb9e518ff8dc1cb957d0d254c0a3821711df20e34f6427f07"}
{"label":"import-155","command":["timeout","-k","10","900","node","--test","packages/cli/tests/project.test.mjs"],"TMPDIR":"/mnt/storage/scratch/tmp/gJK9","start_nice":19,"observed_timeout_nice":19,"exit":0,"seconds":0.908,"mutant":false,"tests":4,"pass":4,"fail":0,"cancelled":0,"skipped":0,"todo":0,"log_sha256":"7014e206c70053c2eaeb89fa59b38781802e65d2982fee3855772dd9721285a6"}
{"label":"import-156","command":["timeout","-k","10","900","node","--test","packages/cli/tests/publish-socket.test.mjs"],"TMPDIR":"/mnt/storage/scratch/tmp/gQ5m","start_nice":19,"observed_timeout_nice":19,"exit":0,"seconds":11.807,"mutant":false,"tests":9,"pass":9,"fail":0,"cancelled":0,"skipped":0,"todo":0,"log_sha256":"e20a380f9e0e0070d2598bd3ae85679f70f59c92e6f8cf1c7c840a0975c253b7"}
{"label":"import-157","command":["timeout","-k","10","900","node","--test","packages/cli/tests/reply-limits.test.mjs"],"TMPDIR":"/mnt/storage/scratch/tmp/gR4L","start_nice":19,"observed_timeout_nice":19,"exit":0,"seconds":0.167,"mutant":false,"tests":2,"pass":2,"fail":0,"cancelled":0,"skipped":0,"todo":0,"log_sha256":"9339298bbd5ebfb0e033d2b992c69f62c168e124e741bfc0de500c35b8ffc092"}
{"label":"import-158","command":["timeout","-k","10","900","node","--test","packages/cli/tests/revoke-window.test.mjs"],"TMPDIR":"/mnt/storage/scratch/tmp/gHpa","start_nice":19,"observed_timeout_nice":19,"exit":0,"seconds":1.868,"mutant":false,"tests":1,"pass":1,"fail":0,"cancelled":0,"skipped":0,"todo":0,"log_sha256":"774c1211e7dadeab526d34d50b143c1141ee9f85e3799b644734eeb78c8e9b6f"}
{"label":"import-159","command":["timeout","-k","10","900","node","--test","packages/cli/tests/session-clear.test.mjs"],"TMPDIR":"/mnt/storage/scratch/tmp/gd9q","start_nice":19,"observed_timeout_nice":19,"exit":0,"seconds":13.609,"mutant":false,"tests":5,"pass":5,"fail":0,"cancelled":0,"skipped":0,"todo":0,"log_sha256":"a47caf45da848c1bf1a8456eb89c213df981229dc0765362573ec82e6701b11c"}
{"label":"import-160","command":["timeout","-k","10","900","node","--test","packages/cli/tests/session-cli.test.mjs"],"TMPDIR":"/mnt/storage/scratch/tmp/gXLB","start_nice":19,"observed_timeout_nice":19,"exit":0,"seconds":0.323,"mutant":false,"tests":14,"pass":14,"fail":0,"cancelled":0,"skipped":0,"todo":0,"log_sha256":"3d260701a0c4afd1d21effb5ca1db6cdb47803281bde2536853926f56a236955"}
{"label":"import-161","command":["timeout","-k","10","900","node","--test","packages/cli/tests/session-launch.test.mjs"],"TMPDIR":"/mnt/storage/scratch/tmp/gPoX","start_nice":19,"observed_timeout_nice":19,"exit":0,"seconds":12.34,"mutant":false,"tests":8,"pass":8,"fail":0,"cancelled":0,"skipped":0,"todo":0,"log_sha256":"9d077d5e2956b1f40de6abba79ebed6504cc61a3821754526a032231e8697271"}
{"label":"import-162","command":["timeout","-k","10","900","node","--test","packages/cli/tests/stack-copy.test.mjs"],"TMPDIR":"/mnt/storage/scratch/tmp/gb3j","start_nice":19,"observed_timeout_nice":19,"exit":0,"seconds":32.255,"mutant":false,"tests":18,"pass":18,"fail":0,"cancelled":0,"skipped":0,"todo":0,"log_sha256":"a31fda44310b53fcbfbfb5ca037db8bf9209a0235ed951a911358c61c5f4d13b"}
{"label":"import-163","command":["timeout","-k","10","900","node","--test","packages/cli/tests/stack-instances.test.mjs"],"TMPDIR":"/mnt/storage/scratch/tmp/gVU0","start_nice":19,"observed_timeout_nice":19,"exit":0,"seconds":5.223,"mutant":false,"tests":24,"pass":24,"fail":0,"cancelled":0,"skipped":0,"todo":0,"log_sha256":"baf388164839b10a5ea8c3e019d6b5095d7951657ee638784701848b69a160cd"}
{"label":"import-164","command":["timeout","-k","10","900","node","--test","packages/cli/tests/tester-http.test.mjs"],"TMPDIR":"/mnt/storage/scratch/tmp/geku","start_nice":19,"observed_timeout_nice":19,"exit":0,"seconds":0.28,"mutant":false,"tests":2,"pass":2,"fail":0,"cancelled":0,"skipped":0,"todo":0,"log_sha256":"d06f4abf2476d898d85533318fee23bdfe3fdc6012c40e809ae4f21e1d6e74bb"}
{"label":"import-165","command":["timeout","-k","10","900","node","--test","packages/cli/tests/tester-reads.test.mjs"],"TMPDIR":"/mnt/storage/scratch/tmp/g7PM","start_nice":19,"observed_timeout_nice":19,"exit":0,"seconds":5.141,"mutant":false,"tests":6,"pass":6,"fail":0,"cancelled":0,"skipped":0,"todo":0,"log_sha256":"2f293f7b23b679733870b5d5d2f666570b56fa1335d5b94590046447433225c8"}
{"label":"import-166","command":["timeout","-k","10","900","node","--test","packages/cli/tests/tester-threads.test.mjs"],"TMPDIR":"/mnt/storage/scratch/tmp/gAdD","start_nice":19,"observed_timeout_nice":19,"exit":0,"seconds":12.373,"mutant":false,"tests":5,"pass":5,"fail":0,"cancelled":0,"skipped":0,"todo":0,"log_sha256":"6505ae90432cfcf6c2b74ed4c22ebe6ee1b26055b41f3fdada4e40c54e1124f9"}
{"label":"import-167","command":["timeout","-k","10","900","node","--test","packages/cli/tests/tester.test.mjs"],"TMPDIR":"/mnt/storage/scratch/tmp/gx0E","start_nice":19,"observed_timeout_nice":19,"exit":0,"seconds":1.628,"mutant":false,"tests":11,"pass":11,"fail":0,"cancelled":0,"skipped":0,"todo":0,"log_sha256":"abadf2326205ea5ba1e617fd174018995de824d1552f308815e2bc9c3f71e4bc"}
{"label":"import-168","command":["timeout","-k","10","900","node","--test","packages/cli/tests/thread-cli.test.mjs"],"TMPDIR":"/mnt/storage/scratch/tmp/gbFa","start_nice":19,"observed_timeout_nice":19,"exit":0,"seconds":5.076,"mutant":false,"tests":11,"pass":11,"fail":0,"cancelled":0,"skipped":0,"todo":0,"log_sha256":"fc7f5fadded9b52bcebcf80af32a54bfcb85c2a58608e261d839e8c91d473ce4"}
{"label":"import-169","command":["timeout","-k","10","900","node","--test","packages/cli/tests/thread-launch.test.mjs"],"TMPDIR":"/mnt/storage/scratch/tmp/gQNn","start_nice":19,"observed_timeout_nice":19,"exit":0,"seconds":36.824,"mutant":false,"tests":15,"pass":15,"fail":0,"cancelled":0,"skipped":0,"todo":0,"log_sha256":"f4052bf907e300dae2a7d44f3e8b370849e879abf1de9f84e0c74138f41f2640"}
{"label":"import-170","command":["timeout","-k","10","900","node","--test","packages/cli/tests/thread-revoke.test.mjs"],"TMPDIR":"/mnt/storage/scratch/tmp/gNtT","start_nice":19,"observed_timeout_nice":19,"exit":0,"seconds":1.273,"mutant":false,"tests":3,"pass":3,"fail":0,"cancelled":0,"skipped":0,"todo":0,"log_sha256":"2f66b678922916e9856a6ade3a4524c420d981f39548a6687df77cb95c660d40"}
{"label":"import-171","command":["timeout","-k","10","900","node","--test","packages/cli/tests/trackers-boot.test.mjs"],"TMPDIR":"/mnt/storage/scratch/tmp/giDk","start_nice":19,"observed_timeout_nice":19,"exit":0,"seconds":1.097,"mutant":false,"tests":2,"pass":2,"fail":0,"cancelled":0,"skipped":0,"todo":0,"log_sha256":"dbb78cab0545fe2d18089c4510092562aa5bc16cdc3f1f95784719d8e2dda241"}
{"label":"import-172","command":["timeout","-k","10","900","node","--test","packages/cli/tests/transport.test.mjs"],"TMPDIR":"/mnt/storage/scratch/tmp/g6h3","start_nice":19,"observed_timeout_nice":19,"exit":0,"seconds":2.447,"mutant":false,"tests":3,"pass":3,"fail":0,"cancelled":0,"skipped":0,"todo":0,"log_sha256":"7b7a41c111670e869d5156d3714a33c7a4e7a675893cff4767c505b658ac0dc8"}
{"label":"import-173","command":["timeout","-k","10","900","node","--test","packages/cli/tests/usage.test.mjs"],"TMPDIR":"/mnt/storage/scratch/tmp/gERb","start_nice":19,"observed_timeout_nice":19,"exit":0,"seconds":0.44,"mutant":false,"tests":2,"pass":2,"fail":0,"cancelled":0,"skipped":0,"todo":0,"log_sha256":"d39ae2e64f3e78a0d4bd7fc8d4c6f8f087ac80f0ba47d5dbd199d627d826e86f"}
{"label":"import-174","command":["timeout","-k","10","900","node","--test","packages/cli/tests/verbs.test.mjs"],"TMPDIR":"/mnt/storage/scratch/tmp/gaL4","start_nice":19,"observed_timeout_nice":19,"exit":0,"seconds":3.562,"mutant":false,"tests":9,"pass":9,"fail":0,"cancelled":0,"skipped":0,"todo":0,"log_sha256":"6eafbcea30d6c03a2f8dd925ca6b801fb7f2a8475f3b70715ad8a5060f47f0f0"}
{"label":"import-175","command":["timeout","-k","10","900","node","--test","packages/harness/tests/bundle.test.mjs"],"TMPDIR":"/mnt/storage/scratch/tmp/g8v2","start_nice":19,"observed_timeout_nice":19,"exit":0,"seconds":0.276,"mutant":false,"tests":22,"pass":22,"fail":0,"cancelled":0,"skipped":0,"todo":0,"log_sha256":"232cba86e5cf956c07e7ac3bce916899fd288db2ef252bf33041c54fa29f6e1b"}
{"label":"import-176","command":["timeout","-k","10","900","node","--test","packages/harness/tests/citation-runner.test.mjs"],"TMPDIR":"/mnt/storage/scratch/tmp/g6h4","start_nice":19,"observed_timeout_nice":19,"exit":0,"seconds":6.327,"mutant":false,"tests":21,"pass":21,"fail":0,"cancelled":0,"skipped":0,"todo":0,"log_sha256":"ef0a3e5f582524e0f03a3a39b518356af2d180cefcaa64439c828dbfc9ab0555"}
{"label":"import-177","command":["timeout","-k","10","900","node","--test","packages/harness/tests/claude-gate.test.mjs"],"TMPDIR":"/mnt/storage/scratch/tmp/gmnt","start_nice":19,"observed_timeout_nice":19,"exit":0,"seconds":1.62,"mutant":false,"tests":3,"pass":3,"fail":0,"cancelled":0,"skipped":0,"todo":0,"log_sha256":"2b7867d549382bd5943f9f828f7132743abd724b9d6a26f7e7647e5deac1086c"}
{"label":"import-178","command":["timeout","-k","10","900","node","--test","packages/harness/tests/claude-session.test.mjs"],"TMPDIR":"/mnt/storage/scratch/tmp/gWex","start_nice":19,"observed_timeout_nice":19,"exit":0,"seconds":8.983,"mutant":false,"tests":10,"pass":10,"fail":0,"cancelled":0,"skipped":0,"todo":0,"log_sha256":"e97d2c71fb63346d736d85b37e1bae38708041a7e09b15cc5d64f44d5f87e592"}
{"label":"import-179","command":["timeout","-k","10","900","node","--test","packages/harness/tests/creative.test.mjs"],"TMPDIR":"/mnt/storage/scratch/tmp/g7fD","start_nice":19,"observed_timeout_nice":19,"exit":0,"seconds":0.349,"mutant":false,"tests":7,"pass":7,"fail":0,"cancelled":0,"skipped":0,"todo":0,"log_sha256":"0a08749c464113ccbc5207cc63ad3cb33ccd7d7af3ebdcb614106f14a38fa8af"}
{"label":"import-180","command":["timeout","-k","10","900","node","--test","packages/harness/tests/gate.test.mjs"],"TMPDIR":"/mnt/storage/scratch/tmp/gLqE","start_nice":19,"observed_timeout_nice":19,"exit":0,"seconds":0.177,"mutant":false,"tests":12,"pass":12,"fail":0,"cancelled":0,"skipped":0,"todo":0,"log_sha256":"8d3cf0837ecb7d8c5be2a02c67fbe1fb1fbf0a7d75b8e79029a6a3530870353f"}
{"label":"import-181","command":["timeout","-k","10","900","node","--test","packages/harness/tests/git-tools.test.mjs"],"TMPDIR":"/mnt/storage/scratch/tmp/gcPM","start_nice":19,"observed_timeout_nice":19,"exit":0,"seconds":2.824,"mutant":false,"tests":5,"pass":5,"fail":0,"cancelled":0,"skipped":0,"todo":0,"log_sha256":"170299b738f35a5cbce8336dbf37ddd340045c9f12b0d86716dc9764ce692656"}
{"label":"import-183","command":["timeout","-k","10","900","node","--test","packages/harness/tests/mcp-server.test.mjs"],"TMPDIR":"/mnt/storage/scratch/tmp/gruQ","start_nice":19,"observed_timeout_nice":19,"exit":0,"seconds":0.352,"mutant":false,"tests":5,"pass":5,"fail":0,"cancelled":0,"skipped":0,"todo":0,"log_sha256":"fcbb8ff07441b7458fad73e8f0d2e8c81a37a184244403c46f0db51bcb579d6c"}
{"label":"import-184","command":["timeout","-k","10","900","node","--test","packages/harness/tests/pi-session.test.mjs"],"TMPDIR":"/mnt/storage/scratch/tmp/gQR8","start_nice":19,"observed_timeout_nice":19,"exit":0,"seconds":7.664,"mutant":false,"tests":10,"pass":10,"fail":0,"cancelled":0,"skipped":0,"todo":0,"log_sha256":"21ef864f6c0608e398001beed596c711eaa16df9830be6e9948d23adaf7ae19b"}
{"label":"import-185","command":["timeout","-k","10","900","node","--test","packages/harness/tests/raise-domain.test.mjs"],"TMPDIR":"/mnt/storage/scratch/tmp/gkno","start_nice":19,"observed_timeout_nice":19,"exit":0,"seconds":0.289,"mutant":false,"tests":2,"pass":2,"fail":0,"cancelled":0,"skipped":0,"todo":0,"log_sha256":"258b03d95708255aaf9c53af130e80349d3fb7a15c412f5e99a552d38d273cf4"}
{"label":"import-186","command":["timeout","-k","10","900","node","--test","packages/harness/tests/runner.test.mjs"],"TMPDIR":"/mnt/storage/scratch/tmp/gHpN","start_nice":19,"observed_timeout_nice":19,"exit":0,"seconds":14.264,"mutant":false,"tests":40,"pass":40,"fail":0,"cancelled":0,"skipped":0,"todo":0,"log_sha256":"6b2ed91f2cc0af529b15da7dd1ca38fc4f9024b8838f1ae948bb9fb61f52b1d4"}
{"label":"import-187","command":["timeout","-k","10","900","node","--test","packages/harness/tests/skills.test.mjs"],"TMPDIR":"/mnt/storage/scratch/tmp/ge6l","start_nice":19,"observed_timeout_nice":19,"exit":0,"seconds":0.322,"mutant":false,"tests":10,"pass":10,"fail":0,"cancelled":0,"skipped":0,"todo":0,"log_sha256":"a5eb44bb14feab35f8afff44467dd1ab4b6ccd95f0c20e99bd8165e02ab11e94"}
{"label":"import-188","command":["timeout","-k","10","900","node","--test","packages/harness/tests/spec-tools.test.mjs"],"TMPDIR":"/mnt/storage/scratch/tmp/gqeF","start_nice":19,"observed_timeout_nice":19,"exit":0,"seconds":0.392,"mutant":false,"tests":2,"pass":2,"fail":0,"cancelled":0,"skipped":0,"todo":0,"log_sha256":"25bef2391ffce43b2ad8c6159fb801bf371064b48998f5212b45043b78a65ab4"}
{"label":"import-189","command":["timeout","-k","10","900","node","--test","packages/harness/tests/tools.test.mjs"],"TMPDIR":"/mnt/storage/scratch/tmp/gh6I","start_nice":19,"observed_timeout_nice":19,"exit":0,"seconds":0.254,"mutant":false,"tests":23,"pass":23,"fail":0,"cancelled":0,"skipped":0,"todo":0,"log_sha256":"032cd4df77581f65cc3d1e3487b542cc2568e40461f34cf345c9e3ccf224d2c0"}
{"label":"import-190","command":["timeout","-k","10","900","node","--test","packages/library/tests/guard.test.mjs"],"TMPDIR":"/mnt/storage/scratch/tmp/gX5T","start_nice":19,"observed_timeout_nice":19,"exit":0,"seconds":0.7,"mutant":false,"tests":11,"pass":11,"fail":0,"cancelled":0,"skipped":0,"todo":0,"log_sha256":"c5c5e1daabdcbc4830da5472dc584f3095874effa6ed00a5d752ef5a792f433a"}
{"label":"import-191","command":["timeout","-k","10","900","node","--test","packages/library/tests/index-build.test.mjs"],"TMPDIR":"/mnt/storage/scratch/tmp/gDCo","start_nice":19,"observed_timeout_nice":19,"exit":0,"seconds":4.794,"mutant":false,"tests":6,"pass":6,"fail":0,"cancelled":0,"skipped":0,"todo":0,"log_sha256":"6122712a2a10cd4fc7ad0f29e7581dc27e6d1e5daddb92dc3b9831ccd26c06b5"}
{"label":"import-192","command":["timeout","-k","10","900","node","--test","packages/library/tests/links.test.mjs"],"TMPDIR":"/mnt/storage/scratch/tmp/gNyj","start_nice":19,"observed_timeout_nice":19,"exit":0,"seconds":0.128,"mutant":false,"tests":7,"pass":7,"fail":0,"cancelled":0,"skipped":0,"todo":0,"log_sha256":"933818b92437600be0591b784675887f9240915167a6218d9bd5546737c0de1d"}
{"label":"import-193","command":["timeout","-k","10","900","node","--test","packages/library/tests/mapping.test.mjs"],"TMPDIR":"/mnt/storage/scratch/tmp/gBnG","start_nice":19,"observed_timeout_nice":19,"exit":0,"seconds":0.16,"mutant":false,"tests":16,"pass":16,"fail":0,"cancelled":0,"skipped":0,"todo":0,"log_sha256":"b97b350865814827ad8998f9a24ea1f65749b882dd10531eb79052268769f9d0"}
{"label":"import-194","command":["timeout","-k","10","900","node","--test","packages/library/tests/mirror.test.mjs"],"TMPDIR":"/mnt/storage/scratch/tmp/gfP9","start_nice":19,"observed_timeout_nice":19,"exit":0,"seconds":6.763,"mutant":false,"tests":16,"pass":16,"fail":0,"cancelled":0,"skipped":0,"todo":0,"log_sha256":"ba91652dd7daa182d771e5f8d093769fa009494d0f4080fd697a423b8c8aff4c"}
{"label":"import-196","command":["timeout","-k","10","900","node","--test","packages/library/tests/reader.test.mjs"],"TMPDIR":"/mnt/storage/scratch/tmp/gvmz","start_nice":19,"observed_timeout_nice":19,"exit":0,"seconds":1.028,"mutant":false,"tests":14,"pass":14,"fail":0,"cancelled":0,"skipped":0,"todo":0,"log_sha256":"5b335d4472ccc9aead596840a67909ccf96270c7ccf88e4ad2141eb5953de74c"}
{"label":"import-197","command":["timeout","-k","10","900","node","--test","packages/library/tests/render.test.mjs"],"TMPDIR":"/mnt/storage/scratch/tmp/gfUA","start_nice":19,"observed_timeout_nice":19,"exit":0,"seconds":0.211,"mutant":false,"tests":9,"pass":9,"fail":0,"cancelled":0,"skipped":0,"todo":0,"log_sha256":"f95a831fa8ef95d90f50861d7ebf05fdedc4d3d68d1ea3dec1e17e9392befab9"}
{"label":"import-198","command":["timeout","-k","10","900","node","--test","packages/library/tests/scope.test.mjs"],"TMPDIR":"/mnt/storage/scratch/tmp/gxAY","start_nice":19,"observed_timeout_nice":19,"exit":0,"seconds":0.368,"mutant":false,"tests":6,"pass":6,"fail":0,"cancelled":0,"skipped":0,"todo":0,"log_sha256":"3935e31b852d0be272395f8d2af9816e8b8ee3bf75a088be39559e413d58fd1e"}
{"label":"import-199","command":["timeout","-k","10","900","node","--test","packages/library/tests/supporting.test.mjs"],"TMPDIR":"/mnt/storage/scratch/tmp/gT0U","start_nice":19,"observed_timeout_nice":19,"exit":0,"seconds":0.25,"mutant":false,"tests":6,"pass":6,"fail":0,"cancelled":0,"skipped":0,"todo":0,"log_sha256":"cfd46a3aaa0167b3adda75bb69095f6328de4cfd43bdb26ae4952e6867c6bf81"}
{"label":"import-200","command":["timeout","-k","10","900","node","--test","packages/library/tests/survey.test.mjs"],"TMPDIR":"/mnt/storage/scratch/tmp/gQVP","start_nice":19,"observed_timeout_nice":19,"exit":0,"seconds":0.764,"mutant":false,"tests":7,"pass":7,"fail":0,"cancelled":0,"skipped":0,"todo":0,"log_sha256":"a20f9ea4cd570def995d73d389f0610621f0198499e60c8f27ada2e952b22bb8"}
{"label":"import-201","command":["timeout","-k","10","900","node","--test","packages/library/tests/sync.test.mjs"],"TMPDIR":"/mnt/storage/scratch/tmp/gGSr","start_nice":19,"observed_timeout_nice":19,"exit":0,"seconds":6.838,"mutant":false,"tests":24,"pass":24,"fail":0,"cancelled":0,"skipped":0,"todo":0,"log_sha256":"683e7b2ec581c2d72a6a3edc68913a7092a49c3ac5c15fe9dfa3062fc3d59fe9"}
{"label":"import-202","command":["timeout","-k","10","900","node","--test","packages/processing-control/tests/task.test.mjs"],"TMPDIR":"/mnt/storage/scratch/tmp/gAOM","start_nice":19,"observed_timeout_nice":19,"exit":0,"seconds":1.776,"mutant":false,"tests":7,"pass":7,"fail":0,"cancelled":0,"skipped":0,"todo":0,"log_sha256":"a9c5e79fa8bddcd222359c6b5fb5634ad170ad56babfe3971f22d8f1fbcaceb9"}
{"label":"import-203","command":["timeout","-k","10","900","node","--test","packages/seat/tests/sandbox.test.mjs"],"TMPDIR":"/mnt/storage/scratch/tmp/gcfc","start_nice":19,"observed_timeout_nice":19,"exit":0,"seconds":7.076,"mutant":false,"tests":10,"pass":10,"fail":0,"cancelled":0,"skipped":0,"todo":0,"log_sha256":"9d9e237b00482d14c1173fcdf2ba0770d87c2e77e0a2d7f8b3631531d1fa5da2"}
{"label":"import-204","command":["timeout","-k","10","900","node","--test","packages/seat/tests/session.test.mjs"],"TMPDIR":"/mnt/storage/scratch/tmp/gpBq","start_nice":19,"observed_timeout_nice":19,"exit":0,"seconds":0.478,"mutant":false,"tests":13,"pass":13,"fail":0,"cancelled":0,"skipped":0,"todo":0,"log_sha256":"2ffb0ee5961f4611d6afde99fd99270dee783b7abde51c9038ee2087dc426c22"}
{"label":"import-205","command":["timeout","-k","10","900","node","--test","packages/tasks/tests/adapter.test.mjs"],"TMPDIR":"/mnt/storage/scratch/tmp/guN4","start_nice":19,"observed_timeout_nice":19,"exit":0,"seconds":0.512,"mutant":false,"tests":8,"pass":8,"fail":0,"cancelled":0,"skipped":0,"todo":0,"log_sha256":"b0441401e2ab0e9593e6d55cca661366e7ee8b51850ac934bfca23de45d2a35a"}
{"label":"import-206","command":["timeout","-k","10","900","node","--test","packages/tasks/tests/comment-restart.test.mjs"],"TMPDIR":"/mnt/storage/scratch/tmp/gyAw","start_nice":19,"observed_timeout_nice":19,"exit":0,"seconds":0.45,"mutant":false,"tests":5,"pass":5,"fail":0,"cancelled":0,"skipped":0,"todo":0,"log_sha256":"599ad621c9d89dc1f200ad0e87eb1573e5ae7bfcc6ff9cddb9048855a9f8613f"}
{"label":"import-207","command":["timeout","-k","10","900","node","--test","packages/tasks/tests/fields.test.mjs"],"TMPDIR":"/mnt/storage/scratch/tmp/gOij","start_nice":19,"observed_timeout_nice":19,"exit":0,"seconds":0.617,"mutant":false,"tests":5,"pass":5,"fail":0,"cancelled":0,"skipped":0,"todo":0,"log_sha256":"2d83b920f5f716537a69555f6bead6b99be1b3c64751305ec8de1a71cadeb56f"}
{"label":"import-208","command":["timeout","-k","10","900","node","--test","packages/tasks/tests/processing.test.mjs"],"TMPDIR":"/mnt/storage/scratch/tmp/g72u","start_nice":19,"observed_timeout_nice":19,"exit":0,"seconds":0.32,"mutant":false,"tests":3,"pass":3,"fail":0,"cancelled":0,"skipped":0,"todo":0,"log_sha256":"5d740844a654055345b9e7c69ed4d2a247cd932ad2a5a6fcf329c7801cbd0ad7"}
{"label":"import-209","command":["timeout","-k","10","900","node","--test","packages/tasks/tests/shapes.test.mjs"],"TMPDIR":"/mnt/storage/scratch/tmp/gJAm","start_nice":19,"observed_timeout_nice":19,"exit":0,"seconds":0.518,"mutant":false,"tests":4,"pass":4,"fail":0,"cancelled":0,"skipped":0,"todo":0,"log_sha256":"3811bcc866161d152d9460cb8bfef2faa9cd3e533de96f1b3f014403dd7fb51e"}
{"label":"import-210","command":["timeout","-k","10","900","node","--test","packages/tasks/tests/startup.test.mjs"],"TMPDIR":"/mnt/storage/scratch/tmp/gGTN","start_nice":19,"observed_timeout_nice":19,"exit":0,"seconds":0.541,"mutant":false,"tests":9,"pass":9,"fail":0,"cancelled":0,"skipped":0,"todo":0,"log_sha256":"b2c08b276e60a676346a7a7a96423939fc50fece24e84f7d31a141414ae9c65e"}
{"label":"import-211","command":["timeout","-k","10","900","node","--test","packages/tasks/tests/sync.test.mjs"],"TMPDIR":"/mnt/storage/scratch/tmp/gccq","start_nice":19,"observed_timeout_nice":19,"exit":0,"seconds":0.994,"mutant":false,"tests":11,"pass":11,"fail":0,"cancelled":0,"skipped":0,"todo":0,"log_sha256":"7521b57b037d5dfd35e4e7f8b3e0f772e6f09e9a7f218eaa55a95b40798fb3cb"}
{"label":"import-212","command":["timeout","-k","10","900","node","--test","packages/tasks/tests/tree.test.mjs"],"TMPDIR":"/mnt/storage/scratch/tmp/gKai","start_nice":19,"observed_timeout_nice":19,"exit":0,"seconds":1.129,"mutant":false,"tests":19,"pass":19,"fail":0,"cancelled":0,"skipped":0,"todo":0,"log_sha256":"035eba7993242c2797c236e2c7f5d41f9248d872984cbfd785bb596bd323721f"}
{"label":"import-213","command":["timeout","-k","10","900","node","--test","packages/tasks/tests/verbs.test.mjs"],"TMPDIR":"/mnt/storage/scratch/tmp/gcgn","start_nice":19,"observed_timeout_nice":19,"exit":0,"seconds":1.767,"mutant":false,"tests":31,"pass":31,"fail":0,"cancelled":0,"skipped":0,"todo":0,"log_sha256":"27cd7e0bb4607ec39ededdc89e4afcb363698eee6dd31ddd5d5a6b2cbabd847b"}
{"label":"import-214","command":["timeout","-k","10","900","node","--test","packages/webui/tests/agents-browser.test.mjs"],"TMPDIR":"/mnt/storage/scratch/tmp/gtNR","start_nice":19,"observed_timeout_nice":19,"exit":0,"seconds":17.433,"mutant":false,"tests":2,"pass":2,"fail":0,"cancelled":0,"skipped":0,"todo":0,"log_sha256":"e2c213130dbf80c125011ba8d45c016bfb347ebe1d21f1c64d1756e0db82d6f9"}
{"label":"import-215","command":["timeout","-k","10","900","node","--test","packages/webui/tests/agents.test.mjs"],"TMPDIR":"/mnt/storage/scratch/tmp/gQRO","start_nice":19,"observed_timeout_nice":19,"exit":0,"seconds":0.233,"mutant":false,"tests":9,"pass":9,"fail":0,"cancelled":0,"skipped":0,"todo":0,"log_sha256":"c94baa2f42b463dee93e00cf1f3b1e60b287f109debf3a5a5133a8363b992d3a"}
{"label":"import-216","command":["timeout","-k","10","900","node","--test","packages/webui/tests/assistant.test.mjs"],"TMPDIR":"/mnt/storage/scratch/tmp/gCyc","start_nice":19,"observed_timeout_nice":19,"exit":0,"seconds":0.233,"mutant":false,"tests":6,"pass":6,"fail":0,"cancelled":0,"skipped":0,"todo":0,"log_sha256":"1a32bdca8137c6aff24e9eee5c19dcadfef1e3a5f0aab5a45c600cf39c29e56e"}
{"label":"import-217","command":["timeout","-k","10","900","node","--test","packages/webui/tests/board-held.test.mjs"],"TMPDIR":"/mnt/storage/scratch/tmp/gPDU","start_nice":19,"observed_timeout_nice":19,"exit":0,"seconds":10.78,"mutant":false,"tests":3,"pass":3,"fail":0,"cancelled":0,"skipped":0,"todo":0,"log_sha256":"fb532481a6401e7097d1b7fd8c858885988e37529779c7e989885dd0de21f7e9"}
{"label":"import-218","command":["timeout","-k","10","900","node","--test","packages/webui/tests/browser-edge.test.mjs"],"TMPDIR":"/mnt/storage/scratch/tmp/gw0B","start_nice":19,"observed_timeout_nice":19,"exit":0,"seconds":1.748,"mutant":false,"tests":1,"pass":1,"fail":0,"cancelled":0,"skipped":0,"todo":0,"log_sha256":"f23507b59a89ff056564e71cda5e73b275ebc4de3130956b9cf69615af5aebe0"}
{"label":"import-219","command":["timeout","-k","10","900","node","--test","packages/webui/tests/browser.test.mjs"],"TMPDIR":"/mnt/storage/scratch/tmp/gZfS","start_nice":19,"observed_timeout_nice":19,"exit":0,"seconds":2.398,"mutant":false,"tests":1,"pass":1,"fail":0,"cancelled":0,"skipped":0,"todo":0,"log_sha256":"08f605ea6cfe1ec7b0f9d1a951a359e2e0106892dc56567152ed569548bff757"}
{"label":"import-220","command":["timeout","-k","10","900","node","--test","packages/webui/tests/bus-browser.test.mjs"],"TMPDIR":"/mnt/storage/scratch/tmp/gjO2","start_nice":19,"observed_timeout_nice":19,"exit":0,"seconds":3.795,"mutant":false,"tests":2,"pass":2,"fail":0,"cancelled":0,"skipped":0,"todo":0,"log_sha256":"c03e5eaab52ea76d3b5ac1ccfbae6c25a2fab9f592aa45cd29bc6e22f3f45c3f"}
{"label":"import-221","command":["timeout","-k","10","900","node","--test","packages/webui/tests/bus.test.mjs"],"TMPDIR":"/mnt/storage/scratch/tmp/g766","start_nice":19,"observed_timeout_nice":19,"exit":0,"seconds":4.937,"mutant":false,"tests":10,"pass":10,"fail":0,"cancelled":0,"skipped":0,"todo":0,"log_sha256":"703208aaab3751971784b6266b335c54f41048735650e92f40b6e8bd37ea9a6a"}
{"label":"import-222","command":["timeout","-k","10","900","node","--test","packages/webui/tests/channel-chat.test.mjs"],"TMPDIR":"/mnt/storage/scratch/tmp/gyou","start_nice":19,"observed_timeout_nice":19,"exit":0,"seconds":0.526,"mutant":false,"tests":3,"pass":3,"fail":0,"cancelled":0,"skipped":0,"todo":0,"log_sha256":"9dd425b57cb427c25265f7e1b4266cc9d9d09892d2de5ddf4c916635b66515c1"}
{"label":"import-223","command":["timeout","-k","10","900","node","--test","packages/webui/tests/chat-browser.test.mjs"],"TMPDIR":"/mnt/storage/scratch/tmp/g5ri","start_nice":19,"observed_timeout_nice":19,"exit":0,"seconds":40.593,"mutant":false,"tests":19,"pass":19,"fail":0,"cancelled":0,"skipped":0,"todo":0,"log_sha256":"4a751781c8e1b9c4e1bbe9e1767d5d897c3cbb09ac4db39ea25d13c276e947cd"}
{"label":"import-224","command":["timeout","-k","10","900","node","--test","packages/webui/tests/chat-instances.test.mjs"],"TMPDIR":"/mnt/storage/scratch/tmp/gypj","start_nice":19,"observed_timeout_nice":19,"exit":0,"seconds":0.248,"mutant":false,"tests":4,"pass":4,"fail":0,"cancelled":0,"skipped":0,"todo":0,"log_sha256":"c43f61b93bbf092d23c0bfe9c6e85b76e4ded17b18d973c4a37832764df71f72"}
{"label":"import-225","command":["timeout","-k","10","900","node","--test","packages/webui/tests/chat-replies-browser.test.mjs"],"TMPDIR":"/mnt/storage/scratch/tmp/gDNY","start_nice":19,"observed_timeout_nice":19,"exit":0,"seconds":8.751,"mutant":false,"tests":11,"pass":11,"fail":0,"cancelled":0,"skipped":0,"todo":0,"log_sha256":"f919fe31839c0bc40d4860c4f4412480a1016267c00b292fead32b36098031d5"}
{"label":"import-226","command":["timeout","-k","10","900","node","--test","packages/webui/tests/chat-sessions-access.test.mjs"],"TMPDIR":"/mnt/storage/scratch/tmp/g9LK","start_nice":19,"observed_timeout_nice":19,"exit":0,"seconds":4.741,"mutant":false,"tests":7,"pass":7,"fail":0,"cancelled":0,"skipped":0,"todo":0,"log_sha256":"a4c4116cfd2a752d7efd2897430a9b2b052b6acf868c1ca8ce26b81ba9585812"}
{"label":"import-227","command":["timeout","-k","10","900","node","--test","packages/webui/tests/chat.test.mjs"],"TMPDIR":"/mnt/storage/scratch/tmp/go2w","start_nice":19,"observed_timeout_nice":19,"exit":0,"seconds":0.849,"mutant":false,"tests":30,"pass":30,"fail":0,"cancelled":0,"skipped":0,"todo":0,"log_sha256":"77d6c675d0a4534e84f4b2ce4eddf2135908dc5014469e74b87b6fdd3f63c130"}
{"label":"import-228","command":["timeout","-k","10","900","node","--test","packages/webui/tests/conversation.test.mjs"],"TMPDIR":"/mnt/storage/scratch/tmp/ga85","start_nice":19,"observed_timeout_nice":19,"exit":0,"seconds":4.852,"mutant":false,"tests":4,"pass":4,"fail":0,"cancelled":0,"skipped":0,"todo":0,"log_sha256":"35d962e50a5a143e4dd8b816414c3044096d8907e807f50ca72eef81df9531ee"}
{"label":"import-229","command":["timeout","-k","10","900","node","--test","packages/webui/tests/decide-browser.test.mjs"],"TMPDIR":"/mnt/storage/scratch/tmp/gd1n","start_nice":19,"observed_timeout_nice":19,"exit":0,"seconds":12.017,"mutant":false,"tests":3,"pass":3,"fail":0,"cancelled":0,"skipped":0,"todo":0,"log_sha256":"559586deeaa79f7f28185318bf29e7ea28b4536c60bddbfdcdd337850104820a"}
{"label":"import-230","command":["timeout","-k","10","900","node","--test","packages/webui/tests/decide-sso.test.mjs"],"TMPDIR":"/mnt/storage/scratch/tmp/gTYk","start_nice":19,"observed_timeout_nice":19,"exit":0,"seconds":0.998,"mutant":false,"tests":5,"pass":5,"fail":0,"cancelled":0,"skipped":0,"todo":0,"log_sha256":"f277b7937f563610c111f75d55917ba1a6474b0cbf7edcc417f66ca1db9e77a8"}
{"label":"import-231","command":["timeout","-k","10","900","node","--test","packages/webui/tests/decision-http.test.mjs"],"TMPDIR":"/mnt/storage/scratch/tmp/gesP","start_nice":19,"observed_timeout_nice":19,"exit":0,"seconds":0.149,"mutant":false,"tests":9,"pass":9,"fail":0,"cancelled":0,"skipped":0,"todo":0,"log_sha256":"1ae4314867f3da3d96bb8bd99bb9e4bb120610e4b4f76f266a4394d2c4cdac3d"}
{"label":"import-232","command":["timeout","-k","10","900","node","--test","packages/webui/tests/discord.test.mjs"],"TMPDIR":"/mnt/storage/scratch/tmp/gROh","start_nice":19,"observed_timeout_nice":19,"exit":0,"seconds":1.126,"mutant":false,"tests":1,"pass":1,"fail":0,"cancelled":0,"skipped":0,"todo":0,"log_sha256":"d1da3a8a99ae68e4e2c704b993c9f4fac1502f60dc21502abadad75584e212f1"}
{"label":"import-233","command":["timeout","-k","10","900","node","--test","packages/webui/tests/docs-browser.test.mjs"],"TMPDIR":"/mnt/storage/scratch/tmp/gZtM","start_nice":19,"observed_timeout_nice":19,"exit":0,"seconds":1.892,"mutant":false,"tests":1,"pass":1,"fail":0,"cancelled":0,"skipped":0,"todo":0,"log_sha256":"b126c48278cbe8276b5a1459b14cf00d1047ec686a80a82dfe509169e4d8aa7c"}
{"label":"import-234","command":["timeout","-k","10","900","node","--test","packages/webui/tests/editor-browser.test.mjs"],"TMPDIR":"/mnt/storage/scratch/tmp/gJnO","start_nice":19,"observed_timeout_nice":19,"exit":0,"seconds":23.444,"mutant":false,"tests":16,"pass":16,"fail":0,"cancelled":0,"skipped":0,"todo":0,"log_sha256":"1053f032713f4a82d05003347cb02c6db54f6c554d3d549608615e3dcc835c83"}
{"label":"import-235","command":["timeout","-k","10","900","node","--test","packages/webui/tests/editor.test.mjs"],"TMPDIR":"/mnt/storage/scratch/tmp/gLje","start_nice":19,"observed_timeout_nice":19,"exit":0,"seconds":6.017,"mutant":false,"tests":5,"pass":5,"fail":0,"cancelled":0,"skipped":0,"todo":0,"log_sha256":"a1b78738684b0e0049cc5731f55b67cc21d83c0bd117a20ee094efcefbc926b9"}
{"label":"import-236","command":["timeout","-k","10","900","node","--test","packages/webui/tests/granted-user.test.mjs"],"TMPDIR":"/mnt/storage/scratch/tmp/gH8T","start_nice":19,"observed_timeout_nice":19,"exit":0,"seconds":6.001,"mutant":false,"tests":19,"pass":19,"fail":0,"cancelled":0,"skipped":0,"todo":0,"log_sha256":"7e778058c0b4dfc5a44b1c95d146e3628f1401f18e5ca68d0eb5a2af2357fe16"}
{"label":"import-237","command":["timeout","-k","10","900","node","--test","packages/webui/tests/history-return-flow.test.mjs"],"TMPDIR":"/mnt/storage/scratch/tmp/gOZs","start_nice":19,"observed_timeout_nice":19,"exit":0,"seconds":56.725,"mutant":false,"tests":1,"pass":1,"fail":0,"cancelled":0,"skipped":0,"todo":0,"log_sha256":"1e74c166baa23c019edac72a0ce2735e7804112369ef6f6d12b4b30e0ed1a7a1"}
{"label":"import-238","command":["timeout","-k","10","900","node","--test","packages/webui/tests/instances-browser.test.mjs"],"TMPDIR":"/mnt/storage/scratch/tmp/goix","start_nice":19,"observed_timeout_nice":19,"exit":0,"seconds":3.608,"mutant":false,"tests":1,"pass":1,"fail":0,"cancelled":0,"skipped":0,"todo":0,"log_sha256":"20da30c92fc5b9149e84cd2547aceac366f5509e8efbeb346b700d6f8cacc18b"}
{"label":"import-239","command":["timeout","-k","10","900","node","--test","packages/webui/tests/instances.test.mjs"],"TMPDIR":"/mnt/storage/scratch/tmp/gr2y","start_nice":19,"observed_timeout_nice":19,"exit":0,"seconds":1.265,"mutant":false,"tests":5,"pass":5,"fail":0,"cancelled":0,"skipped":0,"todo":0,"log_sha256":"0b0782580df886f98f4428ad6f94d33fa2d37d89c58d12c152964b26786d48fe"}
{"label":"import-240","command":["timeout","-k","10","900","node","--test","packages/webui/tests/library-cli.test.mjs"],"TMPDIR":"/mnt/storage/scratch/tmp/gGV8","start_nice":19,"observed_timeout_nice":19,"exit":0,"seconds":0.868,"mutant":false,"tests":1,"pass":1,"fail":0,"cancelled":0,"skipped":0,"todo":0,"log_sha256":"1e3617d918b4d7474e1acf9b5ad32732305aa86f8ad3044d488aac21f551cb4e"}
{"label":"import-241","command":["timeout","-k","10","900","node","--test","packages/webui/tests/library-routes.test.mjs"],"TMPDIR":"/mnt/storage/scratch/tmp/gWxL","start_nice":19,"observed_timeout_nice":19,"exit":0,"seconds":0.532,"mutant":false,"tests":13,"pass":13,"fail":0,"cancelled":0,"skipped":0,"todo":0,"log_sha256":"d9729aef19f819e8190e6fdc9dbb1d7c4061f2311598f3785678cc81fbaea30e"}
{"label":"import-242","command":["timeout","-k","10","900","node","--test","packages/webui/tests/library-status.test.mjs"],"TMPDIR":"/mnt/storage/scratch/tmp/gurC","start_nice":19,"observed_timeout_nice":19,"exit":0,"seconds":0.265,"mutant":false,"tests":1,"pass":1,"fail":0,"cancelled":0,"skipped":0,"todo":0,"log_sha256":"99e68ba123769f5df8b60d9d12546d113f9f1f18f27b26a82738f4ac670fc18f"}
{"label":"import-243","command":["timeout","-k","10","900","node","--test","packages/webui/tests/limits-browser.test.mjs"],"TMPDIR":"/mnt/storage/scratch/tmp/gq0e","start_nice":19,"observed_timeout_nice":19,"exit":0,"seconds":4.598,"mutant":false,"tests":2,"pass":2,"fail":0,"cancelled":0,"skipped":0,"todo":0,"log_sha256":"4d3b961b33557106779e969bdfb9aa959e01462a521d5368d9e7e560a4bab19b"}
{"label":"import-244","command":["timeout","-k","10","900","node","--test","packages/webui/tests/limits-route.test.mjs"],"TMPDIR":"/mnt/storage/scratch/tmp/gK8P","start_nice":19,"observed_timeout_nice":19,"exit":0,"seconds":0.561,"mutant":false,"tests":4,"pass":4,"fail":0,"cancelled":0,"skipped":0,"todo":0,"log_sha256":"2283f78868a29c6ebf37b0aaabc2fdfd84d0a381b3fd046d27902adf2710bfae"}
{"label":"import-245","command":["timeout","-k","10","900","node","--test","packages/webui/tests/messages.test.mjs"],"TMPDIR":"/mnt/storage/scratch/tmp/gaaW","start_nice":19,"observed_timeout_nice":19,"exit":0,"seconds":6.474,"mutant":false,"tests":3,"pass":3,"fail":0,"cancelled":0,"skipped":0,"todo":0,"log_sha256":"c2e137bf0cc8d12832a07cdb1f70f95dd3cc8ce34a500e6b0479f9d94bf4b300"}
{"label":"import-246","command":["timeout","-k","10","900","node","--test","packages/webui/tests/pinned-copy.test.mjs"],"TMPDIR":"/mnt/storage/scratch/tmp/gG1M","start_nice":19,"observed_timeout_nice":19,"exit":0,"seconds":7.925,"mutant":false,"tests":10,"pass":10,"fail":0,"cancelled":0,"skipped":0,"todo":0,"log_sha256":"ebeca41fa26f042b9e877ddc3315254a60f98b947fb3eb9ccf098c4d455117b4"}
{"label":"import-247","command":["timeout","-k","10","900","node","--test","packages/webui/tests/preview.test.mjs"],"TMPDIR":"/mnt/storage/scratch/tmp/gHU1","start_nice":19,"observed_timeout_nice":19,"exit":0,"seconds":1.186,"mutant":false,"tests":11,"pass":11,"fail":0,"cancelled":0,"skipped":0,"todo":0,"log_sha256":"4f0064f793bb36dbdf294fe77d67530afc0aea22f01b847aa1d00c3844469119"}
{"label":"import-248","command":["timeout","-k","10","900","node","--test","packages/webui/tests/processing-browser.test.mjs"],"TMPDIR":"/mnt/storage/scratch/tmp/gkgO","start_nice":19,"observed_timeout_nice":19,"exit":0,"seconds":8.863,"mutant":false,"tests":9,"pass":9,"fail":0,"cancelled":0,"skipped":0,"todo":0,"log_sha256":"816a885bb9c45578982d7e43326cb77215e8cb29f557aa06e0efc39a26297e05"}
{"label":"import-249","command":["timeout","-k","10","900","node","--test","packages/webui/tests/processing.test.mjs"],"TMPDIR":"/mnt/storage/scratch/tmp/gMEO","start_nice":19,"observed_timeout_nice":19,"exit":0,"seconds":0.36,"mutant":false,"tests":6,"pass":6,"fail":0,"cancelled":0,"skipped":0,"todo":0,"log_sha256":"d0d8b5325152e1919b5838bfd1b83c4551b52d69c60f07d0921eb95af6391222"}
{"label":"import-250","command":["timeout","-k","10","900","node","--test","packages/webui/tests/project-file.test.mjs"],"TMPDIR":"/mnt/storage/scratch/tmp/g0K1","start_nice":19,"observed_timeout_nice":19,"exit":0,"seconds":0.316,"mutant":false,"tests":10,"pass":10,"fail":0,"cancelled":0,"skipped":0,"todo":0,"log_sha256":"52754ce30568e4d818370c3558342ab23d1292a67f692c1ded6a4d4b4121a029"}
{"label":"import-251","command":["timeout","-k","10","900","node","--test","packages/webui/tests/project-name-repo.test.mjs"],"TMPDIR":"/mnt/storage/scratch/tmp/gRNU","start_nice":19,"observed_timeout_nice":19,"exit":0,"seconds":0.132,"mutant":false,"tests":1,"pass":1,"fail":0,"cancelled":0,"skipped":0,"todo":0,"log_sha256":"324df0e70027674e99303723c75b02402d6ae43aefc73192e6c723644952fe98"}
{"label":"import-252","command":["timeout","-k","10","900","node","--test","packages/webui/tests/proof-cli.test.mjs"],"TMPDIR":"/mnt/storage/scratch/tmp/gUya","start_nice":19,"observed_timeout_nice":19,"exit":0,"seconds":2.557,"mutant":false,"tests":3,"pass":3,"fail":0,"cancelled":0,"skipped":0,"todo":0,"log_sha256":"9d0379c0dac670ea3b54331afee0d9da9c4c76a9c62315bd7cdf33458708b9b1"}
{"label":"import-253","command":["timeout","-k","10","900","node","--test","packages/webui/tests/proof.test.mjs"],"TMPDIR":"/mnt/storage/scratch/tmp/gw3P","start_nice":19,"observed_timeout_nice":19,"exit":0,"seconds":0.23,"mutant":false,"tests":4,"pass":4,"fail":0,"cancelled":0,"skipped":0,"todo":0,"log_sha256":"4b564ec494d8631518bd5e0a9dafce3492cc3655e90a82f12bc994fb0f48f017"}
{"label":"import-254","command":["timeout","-k","10","900","node","--test","packages/webui/tests/reads.test.mjs"],"TMPDIR":"/mnt/storage/scratch/tmp/gDRG","start_nice":19,"observed_timeout_nice":19,"exit":0,"seconds":2.251,"mutant":false,"tests":11,"pass":11,"fail":0,"cancelled":0,"skipped":0,"todo":0,"log_sha256":"acd0a107da0270ad86ea4e75d1af8089f2541e1aa1c1613c10c35f47fcc38dea"}
{"label":"import-255","command":["timeout","-k","10","900","node","--test","packages/webui/tests/relaunch.test.mjs"],"TMPDIR":"/mnt/storage/scratch/tmp/gDNA","start_nice":19,"observed_timeout_nice":19,"exit":0,"seconds":1.062,"mutant":false,"tests":1,"pass":1,"fail":0,"cancelled":0,"skipped":0,"todo":0,"log_sha256":"b717bc82d68a804092878b6f68c73d970519d5dde6d9170a5cc3f417cd108c66"}
{"label":"import-256","command":["timeout","-k","10","900","node","--test","packages/webui/tests/return-flow.test.mjs"],"TMPDIR":"/mnt/storage/scratch/tmp/go3N","start_nice":19,"observed_timeout_nice":19,"exit":0,"seconds":21.066,"mutant":false,"tests":1,"pass":1,"fail":0,"cancelled":0,"skipped":0,"todo":0,"log_sha256":"61fa95c4b8c802668f2b144954e8785c1a5d6e5f8d511646c61ae51abfcf899c"}
{"label":"import-257","command":["timeout","-k","10","900","node","--test","packages/webui/tests/room-browser.test.mjs"],"TMPDIR":"/mnt/storage/scratch/tmp/geyH","start_nice":19,"observed_timeout_nice":19,"exit":0,"seconds":8.015,"mutant":false,"tests":9,"pass":9,"fail":0,"cancelled":0,"skipped":0,"todo":0,"log_sha256":"65cd71916ae9b8b6a8d47a0175d5cca96ed6c3d93d65ea334338cc651c3529e7"}
{"label":"import-258","command":["timeout","-k","10","900","node","--test","packages/webui/tests/room-http.test.mjs"],"TMPDIR":"/mnt/storage/scratch/tmp/gfgT","start_nice":19,"observed_timeout_nice":19,"exit":0,"seconds":0.284,"mutant":false,"tests":7,"pass":7,"fail":0,"cancelled":0,"skipped":0,"todo":0,"log_sha256":"32d8f63c7cbf6a67265e3ebb08eeda185061a94d2674c9e79da3e5ec9348ffaa"}
{"label":"import-259","command":["timeout","-k","10","900","node","--test","packages/webui/tests/routes-browser.test.mjs"],"TMPDIR":"/mnt/storage/scratch/tmp/gqwx","start_nice":19,"observed_timeout_nice":19,"exit":0,"seconds":2.226,"mutant":false,"tests":1,"pass":1,"fail":0,"cancelled":0,"skipped":0,"todo":0,"log_sha256":"915d721ef9ebb84e963f021957955ce02a7603a048fde2ba61bd7f87e70137ae"}
{"label":"import-260","command":["timeout","-k","10","900","node","--test","packages/webui/tests/routes.test.mjs"],"TMPDIR":"/mnt/storage/scratch/tmp/gULI","start_nice":19,"observed_timeout_nice":19,"exit":0,"seconds":0.499,"mutant":false,"tests":5,"pass":5,"fail":0,"cancelled":0,"skipped":0,"todo":0,"log_sha256":"f5cb0cbb1428122e4a826ebf11a304123af5e33696dc7c3c6e9a40105a7f59b5"}
{"label":"import-261","command":["timeout","-k","10","900","node","--test","packages/webui/tests/send-browser.test.mjs"],"TMPDIR":"/mnt/storage/scratch/tmp/gV7T","start_nice":19,"observed_timeout_nice":19,"exit":0,"seconds":14.209,"mutant":false,"tests":2,"pass":2,"fail":0,"cancelled":0,"skipped":0,"todo":0,"log_sha256":"b76ab6c25710827dc2e6c7231b3aa82259cce1a88174a33f83a45c251ff4e8cf"}
{"label":"import-262","command":["timeout","-k","10","900","node","--test","packages/webui/tests/send.test.mjs"],"TMPDIR":"/mnt/storage/scratch/tmp/gbPv","start_nice":19,"observed_timeout_nice":19,"exit":0,"seconds":1.077,"mutant":false,"tests":13,"pass":13,"fail":0,"cancelled":0,"skipped":0,"todo":0,"log_sha256":"51a759891344d96c63d9d554c0b0a0cb541acca3d3d139170805723a90f83201"}
{"label":"import-263","command":["timeout","-k","10","900","node","--test","packages/webui/tests/serve.test.mjs"],"TMPDIR":"/mnt/storage/scratch/tmp/g9AU","start_nice":19,"observed_timeout_nice":19,"exit":0,"seconds":0.835,"mutant":false,"tests":4,"pass":4,"fail":0,"cancelled":0,"skipped":0,"todo":0,"log_sha256":"38c0c60b3b161bcd2cc3642f551fafd755e7ff57aa3a1f9cfc4329f0333ade9d"}
{"label":"import-264","command":["timeout","-k","10","900","node","--test","packages/webui/tests/settings-form.test.mjs"],"TMPDIR":"/mnt/storage/scratch/tmp/gp5I","start_nice":19,"observed_timeout_nice":19,"exit":0,"seconds":5.17,"mutant":false,"tests":5,"pass":5,"fail":0,"cancelled":0,"skipped":0,"todo":0,"log_sha256":"305e2081fd87ffad6bae81ef0ea0a7732f9208a0fcd6ea73c8604de13af86210"}
{"label":"import-265","command":["timeout","-k","10","900","node","--test","packages/webui/tests/settings-write.test.mjs"],"TMPDIR":"/mnt/storage/scratch/tmp/gQmT","start_nice":19,"observed_timeout_nice":19,"exit":0,"seconds":0.2,"mutant":false,"tests":4,"pass":4,"fail":0,"cancelled":0,"skipped":0,"todo":0,"log_sha256":"604a5dfa84401b569a004ca35182684d0aefda4da8a34c833953c15d8047c238"}
{"label":"import-266","command":["timeout","-k","10","900","node","--test","packages/webui/tests/shell.test.mjs"],"TMPDIR":"/mnt/storage/scratch/tmp/goIy","start_nice":19,"observed_timeout_nice":19,"exit":0,"seconds":8.597,"mutant":false,"tests":5,"pass":5,"fail":0,"cancelled":0,"skipped":0,"todo":0,"log_sha256":"aa8226cc8ad92136f875f3a976de37dfc1b0ab30a3c24f2861c34fcd6355d002"}
{"label":"import-267","command":["timeout","-k","10","900","node","--test","packages/webui/tests/sso-browser.test.mjs"],"TMPDIR":"/mnt/storage/scratch/tmp/gxVE","start_nice":19,"observed_timeout_nice":19,"exit":0,"seconds":8.875,"mutant":false,"tests":2,"pass":2,"fail":0,"cancelled":0,"skipped":0,"todo":0,"log_sha256":"37b3e8ed9a38b6a66600fee9386b5a414d6179a8630349c6f695075c1fb29806"}
{"label":"import-268","command":["timeout","-k","10","900","node","--test","packages/webui/tests/sso.test.mjs"],"TMPDIR":"/mnt/storage/scratch/tmp/gsiS","start_nice":19,"observed_timeout_nice":19,"exit":0,"seconds":8.274,"mutant":false,"tests":28,"pass":28,"fail":0,"cancelled":0,"skipped":0,"todo":0,"log_sha256":"2f286ac4644f8789c2ede5261362f4c57bcf02b84671e9b6c2f5c2994368bfbe"}
{"label":"import-269","command":["timeout","-k","10","900","node","--test","packages/webui/tests/tester-browser.test.mjs"],"TMPDIR":"/mnt/storage/scratch/tmp/g7am","start_nice":19,"observed_timeout_nice":19,"exit":0,"seconds":4.164,"mutant":false,"tests":2,"pass":2,"fail":0,"cancelled":0,"skipped":0,"todo":0,"log_sha256":"92727a4aee749943dc100d1b843f848ef75bbeeda29d693217882c71368c4d42"}
{"label":"import-270","command":["timeout","-k","10","900","node","--test","packages/webui/tests/tester-cli.test.mjs"],"TMPDIR":"/mnt/storage/scratch/tmp/gz1T","start_nice":19,"observed_timeout_nice":19,"exit":0,"seconds":11.668,"mutant":false,"tests":2,"pass":2,"fail":0,"cancelled":0,"skipped":0,"todo":0,"log_sha256":"1c952ee8767467b1d1d4306e566b9b0f863d68215d30ae8ed3ab46d75ef46e8a"}
{"label":"import-271","command":["timeout","-k","10","900","node","--test","packages/webui/tests/tester-listener.test.mjs"],"TMPDIR":"/mnt/storage/scratch/tmp/g99a","start_nice":19,"observed_timeout_nice":19,"exit":0,"seconds":2.294,"mutant":false,"tests":11,"pass":11,"fail":0,"cancelled":0,"skipped":0,"todo":0,"log_sha256":"b07648c44f522c5fa789c03634f248f63e8d312e9b93b7edd90d7951145d5419"}
{"label":"import-272","command":["timeout","-k","10","900","node","--test","packages/webui/tests/tester-socket.test.mjs"],"TMPDIR":"/mnt/storage/scratch/tmp/gbnC","start_nice":19,"observed_timeout_nice":19,"exit":0,"seconds":0.19,"mutant":false,"tests":3,"pass":3,"fail":0,"cancelled":0,"skipped":0,"todo":0,"log_sha256":"61704160b72bcd47d1e4166371e3ff65b148b7ef02b785f9427ef133d5ecdfb6"}
{"label":"import-273","command":["timeout","-k","10","900","node","--test","packages/webui/tests/thread-claims-browser.test.mjs"],"TMPDIR":"/mnt/storage/scratch/tmp/gGv0","start_nice":19,"observed_timeout_nice":19,"exit":0,"seconds":5.008,"mutant":false,"tests":6,"pass":6,"fail":0,"cancelled":0,"skipped":0,"todo":0,"log_sha256":"9d3d03d3fc2a108a5e1da2c8e153db2a21bc1e08b207698e9c8eb242dff9905a"}
{"label":"import-274","command":["timeout","-k","10","900","node","--test","packages/webui/tests/thread-claims.test.mjs"],"TMPDIR":"/mnt/storage/scratch/tmp/g09J","start_nice":19,"observed_timeout_nice":19,"exit":0,"seconds":0.423,"mutant":false,"tests":4,"pass":4,"fail":0,"cancelled":0,"skipped":0,"todo":0,"log_sha256":"2b031497a6d9d4b18d215d28bc04de28fe26a800c5a7d54af8052aab35eee3be"}
{"label":"import-275","command":["timeout","-k","10","900","node","--test","packages/webui/tests/thread-sharing.test.mjs"],"TMPDIR":"/mnt/storage/scratch/tmp/gmhU","start_nice":19,"observed_timeout_nice":19,"exit":0,"seconds":3.736,"mutant":false,"tests":7,"pass":7,"fail":0,"cancelled":0,"skipped":0,"todo":0,"log_sha256":"9f7b307edc31c95fac9ce71f39ea02466a40a6d80c70d9db91f433a07e19adb7"}
{"label":"import-276","command":["timeout","-k","10","900","node","--test","packages/webui/tests/usage-browser.test.mjs"],"TMPDIR":"/mnt/storage/scratch/tmp/g1rW","start_nice":19,"observed_timeout_nice":19,"exit":0,"seconds":1.032,"mutant":false,"tests":1,"pass":1,"fail":0,"cancelled":0,"skipped":0,"todo":0,"log_sha256":"819697b7c5cb3918c007b9fe57dd3f101c79afb9b5656905e5e1e1b0bc82de9f"}
{"label":"import-277","command":["timeout","-k","10","900","node","--test","packages/webui/tests/usage.test.mjs"],"TMPDIR":"/mnt/storage/scratch/tmp/gHnS","start_nice":19,"observed_timeout_nice":19,"exit":0,"seconds":0.238,"mutant":false,"tests":2,"pass":2,"fail":0,"cancelled":0,"skipped":0,"todo":0,"log_sha256":"555da950dacca5dc85db7172b50aaef5e50e726c6e30bb66c770c0c38d58ab76"}
{"label":"import-278","command":["timeout","-k","10","900","node","--test","packages/webui/tests/user-option-swap.test.mjs"],"TMPDIR":"/mnt/storage/scratch/tmp/gx24","start_nice":19,"observed_timeout_nice":19,"exit":0,"seconds":0.38,"mutant":false,"tests":1,"pass":1,"fail":0,"cancelled":0,"skipped":0,"todo":0,"log_sha256":"20bcc3985f5808a2d7f8daa02c5438fbac81c5163c117fde07bea3f46e8fa5b3"}
{"label":"import-279","command":["timeout","-k","10","900","node","--test","packages/webui/tests/views.test.mjs"],"TMPDIR":"/mnt/storage/scratch/tmp/gHJv","start_nice":19,"observed_timeout_nice":19,"exit":0,"seconds":5.483,"mutant":false,"tests":3,"pass":3,"fail":0,"cancelled":0,"skipped":0,"todo":0,"log_sha256":"dd69767c233e8eaeeb85ddaaf274380bbb6df73ec6cc7aaaadc6336053e4ddd8"}
```
Exact mutant edits (temporary only, all restored):
```text
{"mutant":"M1","edits":[["const SCOPES = Object.freeze(['canon', 'playground', 'supporting']);","const SCOPES = Object.freeze(['canon', 'playground']);"]],"path":"packages/library/src/query.mjs","oracle":"supporting find/search/get","killed":true,"restored_clean":true}
{"mutant":"M2","edits":[["file.scope !== requestedScope || ",""]],"path":"packages/library/src/query.mjs","oracle":"get without scope returns null","killed":true,"restored_clean":true}
{"mutant":"M3","edits":[["import { listTree } from './reader.mjs';","import { listTree, headCommit } from './reader.mjs';"],["listTree(source.repo, index.commit)","listTree(source.repo, await headCommit(source.repo))"]],"path":"packages/library/src/query.mjs","oracle":"each get blob equals its served tree object","killed":true,"restored_clean":true}
{"mutant":"M4","edits":[["}).sort((a, b) => SCOPE_RANK[index.files.get(a.path).scope] - SCOPE_RANK[index.files.get(b.path).scope]);","});"]],"path":"packages/library/src/query.mjs","oracle":"full outgoing and incoming links stay in scope order","killed":true,"restored_clean":true}
{"mutant":"M5","edits":[["return other !== undefined && sees(index.mapping, universe, other);","return other !== undefined && other.scope === requestedScope && sees(index.mapping, universe, other);"]],"path":"packages/library/src/query.mjs","oracle":"full outgoing and incoming links stay in scope order","killed":true,"restored_clean":true}
{"mutant":"M6","edits":[["file.scope === scope && sees(index.mapping, universe, file)","file.scope === scope"],["other !== undefined && sees(index.mapping, universe, other)","other !== undefined"]],"path":"packages/library/src/query.mjs","oracle":"full outgoing and incoming links stay in scope order","killed":true,"restored_clean":true}
{"mutant":"M7","edits":[["scopeArg(scope, MANUSCRIPT_SCOPES)","scopeArg(scope, SCOPES)"]],"path":"packages/library/src/query.mjs","oracle":"manuscript still refuses supporting","killed":true,"restored_clean":true}
{"mutant":"M8","edits":[["'library.get': { method: 'get', fields: ['universe', 'path', 'scope', 'from', 'links_from']","'library.get': { method: 'get', fields: ['universe', 'path', 'from', 'links_from']"]],"path":"packages/bus/src/broker.mjs","oracle":"broker forwards supporting scope","killed":true,"restored_clean":true}
{"mutant":"M9","edits":[["const manuscriptScope = str(\"canon by default; playground is opt-in\", { enum: [\"canon\", \"playground\"] });","const manuscriptScope = str(\"canon by default; playground is opt-in\", { enum: [\"canon\", \"playground\", \"supporting\"] });"]],"path":"packages/harness/src/tools.mjs","oracle":"scope schemas expand only find/search/get","killed":true,"restored_clean":true}
```
Sweep summary:
```text
{
"root_count": 289,
"matches": []
}
```
## sage-4310 — row329 landed-base rebase, 2026-10-24
Branch della/row284-r4 rebased the six commits in 95d4991d2..315e9c84f
onto origin/refactor 9e2689dffb24c9881724b67db982bc87d527157f. Old branch
della/row284-r2 and its crash handoff remain unchanged. No conflict hunks
occurred: Git replayed all six commits automatically; range-diff marks all
six patches equal. Thus no manual conflict resolution was required.
Inspected broker.mjs against the new base: the sole row284 delta adds scope
to library.get fields. Row329 proxy verbs and all other base broker code
are retained unchanged. No optimization or review-note behavior change added.
The new eight-path seal is stored outside Git in
/mnt/storage/scratch/della-row284-r2-evidence/manifest-r4.txt with sibling
manifest-r4.blobs.txt and range-diff-r4.txt. Base, final candidate tip and
manifest digest are in seal-r4.txt beside them (avoids a self-referential
BUILD hash). Prior test/mutant results above apply to the prior base only;
no test, mutant, Node, syntax check, dependency install or queue command
was run for this rebase. Explicit sage-4310 authorizes this untested push.
Worker runs and Sage landing gate wait for CLEAR after Webby delta review.
-88
View File
@@ -1,88 +0,0 @@
# Row 332 — P3 harness config from the model proxy
## Assignment and boundaries
2026-10-24: Fethry, thread 65673bd9-3bfa-412b-85d5-9b364187d8b6, branch fethry/row332, baseline c8a9bcf94. Sage assignment sage-4292; accepted brief plus full pi-routes amendment c8a9bcf94 (mos-1616). Gladstone first review, Dewey landing review; landing waits for P1/329 and P2/331, rebase on both and Sage's gate. No tests before Sage's CLEAR. No live proxy, host credential directories, real proxy data, management key, cutover, policy edits, or Codex harness changes.
Queue next in canonical checkout returned `nothing` during assignment. Starting row with op fethry-332-start met Sage's queue update lock; retry through the queue only. Root npm ci --ignore-scripts --no-audit --no-fund completed in this worktree (128 packages); no canonical node_modules use.
## Design note (line numbers at c8a9bcf94)
- packages/seat/src/session.mjs:242-247 defines ENV_ALLOW; keep it unchanged. sessionEnv:256-262 gains optional proxy context and drops CLAUDE_CODE_OAUTH_TOKEN, every passed ANTHROPIC_* variable, OPENAI_API_KEY, OPENROUTER_API_KEY and ZAI_API_KEY before adding harness env. Non-proxy results retain current behavior exactly.
- packages/plugins/harness/claude-code/index.mjs:56-67 preflight accepts the session proxy credential; env:119-126 sets ANTHROPIC_BASE_URL and ANTHROPIC_AUTH_TOKEN from that context.
- packages/plugins/harness/pi/index.mjs:33-36 preflight requires its own provider credential or proxy key, never a Claude OAuth token. env:63-70 sets only the session's proxy key as ANTHROPIC_API_KEY and selects the generated provider. Fresh run-local home/.pi/agent/models.json is private (0600; parent directories 0700). Every apiKey is the literal reference $ANTHROPIC_API_KEY; recursively forbid values beginning with !. Nothing stores the key in models.json or a manifest.
- packages/harness/src/bundle.mjs:313 buildBundle accepts transient proxy context; :379 harness.env call needs it plus run location and launch.models. Context must never be added to session metadata, source digests, or manifest. The run-local file regenerates on each launch.
- packages/cli/src/launcher.mjs:391,400 preflight, :412 account checks, :529 bundle creation and :592 child env must agree on the same session credential. Coordinate its acquisition with P2; build/test now against the specified { baseUrl, key } stand-in, not a management client or a key-store implementation.
Exact business setting keys remain launch.models.<selection>.provider, launch.models.<selection>.model, launch.account.name and launch.account.credential (launch.mjs:12-24,81-89). Provider already accepts proxy. Proposed account credential sentinel is the literal proxy (add alongside existing uppercase environment-set syntax), with launch.account.name a human-readable id such as proxy. No new fields. Existing provider anthropic selects the Anthropic route, zai selects GLM, and proxy selects the stack-owned GPT route; send this interpretation to Sage before implementation because the brief doesn't specify route encoding for provider proxy.
## Build-time API choice and pinned binary
P1's committed magica/row329 has CLIProxyAPI 8.0.42 in packages/model-proxy/PIN. Use that commit's fetchPinned({dataRoot:<fresh temporary root>}) implementation, copied from Git objects to this seat's temp tooling directory with its relative dependencies and PIN, until P1 lands. Never inspect another seat's worktree/scratch. It fetches only pinned GitHub release assets and checks archive, executable and panel hashes. No production instance config is needed and nothing under a real dataRoot/proxy is read.
After CLEAR, try actual pinned pi requests with both openai-responses and openai-completions through that binary under unshare -rn, against stand-in upstreams with made-up credentials under 24 characters. Record version, API path, safe request fields, response status and turn result. Choose one shape once from those results and hard-code it; no runtime fallback. Real Codex OAuth cannot be simulated as a real authenticated turn: first real Codex turn remains row209 phase A step7. Distinguish the offline compatibility evidence from that deferred real-auth proof.
The separate offline GLM acceptance script (outside scripts/test-*.sh) uses pinned pi and proxy, checks the upstream sees the model id from /v1/models, and records whether thinkingFormat/zaiToolStream-derived fields survive translation. All configs/auth placeholders belong to its fresh temp root.
## Implementation and test sequence
1. Add tests first for env isolation, Claude proxy env and preflight, pi credential refusal and each generated route/file invariant, and business account acceptance. Do not run until CLEAR; first new-test red is reported afterward, old-test red or second red is reported before changing anything.
2. Implement harness/bundle/env handling against P2's transient interface. Add launcher boundary integration once its exact P2 acquisition seam is agreed. Keep secrets out of session.json and bundle manifests.
3. With CLEAR, run the offline API-shape probe and GLM turn, then whole touched test files. Before each whole-file run report the list derived by parsing imports and traversing local dependencies; include harness plug-in dynamic loading explicitly. packages/cli/tests/case1-accept.test.mjs remains excluded without Mos approval.
4. Kill named mutants; restore production source and verify. Record exact output and nice. Use a fresh shell mktemp -d /mnt/storage/scratch/tmp/XXXXXX TMPDIR for each run, absolute nice 19, and timeout -k 10 for each scripts/test-*.sh. No hidden skips; Sage owns the package/script landing gate.
5. After dependency landings, rebase, complete review and gate stages, update queue only through its CLI, and append session/build receipts. Push only fethry/* when ready for authorized review; no force-push or attribution trailers.
Planned tests:
- Each forbidden environment variable is absent in proxy mode; all existing allowed env is identical without a proxy; two launches receive distinct own keys and no other agent's key.
- Claude env has exactly the supplied proxy base URL/auth token; proxy credential satisfies preflight without host upstream credentials.
- pi refuses no-session-credential for no key or Claude OAuth alone, accepts an own provider key and a proxy key.
- models.json covers Anthropic anthropic-messages at root URL, GLM openai-completions at /v1, and a stack-owned GPT provider at /v1 with the chosen API; routes use configured model ids.
- Every apiKey is $ANTHROPIC_API_KEY; no key value occurs in file; recursively no value starts with !; mode 0600 and private parents; next launch uses changed port/models/key reference with no stale content.
- Business accepts provider proxy and account credential proxy while preserving existing valid and invalid account behavior.
- Launcher/bundle integration keeps context transient and passes only the launch's own key.
- Every new refusal code gets a separate test.
- Offline GLM pinned-pi turn and z.ai compat observation; both GPT API-shape requests recorded with limitations.
Named gate mutants:
1. Proxy mode still passes CLAUDE_CODE_OAUTH_TOKEN (original brief).
2. models.json receives the key value instead of $ANTHROPIC_API_KEY (amendment).
No tests have run. API-shape choice is pending evidence, not claimed.
## Progress 22:27Z
Placed initial RED tests (not executed): packages/seat/tests/proxy-session-env.test.mjs and packages/plugins/tests/proxy-harness.test.mjs. These exercise real sessionEnv and loader-loaded harness exports. Production source remains untouched pending the first authorized RED run. Removed no assertions and ran no tests. Correct baseline bundle harness.env line is 376 (not 379 in the initial design note).
Sage reporting attempts fethry-0001 (including same-key retry) and fethry-0002 all returned `T3 GET /api/orchestration/threads/<sage> timed out after 30s`. Delivery is unconfirmed. Queue move retry also met a Sage queue update lock (sage-333-reviewers-1024a); no bypass.
Additional test-first placement: packages/business/tests/proxy-launch.test.mjs covers existing proxy model acceptance, proposed proxy account credential literal, preserved environment account forms, and rejection of mixed/literal credential strings. Pending Sage's route/account interpretation and CLEAR; no production edits or tests run.
## Import audit and queue status
The non-evaluating import audit uses Node vm.SourceTextModule.dependencySpecifiers, not a text-path grep, plus explicit computed-import edges from the plug-in loader to both harness modules. Source: import-run-list.mjs; output: IMPORT-RUN-LIST.txt (211 entries, including the explicitly EXCLUDED case1-accept file). This is a candidate impact list for the planned source changes, not an executed test list. Before a whole-file run, report the actual authorized subset to Sage. Parsing executes no repository modules and runs no tests. The first audit invocation had a path-depth setup error (ENOENT); corrected the audit's own repository root and regenerated successfully.
At 22:28:19Z the canonical start operation returned `queue: only the owner (sage) may start row 332`. Per assignment, wait at least two minutes before repeating this same op. No queue state was edited manually.
## Design correction after D9 re-read
The initial route-encoding proposal (provider proxy for GPT only) is not sufficient: design D9 explicitly defines provider proxy as any model through the instance proxy. Do not implement the earlier proposal. Two viable encodings need resolving before route-dependent tests/production: exact model-id lookup in pinned pi's provider catalogs (no new business fields, but refuses proxy-only aliases/unknown models), or explicit route metadata in launch.models (additive schema, needs Sage to confirm it is within the approved brief). Recommend exact catalog membership if all intended configured model ids are in pinned pi; otherwise ask Sage to define/approve an explicit route field. Never guess by model prefix or silently choose a wire API. Independent env/preflight tests already placed remain valid.
Reporting recovered: fethry-0004 was accepted by t3_send_message at approximately 22:29:51Z. It delivered the D9 route correction, route-encoding/P2-seam question, import-manifest location and no-tests status to Sage. Earlier failed-message deliveries remain unconfirmed.
22:32:18Z: The start retry issued at 22:30:40Z (over two minutes after first owner refusal) also exited 2: `queue: only the owner (sage) may start row 332`. This is an ownership boundary; row was not started and no code/test execution proceeds through it. Sage's assignment must take effect before the same op can succeed. The full design report fethry-0005 again timed out; fethry-0004 is the confirmed delivered report. git diff --check passed; no test, probe, commit or push has run.
## Route ruling accepted — sage-4293, 22:37Z
Sage settled explicit metadata, superseding both initial encoding proposals and the catalog proposal. Exact new setting: launch.models.<selection>.route; permitted values anthropic, glm, codex, required only when provider is proxy. Nonproxy entries still allow provider/model only. Missing route refuses proxy-route-missing; present unknown/nonstring route refuses proxy-route-unknown. Both get independent code assertions; each valid value gets a test using a proxy-only model id absent from any catalog. The GPT route's generated pi provider will be mosaic-proxy-codex, never openai-codex. Its wire API remains a build-time choice after the pinned-binary probe. P2 passes only {baseUrl,key}; no route belongs to that seam.
A key persistence hazard found during source inspection: launcher.mjs:571 writes bundle.env as session.harnessEnv. Adding the key to harness.env must not retain this behavior for credentials. P3 will keep generated key env transient for spawnSession and omit those credential values from serialized harnessEnv. runner.mjs:390 already inherits the spawn environment before applying nonsecret harnessEnv. Test the on-disk session/bundle boundary, not only models.json.
The old launch-settings.test.mjs already uses provider proxy fixtures without route. Update those fixtures to explicit anthropic routes before any full-file run; preserve their existing authorization assertions. This is the new approved validation shape, not permission to loosen tests. No tests have run and no production edits exist.
Additional test-first placement after route ruling: packages/harness/tests/proxy-bundle.test.mjs exercises real buildBundle with explicit provider proxy entries and proxy-only model ids, three generated providers, run-local file mode, environment references, recursive no-! values, no key in bundle files/manifest, fresh model/port/key on next launch. The exact GPT API assertion must be added from the authorized pinned-binary probe before this test file's first run; it deliberately makes no unverified wire-shape claim now. No skip is introduced.
Canonical queue show returned owner sage and after=331 at 22:40Z; it also warned `view unknown` for the rendered table. No repair or queue bypass attempted; wait for Sage's announced batch. Queue metadata identifies shared proxy Gitea issue #1830.
## STOPPED — mos-1630, 2026-10-24T22:48Z
Jason's relayed crash instruction supersedes active work: no long-job restart, commit/push safe documentation only, handoff in this worktree, no other thread messages, then stop. See HANDOFF.md for complete state, next steps, uncommitted tests/audit script, and reruns needed. No tests or probes ever ran; no production implementation exists. Latest design is explicit launch.models route metadata per sage-4293; earlier catalog/GPT-only proposals are superseded. The original 211-entry import manifest predates the fourth new test file and is historical, not run authorization. Full inline resends still hit T3 timeouts. Crash commit will exclude every unrun test and the audit script.
-51
View File
@@ -1,51 +0,0 @@
# STOPPED — row 332 (P3), T3 crash handoff
Stopped on 2026-10-24 under Mos mos-1630, relaying Jason's instruction: do not restart long jobs; commit/push safe work, leave a handoff, then stop. No further thread messages, tests, probes, queue operations, or implementation will run in this session.
## Branch and completed work
- Worktree: /home/jwoltje/.t3/worktrees/mosaic-stack/fethry-row332
- Branch: fethry/row332, based on refactor c8a9bcf94. No implementation commits, rebases, merges or production source edits.
- Read P3 brief, rules, full pi amendment, gate template, design and named source files. Detailed notes in BUILD.md beside this handoff.
- Root npm ci --ignore-scripts --no-audit --no-fund completed in this worktree only (128 packages). No canonical node_modules used.
- Initial test files written before implementation; none executed. Sage has not sent CLEAR. No proxy fetch, binary probe, offline turn, mutant, or suite has run.
- No real proxy, management key, host auth directory or live instance was accessed. No production service was started/stopped.
- Canonical queue next returned nothing during the assignment. Queue start op fethry-332-start refused on locks, then owner sage, including a retry after two minutes. Latest completed queue show still had owner sage, state briefed, after 331; it also warned that the rendered table was unknown. Did not repair or bypass it. Sage sage-4293 says an assign/after=none batch is running. Queue metadata identifies shared Gitea issue #1830.
## Latest accepted design
Sage sage-4293 supersedes all earlier route proposals: explicit route metadata, never catalog membership or model-prefix inference. Selected spelling: launch.models.<selection>.route = anthropic | glm | codex, required only with provider proxy. Missing route: proxy-route-missing; unknown/nonstring route: proxy-route-unknown. Other providers keep provider/model-only entries. Proposed launch.account.credential literal proxy; existing name/credential field names retained. GPT generated provider: mosaic-proxy-codex, never openai-codex. GPT wire API is still undecided pending the authorized pinned-binary requests. P2's seam stays exactly { baseUrl, key }.
Important implementation finding: launcher.mjs:571 serializes bundle.env into session.harnessEnv. Harness env will contain the session key in proxy mode, so credentials must instead reach spawnSession through transient environment variables and be omitted from serialized harnessEnv. runner.mjs:390 already inherits the spawn environment. Preserve ENV_ALLOW; filter instance provider variables in proxy mode only.
## Uncommitted work, intentionally left for the next session
These are unrun, incomplete tests/audit code, excluded from the documentation-only crash commit:
- packages/business/tests/proxy-launch.test.mjs — explicit routes and refusal codes, proxy account credential, existing nonproxy/account behavior.
- packages/plugins/tests/proxy-harness.test.mjs — Claude env/preflight, own-key isolation, pi preflight and OAuth-only refusal.
- packages/seat/tests/proxy-session-env.test.mjs — instance credential filtering and unchanged nonproxy env.
- packages/harness/tests/proxy-bundle.test.mjs — real bundle generation, all three providers, key reference/no-key/no-! invariants, file modes and launch freshness. Exact GPT API assertion deliberately pending probe evidence; add before its first run.
- agents/fethry/work/queue-332/import-run-list.mjs — non-evaluating static import audit using vm.SourceTextModule plus explicit computed loader edges. It ran successfully after correcting its own root-depth setup error. It is not a test runner.
IMPORT-RUN-LIST.txt is a historical 211-entry candidate impact list, generated before proxy-bundle.test.mjs was added. It includes case1-accept as explicitly EXCLUDED (mos-1612). Regenerate the list after resuming and report the actual authorized run list inline before any whole-file run. Do not treat the historical manifest as a current run authorization.
## Reporting status
T3 reporting repeatedly failed during GET with a 30-second timeout. fethry-0004 was confirmed delivered. Some later short numeric keys returned reused:true unexpectedly; do not rely on them as delivery evidence. A row-scoped detailed design resend and the inline 211-line import manifest also timed out, including the manifest's same-key retry. Sage may not have those messages. This handoff and BUILD.md are being pushed so they can be read with git show; no new thread message is sent under mos-1630.
## Next session, after restart authorization
1. Read this handoff/BUILD.md and recover queue state from canonical checkout. Wait for owner fethry and no after, then retry the same start op. Never bypass a refusal.
2. Recover Sage's slot status. Still NO tests or probes until Sage sends CLEAR. No job needs restarting merely to preserve current state.
3. Review the four uncommitted test files. Add the pinned-proxy API probe and exact GPT assertion before the first relevant run. Initial RED has not happened; production implementation must follow the authorized first RED.
4. Rebuild the import-derived run list and send it inline or in a reviewed pushed commit before runs. case1-accept remains off without Mos approval. Existing launch-settings.test.mjs proxy fixtures need explicit route metadata with their authorization assertions preserved; no old-test red has occurred.
5. Use P1's committed fetchPinned code under an owned fresh temporary root (8.0.42 at the inspected magica/row329 revision), never live proxy assets or another seat's scratch. After CLEAR, try pi's responses and completions requests under unshare -rn against stand-in upstream, record evidence, choose one GPT API at build time. Separately prove offline GLM and record z.ai compat survival. Real Codex auth proof remains row209 phase A step7.
6. Implement transient P2 context, model validation/route propagation, harness config, preflight, spawn env/serialization separation and tests. Named mutants: OAuth token leak; literal key in models.json. No policy or real credentials involved.
7. Land only after 329 and 331 land, rebasing on both, Gladstone first review, Dewey landing review and Sage's required gate. No force-push or merge authority is added by the crash instruction.
All future tests use a fresh shell-created short TMPDIR, absolute nice 19, and timeout -k 10 for scripts/test-*.sh. First new-test red is reportable afterward; old-test red or a second red goes to Sage before changes/reruns. No test outcomes are claimed here.
## Crash commit
Only documentation and the historical plain-text import manifest are committed. The final STOPPED reply records the exact pushed commit. The uncommitted files above remain deliberately available in this worktree because they have never run and test-slot authorization has not arrived.
+770
View File
@@ -0,0 +1,770 @@
# Row 329 P1 model proxy — Magica
Base: 7fe32d722637418268c763fac9220827e9a1d812; branch magica/row329.
Authority: sage-4229; P1 brief at docs/plans/2026-10-24_model-proxy-rows.md,
mos-1600 and mos-1601. The brief overrides the design. Boyd first review,
Dewey landing review. No live proxy/config/key reads or changes.
## Plan and boundaries
1. Measure the latest GitHub release assets and run the pinned binary and panel
against stand-ins under unshare -rn. Send sub-path/sandbox answers to Sage
immediately, including failures; no unsandboxed Console implementation.
2. Build packages/model-proxy: pinned verified fetch, strict settings validation,
exclusive initialization/template, loopback-only management client, verified
unit runner. Keep network injection in tests local and unavailable in CLI.
3. Wire proxy.json loading beside config.json; wire the human-only CLI and
path-bound bus transport; render proxy unit and conditional bus dependencies.
4. Add tests for each refusal code and acceptance conditions. Ask Sage for CLEAR
before any test run; fresh short TMPDIR, absolute nice 19, own dependencies.
5. Run the approved gate, record counts/refusals, prepare review receipts.
Commit only after applicable checks pass; no push/queue review until authorized.
No config.json writes. Proxy.json and initial secret/config use exclusive create.
No host proxy or real instance reads, stats, probes or calls. Acceptance differs
from row96's wrapper: no host guard introspection at all. Every runtime file is
under a fresh shell mktemp -d /mnt/storage/scratch/tmp/XXXXXX.
## Start receipts
New worktree /home/jwoltje/.t3/worktrees/mosaic-stack/magica-row329.
queue next magica identified row329 (view-unknown warning reported by queue).
Requested queue start refused exit4: unknown verb start. Sage notified magica-0017;
no substitute queue mutation performed pending lead correction.
GitHub latest release redirects: CLIProxyAPI v8.0.42, panel v1.26.7.
Download hashes in download-sha256.txt (release bytes measured immediately).
Acceptance pending; these are candidates, not yet a passing PIN.
## Acceptance findings (first complete probe)
Measured CLIProxyAPI 8.0.42, not row96's 8.0.27; panel 1.26.7.
Both latest release tags were discovered through github.com/releases/latest
redirects, then explicit release asset URLs were fetched. No GitHub API token,
source clone, package registry or other external service used.
- Empty access.api-keys opens /v1/models to a request with no key (200).
Sentinel is mandatory; P2 must refuse when it is missing.
- GET /v1/models with fixture client key returned 200, upstream call delta 0.
- Wrong key: 401 body {"error":"Invalid API key"}; missing key: 401 body
{"error":"Missing API key"}. A removed client key with a sentinel remaining
gets the same wrong-key refusal. No response-shape transformation.
- Claude Code with wrong and revoked fixture keys each timed out at45s,
rc124, empty stdout/stderr. This records the observation only; it does not
establish the response body as the cause.
- v8 api-key list is an array of strings. A PUT of per-key model objects is
refused (400), so no per-client-key model restriction through this API.
- Panel's default API base ignores /proxy. With Custom Connection URL set to
http://127.0.0.1:<forward>/proxy, prefix strip works; management/model requests
stay under /proxy. Plain-mode dashboard signs in and displays state.
- With CSP sandbox allow-scripts allow-forms, no allow-same-origin, localStorage
throws SecurityError in migratePlaintextKeys/restoreSession. Login fails with
no management request. This is P4's stop condition, sent to Sage as magica-0018
and0019. P1 ships no Console forward and proposes no sandbox weakening.
- OAuth starts produce Claude redirect_uri http://localhost:54545/callback and
Codex http://localhost:1455/auth/callback, not a /proxy/ URL. No external OAuth
URL was followed. CLI login fallback in Jason's own shell is recorded below
after checking the pinned binary's help.
Plain text complete output is acceptance-probe-3.txt (all runtime paths under
fresh /mnt/storage/scratch/tmp, nice19). acceptance-probe-1/2 preserve the
initial baseline and corrected prefix-only forward. T3 preview status/open
explicitly reported no automation host; headless Chromium ran inside unshare
instead. No live proxy introspection from row96's wrapper was reused.
## Implementation choices
JSON is used as YAML-compatible initial config to avoid interpolation of key
values. Model catalog uses -local-model at unit start. Pinned panel is supplied
via MANAGEMENT_STATIC_PATH. Init holds an exclusive per-config lock and a
loopback port reservation while creating files. Reentry refuses, no secret is
returned. The source definition of proxy is strictly proxy.json; config.json
schema and bytes remain unchanged. New tests were written before source; their
first execution waits for Sage's slot CLEAR, which overrides normal per-step
TDD timing. No tests have run as of this entry.
### Acceptance correction (probe4; append-only clarification)
Probe3's immediate revoked-key request was 200, not401; its per-key-object PUT
was422, not400. The earlier summary above overstated both. Probe4 measures the
propagation explicitly: after PUT([sentinel]) the removed key got200 then401 at
105ms (100ms poll). A later request is401 {"error":"Invalid API key"}. GET list
alone is not proof of enforcement at that instant. Sent to Sage as magica-0020
for P2. Empty-list200 and initial wrong/missing401 observations stand.
The sandbox's explicit fetch issues OPTIONS with Origin:null and no SameSite=Lax
cookie, then fails. This is an additional obstacle beyond the panel's own
storage failure; it does not weaken the P4 stop condition. Through the prefix
forward, /proxy/callback with a dummy code gives400 and
/proxy/auth/callback gives404. The OAuth start URLs advertise the separate
localhost54545/1455 listeners. This acceptance does not complete external OAuth
or claim the forwarded400 is a completed Claude login.
Sage-4233 corrected queue start to queue move329 in-progress using the same op.
The authorized move is running without a timeout. Row328 holds the test slot;
all test execution remains paused. Sage requires rebase onto5e77cdd09 before
the builder gate; static rebase will preserve these worktree changes.
## Rebase receipt
Before any test run, saved all tracked/untracked row329 changes to a dedicated
Git stash, rebased the empty branch onto5e77cdd09, reapplied and dropped only that
stash. Git auto-merged broker.mjs and runtime.mjs; no conflict or source was
lost. Base is now5e77cdd09. No row329 commit yet (applicable tests await CLEAR).
Queue receipt: ok magica-329-start-0001 rev4014 row329 briefed->in-progress.
The bus constructs the management client only after Store's per-data-root writer
lock is held. Its private key never enters process IPC, a CLI return, a broker
answer or a session. P2 may consume runtime.modelProxy inside the bus. Init's
returned contract is only port/binary. Without proxy.json existing boot options
and unit renders retain the base behavior.
The original probe1 source is retained as acceptance-probe-1.mjs, matching the
initial baseline tool invocation; the current acceptance.mjs includes the
explicit sub-path interaction, enforcement-timing and Claude Code follow-ups.
Probe1's output remains unchanged. This preserves Sage-4233's stop evidence.
Static syntax checks (node --check on new package source/tests, new CLI/bus files,
touched bus source and loader; bash -n on wrapper/unit/instance scripts) passed.
These are syntax-only, no module execution or test run. No npm has run yet.
## Final acceptance plain-text output
The command was `bash agents/magica/work/queue-329/acceptance.sh <download-root>`;
wrapper fresh TMPDIR and unshare-rn; no test slot used. Actual output follows.
```text
P1 isolated acceptance root /mnt/storage/scratch/tmp/3mOycq nice 19
binary sha256 74661f8cf949977870231359e8bf4344e07946766a673c08fa25a3e5f72fc95e
pinned panel served 200 8c9c6b7d3fb311e6aad5d06e1993e53a2d28389e640448a1bc6304ed20b057b5
pinned login flags -claude-login | -codex-login | -no-browser
wrong/missing key models wrong {"status":401,"body":"{\"error\":\"Invalid API key\"}"}
wrong/missing key models missing {"status":401,"body":"{\"error\":\"Missing API key\"}"}
models local 200 upstream delta 0 body length 1739
initial key list {"status":200,"body":"[\"p1-client\"]"}
set empty {"status":200,"body":"{\"config-version\":8,\"status\":\"ok\"}"}
empty list settled {"elapsedMs":3,"statuses":[200],"body":"[models]"}
empty list missing key status 200
restore list {"status":200,"body":"{\"config-version\":8,\"status\":\"ok\"}"}
restored list settled wrong key {"elapsedMs":104,"statuses":[200,401],"body":"{\"error\":\"Invalid API key\"}"}
revoke client {"status":200,"body":"{\"config-version\":8,\"status\":\"ok\"}"}
revoked key settled {"elapsedMs":103,"statuses":[200,401],"body":"{\"error\":\"Invalid API key\"}"}
revoked key models {"status":401,"body":"{\"error\":\"Invalid API key\"}"}
per-key model object attempt {"status":422,"body":"{\"error\":\"invalid_config\",\"message\":\"parse config payload: yaml: unmarshal errors:\\n line 12: cannot unmarshal !!map into string\"}"}
final restored list settled {"elapsedMs":2,"statuses":[401],"body":"{\"error\":\"Invalid API key\"}"}
v8 key list {"status":200,"body":"[\"p1-client\"]"}
oauth start anthropic {"status":200,"body":"{\"state\":\"778dec0d73991fed459dc3fdbdd2c6ae\",\"status\":\"ok\",\"url\":\"https://claude.ai/oauth/authorize?client_id=9d1c250a-e61b-44d9-88ed-5944d1962f5e\\u0026code=true\\u0026code_challenge=0K5PIZjU0CLqYa5fwIBFgBU3UsyX9pcOh_FQMCKAaKI\\u0026code_challenge_method=S256\\u0026redirect_uri=http%3A%2F%2Flocalhost%3A54545%2Fcallback\\u0026response_type=code\\u0026scope=user%3Aprofile+user%3Ainference+user%3Asessions%3Aclaude_code+user%3Amcp_servers+user%3Afile_upload\\u0026state=778dec0d73991fed459dc3fdbdd2c6ae\"}"}
oauth start codex {"status":200,"body":"{\"state\":\"4855489df4fa7e17b77d780492a4225e\",\"status\":\"ok\",\"url\":\"https://auth.openai.com/oauth/authorize?client_id=app_EMoamEEZ73f0CkXaXp7hrann\\u0026code_challenge=dHQyyXv-Wf89z_v1sy1ts4cnFwrKNBHw2BphTLjBBd4\\u0026code_challenge_method=S256\\u0026codex_cli_simplified_flow=true\\u0026id_token_add_organizations=true\\u0026prompt=login\\u0026redirect_uri=http%3A%2F%2Flocalhost%3A1455%2Fauth%2Fcallback\\u0026response_type=code\\u0026scope=openid+email+profile+offline_access\\u0026state=4855489df4fa7e17b77d780492a4225e\"}"}
panel plain initial {"result":{"type":"object","value":{"text":"CLI\nPROXY\nAPI\nCLI Proxy API Management Center\nEnglish\nConnect to CLI Proxy API v8 or later\nCurrent URL\nhttp://127.0.0.1:18319\nThe system will automatically use the current URL for connection\nCustom Connection URL:\nManagement Key:\nRemember password\nLogin","inputs":[{"type":"checkbox","placeholder":"","value":"on"},{"type":"password","placeholder":"Enter the management key","value":""},{"type":"checkbox","placeholder":"","value":"on"}],"buttons":["English","","Login"]}}}
panel plain storage {"result":{"type":"object","value":{"available":true}}}
panel plain login interaction {"result":{"type":"object","value":[{"type":"checkbox","value":"on"},{"type":"text","value":"http://127.0.0.1:18319/proxy"},{"type":"password","value":"[fixture]"},{"type":"checkbox","value":"on"}]}}
panel plain after login {"result":{"type":"string","value":"Success:\nConnected\nCPAMC\nCLI Proxy API Console\nOPERATE\nDashboard\nQuick Start\nGATEWAY\nAI Providers\nAuth Files\nAuthentication files: 0\nOAuth Login\nOBSERVE\nQuota Management\nLogs Viewer\nCONTROL\nConfig Panel\nPlugins\nPlugin Store\nManagement Center Info\nQuiet for now.\n\nv8.0.42 · Connected\n\nManage providers\nInspect logs\n→\nREQUESTS HANDLED\nLIVE\n0\nRolling 3h 20m window · 10-minute buckets\nSuccess\n0\nFailure\n0\nSuccess rate\n—\nAcross 0 requests in the window\nCredentials\n0\n0 active · 0 not serving\nProvider keys\n1\nAPI keys configured across all brands\nModels\n19\nServed through the proxy endpoint\nLIVE TRAFFIC\nThroughput, ten minutes at a time\n\nSuccess and failure counts per 10-minute bucket across the last 3h 20m. Hover a column for its exact split.\n\nSuccess\n0\nFailure\n0\n4\n3\n2\n1\n0\n\nNo requests\n\n11:10\n12:40\n14:20\nData table\nFLEET\nEvery provider, side by side\n\nVolume and success rate per provider over the same window.\n\n01\nClaude\nCredentials: 1\n0\nrequests\n—\nHEALTH\nCredential status\n\nNo credential files found.\n\nRUNTIME\nConfiguration at a glance\nRouting strategy\nfill-first (prioritize)\nRequest retry\n0\nManagement keys\n1\nServer version\n8.0.42\nBuild date\n10/24/2026\nUpstream proxy\n—\nDebug\nNo\nFile logging\nYes\nRequest log\nNo\nWebSocket auth\nYes\nModel prefix\nNo\nEdit configuration →\nNEXT\nWhere to go from here\nAI Providers\nAdd API keys, set priorities, and test brands.\n→\nAuth Files\nUpload, refresh, and disable OAuth credentials.\n→\nConfig Panel\nTune routing, retries, logging, and access.\n→\nQuota Management\nCheck remaining quota per credential.\n→\nLogs Viewer\nTail requests and download error reports.\n→\nManagement Center Info\nVersion details and management center info.\n→"}}
panel plain requests [{"method":"GET","path":"/proxy/management.html","origin":null,"cookie":false},{"method":"GET","path":"/proxy/v8/management/config","origin":null,"cookie":true},{"method":"GET","path":"/proxy/v1/models","origin":null,"cookie":true},{"method":"GET","path":"/proxy/v8/management/observability/usage/api-keys","origin":null,"cookie":true},{"method":"GET","path":"/proxy/v8/management/credentials","origin":null,"cookie":true},{"method":"GET","path":"/proxy/v8/management/plugins","origin":null,"cookie":true},{"method":"GET","path":"/proxy/v8/management/credentials","origin":null,"cookie":true}]
panel plain exceptions []
panel sandbox initial {"result":{"type":"object","value":{"text":"CLI\nPROXY\nAPI\nCLI Proxy API Management Center\nEnglish\nConnect to CLI Proxy API v8 or later\nCurrent URL\nhttp://127.0.0.1:18319\nThe system will automatically use the current URL for connection\nCustom Connection URL:\nManagement Key:\nRemember password\nLogin","inputs":[{"type":"checkbox","placeholder":"","value":"on"},{"type":"password","placeholder":"Enter the management key","value":""},{"type":"checkbox","placeholder":"","value":"on"}],"buttons":["English","","Login"]}}}
panel sandbox storage {"result":{"type":"object","value":{"error":"SecurityError","message":"Failed to read the 'localStorage' property from 'Window': The document is sandboxed and lacks the 'allow-same-origin' flag."}}}
panel sandbox login interaction {"result":{"type":"object","value":[{"type":"checkbox","value":"on"},{"type":"text","value":"http://127.0.0.1:18319/proxy"},{"type":"password","value":"[fixture]"},{"type":"checkbox","value":"on"}]}}
panel sandbox after login {"result":{"type":"string","value":"Error:\nLogin failed: Connection failed, please check the server address, Management API, and management key\nCLI\nPROXY\nAPI\nCLI Proxy API Management Center\nEnglish\nConnect to CLI Proxy API v8 or later\nCurrent URL\nhttp://127.0.0.1:18319/proxy\nThe system will automatically use the current URL for connection\nCustom Connection URL:\nCustom Connection URL:\nBy default the current URL is used. Override it here if needed.\nManagement Key:\nRemember password\nLogin\nConnection failed, please check the server address, Management API, and management key"}}
panel sandbox requests [{"method":"GET","path":"/proxy/management.html","origin":null,"cookie":true}]
panel sandbox exceptions ["Uncaught (in promise) SecurityError: Failed to read the 'localStorage' property from 'Window': The document is sandboxed and lacks the 'allow-same-origin' flag.\n at Array.forEach (<anonymous>)\n at Object.migratePlaintextKeys (http://127.0.0.1:18319/proxy/management.html:20:667941)\n at http://127.0.0.1:18319/proxy/management.html:28:32103\n at restoreSession (http://127.0.0.1:18319/proxy/management.html:28:32640)\n at http://127.0.0.1:18319/proxy/management.html:28:38065\n at http://127.0.0.1:18319/proxy/management.html:28:38198\n at Uc (http://127.0.0.1:18319/proxy/management.html:16:92011)\n at kl (http://127.0.0.1:18319/proxy/management.html:16:107191)\n at Ol (http://127.0.0.1:18319/proxy/management.html:16:107075)\n at kl (http://127.0.0.1:18319/proxy/management.html:16:107956)"]
sandbox explicit null-origin fetch {"result":{"type":"object","value":{"error":"TypeError","message":"Failed to fetch"}}}
sandbox explicit requests [{"method":"GET","path":"/proxy/management.html","origin":null,"cookie":true},{"method":"OPTIONS","path":"/proxy/v8/management/config/access/api-keys","origin":"null","cookie":false}]
forward callback /proxy/callback?code=fixture 400
forward callback /proxy/auth/callback?code=fixture 404
Claude Code wrong/revoked key wrong {"code":124,"signal":null} output ""
```
The pinned help confirms `-claude-login`, `-codex-login`, `-no-browser`.
For Jason alone, in his own shell at cutover:
```text
<proxy.binary> -config <dataRoot>/proxy/config.yaml -claude-login -no-browser
<proxy.binary> -config <dataRoot>/proxy/config.yaml -codex-login -no-browser
```
Neither command was run here. External OAuth completion remains unmeasured.
The latest release8.0.42 passed the stand-in questions with the recorded negative
panel-sandbox and revocation-lag answers; PIN selects8.0.42, not8.0.27.
Final acceptance completed rc0. The captured output above was copied just before
its last child finished; the remaining final lines are:
```text
Claude Code wrong/revoked key p1-revoked {"code":124,"signal":null} output ""
acceptance probes complete
```
Final acceptance also confirms /management.html returns200 with the exact panel
SHA256 from PIN when MANAGEMENT_STATIC_PATH points at the pinned static directory.
All runtime files remain in the fresh acceptance root; no binaries are in Git.
## Planned builder gate (awaiting CLEAR)
Own offline npm ci --ignore-scripts --no-audit --no-fund at root and packages/webui
(no registry network; only the authorized pinned GitHub fetch used network).
New model-proxy package whole; bus and CLI suites whole because their trusted
transport/boot code changes; scripts/test-config.sh. Every test file is run
whole, serialized, with a fresh shell mktemp short TMPDIR and absolute nice19.
Every scripts/test-*.sh invocation uses timeout-k10. Stop on any old test red
before rerun, even if likely timing. Refusal inventory is refusal-inventory.txt.
The landing gate still belongs to Sage and covers every package but queue and
every scripts/test-*.sh.
No old test has been edited. New tests are only model-proxy/tests/* and
bus/tests/model-proxy.test.mjs and cli/tests/model-proxy.test.mjs.
Static closure scan found two integration requirements before testing:
- stack-copy.sh now includes model-proxy/src and PIN, since CLI/runtime import
them. No new scripts are added to COPY_PATHS, preserving the pinned-copy
scripts-list assertion. The proxy unit renderer accepts the same optional
--copy/--copies concept as bus-service, and its runner then comes from that copy.
- historical stack-release fixture copies intentionally hold the current loader
without every current package. The loader imports model-proxy only if an
actual sidecar lstat succeeds. Absence needs no new dependency; malformed,
broken-symlink or unreadable present sidecar still refuses. New regression
covers this using a scratch historical loader with no model-proxy package.
No old fixture or assertion was edited for either requirement.
The builder gate includes webui/tests/pinned-copy.test.mjs whole for the
stack-copy closure change, and test-federation-acceptance.sh for the CLI suite's
listed script-only skip. No webui full-suite run is requested by P1; Sage's
landing gate covers it. Gate driver is gate.py, inert until invoked after CLEAR.
It forces npm offline throughout, per-child nice19, per-command timeout-k10,
records rc/nice/elapsed/log and stops on any red. Its first invocation has not
occurred. Initial development runs will be the new files only; a new-file failure
is placed/fixed in its new source, never by weakening an old assertion.
The management client uses node:http to the fixed numeric127.0.0.1 address,
not an ambient fetch dispatcher; HTTP_PROXY or a global fetch override cannot
redirect its Authorization header. A new regression replaces global fetch with
a throwing function while the real local management exchange remains successful.
The downloader's separate manual redirect handling enforces GitHub release hosts.
Static pre-gate review complete; source/test syntax and git diff--check clean.
Key validation includes HTTP Authorization-header validity before initial files
are created, so a key the HTTP client cannot send never leaves partial init state.
This adds no new refusal code (proxy-key-invalid / proxy-client-invalid).
All34 covered refusal codes (30 proxy-prefixed and4 reused bus codes) have named coverage in new tests; execution was pending at this entry.
No old tests changed; no npm/test runs; no commit/push yet. At this point the
remaining work is the slot-gated execution and any justified fixes/review handoff.
## Gate authorization and final-base rebase
Sage-4240 CLEAR at19:40:22Z: whole model-proxy, bus and CLI suites,
webui pinned-copy, test-config.sh and federation acceptance. Rebase onto8bb5b3c73
first; row328 changed bus/tests/library-credential.test.mjs. WIP commit explicitly
authorized for this preservation/rebase despite the ordinary green-before-commit
rule. No stash used for this rebase. Earlier stash had already been auto-dropped
by stash pop: subject On magica/row329: magica-row329-rebase-static, object
4e0e3137ef17453ddbbcb8a472b20906d1435eb4. Sage notified magica-0022; no other
stash touched and no subsequent stash operations.
Mos-1602: the /proxy/ panel forward remains pending P4/Jason's subdomain decision
(Vikunja624). The acceptance baseline only demonstrates explicit prefix routing
outside the required sandbox; it is no assertion of a working Console panel.
No CORS loosening, unsandboxed forward or panel JS on the Console origin ships.
The actual sandbox-negative assertions/evidence are unchanged.
Rebase WIP9edf45003 now has parent8bb5b3c73. Only BUILD-LOG.md and
SESSIONS.md conflicted; resolution preserved the entire8bb5 base byte prefix
and appended only the row329 additions from the WIP. No old test changed.
Offline root npm ci rc0 (128 packages), webui rc0 (2 packages), both nice19.
All seven new-file development runs passed on first execution: five model-proxy
package files, new bus file and new CLI file. No new-test placement needed.
First-run logs preserved under development-gate/ before the whole gate.
Review packet is REVIEW.md. Builder does not create a Console forward; P4's stop
condition remains an explicit pending dependency under mos-1602. Boyd independently
re-measures release bytes; Dewey reviews the landing candidate. No review request
or protected branch action has been performed here.
Whole gate progress: model-proxy59/59 and bus1018/1018, no failures, skips or
cancellations. CLI still running; no full-gate completion claim yet. New-only
first execution totaled76/76 across package59, bus8 and CLI9.
No product source has changed after these runs began.
One narrow acceptance follow-up is prepared for after the gate: directly verify
valid, empty-list and revoked /v1/messages through the stand-in (previous probes
measured auth on /v1/models and ClaudeCode timeouts), and exercise the P1
management client against the pinned binary's real v8 GET/PUT responses. It uses
the same fresh unshare wrapper in api-only mode, no browser or external upstream.
This resolves endpoint coverage without repeating the original sandbox evidence.
## First whole-gate result: STOP on old-test red
At19:49:13Z the serialized gate exited1. No rerun and no old test/source edit.
Sage notified magica-0023 and the slot returned. Sage-4245 holds the gate pending
Mos under mos-1592. The prepared api-only acceptance follow-up has not run.
Completed gate files:
- model-proxy whole:5 files,59 tests/pass,0fail/skip/cancel.
- bus whole:115 files,1018 tests/pass,0fail/skip/cancel (includes row328's
library-credential.test.mjs6/6 and new model-proxy.test.mjs8/8).
- CLI partial:5 files,124 tests,123pass,1fail,0skip/cancel. access-boot4/4,
access34/34, app30/30, boot-status3/3, case1-accept52pass/1fail.
- Remaining CLI, webui pinned-copy, test-config.sh and federation acceptance
were not run. No full-gate green claim or final candidate manifest.
Old test packages/cli/tests/case1-accept.test.mjs:503 failed at assertion507:
`row 195 accept: F3 fails on exit 0 with no reply line, and its evidence takes
talk's error`. ERR_ASSERTION, expected["F3"], actual["F3","F7"].
The test duration was2140.091658ms; the whole file252577.471202ms, driver252.61s.
Command: node --test <worktree>/packages/cli/tests/case1-accept.test.mjs,
under timeout-k10/1800; launch nice19; TMPDIR/mnt/storage/scratch/tmp/oEntjx.
Whole-file log: gate/cli-case1-accept.test.txt.
SHA256:6c528c893f55f259d7bfef319814ed0dd6f8b5437c2e9fdf4966b33b834e8f50.
Driver receipt: gate-progress.txt and gate/runs.jsonl, rc1.
### Requested exact F7 diagnostic is unavailable
Sage-4245 requested the exact `F7 pm-live FAIL` line to distinguish the branch.
It is not in the preserved Node log. The old test's assertion507 deepEqual has
no r.out diagnostic argument. run():213-227 holds the acceptance stdout only
in its returned in-memory object, not a file; host():158 uses tmp(t), whose
helpers.mjs:18-21 t.after deletes its entire fixture. case1-accept.sh removes
its WORK/capture files on EXIT too. The failed test process has ended.
No exact F7 line can be recovered from retained evidence. Sage notified
magica-0024. I will not invent its text, infer a timeout or rerun to obtain it.
### Static trace only
- case1-accept.sh:546-556 F7_JS reads the scratch business's launch.by,
spawnSyncs the scratch copy's mosaic with launches/list/--json, parses stdout
and checks exactly one live launch for the same business.
- The fixture's copy mosaic is a fake shell at case1-accept.test.mjs:129-140;
its launches branch cats HC/launches.json. The fixture populates exactly one
live pm and one dead pm at192-196; F3's sentonly fault changes talk-mode only.
- check_f7():557-563 runs through legacy_run pm-list10/12s and maps either a
nonzero capture status or a non-ok stdout line to F7. Missing r.out prevents
distinguishing which branch this run took. Duration alone is not diagnosis.
- No row329 model-proxy, sidecar or copy-closure code is imported on this fake
F7 path. git diff against8bb5b3c73 is empty for this old test, its helpers and
scripts/case1-accept.sh. No assertion was changed or loosened.
Current local WIP tip9edf45003 is the rebased draft, not a gate-approved build.
No push/review move occurred. Product source remained fixed through the run;
subsequent changes are acceptance follow-up preparation and these plain-text
receipts only. Hold until Sage passes Mos's ruling and any renewed CLEAR.
## Mos-1604 scratch-only diagnostic (sage-4248)
Approved diagnostic only; it contributes no gate credit. A separate detached
worktree of9edf45003 was created at /mnt/storage/scratch/tmp/sV85VX/checkout.
It ran its own offline npm ci --ignore-scripts --no-audit --no-fund at root
and packages/webui, both rc0, nice19; no canonical npm/rm and no linked dependency
directories. Every run used its own shell mktemp-d /mnt/storage/scratch/tmp/XXXXXX
TMPDIR, absolute nice19, and timeout-k10 (1800s per test-file run).
The original case1-accept.test.mjs was not edited. Its copy was at the same
packages/cli/tests depth, with the sole change at507:
```diff
- assert.deepEqual(failed(r), ["F3"]);
+ assert.deepEqual(failed(r), ["F3"], r.out);
```
Original source SHA256:685cf69c741540240c5b414e1907e624cbc59656541316f178d377472fad34a2.
Copy SHA256:608a423713d5803430c3f8735622a83d7e359a88e40d899b78c065ab1466e930.
Tracked git diff stayed empty; the only untracked checkout file was that copy.
Exact focused pattern:
```text
^row 195 accept: F3 fails on exit 0 with no reply line, and its evidence takes talk's error$
```
All20 focused runs passed1/1 with0fail/skip/cancel. Since none failed, all3
whole copied-file runs were performed: each53/53,0fail/skip/cancel. Total179
diagnostic tests passed. All23 test runs had rc0 and launch nice19. No failure
event and no F7 pm-live FAIL line occurred; no full-r.out failure block existed
to preserve. The original gate red remains recorded and unexplained by these
non-reproducing diagnostics; no timing/cause inference or shape/assertion fix.
UTC window:2026-10-24T19:56:21.256Z to2026-10-24T20:10:18.444Z.
Sampled start/end1-minute load range1.52..3.93. Every run has start/end UTC/load
in the table below and complete plain-text logs/JSON receipts in:
/mnt/storage/scratch/tmp/sV85VX/results.
The driver would record failure UTC/load at each not-ok event and retain the
full multiline r.out assertion message; none occurred.
| Run | UTC start | UTC end | load1 start/end | Pass/fail/skip/cancel | rc |
|---|---|---|---|---|---|
| focused-01 | 2026-10-24T19:56:21.256+00:00 | 2026-10-24T19:56:25.232+00:00 | 1.52/1.64 | 1/0/0/0 | 0 |
| focused-02 | 2026-10-24T19:56:25.234+00:00 | 2026-10-24T19:56:29.173+00:00 | 1.64/1.64 | 1/0/0/0 | 0 |
| focused-03 | 2026-10-24T19:56:29.175+00:00 | 2026-10-24T19:56:33.132+00:00 | 1.64/1.67 | 1/0/0/0 | 0 |
| focused-04 | 2026-10-24T19:56:33.133+00:00 | 2026-10-24T19:56:37.147+00:00 | 1.67/1.86 | 1/0/0/0 | 0 |
| focused-05 | 2026-10-24T19:56:37.148+00:00 | 2026-10-24T19:56:41.129+00:00 | 1.86/1.87 | 1/0/0/0 | 0 |
| focused-06 | 2026-10-24T19:56:41.130+00:00 | 2026-10-24T19:56:45.286+00:00 | 1.87/2.04 | 1/0/0/0 | 0 |
| focused-07 | 2026-10-24T19:56:45.287+00:00 | 2026-10-24T19:56:49.285+00:00 | 2.04/2.04 | 1/0/0/0 | 0 |
| focused-08 | 2026-10-24T19:56:49.286+00:00 | 2026-10-24T19:56:53.374+00:00 | 2.04/2.44 | 1/0/0/0 | 0 |
| focused-09 | 2026-10-24T19:56:53.376+00:00 | 2026-10-24T19:56:57.441+00:00 | 2.44/2.72 | 1/0/0/0 | 0 |
| focused-10 | 2026-10-24T19:56:57.442+00:00 | 2026-10-24T19:57:01.904+00:00 | 2.72/3.07 | 1/0/0/0 | 0 |
| focused-11 | 2026-10-24T19:57:01.906+00:00 | 2026-10-24T19:57:06.072+00:00 | 3.07/3.54 | 1/0/0/0 | 0 |
| focused-12 | 2026-10-24T19:57:06.074+00:00 | 2026-10-24T19:57:10.220+00:00 | 3.54/3.66 | 1/0/0/0 | 0 |
| focused-13 | 2026-10-24T19:57:10.221+00:00 | 2026-10-24T19:57:14.351+00:00 | 3.66/3.66 | 1/0/0/0 | 0 |
| focused-14 | 2026-10-24T19:57:14.353+00:00 | 2026-10-24T19:57:18.752+00:00 | 3.66/3.93 | 1/0/0/0 | 0 |
| focused-15 | 2026-10-24T19:57:18.753+00:00 | 2026-10-24T19:57:23.015+00:00 | 3.93/3.93 | 1/0/0/0 | 0 |
| focused-16 | 2026-10-24T19:57:23.017+00:00 | 2026-10-24T19:57:26.932+00:00 | 3.93/3.70 | 1/0/0/0 | 0 |
| focused-17 | 2026-10-24T19:57:26.934+00:00 | 2026-10-24T19:57:30.809+00:00 | 3.70/3.72 | 1/0/0/0 | 0 |
| focused-18 | 2026-10-24T19:57:30.811+00:00 | 2026-10-24T19:57:34.661+00:00 | 3.72/3.50 | 1/0/0/0 | 0 |
| focused-19 | 2026-10-24T19:57:34.663+00:00 | 2026-10-24T19:57:38.617+00:00 | 3.50/3.50 | 1/0/0/0 | 0 |
| focused-20 | 2026-10-24T19:57:38.618+00:00 | 2026-10-24T19:57:42.546+00:00 | 3.50/3.30 | 1/0/0/0 | 0 |
| whole-01 | 2026-10-24T19:57:42.548+00:00 | 2026-10-24T20:01:56.880+00:00 | 3.30/3.50 | 53/0/0/0 | 0 |
| whole-02 | 2026-10-24T20:01:56.882+00:00 | 2026-10-24T20:06:13.814+00:00 | 3.50/3.23 | 53/0/0/0 | 0 |
| whole-03 | 2026-10-24T20:06:13.816+00:00 | 2026-10-24T20:10:18.444+00:00 | 3.23/2.63 | 53/0/0/0 | 0 |
Whole-file seconds:254.333,256.932,244.628.
All25 command logs (including2 npm setups) were rehashed against runs.jsonl;
all matched. The scratch checkout was removed after completion; only external
plain-text evidence remains under /mnt/storage/scratch/tmp/sV85VX.
Evidence manifest /mnt/storage/scratch/tmp/sV85VX/diagnostic-files.sha256
SHA256:fcb72f317e7d56e1ada0ee6ebb7bf435c1dd033c958cf9463930c62c2e61537b.
No diagnostic copy, old-test edit or instrumentation was added to row329.
Only this BUILD.md result receipt changes in the row329 repository for this
diagnostic. Vikunja625 is Mos's separate follow-up, not a row329 change.
Diagnostic slot returned to Sage. Builder gate remains paused pending Mos's
ruling on an unchanged rerun; no gate resumed, commit, push or queue move.
## One unchanged gate rerun authorized (mos-1605 / sage-4250)
Sage-4250 CLEAR at20:12:20Z authorizes one unchanged whole-file rerun of the
original packages/cli/tests/case1-accept.test.mjs. Its SHA256 remains
685cf69c741540240c5b414e1907e624cbc59656541316f178d377472fad34a2,
byte-identical to8bb5b3c73. On pass, resume the rest of CLI, webui pinned-copy,
config and federation. On any red, stop before further rerun and report load.
No product or old-test change. F7 cause stays unknown; Vikunja625 is separate.
No diagnostic result counts toward the gate and landing must pass independently.
Runner resume-mos1605.py preserves the first red log, gives the one allowed
rerun its own filename, and records UTC/load at each observed failure event plus
one-second load samples. Each invocation gets a fresh shell-created short
TMPDIR, absolute nice19, timeout-k10, offline npm environment and the same
MOSAIC_REQUIRE_EDITOR_BUILD=1 as the initial gate. Earlier completed package,
bus and first four CLI files are not rerun. No further command follows a red.
## Final unit-rendering fix and remaining reader gate
The approved mos-1605 original-file rerun passed53/53 in242.3s; the remaining
planned CLI, pinned-copy, config and federation commands completed rc0. This
records a successful continuation, not a first-run green or an explanation of
F7. The original red and23-run diagnostic remain above; landing is independent.
Static P1 review found that the configured default proxy unit bound an explicit
MOSAIC_CONFIG but the default bus unit omitted it. Two additions to row329's new
config-unit.test.mjs reproduced the mismatch and unsafe-unit-path acceptance:
13pass/2expected-new-test-fail (unit-custom-config-red.txt). The fix is solely
bus-service.sh's proxy-configured/default-instance branch: validate that selected
config path can be carried by systemd and explicitly bind the bus to the same
file. No-proxy rendering retains its historical output. No old assertion changed.
After fix: whole model-proxy61/61, whole CLI stack-instances24/24 and
stack-copy18/18, whole webui pinned-copy10/10. Source never changed during an
active whole-file run. Sage notified magica-0026 and the prior slot returned.
Sage-4251 CLEAR now requires the remaining five direct bus-service readers on
this final tree: host, stack-release-external, stack-release, stack-upgrade and
verbs, all whole files. stack-release-fixture is their helper. Sage found no
bus-service SHA256 pin. No product change is planned during this gate. Each
reader uses fresh shell mktemp TMPDIR, absolute nice19, timeout-k10; a red stops
before any rerun and is sent to Sage. FINAL-COUNTS mapping will point at these
final-tree receipts when complete.
## Narrow API acceptance follow-up (after planned gate)
Command: acceptance.sh <download-root> api-only. Fresh unshare-rn scratch root,
nice19, rc0; no test slot used and no external request. It exercised the actual
P1 ManagementClient against the pinned binary's v8 API, then valid/wrong/revoked
and empty-list Messages requests through the stand-in. Full plain text:
```text
P1 isolated acceptance root /mnt/storage/scratch/tmp/KXZOfD nice 19
binary sha256 74661f8cf949977870231359e8bf4344e07946766a673c08fa25a3e5f72fc95e
P1 client receipt {"call":"GET /v8/management/config/access/api-keys","status":200,"keyIds":["48eead3cdecf"]}
P1 client real API GET count 1
P1 client receipt {"call":"PUT /v8/management/config/access/api-keys","status":200,"keyIds":["48eead3cdecf"]}
P1 client real API PUT {"ok":true}
pinned panel served 200 8c9c6b7d3fb311e6aad5d06e1993e53a2d28389e640448a1bc6304ed20b057b5
pinned login flags -claude-login | -codex-login | -no-browser
wrong/missing key models wrong {"status":401,"body":"{\"error\":\"Invalid API key\"}"}
wrong/missing key models missing {"status":401,"body":"{\"error\":\"Missing API key\"}"}
models local 200 upstream delta 0 body length 1739
valid messages {"status":200,"body":"{\"id\":\"msg_p1\",\"type\":\"message\",\"role\":\"assistant\",\"model\":\"claude-sonnet-5-5\",\"content\":[{\"type\":\"text\",\"text\":\"hello\"}],\"stop_reason\":\"end_turn\",\"usage\":{\"input_tokens\":1,\"output_tokens\":1}}"} upstream delta 1
wrong messages {"status":401,"body":"{\"error\":\"Invalid API key\"}"}
initial key list {"status":200,"body":"[\"p1-client\"]"}
set empty {"status":200,"body":"{\"config-version\":8,\"status\":\"ok\"}"}
empty list settled {"elapsedMs":105,"statuses":[401,200],"body":"[models]"}
empty list missing key status 200
empty list missing key messages {"status":200,"body":"{\"id\":\"msg_p1\",\"type\":\"message\",\"role\":\"assistant\",\"model\":\"claude-sonnet-5-5\",\"content\":[{\"type\":\"text\",\"text\":\"hello\"}],\"stop_reason\":\"end_turn\",\"usage\":{\"input_tokens\":1,\"output_tokens\":1}}"}
restore list {"status":200,"body":"{\"config-version\":8,\"status\":\"ok\"}"}
restored list settled wrong key {"elapsedMs":104,"statuses":[200,401],"body":"{\"error\":\"Invalid API key\"}"}
revoke client {"status":200,"body":"{\"config-version\":8,\"status\":\"ok\"}"}
revoked key settled {"elapsedMs":2,"statuses":[401],"body":"{\"error\":\"Invalid API key\"}"}
revoked key models {"status":401,"body":"{\"error\":\"Invalid API key\"}"}
revoked messages {"status":401,"body":"{\"error\":\"Invalid API key\"}"}
per-key model object attempt {"status":422,"body":"{\"error\":\"invalid_config\",\"message\":\"parse config payload: yaml: unmarshal errors:\\n line 12: cannot unmarshal !!map into string\"}"}
final restored list settled {"elapsedMs":2,"statuses":[401],"body":"{\"error\":\"Invalid API key\"}"}
v8 key list {"status":200,"body":"[\"p1-client\"]"}
oauth start anthropic {"status":200,"body":"{\"state\":\"208bd2a002a312d996f6c5a416ecc311\",\"status\":\"ok\",\"url\":\"https://claude.ai/oauth/authorize?client_id=9d1c250a-e61b-44d9-88ed-5944d1962f5e\\u0026code=true\\u0026code_challenge=BsWT1fuo1kBcP-EySiawhlK-cfN2B62ta6VKP8qvaIU\\u0026code_challenge_method=S256\\u0026redirect_uri=http%3A%2F%2Flocalhost%3A54545%2Fcallback\\u0026response_type=code\\u0026scope=user%3Aprofile+user%3Ainference+user%3Asessions%3Aclaude_code+user%3Amcp_servers+user%3Afile_upload\\u0026state=208bd2a002a312d996f6c5a416ecc311\"}"}
oauth start codex {"status":200,"body":"{\"state\":\"fffb20861e7b44a1d70c45a2de1f9b8c\",\"status\":\"ok\",\"url\":\"https://auth.openai.com/oauth/authorize?client_id=app_EMoamEEZ73f0CkXaXp7hrann\\u0026code_challenge=Swdf4fq2oLSpl2K6CQJYbeHw7aC50nby_h0l-O52kqc\\u0026code_challenge_method=S256\\u0026codex_cli_simplified_flow=true\\u0026id_token_add_organizations=true\\u0026prompt=login\\u0026redirect_uri=http%3A%2F%2Flocalhost%3A1455%2Fauth%2Fcallback\\u0026response_type=code\\u0026scope=openid+email+profile+offline_access\\u0026state=fffb20861e7b44a1d70c45a2de1f9b8c\"}"}
acceptance probes complete
```
Valid Messages returned200 with exactly one stand-in upstream call; wrong and
revoked Messages returned401 with the same flat error body. With an empty list,
a no-key Messages request returned200. P1 client GET/PUT returned200 and receipts
contained key IDs only. The measured update lag varies by request/run; no stronger
instant-enforcement claim is made. The prior105ms observation remains on P2.
## Scope amendment Q250 / mos-1606 (sage-4253)
Jason's Q46/Q47 decision replaces the upstream panel forward with the Console's
own proxy page (P4 brief docs/plans/2026-10-24_proxy-page-brief.md at696ea3a3a).
P1's two panel acceptance bullets and callback-through-/proxy/ question are no
longer required. All previously measured results above remain as recorded;
no new panel/sandbox/forward work is added. The pinned rows brief blobfd4325c0
is unchanged, as are packages/model-proxy/PIN and src/fetch.mjs.
Still required and already measured on pinned CLIProxyAPI8.0.42:
Claude OAuth start redirect_uri=http://localhost:54545/callback.
Codex OAuth start redirect_uri=http://localhost:1455/auth/callback.
These returned URLs were recorded without following an external OAuth URL;
completion is not claimed. Sent to Sage magica-0027 for the native P4 page.
Historical fallback login commands remain recorded, not executed. Current README
and review packet reflect Q250; no Console code or management routes ship in P1.
## Final builder verification and review candidate
All five final reader files per sage-4251 passed on the final source tree.
post-unit-fix-cli-host.test: {'tests': 43, 'pass': 43, 'fail': 0, 'skipped': 0, 'cancelled': 0}, rc0/nice19, 12.262s.
post-unit-fix-cli-stack-release-external.test: {'tests': 25, 'pass': 25, 'fail': 0, 'skipped': 0, 'cancelled': 0}, rc0/nice19, 83.766s.
post-unit-fix-cli-stack-release.test: {'tests': 224, 'pass': 224, 'fail': 0, 'skipped': 0, 'cancelled': 0}, rc0/nice19, 723.448s.
post-unit-fix-cli-stack-upgrade.test: {'tests': 21, 'pass': 21, 'fail': 0, 'skipped': 0, 'cancelled': 0}, rc0/nice19, 97.612s.
post-unit-fix-cli-verbs.test: {'tests': 9, 'pass': 9, 'fail': 0, 'skipped': 0, 'cancelled': 0}, rc0/nice19, 3.587s.
Final per-file mapping is gate/FINAL-COUNTS.json; summary:
```text
model-proxy: 5files 61tests 61pass 0fail 0skip 0cancel
bus: 115files 1018tests 1018pass 0fail 0skip 0cancel
cli: 69files 1000tests 999pass 0fail 1skip 0cancel
webui pinned-copy:10/10; config:55/55; federation runner:1/1 no skip.
CLI listed skip: packages/cli/tests/federation-acceptance.test.mjs, FED R7 scratch two-instance acceptance; covered by scripts/test-federation-acceptance.sh.
Initial old red and scratch diagnostic are preserved, not included in final pass totals.
One unchanged original rerun authorized by mos-1605 passed53/53; final unit-reader checks per sage-4251 all pass.
Sage landing gate must independently be green (mos-1583).
```
The CLI skip is the listed FED R7 wrapper at
packages/cli/tests/federation-acceptance.test.mjs, test name
"FED R7 scratch two-instance acceptance", runner scripts/test-federation-acceptance.sh.
That runner passed1/1 with0skips in this gate and verified cleanup. No other skip.
The original first red, diagnostic, unchanged rerun and final-unit-reader gate
are distinct facts. F7 cause remains unknown; Vikunja625 is separate. No old
test file/assertion was changed; landing must independently go green.
Additional read-only acceptance corroboration: the made-up acceptance root
3mOycq/auth/logs/main.log contains14 HTTP401 POST /v1/messages?beta=true receipts
during the two45s ClaudeCode attempts (7 per attempt by timestamp). Only those
status/path lines are retained in claude-401-receipts.txt, with no headers/bodies.
Thus the client did reach the proxy and retried while producing no output until
the timeout. The reason for that behavior/body-shape hypothesis remains unproven.
Manifest MANIFEST.sha256 covers every changed regular file against8bb5b3c73
except itself. It includes source, tests, all plain-text receipts and both
append-only logs. No executable/archive/panel asset is committed. The final
commit follows completed applicable green checks; WIP preservation was explicitly
authorized by Sage. No live instance, host proxy or protected branch was changed.
## Final receipt whitespace normalization
The final code/receipt commit passed LOG_OK, FF_OK, NO_BINARY, SECRETS_CLEAN,
NO_ATTRIBUTION and PUSH_READY. A separate full-range diff check identified
trailing whitespace in the original-red copy, new-unit expected-red copy and
static reader inventory. Those three committed text copies now have trailing
spaces/tabs stripped only; no content, code or assertion changed. Exact raw
bytes were preserved first under /mnt/storage/scratch/tmp/rDZk8i, with a raw MANIFEST.sha256.
The earlier recorded original-red hash refers to those raw bytes; the candidate
manifest identifies the normalized review copies. Raw hashes:
```text
6c528c893f55f259d7bfef319814ed0dd6f8b5437c2e9fdf4966b33b834e8f50 gate/cli-case1-accept.test.txt
40904a9a2b69b15b61e09aa9f1fa5ea79d63e17cd888c532eae19d1679a40d9c gate/unit-custom-config-red.txt
e7fa0ff14ca8087fa1733a69e932169099e3a16e5077557ee836f7aa354bc9fb readers.txt
```
This metadata-only correction needs no suite rerun. Panel acceptance records
and every product/test source remain unchanged. The final manifest is regenerated
after this correction, and final push checks run against the resulting tip.
## Round2: B1, N1 and Dewey documentation notes
Sage-4274/4276 authorizes only printable non-space ASCII with retained header
validation, full-tree refusal evidence, ASCII control, corrected counts and safe
stale-lock docs. Dewey round1 approval does not remove Boyd B1; round2 is required.
No bind experiment (P7), fetch human guard (out of scope), PIN/fetch or D6 change.
Move first: initial attempt refused Dewey review-record lock. Retried the exact
same op without unlock/timeout; magica-329-r2-start-0001 succeeded rev4031,
in-review to in-progress. No product/test edit preceded the successful move.
New file management-key-encoding.test.mjs exercised initializeProxy against
installed fixtures with whole config/data inventories (all paths, types, inode/
device identity, modes, owner/group, mtime/ctime and file sizes/SHA256; atime
excluded because observing files can change it). Each invalid case asserts the
named proxy-key-invalid refusal and complete inventory equality. Latin-1, leading,
trailing and internal-space cases each have their own test. ASCII control verifies
existing files and expected new paths, then authenticates through real loopback
HTTP with ManagementClient. Every supplied key is under24characters.
Before source fix, whole new file:1positive pass,4expected refusal/inventory
failures,0skip/cancel (gate-r2/B1-red.txt). Then common.mjs alone changed the
acceptance predicate to /^[\x21-\x7e]{1,4096}$/; header validation remains.
N1: final-counts.py now selects the last/outer summary for every count. Existing
Docker log remains unchanged; its outer2/2 replaces nested1/1, correcting the
round1 bus sum to1019/1019. No Docker rerun for this documentation correction.
N4: coverage is34codes =30proxy-prefixed +4reused bus codes; B1 adds cases under
existing proxy-key-invalid, so adds0new code names. refusal-inventory.txt lists
all34 explicitly. N3: README gives the human-only stale-lock preconditions and
removal command, retaining partial/completed state and failing closed if unsure.
R2 reader selection (same settings, whole files only) follows actual runtime,
CLI/main/config/host and loader imports/reads, including joined/full paths and
stack-release helper consumers; literal stand-in WebUI CLI paths do not qualify.
Full matching lines are r2-readers.txt. Selected81files:
```text
packages/bus/tests/access-revoke.test.mjs
packages/bus/tests/chief-of-staff.test.mjs
packages/bus/tests/citation-runtime.test.mjs
packages/bus/tests/creative.test.mjs
packages/bus/tests/credential-verbs.test.mjs
packages/bus/tests/daily-quota-runtime.test.mjs
packages/bus/tests/grant-scope-runtime.test.mjs
packages/bus/tests/host-run.test.mjs
packages/bus/tests/instances-verb.test.mjs
packages/bus/tests/library-credential.test.mjs
packages/bus/tests/library-lookups.test.mjs
packages/bus/tests/library-sync.test.mjs
packages/bus/tests/library.test.mjs
packages/bus/tests/lifecycle-revoke.test.mjs
packages/bus/tests/lifecycle-verbs.test.mjs
packages/bus/tests/limit-checks.test.mjs
packages/bus/tests/limits-runtime.test.mjs
packages/bus/tests/limits.test.mjs
packages/bus/tests/model-proxy.test.mjs
packages/bus/tests/plugins-verb.test.mjs
packages/bus/tests/processing-runtime.test.mjs
packages/bus/tests/project-runtime.test.mjs
packages/bus/tests/publish.test.mjs
packages/bus/tests/reload.test.mjs
packages/bus/tests/routes-verb.test.mjs
packages/bus/tests/tasks.test.mjs
packages/bus/tests/tester-writes.test.mjs
packages/bus/tests/tester.test.mjs
packages/bus/tests/usage-runtime.test.mjs
packages/bus/tests/web.test.mjs
packages/cli/tests/access-boot.test.mjs
packages/cli/tests/access.test.mjs
packages/cli/tests/app.test.mjs
packages/cli/tests/boot-status.test.mjs
packages/cli/tests/case1-accept.test.mjs
packages/cli/tests/case2-unit.test.mjs
packages/cli/tests/channel-cli.test.mjs
packages/cli/tests/cli.test.mjs
packages/cli/tests/compactions-launch.test.mjs
packages/cli/tests/config.test.mjs
packages/cli/tests/credentials.test.mjs
packages/cli/tests/federation-acceptance.test.mjs
packages/cli/tests/follow.test.mjs
packages/cli/tests/git-socket.test.mjs
packages/cli/tests/grants-scope.test.mjs
packages/cli/tests/grants.test.mjs
packages/cli/tests/host.test.mjs
packages/cli/tests/hosts.test.mjs
packages/cli/tests/idle-stop-race.test.mjs
packages/cli/tests/instances.test.mjs
packages/cli/tests/launcher.test.mjs
packages/cli/tests/lifecycle.test.mjs
packages/cli/tests/limits-tokens.test.mjs
packages/cli/tests/limits.test.mjs
packages/cli/tests/mark-read.test.mjs
packages/cli/tests/model-proxy.test.mjs
packages/cli/tests/names.test.mjs
packages/cli/tests/optional-tracker.test.mjs
packages/cli/tests/other-tree.test.mjs
packages/cli/tests/processing-cli.test.mjs
packages/cli/tests/project-name-repo.test.mjs
packages/cli/tests/project.test.mjs
packages/cli/tests/publish-socket.test.mjs
packages/cli/tests/revoke-window.test.mjs
packages/cli/tests/session-clear.test.mjs
packages/cli/tests/session-cli.test.mjs
packages/cli/tests/session-launch.test.mjs
packages/cli/tests/stack-copy.test.mjs
packages/cli/tests/stack-instances.test.mjs
packages/cli/tests/stack-release-external.test.mjs
packages/cli/tests/stack-release.test.mjs
packages/cli/tests/stack-upgrade.test.mjs
packages/cli/tests/tester-reads.test.mjs
packages/cli/tests/tester-threads.test.mjs
packages/cli/tests/tester.test.mjs
packages/cli/tests/thread-cli.test.mjs
packages/cli/tests/thread-launch.test.mjs
packages/cli/tests/thread-revoke.test.mjs
packages/cli/tests/trackers-boot.test.mjs
packages/cli/tests/usage.test.mjs
packages/cli/tests/verbs.test.mjs
```
### Reader-selector correction during R2
The81-file list itself was explicit, but its exclusion prose was wrong: a full
CLI/config-path match also selected case1-accept and case2-unit fixture writes.
case1-accept ran once and passed53/53 in247.863s; case2-unit was already running
when identified. This is over-selection, not a new F7 diagnostic or a cause
finding. No old test/source/assertion changed. The two stand-in false positives
are marked in r2-readers.txt; their actual receipts remain in the execution
inventory. Sage notified magica-0031. No repeat of either is planned.
Sage-4277: let the already-running case2-unit finish to avoid orphaning its
children, then no more stand-in false positives. It completed {'tests': 47, 'pass': 47, 'fail': 0, 'skipped': 0, 'cancelled': 0} in71.829s, rc0.
The remainder of the81-file list is explicitly cleared. The execution snapshot
is r2-reader-files.executed.json; the current planned list r2-reader-files.json
drops those two and has79files. Neither will be repeated.
Exact Case1 fact: R2 case1-accept53/53 in247.863s, through over-selection, not
as an F7 diagnostic. This pass is not presented as evidence about F7 either
way. F7 cause stays unknown (Vikunja625); the one approved unchanged rerun was
mos-1605, recorded separately. Sage is informing Mos about the over-selection.
R2 B1 first-red stdout raw retained at /mnt/storage/scratch/tmp/YtB1cu/B1-red.txt, SHA256 f678679f9df80fbc0704b4401647b9b750388af366b15b4eaf926eca1310c00d. Repository B1-red.txt strips trailing whitespace only; result remains 5 tests,1pass,4fail. Each other R2 receipt records its own raw path/hash and the same review-copy normalization.
Static R2 preservation check: all502 files under packages/*/tests present at base8bb5b3c73 were compared as raw bytes with git show; zero differences. The R2 test addition is management-key-encoding.test.mjs. Product source diff since5f2ef9647 is only common.mjs validManagementKey predicate; validateHeaderValue remains. PIN and fetch are unchanged.
## Round2 final verification and slot return
Gate completed 2026-10-24T21:54:29.245Z, started21:31:10.938Z. All88 actual
commands rc0/nice19; each launch used a fresh shell mktemp TMPDIR under
/mnt/storage/scratch/tmp, MOSAIC_REQUIRE_EDITOR_BUILD=1 and timeout-k10.
There were86 required commands:6 whole model-proxy files,79 whole dependency
readers (30bus,49cli) and config. The2 over-selection runs remain separate.
Required R2 results:
- model-proxy:6files,66/66,0fail/skip/cancel.
- bus readers:30files,261/261,0fail/skip/cancel.
- CLI readers:49files,726/726,0fail/skip/cancel. This includes the official
federation acceptance runner1/1 with cleanup, rather than its skipped wrapper.
- test-config.sh:55/55.
No old-test red or rerun occurred. B1 first-red1pass/4fail is preserved separately
from these fixed results. The over-selected case1-accept53/53 in247.863s and
case2-unit47/47 in71.829s are facts only; the case1 pass is not an F7 diagnostic
or evidence about F7 either way. F7 cause unknown, Vikunja625. No repeats.
FINAL-COUNTS.json now explicitly distinguishes R1 whole-suite results (bus
corrected1019/1019; CLI999pass+1listed skip) from R2 targeted coverage. Model-proxy
is current66/66, with R1's61/61 preserved separately. R2 runs.jsonl maps every
command to its count summary, raw log/hash, review copy/hash, timing and priority.
The R1 Docker receipt selects outer2/2, not nested1/1. No new whole bus/CLI run
is claimed; those remain Sage's landing gate, which must independently pass.
Slot returned to Sage in magica-0032. No further tests run. R2 addresses Boyd B1,
N1 and Dewey N3/N4 only. The pinned release/panel/fetch remain unchanged. Old
assertions and all502 existing base test/helper files remain byte-identical.
R2 manifest is regenerated over every changed regular file against8bb5b3c73,
except MANIFEST.sha256 itself; review source and plain-text receipts are included.
@@ -0,0 +1,534 @@
0906c6ffb3fb61a4af50babe2a299862e5276ccac839610ea9c432c9cf1f9245 BUILD-LOG.md
cce90a2e3458fe17383a19a26b340201196d4dc0d58248032521847af424efe2 agents/magica/work/queue-329/BUILD.md
4eacff93480cc340d38bce151f93897567ca8fcd95e660ca81cc5d2d35a5351a agents/magica/work/queue-329/REVIEW.md
f5ceab9c8ddbc6474a088426b179074fc8076ef307f148ac17664b4d82774a20 agents/magica/work/queue-329/acceptance-api-only.txt
5c3e8d45fe644c442ffbd030c7c8b1d315368f1955fcc2ec2b8b9aba269b1ec3 agents/magica/work/queue-329/acceptance-final.txt
3ef44d7e6ab26ce1f7e8a9b31c0fc69f71d0f9331e860908e97ded398bd3216d agents/magica/work/queue-329/acceptance-probe-1.mjs
f24af6fa5fd4f3c89e4ce6da5d414e19f64d5c217d623e53610e8ed26c0b17b1 agents/magica/work/queue-329/acceptance-probe-1.txt
471579b1c51f20893a552f19f2d8689fc09410c16b195ef60b2970888d7f915f agents/magica/work/queue-329/acceptance-probe-2.txt
6ca780daad5962d783e50b94f47509fd0dc1f98d3abea0500e47ac1392826728 agents/magica/work/queue-329/acceptance-probe-3.txt
7973fb50698805fdda35d8604a7a2881f01b305608d7376bc216ff991ca9621d agents/magica/work/queue-329/acceptance-probe-4.txt
32e6ecd9199d5919121902ef02a9eca7ee881f980c5b5c5d48c133f5df85dbae agents/magica/work/queue-329/acceptance.mjs
15fc26371aae25c944bdbc264f6841549ceceb295b2981465d8edea3ecd3f1f6 agents/magica/work/queue-329/acceptance.sh
f94ec0fc73c13db93ef901bcb26fcd9bd5ae4009fe8fcc654ef3642b308a5e29 agents/magica/work/queue-329/claude-401-receipts.txt
ff23a1447800b8a238fe99a491d2dce47772fcdffc0b953bf870ee1dc55f3548 agents/magica/work/queue-329/development-gate/bus-model-proxy.test.txt
1aaf064ad2641963c5d1cdc8fb5b0c6a16a33b51d1dfc167c8e5efe31d2bcdd9 agents/magica/work/queue-329/development-gate/cli-model-proxy.test.txt
b6768b3834ab009109f114ae4ae1d82ed0804491afe08df649e3412bbda2b63c agents/magica/work/queue-329/development-gate/model-proxy-client.test.txt
a5815c185c59996085f979b8437e7309860153471f02bc75ee491d9d5e0bcf86 agents/magica/work/queue-329/development-gate/model-proxy-config-unit.test.txt
ab7e64e36d22c1e82fc65e93efc69194f595ee14971e0d5f9be58ca8b8725f18 agents/magica/work/queue-329/development-gate/model-proxy-fetch.test.txt
8fd3d91b04eb9d96df7b8a66bb072dd619c4f82bfba003a658a5b5f335ce5a6d agents/magica/work/queue-329/development-gate/model-proxy-runner.test.txt
12a1a8c9472bb8cda2b7582518325e396c3a31215caa41c0cdc8feba3d1563b8 agents/magica/work/queue-329/development-gate/model-proxy-settings.test.txt
ca054157c6bb36f40dc6c7a0942d4195fccdfc87b1a77062fb44f6db3fd84c2d agents/magica/work/queue-329/development-gate/npm-root.txt
66ac3eda1c48dd7eff9d87623cfd89ed91eddf8af2a53ea15c91ba9564036882 agents/magica/work/queue-329/development-gate/npm-webui.txt
1cae643fc1de823a04293ec68cfc5286903ab58bf8e16d6a63acbf4f34cac13e agents/magica/work/queue-329/development-gate/runs.jsonl
1e84defa58b9e975217a497720b6e5533effbb9cfe49d024c30031f5f8f4a5b6 agents/magica/work/queue-329/download-sha256.txt
602bd0c5171d35aa0f7462a77459d2d16de72e201119feef5437cb956486d707 agents/magica/work/queue-329/final-counts.py
1c5ae4b57246985ba1dea30784481f0407877ae373d8e6e00f7a9317731835ff agents/magica/work/queue-329/final-reader-progress.txt
60a80c5f01c17605cf371fc4eacf851471109edf0b65e830e029b661d51fffcb agents/magica/work/queue-329/gate-progress.txt
509302f982d6b7446902553d01d5760a4eb865e206d84d86674bc7bc8f851f72 agents/magica/work/queue-329/gate-r2-progress.txt
c92037ede5c10bbc966c0751e5a1c4219074d1cbc97b7c92c3e81cd4d95569c6 agents/magica/work/queue-329/gate-r2.py
a6b58ccf9435b288676bfc7d3a153be19292708aa474268be8b8f1d08ee2554b agents/magica/work/queue-329/gate-r2/B1-red.txt
35b36a325aca1bb4a62010904efb65d624079c0c82167ae0f4624862e5280ff0 agents/magica/work/queue-329/gate-r2/bus-access-revoke.test.load.jsonl
1e4692e57d2a0381a9c05ad6a6f136c63d149263d52f4bf0cf194adfb5c3a28f agents/magica/work/queue-329/gate-r2/bus-access-revoke.test.txt
eb5b96b3a55fedcb7edfa7c29258e36c684615cf2edcb46c6b69ecb96d1ef6c0 agents/magica/work/queue-329/gate-r2/bus-chief-of-staff.test.load.jsonl
ac5e9121ff899160842f8196969356b5af2b1d8305bc14a4a05f0c8e7472a55b agents/magica/work/queue-329/gate-r2/bus-chief-of-staff.test.txt
f38389ac61ac74907417f44884d5f21cf4029d5a67726ef523d5cfac09564065 agents/magica/work/queue-329/gate-r2/bus-citation-runtime.test.load.jsonl
906f79dcd35767db18fcc9cc58ff354fd04c76fb8f4442a36840dbe6c1ec4687 agents/magica/work/queue-329/gate-r2/bus-citation-runtime.test.txt
c4f99a960960200156c3c2010a875aecf3d00021bee45786814496ca60dcd43f agents/magica/work/queue-329/gate-r2/bus-creative.test.load.jsonl
a69dc69088b07e7e1763feffce69ef032df334557505f2afcefdfb58c0d1c17d agents/magica/work/queue-329/gate-r2/bus-creative.test.txt
b3533e3d1a52a11991d34fb0719a6c11e0847277c58ee862548e4ba1363422c5 agents/magica/work/queue-329/gate-r2/bus-credential-verbs.test.load.jsonl
5357a7f0eec86a68c8491d1af16547457d7fe0ebd72fc5c6a509007c7f7d4030 agents/magica/work/queue-329/gate-r2/bus-credential-verbs.test.txt
8eb083b718bba95854fd14d1bd1cc9b81874cb35825feda04fee25003ddd64d6 agents/magica/work/queue-329/gate-r2/bus-daily-quota-runtime.test.load.jsonl
fe12a7dd9d274386f7416db0858082dd77af1c0df6344d2460fca5a13a94b924 agents/magica/work/queue-329/gate-r2/bus-daily-quota-runtime.test.txt
4688d8b719fd2c45f6c40e7e40cab50b3996390a5972e6c0e02b9d4a1b98f913 agents/magica/work/queue-329/gate-r2/bus-grant-scope-runtime.test.load.jsonl
d314d364cc6b84672a92151c8c601dad438414a49ec27f15e94594ab730ac3f6 agents/magica/work/queue-329/gate-r2/bus-grant-scope-runtime.test.txt
86e9148ce2a2194656d1f3102b6827718b4682ce71fb440af157c4638f54b8e1 agents/magica/work/queue-329/gate-r2/bus-host-run.test.load.jsonl
186da42dee80fa074f0ddbb05fe78eb680dbe7177e63111928768b71f6248743 agents/magica/work/queue-329/gate-r2/bus-host-run.test.txt
aab757cebf12c84c6146668c28282b3977d0634d189efbf0b9ce409892957c27 agents/magica/work/queue-329/gate-r2/bus-instances-verb.test.load.jsonl
a29fe9471a3034501c9765289f77e5a6fc08702c7cc02035d67745b01064e6f7 agents/magica/work/queue-329/gate-r2/bus-instances-verb.test.txt
1737c1565c1c99a88f341d8ce494d6596bf9a42e9c6118cf34e39a8c7804cccc agents/magica/work/queue-329/gate-r2/bus-library-credential.test.load.jsonl
5a8db75c9e3a8c5fc526a83db2eecb1dce370c09b191d76a4b6e5e5b2bc49269 agents/magica/work/queue-329/gate-r2/bus-library-credential.test.txt
4ffb85b49e2128bb296464943234e79187eda6f576ddd68235546983e77abcc6 agents/magica/work/queue-329/gate-r2/bus-library-lookups.test.load.jsonl
f983094b8f5934fb1390cb41a7f93fb67e3bf640ccefe7c22901fef471178341 agents/magica/work/queue-329/gate-r2/bus-library-lookups.test.txt
fbfb96b24da5c1ef4d0599d57338a7b6448878bc03ebfc0e6b16f4061206fafe agents/magica/work/queue-329/gate-r2/bus-library-sync.test.load.jsonl
ce03b3b0bd0a7dab40cbe07b65708e9c8083b2ea2292a585105257d63b346041 agents/magica/work/queue-329/gate-r2/bus-library-sync.test.txt
2138ffc3c1a9fd020df95dbaf2abdb3750b8c969d1c496e4de4f7a5cb9f560df agents/magica/work/queue-329/gate-r2/bus-library.test.load.jsonl
f7056b0990446ba4ca02439d888840100197cf721af7cb83366e1845ebedb181 agents/magica/work/queue-329/gate-r2/bus-library.test.txt
dbbc3244162687c59f8352a43eb6c83721a71e769fcf465baeb2d3d4c1c289a7 agents/magica/work/queue-329/gate-r2/bus-lifecycle-revoke.test.load.jsonl
8164855a74fffbe3ae62e45b0d921571b34e29d87109a62fdedcaa5f5cf91a03 agents/magica/work/queue-329/gate-r2/bus-lifecycle-revoke.test.txt
2c249feb0a02ff43d6661c17bb77ca2ecf7cac0871b17a88436539d2d1bbc6ec agents/magica/work/queue-329/gate-r2/bus-lifecycle-verbs.test.load.jsonl
d2f5a7993c5d8e31bbf8572651f67fded8ed83cbaddfa5ccba7bad2d61994da0 agents/magica/work/queue-329/gate-r2/bus-lifecycle-verbs.test.txt
313901ddf0bc1e123d899d6997e667bffe4e83f4e592678f09c387b58a71e42d agents/magica/work/queue-329/gate-r2/bus-limit-checks.test.load.jsonl
04d0337574e4af52414e3bfd63b95d15e2cbbc22c49bfaae5eb8baf4df0ce387 agents/magica/work/queue-329/gate-r2/bus-limit-checks.test.txt
a9c0c4c67208df91a0b2049bcc0d5ff2a524cc309777f95716aa1905f236dd08 agents/magica/work/queue-329/gate-r2/bus-limits-runtime.test.load.jsonl
aae4e8b12a87bd5679afcd9f4319839c6554fac365723ada9808af9aa9e1c859 agents/magica/work/queue-329/gate-r2/bus-limits-runtime.test.txt
b99e18744eab4e71563e103ad54aef46d050b310ae62608c1bf4cebb8f99bf8e agents/magica/work/queue-329/gate-r2/bus-limits.test.load.jsonl
df23b3a8e13e0f29c5c81cf067e4a859b2c19fc7b7e0a72cab222444d84eb20d agents/magica/work/queue-329/gate-r2/bus-limits.test.txt
b5db0838d9caa08d70138ad688ebd8e83787cefc6cc338a40c4b98b5c9b2cdb9 agents/magica/work/queue-329/gate-r2/bus-model-proxy.test.load.jsonl
bfb1b52f8dc03290185ea6b9f1c2a5336b0c8b4959a0b1254a8ff6e86c4d0f6e agents/magica/work/queue-329/gate-r2/bus-model-proxy.test.txt
dc1087323e28b29c19c31f4c0bc3d12698bdec83a462fb5130e36eade30e8e31 agents/magica/work/queue-329/gate-r2/bus-plugins-verb.test.load.jsonl
a06ab305be09ba71ffad2221d8db9979cd7c9db8cfee9e7a75347620a4f68646 agents/magica/work/queue-329/gate-r2/bus-plugins-verb.test.txt
364eb5a8a53e90f2d1e727230cf6f7e9953647d5bb1bf6ea5a7c755e78028d48 agents/magica/work/queue-329/gate-r2/bus-processing-runtime.test.load.jsonl
05aeb457bd29666c0fd601f14e81a917935483c483ae29952ba07c168f316a3f agents/magica/work/queue-329/gate-r2/bus-processing-runtime.test.txt
356f6ce7929fd3c4f3358fe65d32f59ea3dc456c14202887925f6861fdd9306f agents/magica/work/queue-329/gate-r2/bus-project-runtime.test.load.jsonl
a78ffe5c3ce1a213eca5eeae5637eabe03ea564df7fa947a72f85a0d94c3ccb0 agents/magica/work/queue-329/gate-r2/bus-project-runtime.test.txt
a93f4fbadc1bf52a8227841b52e03f2bc99e305ea6c65d55904015c025b85074 agents/magica/work/queue-329/gate-r2/bus-publish.test.load.jsonl
1f2796d06abac7de85d9658f8c2a53b2934aea7ab518bab1f53479048feb2139 agents/magica/work/queue-329/gate-r2/bus-publish.test.txt
17501c06a7d337a49c070f15725d8e839e76a1eeca82e9685521a823991ee8ff agents/magica/work/queue-329/gate-r2/bus-reload.test.load.jsonl
192282d8e14ec7ba3314ae1de327646cc6f7deb390472d64781529d4f2a87ae5 agents/magica/work/queue-329/gate-r2/bus-reload.test.txt
46ae0cde305c62f0e93e2fb45b5044460605b8eaf31a5dacd4445549f31fcb6c agents/magica/work/queue-329/gate-r2/bus-routes-verb.test.load.jsonl
9f33241111d569ae58c4e67f3afe685a537a2dcbfedaa40de89bdee3f17b14b4 agents/magica/work/queue-329/gate-r2/bus-routes-verb.test.txt
4efd408702af8abcd8f7b8da1f9cabe6325b48f9becc118223edab2e39a7be2b agents/magica/work/queue-329/gate-r2/bus-tasks.test.load.jsonl
14d2238fe88a863d5535217b8a832fc7a23d6662a38787385fa5c7792902cece agents/magica/work/queue-329/gate-r2/bus-tasks.test.txt
15383d2e003e4b59393dbfd858124d1103da2d996a75da55fbcb0191fcd152b2 agents/magica/work/queue-329/gate-r2/bus-tester-writes.test.load.jsonl
9be764569450aede17b0aeb194933978c07f551ff835543b9c5a171599aec855 agents/magica/work/queue-329/gate-r2/bus-tester-writes.test.txt
a81215e5126dbba710dbcdada1f85fa36629b6c3ab76130af7bda91f6f19e1f0 agents/magica/work/queue-329/gate-r2/bus-tester.test.load.jsonl
1071a9d1720fc8cb3a81bb4e649480b9ffb70f44cc27df7cd1bdfe5b4b73c832 agents/magica/work/queue-329/gate-r2/bus-tester.test.txt
573110378591ba4e8007209cf79e93a2d321268e310a4c18101f2827d64cb4e1 agents/magica/work/queue-329/gate-r2/bus-usage-runtime.test.load.jsonl
164803cec01d1a4defd02eb7bada2334406e55ddca88a3f959f34b1fe959c61d agents/magica/work/queue-329/gate-r2/bus-usage-runtime.test.txt
ffddbc2d27c3122cbf6472c844d6e28b979bf1c535bdeb5c59dab0184b08e48e agents/magica/work/queue-329/gate-r2/bus-web.test.load.jsonl
fc077bfb6f2fdf43f2949741daa6d7d998be5540a2c24935cf41dd37a9168701 agents/magica/work/queue-329/gate-r2/bus-web.test.txt
05dc486c84fbbf496f2b2f881ceac1b1bd8fcd864ed0890fbb2ac72bf9a0e9cd agents/magica/work/queue-329/gate-r2/cli-access-boot.test.load.jsonl
3744b90a84c5fed8391ec462765c84016f800480aba1866394fda7b8e073334f agents/magica/work/queue-329/gate-r2/cli-access-boot.test.txt
dba8a371c2eb7c4f17c77cc37f0a9db6903390440905a206dcadea8aac8a0b10 agents/magica/work/queue-329/gate-r2/cli-access.test.load.jsonl
26846bafb2cad7e1ef1eb22c4be6b45be15a5ba8dcb9ac74e676526215264f61 agents/magica/work/queue-329/gate-r2/cli-access.test.txt
5e3805442854de1ae0943764761f382b9f86662f74c3a64f5c3d96b1c3a54675 agents/magica/work/queue-329/gate-r2/cli-app.test.load.jsonl
a5e98008eccbd4c970eb1177cd2a02149a11a983a3b52bcc6e395911cf3ad650 agents/magica/work/queue-329/gate-r2/cli-app.test.txt
add6521dc4b2bb56a60145be7bbc5a1a5538203c2d60888f3159a87da90c5893 agents/magica/work/queue-329/gate-r2/cli-boot-status.test.load.jsonl
bb44c42c15a70c24211f9145aa199dee9aa35794bfc360f792ed71a142b8fed1 agents/magica/work/queue-329/gate-r2/cli-boot-status.test.txt
05fa77b28a9dd2eae141a272e7e1e7d8ea2ea697241e18d95d1b2a3eac8fb5bf agents/magica/work/queue-329/gate-r2/cli-case1-accept.test.load.jsonl
fe812a4c0d8506883c16e9458d888f89298b8d7cf8817eb57defd108fb268aef agents/magica/work/queue-329/gate-r2/cli-case1-accept.test.txt
d589b74061c3a05a07949506c34db90511aeb950d80b0815baebfaa03e02fe77 agents/magica/work/queue-329/gate-r2/cli-case2-unit.test.load.jsonl
d85ab5112c0e6b4395e318abbd81393e3c533af83f5625ea2470ee641a7cbafe agents/magica/work/queue-329/gate-r2/cli-case2-unit.test.txt
6c19f7a21950842ad7910dada9c2ca03a68e36dc0ff565040aa147086086cf25 agents/magica/work/queue-329/gate-r2/cli-channel-cli.test.load.jsonl
b58d9c1ceadc06bfb5ba894106b9a8fae2b8cf5b5ee793024247e3ca6c12cb57 agents/magica/work/queue-329/gate-r2/cli-channel-cli.test.txt
bb82c1a6039f0ffd3fdd9cf4492236c35417abf097b9a1419e5321f6d5b41c34 agents/magica/work/queue-329/gate-r2/cli-cli.test.load.jsonl
f31972c375775c7d8395ddbb8ec50c278842c94938ac38b42cc34adddd26343b agents/magica/work/queue-329/gate-r2/cli-cli.test.txt
e2754177db78912a17e2a727d500cfc38c70c63cf2f41707eec77f3bf90b76f2 agents/magica/work/queue-329/gate-r2/cli-compactions-launch.test.load.jsonl
076452351ffccf6341b3be24798aa3e3d9ff239079dfff86338cc5c5c553a6c5 agents/magica/work/queue-329/gate-r2/cli-compactions-launch.test.txt
0a24b3ee89454858beeddf7086e1f477e72f7ebfa8ff0bf0be0b57397e725845 agents/magica/work/queue-329/gate-r2/cli-config.test.load.jsonl
fb64c74ee91d26ce5d9e696d38e6aa53190a123e6e700d6235839f211071ff7c agents/magica/work/queue-329/gate-r2/cli-config.test.txt
d25177067b8c27acab71d63f0d4b50be880f43fb53be57811c40bb7db71bc25e agents/magica/work/queue-329/gate-r2/cli-credentials.test.load.jsonl
de17d72ef2f432a264f915ee6d0eeecebdb47509b701efeb39cb6e3a623c7889 agents/magica/work/queue-329/gate-r2/cli-credentials.test.txt
191f3a3f232dee7e05778ac92ec9aa3f72e7ac42e64525e0710096744a0a478c agents/magica/work/queue-329/gate-r2/cli-federation-acceptance-runner.load.jsonl
9159c6b69df64f55608fd6a56ef312fb17c15501f6d2b022010ce4a79d3a66df agents/magica/work/queue-329/gate-r2/cli-federation-acceptance-runner.txt
18767504e005105414151a46820e99d4ccb03b213ee6dee02811255095d3697d agents/magica/work/queue-329/gate-r2/cli-follow.test.load.jsonl
ed9f7a562321d6097724af8b3863ba9afbf740b27ef704212ea560e691d36431 agents/magica/work/queue-329/gate-r2/cli-follow.test.txt
f90bffb351668599119ccb76f894b08ec04d8191ab82c58de408f5f98df3dc88 agents/magica/work/queue-329/gate-r2/cli-git-socket.test.load.jsonl
473cedadef1e0ad23ad614f2a33b10e159133d3cda7eef53ac6bb69872185b3c agents/magica/work/queue-329/gate-r2/cli-git-socket.test.txt
4ad7d14c33d65b046ef521664910968f4f6bdc35c4fc9cfafe74097793be0fdb agents/magica/work/queue-329/gate-r2/cli-grants-scope.test.load.jsonl
5e6efa8110a444bac7d74da8328b6d826de680b84f56ebd19a0285cc9adf0a62 agents/magica/work/queue-329/gate-r2/cli-grants-scope.test.txt
fa9ff068d1c9efa881d6a924b328b6617d0aed1c1dbe614647d03bf5330d626e agents/magica/work/queue-329/gate-r2/cli-grants.test.load.jsonl
a7efd78270e4e7ef26be72180eb458aff9de84c73b5b3ec8d83838f862184c4b agents/magica/work/queue-329/gate-r2/cli-grants.test.txt
544ed664fa34aa456faca31ee7fb8b5d4fde1ef886dc6f9cf512a2ad44d682f4 agents/magica/work/queue-329/gate-r2/cli-host.test.load.jsonl
4b234f94e96838fde5714477d37e06af648d20c68775b47c7c81443dfc0cb2ca agents/magica/work/queue-329/gate-r2/cli-host.test.txt
f7f4deb64134e3bcc125747ef5a501460d70bb43785997e824def3a367f34032 agents/magica/work/queue-329/gate-r2/cli-hosts.test.load.jsonl
5483bf8ada33ee623bd1078e1fd9284280a32619c51f36d56b65006bef63f185 agents/magica/work/queue-329/gate-r2/cli-hosts.test.txt
68daa97fbcfa1bc4fd45f2cb6c5aa7b62407d378d1173baf344d28e5e5e5ed66 agents/magica/work/queue-329/gate-r2/cli-idle-stop-race.test.load.jsonl
8fd38cefed41f05af3c4bab68edfa9bdcb137d05177fdca9f51382ce875c870c agents/magica/work/queue-329/gate-r2/cli-idle-stop-race.test.txt
11f319e8112696c881aa38cfe247054acab3a366186ab316ed8c2b3f592b7bf3 agents/magica/work/queue-329/gate-r2/cli-instances.test.load.jsonl
ea156f123f60723867b2d7c8c83b4649dfc4e0fee50735384ba034078ee46bfe agents/magica/work/queue-329/gate-r2/cli-instances.test.txt
c6c47e682aa476429aef3599f9a429ab895b14b6b75c52673a192bc9a1045ffa agents/magica/work/queue-329/gate-r2/cli-launcher.test.load.jsonl
a50e012f0fd76f2df61c30c99e8b9284a426b96ed432b213bbbd8c4f30b6c54e agents/magica/work/queue-329/gate-r2/cli-launcher.test.txt
6973b3f1711bdf28114b4556b927c9baa1f873200642f3e4dc251dee5e25ecf6 agents/magica/work/queue-329/gate-r2/cli-lifecycle.test.load.jsonl
095e17f532d679fe513c32c2e03518d4cf2437baf5769faf97a28cf95774503a agents/magica/work/queue-329/gate-r2/cli-lifecycle.test.txt
7841e1e007d6201621d829be730f9dc1e00288891196eec525ccd37ed4ea623b agents/magica/work/queue-329/gate-r2/cli-limits-tokens.test.load.jsonl
9988657dfa758b51bfcf96e950aee97f8bd4ab55586ff987102e4a4d0ed1d70c agents/magica/work/queue-329/gate-r2/cli-limits-tokens.test.txt
6edc85bd823e4efd5ab1c1bd39b34a3e37934b148869a0e842f9d1b919fe0841 agents/magica/work/queue-329/gate-r2/cli-limits.test.load.jsonl
216591e5eac252a04cfd8d5cb80dd8bfce95e6888be4cecc37ce42848c007e58 agents/magica/work/queue-329/gate-r2/cli-limits.test.txt
99cb5f9b6e0e7ff7485ea9fd02c10d687e04ea503db4a5df6ce7cd6b1ea84159 agents/magica/work/queue-329/gate-r2/cli-mark-read.test.load.jsonl
752895e1b4be7f8a158ac216e3e2b00789340dcada3c7f16764b8d0c7f82e45b agents/magica/work/queue-329/gate-r2/cli-mark-read.test.txt
f61b719571255757e5d0f8c90267688440023acc7fbf073b2f06f1fb31743397 agents/magica/work/queue-329/gate-r2/cli-model-proxy.test.load.jsonl
1860f6a85d3d37ff21333d379a31b081e5ef3b8371c33945c4a477c30cb8b90b agents/magica/work/queue-329/gate-r2/cli-model-proxy.test.txt
f8e906a4f4c05ed63917a288416a294fc0ecd2e3480cca9c911261413302160a agents/magica/work/queue-329/gate-r2/cli-names.test.load.jsonl
3fb040411ad19c4fa194485f8059de0eb39cad55641c9631d18e8bc426b51f0d agents/magica/work/queue-329/gate-r2/cli-names.test.txt
910e8df8f5c2f92b641a06938ba666b931461b77a273b46ebda4683de236a04a agents/magica/work/queue-329/gate-r2/cli-optional-tracker.test.load.jsonl
266aea732bdc9378ea736d2fb9f9bf323977aeceab84344b425b1413315be4bf agents/magica/work/queue-329/gate-r2/cli-optional-tracker.test.txt
b91deee70af79927792012c48f286ce9cd4229826f42cf51b3c318900cc2cbe8 agents/magica/work/queue-329/gate-r2/cli-other-tree.test.load.jsonl
ff27aac13153d0e13eed59d219b3b65f5324e96e7cd23b8249caf8900dccf551 agents/magica/work/queue-329/gate-r2/cli-other-tree.test.txt
fcb7e4eb970a21f4d06f99e08812fa85b31f8a30d0ad367a3f38acc7770c1891 agents/magica/work/queue-329/gate-r2/cli-processing-cli.test.load.jsonl
ba2208b51786a0d4b536f76d840e4d3f86cd26a81c7989fc5ca06e13ac392c16 agents/magica/work/queue-329/gate-r2/cli-processing-cli.test.txt
a8a82bd497e3fc97f944794fbe26bfe401b9c0ea6f99f9bc11a5616e068a9326 agents/magica/work/queue-329/gate-r2/cli-project-name-repo.test.load.jsonl
2ab5c5589a967a49af9a48b6fe9d8b070c83fb4ddafa701cb314ee8eacf58803 agents/magica/work/queue-329/gate-r2/cli-project-name-repo.test.txt
b9c00382e63a2add2176051d01a997e23b02edd8a536cc6c21fa760375cc7cd3 agents/magica/work/queue-329/gate-r2/cli-project.test.load.jsonl
eeb05c7bbb900111114536562271a0561961366d800d10dc9a523427c9d948d4 agents/magica/work/queue-329/gate-r2/cli-project.test.txt
6eb050a014a3437db3421e09b40315e623572c4914387a38703f54b71daad20a agents/magica/work/queue-329/gate-r2/cli-publish-socket.test.load.jsonl
5f37bd01ad735a22847e23288eb74de145fc7d9409212ce7f750a1f5537e589b agents/magica/work/queue-329/gate-r2/cli-publish-socket.test.txt
fc050edb9fc8186c39ca20e1bd634d0928f857d32fc77b4d3857195ffed6dc49 agents/magica/work/queue-329/gate-r2/cli-revoke-window.test.load.jsonl
11fe687feb95434d03dfb29bbb6b29daa8eded4ed9ef57c1205439952505bab7 agents/magica/work/queue-329/gate-r2/cli-revoke-window.test.txt
5b8aa2675836da160c7283fb06e01b4a168954b35da76c9f349a56a2bfe8e638 agents/magica/work/queue-329/gate-r2/cli-session-clear.test.load.jsonl
6eb2f7df1081685a59a0ce69efc1b8fe35ac155c6f4222d9b79d4953079f2560 agents/magica/work/queue-329/gate-r2/cli-session-clear.test.txt
817912d22084b2381040115d1e1077e5d9a2415bc0d74ead572e083ae2831429 agents/magica/work/queue-329/gate-r2/cli-session-cli.test.load.jsonl
a6cf001371e3d37548209e27a96790aeab1658f9834ad3aad0079bb848f798f9 agents/magica/work/queue-329/gate-r2/cli-session-cli.test.txt
58a08c9d662e4b7f30c94055b2edf3be9ccbe3a19d8e42367f717862df06b6e6 agents/magica/work/queue-329/gate-r2/cli-session-launch.test.load.jsonl
4bce7c2a9c9f3c067de4c9b517f3163f7ad011ab8b8fd270b253f197beddc87e agents/magica/work/queue-329/gate-r2/cli-session-launch.test.txt
a39b1720a6455df90ade340af8eed7d9d4d19c994480a6bda36ada86694c8e89 agents/magica/work/queue-329/gate-r2/cli-stack-copy.test.load.jsonl
cbca0eec372ce64f9f79b44b223edfa4cb6e36192aa3b2c9f34524a581d792ce agents/magica/work/queue-329/gate-r2/cli-stack-copy.test.txt
09207def72c045841e0645988ed4c38087f304bf61aab75c705251cb5622f0c2 agents/magica/work/queue-329/gate-r2/cli-stack-instances.test.load.jsonl
29cbaca8d32ed51cc4352005e7c8ed5b2218eaa68c0d5848dd65454394637070 agents/magica/work/queue-329/gate-r2/cli-stack-instances.test.txt
0174359bac7048f9dc8be60d928bc24b671777e4866e1d13260dd0ad629bb2fb agents/magica/work/queue-329/gate-r2/cli-stack-release-external.test.load.jsonl
978b39a672d14aacc0158096c98da23e8b1384145005181156be191705498790 agents/magica/work/queue-329/gate-r2/cli-stack-release-external.test.txt
3ca0db5fd7cc8dac3701114f3b30fae094ac421b6703019b6d182f8e413df5dc agents/magica/work/queue-329/gate-r2/cli-stack-release.test.load.jsonl
727fc9c272f2b677f495e644f1f25fd25d2f6771f892f0cdc4eddcc486c8ffed agents/magica/work/queue-329/gate-r2/cli-stack-release.test.txt
80df1beaa8981958adb58cd48d1da315c5c82ffed1e4b43e32b4dde2e01449ee agents/magica/work/queue-329/gate-r2/cli-stack-upgrade.test.load.jsonl
5bc6c98d28d0efaaf8e22a7424c14490a002d2f4309d3cff5560fb6cc81005a8 agents/magica/work/queue-329/gate-r2/cli-stack-upgrade.test.txt
aa95c723c9d12d700d5bde10348a1ece07eec6766ba315d5e18be19f03f9fd76 agents/magica/work/queue-329/gate-r2/cli-tester-reads.test.load.jsonl
5f5857a678ee71288a830f46ebdfe2906fdbfaf9ca05c45bc24f8733fc85e72a agents/magica/work/queue-329/gate-r2/cli-tester-reads.test.txt
e4ed630a26a59ea587fa8c6e43a81e93fdcc7b943ff2357f92959e5e17bcbc1b agents/magica/work/queue-329/gate-r2/cli-tester-threads.test.load.jsonl
2345321de50437a397787c460a5e1b1b8e23333c1079738cb29586d0a073ca17 agents/magica/work/queue-329/gate-r2/cli-tester-threads.test.txt
e4e71634c9bdebda698f227fcfcb074f53cfab0f69598b10fd94c9c1b3c1e1da agents/magica/work/queue-329/gate-r2/cli-tester.test.load.jsonl
08e86197474154f56a7145f675e8dda2706e7836815e200fd0cb1d878df08c2e agents/magica/work/queue-329/gate-r2/cli-tester.test.txt
03b13a1f94a6db21d8193c87b264050cf158ed6d3da73517f92d7916afba534c agents/magica/work/queue-329/gate-r2/cli-thread-cli.test.load.jsonl
140c3a7e88ffdf1201cbb19ebb2090c53b1ee85a8c38e36e384bdf799c53ba36 agents/magica/work/queue-329/gate-r2/cli-thread-cli.test.txt
fcde48f88c68ce48d9b01237868751efd90fe778a492c13f881aa4d29b342713 agents/magica/work/queue-329/gate-r2/cli-thread-launch.test.load.jsonl
87cf64e2c72f38a70e92299bcc53ef89b4d7285233ce6142d7d68804eaf6a4eb agents/magica/work/queue-329/gate-r2/cli-thread-launch.test.txt
4c17ae77c0607a685028a80ddbfa69ad73ca01a720b6374838a6329c4ad6da42 agents/magica/work/queue-329/gate-r2/cli-thread-revoke.test.load.jsonl
c01ea3664cf8797d3c6c9af41134654b96b01ee79cd2355881866bf88d2fb225 agents/magica/work/queue-329/gate-r2/cli-thread-revoke.test.txt
9b0d28f0e66162038cf6c41a963ef718ec7545b3ee6adebf6124eca1e43c0eca agents/magica/work/queue-329/gate-r2/cli-trackers-boot.test.load.jsonl
596819d78167fcf2a65dd93a52de1b0cf9340b1eac7035cecfec9f672ae223b5 agents/magica/work/queue-329/gate-r2/cli-trackers-boot.test.txt
0c45741de6cfb4ffb781d25f63997576403c8065fa13766bd30c6688c6c3afd6 agents/magica/work/queue-329/gate-r2/cli-usage.test.load.jsonl
87d39eb6922fb37a6d220efd2418e3576437da52427cf3d48e59f27cedc7b23b agents/magica/work/queue-329/gate-r2/cli-usage.test.txt
9fc7a0ee1813ff9b72feddcf458423eae147eba632e3c2c66a039fa567ccee1a agents/magica/work/queue-329/gate-r2/cli-verbs.test.load.jsonl
4a5915b363f0e34ec6ee66f70e7844800ddcc2e6b8a37fc6d3a951ef9185c1ce agents/magica/work/queue-329/gate-r2/cli-verbs.test.txt
1263918a851d0ccc317d3c841e6c05480e399ae5fd3171c0ff76a8d9c9a0dc89 agents/magica/work/queue-329/gate-r2/model-proxy-client.test.load.jsonl
72526df68832b7029d66bc1d583880044263c223429f4b4e4a56ef00d42a593b agents/magica/work/queue-329/gate-r2/model-proxy-client.test.txt
6e1bdccb316e94e2173246e3435177d5e5c6af873cded5ad017c5a5e8a746294 agents/magica/work/queue-329/gate-r2/model-proxy-config-unit.test.load.jsonl
7e1b45f0f7f56e881dfd81f2e16e5076684f1e5a94a51972af2f01ff40700a86 agents/magica/work/queue-329/gate-r2/model-proxy-config-unit.test.txt
88233d58ea18e4437e10223b7d11b9c59ccd23d79ebda7dbb7afd10264440074 agents/magica/work/queue-329/gate-r2/model-proxy-fetch.test.load.jsonl
f9443ad4efc40865e4710339f2802ad59fa9fe247c3f7ce715bd522cb57df0a4 agents/magica/work/queue-329/gate-r2/model-proxy-fetch.test.txt
8dc5284896ffd28db9f865ce6c73cf09922084ef107119775079a8752a6dd4ca agents/magica/work/queue-329/gate-r2/model-proxy-management-key-encoding.test.load.jsonl
fc0ebedc2bae56913e2055a0772f741f76c7b4659ca4c020f95c5207fadaa245 agents/magica/work/queue-329/gate-r2/model-proxy-management-key-encoding.test.txt
6b37bb71f927dd2cbe170ff8ef5ffb945a03f21606456c3c8a5d1dc4e5e162e0 agents/magica/work/queue-329/gate-r2/model-proxy-runner.test.load.jsonl
4e4fac75caddcc0ec797e5cbd0c096af2c0b9c6f5cdbb2740e1419e6b900912e agents/magica/work/queue-329/gate-r2/model-proxy-runner.test.txt
6376959609eb30566ca2314dd39bb586fb56de5d60165ddab9ad645301fab833 agents/magica/work/queue-329/gate-r2/model-proxy-settings.test.load.jsonl
c552a50d05b680f46cccca044134bc9531ab40fb3cb3d7823884f1c10a214b92 agents/magica/work/queue-329/gate-r2/model-proxy-settings.test.txt
5f4ac561cc71e5b52f8f6c7bf1479203da8e34def26553bc7084c63ec91a25e9 agents/magica/work/queue-329/gate-r2/runs.jsonl
f1dd90e6cbd03106e2350071d1eea8dfe1614909340dd67ef810c5747d1f9d7c agents/magica/work/queue-329/gate-r2/test-config.sh.load.jsonl
21d65fae2201534dd0c14771fa2d387d643ca698aa550faaa60fdc2a509e53dc agents/magica/work/queue-329/gate-r2/test-config.sh.txt
3cf1a426d12e30b16356b6b754488d3e1f53004eb1757945f93401e3ef42630e agents/magica/work/queue-329/gate.py
460197dbf22ffd137dfcce84dc3964ab7e07176cfa48a6deb4d510ec25aacdde agents/magica/work/queue-329/gate/FINAL-COUNTS.json
f8b5ad0f2783cd922914efa0b8c4faae058770ac44891498f7a6f45c6b653e07 agents/magica/work/queue-329/gate/FINAL-COUNTS.txt
cd66b3817e5dfc02162b2126224581b52c8b6ca1c4377ed2615f013533df1682 agents/magica/work/queue-329/gate/STATUS.txt
b8eb4f8a9fc5bef1c7a753f6a3b1cd32889116590939532697d194cc9b6cf2ed agents/magica/work/queue-329/gate/bus-access-revoke.test.txt
caa2b941ab50c4c215d47d65fb64ffb8351347ccddbf110a7d6e1d83104fd7ef agents/magica/work/queue-329/gate/bus-account-migration.test.txt
810f315fac98018713c45992da26d7657220df53b5c4a3110f81e647ec5c11f0 agents/magica/work/queue-329/gate/bus-address.test.txt
972b18ca91d0e4612bfbbbdc6d2c5cb8029d1fb24c9937b8739d4773bac10d95 agents/magica/work/queue-329/gate/bus-agents.test.txt
92699e0e797ea976591082b055bcd1870eb27b61aa7cf32cfe2e532407433ed8 agents/magica/work/queue-329/gate/bus-approval-binding.test.txt
b961355e1c47cd6857ebfe08f3ed9e36f7650014b20f4e071c284565f86330f7 agents/magica/work/queue-329/gate/bus-broker.test.txt
90315764208c1d0ecb3931d2c548e8a127990937f30d226ffb159961f053bb10 agents/magica/work/queue-329/gate/bus-business.test.txt
b85c329304609b8c87601fa7f254821986aa12f40997ef2223319456211c4b3e agents/magica/work/queue-329/gate/bus-channel-proof.test.txt
4463268787aaa843d859c11e1f86d34d5ca1e520d209eeb2599d34c475f4692e agents/magica/work/queue-329/gate/bus-chief-of-staff.test.txt
2c1e88fa00384cc94010ba5d629f1cae3b21b4f24aab42896c9b010a0f801f1d agents/magica/work/queue-329/gate/bus-citation-availability.test.txt
00e27c6f2f2a5efab11183a461da0e611c733daab2e8a4d809132daa3cf1d7d3 agents/magica/work/queue-329/gate/bus-citation-guard.test.txt
88c56afb30bca8d23f09f2174c95d0fbc26bdd38a09d1b404ff31b2f58c4d608 agents/magica/work/queue-329/gate/bus-citation-runtime.test.txt
4fb9fdbbe7b4c5300c6f704faea3f6bcd99eb7061596b89b9baceb6c726ef873 agents/magica/work/queue-329/gate/bus-comment-cursors.test.txt
9b66c816f0c1775a10ee485d5009440ab1fdfea4843802c0e14d48ee00c73ee9 agents/magica/work/queue-329/gate/bus-comment-migration.test.txt
936e0171744f7a20009fcdbca104ad7a73a4eeb95fe9aa30ca9f1291670a9c51 agents/magica/work/queue-329/gate/bus-console-decide.test.txt
bbf9e325105a92de29a8b32fd1a9ef40d8b9f7ddf20244a635b5872ae595fd11 agents/magica/work/queue-329/gate/bus-creative.test.txt
38e4b9eddfb41392b718e8fd4aefb24502d97f764b55a7b7753a054632b59387 agents/magica/work/queue-329/gate/bus-credential-claim.test.txt
74eea762c96911ccc50bd08eec60b3ac51628f1172269ffc914f5b40fcdb17f5 agents/magica/work/queue-329/gate/bus-credential-status.test.txt
336de155d1e674920430d6f7e39d3b99ef4d52dbc7b8bd550be42243ce33c92b agents/magica/work/queue-329/gate/bus-credential-store.test.txt
3c7623569a045d8aa0b2f3dee0eea8ef324fd7765747c3d958bbe0b0945dc38b agents/magica/work/queue-329/gate/bus-credential-verbs.test.txt
c28299788b46783631b8722f25057f9f89914aacd642d741f20cea10f117aaef agents/magica/work/queue-329/gate/bus-credentials.test.txt
c8cee523b76eb075abc741e3aa7eb2e972a5b58d21e6d880144fa83864800ebe agents/magica/work/queue-329/gate/bus-csuite-messaging.test.txt
7c2d0c2ea48fe473ca89773d0ed7b7edd02ba539ff2dfd2674da3de81ecffedd agents/magica/work/queue-329/gate/bus-daily-quota-runtime.test.txt
ac0162cbceb71d9676e2216a4e4674b9e84a29c4764723902478aef75db6fd52 agents/magica/work/queue-329/gate/bus-decision-close.test.txt
d98db72bd9310a33fa9335929e7712456d367f389e2b1295de70c099628ca260 agents/magica/work/queue-329/gate/bus-decision-route.test.txt
e7784c44043f0c574de3b2c0355d77035942cb08ef5fbf8655d43f46d30f3b9d agents/magica/work/queue-329/gate/bus-decisions.test.txt
2ae8a88d8747d851430e1c559ef37748749ca0428cc6bf01f27a9e16b1dfe792 agents/magica/work/queue-329/gate/bus-end-launch.test.txt
863a428fc1863ce928d08cab75d06422b88161c0217827e0756535861b18af97 agents/magica/work/queue-329/gate/bus-fire-revokes-grants.test.txt
b22fd0196ec874ae6d56d3a75ddf136fe23aa7f978cf9afc2276e792a768d1fd agents/magica/work/queue-329/gate/bus-gitea-grant-docker.test.txt
9ad6e1266fc5fd7894783d6ab9bea4da63547f111e5f91abc48566251bd1e624 agents/magica/work/queue-329/gate/bus-gitea-grant.test.txt
347e2ce76520948c8d971ea7ed0e97f047199b7a1acfbbec40d0d0bbfdd32e98 agents/magica/work/queue-329/gate/bus-gitea-migration.test.txt
4f929c0078ce4051d913b17a297d701ee5b5ef23923e938683b98c906ead5009 agents/magica/work/queue-329/gate/bus-grant-enroll.test.txt
306dcbf7abfbb888532ae7fb6437b8237163b55ef8a4fa7ba9e70fdff66c9bae agents/magica/work/queue-329/gate/bus-grant-executor.test.txt
95aeb9842c41cfde79b219b3083551d739b2121bd7b561c0d6c80389a31fa057 agents/magica/work/queue-329/gate/bus-grant-host.test.txt
5739dfa566d9700f64bddaa6075b717669037f574078d859dae208875cbcd032 agents/magica/work/queue-329/gate/bus-grant-migration.test.txt
0ad89746be0cbbf5bbf89d9699405e4b747d3a632c035cb10a8964018e6c7622 agents/magica/work/queue-329/gate/bus-grant-scope-runtime.test.txt
dbe2f0058b93a30bfd41696fa0c81235caa39ae30c0553a31ca27c3b2233c6de agents/magica/work/queue-329/gate/bus-grant-scope.test.txt
f254c636671b4f1234de0875b2d56ea29334f0170ec491ff77a0f0f872a86a65 agents/magica/work/queue-329/gate/bus-hard-waits.test.txt
a6afaadc8d3ae900cb2ffb7fbccd86678663488f0243f9b59e44dd58fd70341d agents/magica/work/queue-329/gate/bus-host-run.test.txt
4fbd616efae71854ac6240f38c9ec7e5b817c040614828aed0727760688e7dc7 agents/magica/work/queue-329/gate/bus-host-tools.test.txt
838cb5a28b57be818d68899cd007bfebf3d5e16b451c9db1a791431f5ed269c7 agents/magica/work/queue-329/gate/bus-human.test.txt
bbc61d1c0fe8912862c1e6c4d497b96c827a9603c78763912c0933575c792da8 agents/magica/work/queue-329/gate/bus-instances-verb.test.txt
31ea0720b080af1d1d46b0f7c6ce619fbb2ce707d212432d237d04e24de0cff0 agents/magica/work/queue-329/gate/bus-interpreter.test.txt
7551cdb800728fd62d4f7e8ef93343dd2b8fe39712fe9b9a0d646a8e02310cd1 agents/magica/work/queue-329/gate/bus-land.test.txt
1d3e7da6d80f2d0859086d01194f2d3c552d082dc9be0acebcf287822433534d agents/magica/work/queue-329/gate/bus-launch-notice.test.txt
325aff3f6f015b18fd70f3531ff4e187c95f0250ace89d97aa0cd4a68bf8bbf6 agents/magica/work/queue-329/gate/bus-launcher-released.test.txt
26a76acd54739c47fe8e0a2a13dec00a5bc9daedb9c0462bc1a91361f4af52fc agents/magica/work/queue-329/gate/bus-library-credential.test.txt
9e9db829573d4562a8a29a3cc8b12aa5f65ef0784f076ea71c1467ffad22458a agents/magica/work/queue-329/gate/bus-library-lookups.test.txt
68c2d9828981359e7cd5fc1aba9fe1fa287d513b39ceaaa54cc5cc6a5450fd7c agents/magica/work/queue-329/gate/bus-library-sync.test.txt
54e5795aae4962c37fdd3fec5f7c81432160f416c5b9aa7a07bf256735d60649 agents/magica/work/queue-329/gate/bus-library.test.txt
97cd8f9efd99f0147664462e90e587896f7a418e32293933251c0062e7f929a7 agents/magica/work/queue-329/gate/bus-lifecycle-revoke.test.txt
cd5c6bb7c4a794267b36b8c42c89d10f033c7f6fd4b8e14771afeec484201e93 agents/magica/work/queue-329/gate/bus-lifecycle-verbs.test.txt
b3bc88d80f58d9d06ab97712cd26e8490d868033d295d0869c8fc298c6927287 agents/magica/work/queue-329/gate/bus-limit-checks.test.txt
613b7b658c9d3f7eb1fe07323b5c8b19ad3a691417d4835c8bc4490b2b976bf9 agents/magica/work/queue-329/gate/bus-limit-stop.test.txt
29d028c5bde519510b301c55a0162e80d9ef6f9e72aa4e6e7703b1020a38477c agents/magica/work/queue-329/gate/bus-limits-runtime.test.txt
fbf52753b382219a343634678f87c5d4fad11ad99c4f9a01930a21d9df0029f2 agents/magica/work/queue-329/gate/bus-limits.test.txt
bfa4f0e430c6c80eac6b610a7f15c3979e4f3e3b346853e2f377d56e683d3d96 agents/magica/work/queue-329/gate/bus-message-citation.test.txt
e51f9a5d77ddb25c739a6fde5f47b98db037aa6c225dd815d299975f1fc3c2fa agents/magica/work/queue-329/gate/bus-message-filter.test.txt
727383abc09c395557ed3c0f38b8f900f2e6ab73a192b7c11fd6ff00f378df20 agents/magica/work/queue-329/gate/bus-messages.test.txt
8b4f7d3b7fba2f7ad0770480824d9176aa570343be103fc8befaf9409a835f8a agents/magica/work/queue-329/gate/bus-messaging.test.txt
9350046b3138d978c84aae9df759f2696535ff78820d60302820e13cd8429b96 agents/magica/work/queue-329/gate/bus-model-proxy.test.txt
71c12ae86c0e0ce3b0f052b2e16c14518440d221abeae42748feb8d18142e4ad agents/magica/work/queue-329/gate/bus-name-migration.test.txt
29831e8069447bf17b94301f67d4a2536a45dfe1c5bb0107a3b0d85cdfe16db3 agents/magica/work/queue-329/gate/bus-names.test.txt
dd325088a465a4e21ffcb3234a9ae706b6396b2752a1b3302ab1ceeeb12fb2d4 agents/magica/work/queue-329/gate/bus-peer-transport.test.txt
62aa57f946a5e2053bcb35914d4f1e3c1fe388f4c23b7f293454a2f7a2cc749e agents/magica/work/queue-329/gate/bus-peercred.test.txt
70a8337fcbb9c5900367cf664ea1a70a14ba8f9e4bc2582a0c1cdcc162a478bd agents/magica/work/queue-329/gate/bus-plugins-verb.test.txt
11d1cf556f8ea4211e1da686e8db7701a88128a579e63468bc1e09a6d3623496 agents/magica/work/queue-329/gate/bus-principal.test.txt
fb6429d41db8dc9fcd05739837654eeca4d522a3c8cd5d3c9ffa79f618334ccb agents/magica/work/queue-329/gate/bus-process.test.txt
a78e6f75ba41afeeb5131a930ad125a12082aa37e1eb66d4cd6f11d6c0a6eb54 agents/magica/work/queue-329/gate/bus-processing-runtime.test.txt
3e3c5a28b36d6e1faaa9d0be44eabd959b315f711e69ff9c54fd747f29a109f3 agents/magica/work/queue-329/gate/bus-processing-timeout.test.txt
bddb9973338df6181c23607c79e9274a4b601799f8bafe0948434d05a0f08655 agents/magica/work/queue-329/gate/bus-processing-web.test.txt
3d773fcf857c0de5d0fda431d6526eaadc2a89d7c68236c27920d08df33000ca agents/magica/work/queue-329/gate/bus-processing.test.txt
44951a2c880532e466038c580d8ef3490a9c1207b848a90a26f7a32031e38238 agents/magica/work/queue-329/gate/bus-project-await.test.txt
829bd4c633e4c5e6d56f1c6dc89202683791380083d569acc86094fe8f787e6a agents/magica/work/queue-329/gate/bus-project-files.test.txt
b87218c25abf74733ba7b28f9d940dee1829c23f067b6647ad148d5e0bd9ed48 agents/magica/work/queue-329/gate/bus-project-runtime.test.txt
415dbf4c8c5d041adae04db089c8a2923606ca3e040330bdd46bf3209d3dd650 agents/magica/work/queue-329/gate/bus-publish.test.txt
76c8365b8e37b6716b4d943434af5c4bd725ed4d3fae27ebbf32339352541bfd agents/magica/work/queue-329/gate/bus-reload.test.txt
34a83a35be74c51f5b0196321176aab65d43e63a6516f8fe839c122963b5142f agents/magica/work/queue-329/gate/bus-replies.test.txt
77b45c8db75e239e2b80161e97a5c7a98ea1def514ac9ddedbcdf5a90a2a4c09 agents/magica/work/queue-329/gate/bus-requirements.test.txt
511ecbe0711be2f17de772f9f2f9e096995143ad20f5b5c667a51ddfe398a77a agents/magica/work/queue-329/gate/bus-review.test.txt
530dddca74de5a173e1630215e7aa7b7ffa457c69d7737b57d055bd30585d79d agents/magica/work/queue-329/gate/bus-revoke-window.test.txt
faa26fb718d95282aa3e7f770a363374fdad6e356d4746126ed6b4b51dd32a1c agents/magica/work/queue-329/gate/bus-room-check.test.txt
f79ed2c136e662e3a19b4dd74542bdbd00507c8cfc23557fee82c9a01a073af3 agents/magica/work/queue-329/gate/bus-rooms.test.txt
bd75978eee4d6020275c7c13f160b8c3c094d623ceac002e0e200f9050a28094 agents/magica/work/queue-329/gate/bus-routes-verb.test.txt
40e87c31458d01e74a37af359c3687b8ab094e719e05ef374d3123534b513634 agents/magica/work/queue-329/gate/bus-schema.test.txt
9b1a6d9e77566fb8003211d27962a177c9a142fddfa90e41d836721ae4855012 agents/magica/work/queue-329/gate/bus-session-clear.test.txt
9a2aaaf282938a7204c9a498ca65d63a3940c54c0b6c71553c4333ff5dc9c563 agents/magica/work/queue-329/gate/bus-session-compactions.test.txt
1a2c1b8baca95d3f48f0acd57ae1afee1429b8cc60d7698ccacebbed024fc8d2 agents/magica/work/queue-329/gate/bus-sessions.test.txt
2f7148a583306bac2d379ebabd2cad2beed23d2711f4f9d412052d7f11c295a9 agents/magica/work/queue-329/gate/bus-single-use.test.txt
f5ed62ffe475b60ba77ba269795fb929f144842642adadfd3a2f180bbb352da4 agents/magica/work/queue-329/gate/bus-spec-migration.test.txt
56eabf5e66c1360a9435b5b65338bbb7a898971cc3ec82e4506dd713edc65ee2 agents/magica/work/queue-329/gate/bus-spec-review.test.txt
803aadb4b3bf5f7d9c1e7cb8caf44ecf937535784e2b0afdcc85491fa8b84edb agents/magica/work/queue-329/gate/bus-spec-socket.test.txt
4ebdb1b883a9ca690b7ad554acdbcc609f5e237490344ec33876c2936cf773f7 agents/magica/work/queue-329/gate/bus-spec.test.txt
1c3f7ac8c175550d5d2118abb7edb6e667df164b533115679f2916d5cf46ab2b agents/magica/work/queue-329/gate/bus-staff-request.test.txt
df45bd55dfbbaa4aadd743da6fcb4466c948b615894241302764b7a39c7bd35b agents/magica/work/queue-329/gate/bus-state.test.txt
d56a3ec03670cbbb54b89374cacff875f01b7db52080d8a824e13c522620ca7f agents/magica/work/queue-329/gate/bus-store.test.txt
c7f95b6145d9c568ae2b90dc5186f6c68da304623c63bbf85f94dca6fecda77a agents/magica/work/queue-329/gate/bus-task-page.test.txt
c2e84f7d7da2de232e675d6f3e7d79f889b291186d8300b23473a56e92b29283 agents/magica/work/queue-329/gate/bus-task-read.test.txt
85ca4c7be8e2881dc29ab6a13971f7500befd648b2cc9441060375c8b7731234 agents/magica/work/queue-329/gate/bus-tasks.test.txt
989ef8ece1692263619072136970df050607b8bdba83ebc37b1e94996e97de9c agents/magica/work/queue-329/gate/bus-tester-threads.test.txt
d9545891373696ac9ab0d01b4d00d5f383c9299e8219ba83cd392afb799b118f agents/magica/work/queue-329/gate/bus-tester-writes.test.txt
41b33e178e135d4b07a30570c814d224f5d594782d18acb56900481075665c28 agents/magica/work/queue-329/gate/bus-tester.test.txt
4b946e966b3d3b5f836f312ec59a2e060014d2686b09aff8af6ec9bd270901ce agents/magica/work/queue-329/gate/bus-thread-claims.test.txt
9f0526b32047d5cbe0af049c84cd7ea5cf5115e98306baca552eaa4404da6a3d agents/magica/work/queue-329/gate/bus-thread-migration.test.txt
0be44f74aa5381030bb381a49cefc2c5201cc5fa193375b984c443af518b1158 agents/magica/work/queue-329/gate/bus-thread-shares.test.txt
a0444775133a71a46e40dca4a508459f29a1a1c15b45ac82f53f4f2f20db339b agents/magica/work/queue-329/gate/bus-threads.test.txt
d53db05e384b8e2043d64bce9f92f2a6804a37d61e3184bca74f3954d2eb9a07 agents/magica/work/queue-329/gate/bus-transport.test.txt
d24accc9a22d772e2b18177c8def973502c32cc7fab7367dd086f0b84583cf97 agents/magica/work/queue-329/gate/bus-usage-broker.test.txt
0c87989b3402d0d6071101af6b0377e32de2bac94e1cb31d78f2bef8f384c243 agents/magica/work/queue-329/gate/bus-usage-migration.test.txt
871fdbe8521fed8bc85da01b6aecc02900c4189c223108e5b46f3f1fa740dcde agents/magica/work/queue-329/gate/bus-usage-runtime.test.txt
59e5d28d16fbf6e37257f9981147605902e6717dec29bd5a7f83496033f1c79b agents/magica/work/queue-329/gate/bus-usage.test.txt
5f292b62abd5d2cd0c8e6b6d0ad706320a3885037bf6e0a292ec96379bed982f agents/magica/work/queue-329/gate/bus-user-principal.test.txt
df442eff8279ed35406b16a79f48ee42aed881ad1b0b73286a715bf39fdcf4b8 agents/magica/work/queue-329/gate/bus-viewer.test.txt
3bb98e51f6dc0a611563526ab3f7b2abc8e065dc12ac450ea066684839f56d24 agents/magica/work/queue-329/gate/bus-web.test.txt
f73a9e49f401b2bbcffff087490b02262658f31ea5c2210f27df76afb37a4535 agents/magica/work/queue-329/gate/bus-workflow-roles.test.txt
3d2459b32774ca992238dd0d836f7200dc12d8c968f72d558b9050cdb6f22d4b agents/magica/work/queue-329/gate/cli-access-boot.test.txt
5d1ccc36176c02666bb5a51e3af9f539c7e7d60078415f79fc6249d8839928b0 agents/magica/work/queue-329/gate/cli-access.test.txt
db2f9aa84aeac6896febebd2fdfc00d4607d672791c66099ba3f0e2ce0b33ea9 agents/magica/work/queue-329/gate/cli-app.test.txt
643c87cebcf40a268ddd0205b921e1207f2a96ec33530739b3e434cafb596ebe agents/magica/work/queue-329/gate/cli-boot-status.test.txt
a28a12b5721aff2b9e07e1d269f876ea8d9b23a794237f696eaf5076edb6d54f agents/magica/work/queue-329/gate/cli-case1-accept.rerun-mos1605.load.jsonl
f6c23ffe30284ccc9f7fe03f37033f3e9c117f68be584f2ad7e9a40b372f0fee agents/magica/work/queue-329/gate/cli-case1-accept.rerun-mos1605.txt
de71055d018bcf7e0a5d82758ace1544bb12f9006d440e119fb6bc55bc6a8fc5 agents/magica/work/queue-329/gate/cli-case1-accept.test.txt
1ccb0b9e65c9e27803737f37b64dd35e50a055a741e858c3203d117c9bb76d8c agents/magica/work/queue-329/gate/cli-case1-hostcheck.test.load.jsonl
ea4c54b35ecf063535750936b16da1e3d5e95e9a4f9bcb8252a3f3bf203c9963 agents/magica/work/queue-329/gate/cli-case1-hostcheck.test.txt
69c9f2ea3a14d93ad241f6d93665e4c0641c3cc51f7ef643d390c40b008b3246 agents/magica/work/queue-329/gate/cli-case2-install.test.load.jsonl
84046cfa41f3f6c66549769028eb693dfaf951ce20b675db8c8ad437582bf972 agents/magica/work/queue-329/gate/cli-case2-install.test.txt
ef4cebbd09d14e1770779ace5bd9074ff67fa99c300f95239643fae68fff318f agents/magica/work/queue-329/gate/cli-case2-persona-import.test.load.jsonl
4aaed88f6867cdf7174b2e0cdd2382383d9ff98909c71368882ebaa1ebcb3e25 agents/magica/work/queue-329/gate/cli-case2-persona-import.test.txt
ac2ba0ca7437d56ec8ad4865e5a87897cb61b5570ff8c4f175ee7d9f62353f76 agents/magica/work/queue-329/gate/cli-case2-unit.test.load.jsonl
8a5e7df37d9775b8db45c0df347b5bd9e7c5959dd24dd15d6124cf28d9e13709 agents/magica/work/queue-329/gate/cli-case2-unit.test.txt
d07ab08401042c01c8677f1218c7a49bcf2e367f461aa5022634e52e8c0f9d0b agents/magica/work/queue-329/gate/cli-channel-cli.test.load.jsonl
31aaafd0d40b6cfd8dbb0caee3720c7397ec580d06a0d4743142ddcc42fc2d7e agents/magica/work/queue-329/gate/cli-channel-cli.test.txt
62edb4ed33b35c17528f279e45f5efcf82a7880fc42010cabb94910bf8a0d9b7 agents/magica/work/queue-329/gate/cli-channel-recovery.test.load.jsonl
bea9c87767a343e1a27afbe51ef932bd8f6510849b09228345c2244244505302 agents/magica/work/queue-329/gate/cli-channel-recovery.test.txt
db3446348539871248e53f1bfcebd35a4496224255743d690228e3447577f215 agents/magica/work/queue-329/gate/cli-cli.test.load.jsonl
c1fa513515849d848111d528643a6a7a1ebcc487528bf8632b63c50f6b552f21 agents/magica/work/queue-329/gate/cli-cli.test.txt
db76cc5316176707ec787a0ee9cca89a4c02a3f1e10fb50c02700f931a217261 agents/magica/work/queue-329/gate/cli-compactions-launch.test.load.jsonl
124c15ceeb37cf038271662c490494c7ab0f9606347eefb34691f4466a6061c5 agents/magica/work/queue-329/gate/cli-compactions-launch.test.txt
f61dd35ac07bee8387b79ca354a07184cbacac52513b6eb61e4b01ca86bfb84f agents/magica/work/queue-329/gate/cli-config.test.load.jsonl
548d8e036261d3fdac06c9ca24475d7debe4153bd71ea4a8348b7d9211b9eb53 agents/magica/work/queue-329/gate/cli-config.test.txt
3c83a92ddf1c32362e25bcd3bfc7ecc36528e09e921b3d2055119241e5dbf26a agents/magica/work/queue-329/gate/cli-credentials.test.load.jsonl
c15de39567eba58f484c34a97accb1c453ab1f3794de4ed0216f3a81d3d1d2bf agents/magica/work/queue-329/gate/cli-credentials.test.txt
b08d01cd4bfc8364969cbe7a4be997126d0d01012eaf11b25367a20f99fa2237 agents/magica/work/queue-329/gate/cli-federation-acceptance.test.load.jsonl
4900425c57bbfb0e67b37864f9f693ff904bbd38c856e068d517f80124e680b4 agents/magica/work/queue-329/gate/cli-federation-acceptance.test.txt
1534ac5da32a67b8ffe079d60e1a63f3d82dcee95209548eff809a30ea99a4f3 agents/magica/work/queue-329/gate/cli-follow.test.load.jsonl
6051d17bf3d5dca2752d1c10479dac068c92a64da19943205193e549708d192a agents/magica/work/queue-329/gate/cli-follow.test.txt
44efe4849113a323350830a5e5ac5d6e832896c4aa4dd02edaca50b96b72db58 agents/magica/work/queue-329/gate/cli-format.test.load.jsonl
8e99983328b58a016c7dd051928d020ed7d2884c48f12b2801e455d072e25749 agents/magica/work/queue-329/gate/cli-format.test.txt
9d148dbbfc8889c788926291dc9cdb3efdf8aca301977e8e875d1eae0637db24 agents/magica/work/queue-329/gate/cli-gate-lane-auth.test.load.jsonl
b2b18d99126e93a6c6bb073d386ebfef3deb841c44957b2ea6040b50dc1de0ba agents/magica/work/queue-329/gate/cli-gate-lane-auth.test.txt
7173dbf8bbf16879d0c884686f1df0990087f3329348e9821506acc01a615024 agents/magica/work/queue-329/gate/cli-gate-lane-fixtures.test.load.jsonl
69ed25eeaa7be7d32820e0cd3d3e8671f7330d40b65aa15759e12d2ae4390209 agents/magica/work/queue-329/gate/cli-gate-lane-fixtures.test.txt
138211126f6dfb1b00312f93aa89a050413666f02c22e9a8b37ee613df03689b agents/magica/work/queue-329/gate/cli-gate-lane-image.test.load.jsonl
c97129de02f5b2d044ae181077d6449af8705e73fb168f8e78123c36eb62299f agents/magica/work/queue-329/gate/cli-gate-lane-image.test.txt
1188d8fe8253760b288a9a6d7a1d79e85d9ca3312ebaf8d2d52272c7d30dc16a agents/magica/work/queue-329/gate/cli-gate-lane-state.test.load.jsonl
80945660b44e84b98bad431097c92f22e60cd4fd9162429182967f7455c5b74f agents/magica/work/queue-329/gate/cli-gate-lane-state.test.txt
6779fbe0c1546ac89bae7e7f93cb8db964b1b224dfc90104f7148ccb5e5ec936 agents/magica/work/queue-329/gate/cli-gate-lane.test.load.jsonl
a6d33ab80d1e932b91f2f920277a46be00601af8d4f70b45eae61f978acb712f agents/magica/work/queue-329/gate/cli-gate-lane.test.txt
43f39357447b8c009e5d168a07570cada702fbcdd4fae18946812d88e3a111c5 agents/magica/work/queue-329/gate/cli-git-socket.test.load.jsonl
ed57db2eb019740e0f79667d41716dd54223fc58854963178fc1b3eeba652e5d agents/magica/work/queue-329/gate/cli-git-socket.test.txt
fb02271bc17987afc1a6b96c6439549addeaf6c50f492af6a600f7a344376ebb agents/magica/work/queue-329/gate/cli-grants-scope.test.load.jsonl
88d4ff60021e957c4234be67452a92793877774bd7738cf2544d16b159d57c8c agents/magica/work/queue-329/gate/cli-grants-scope.test.txt
6a8be9e61d750687dfd84a1df96f6d96b3c31d6abfac312fc6b65f1900b4a9f2 agents/magica/work/queue-329/gate/cli-grants.test.load.jsonl
06201797ff0b2092ebc45c46a189112943b24ee37700df42092d913762abd9ca agents/magica/work/queue-329/gate/cli-grants.test.txt
a08e8194db0c5c99863b2cd6d17a973295274c94bd5911c9a86e7be9196ccbca agents/magica/work/queue-329/gate/cli-host.test.load.jsonl
dd8a669b10b62edaa62f7740b99bed09f5a4f0515762e265c072e3d243be98a1 agents/magica/work/queue-329/gate/cli-host.test.txt
0d17cc40b6562321f204f7eb6f418a2b8adcdc907b7064838b1fd3c42b28f79c agents/magica/work/queue-329/gate/cli-hosts.test.load.jsonl
af2f013109d62a7c0829099bec417fbfddae128a853bc9e09c5bbbcfd4cdc7c9 agents/magica/work/queue-329/gate/cli-hosts.test.txt
2d02ce6d0c6eb9d1d81bdb95dd988e74834456323325f96154ce76402b40ef7d agents/magica/work/queue-329/gate/cli-idle-stop-race.test.load.jsonl
c9cf01eed62d6e5fa4e648c62e4c4dc55ca4f25f8fcb6b5dc00e2ae3e4a0bfa9 agents/magica/work/queue-329/gate/cli-idle-stop-race.test.txt
1414c17e59185a5287cf2345786a36e6463c7aca6419ba69de369f0b21079d4d agents/magica/work/queue-329/gate/cli-instances.test.load.jsonl
99dbc498d2db065afcd8f647c0343c44d68acbd7f79076603a874c4beb47430c agents/magica/work/queue-329/gate/cli-instances.test.txt
53016472444342a174dd427d0f64e54afb8f37517cf395e86e32e02d03081e7c agents/magica/work/queue-329/gate/cli-launch-account.test.load.jsonl
a8c89d5267e3d675cdb8dc921d9d319ae905f24ee02ff0e83ab5ba9784ca01b0 agents/magica/work/queue-329/gate/cli-launch-account.test.txt
1cf409576830bce991f0ed2e7d2fa0549c1717797b6cc3f3c85a44235478b756 agents/magica/work/queue-329/gate/cli-launch-limit-checks.test.load.jsonl
cff5c939e7c8b076424e4463dee4579c92ee86a826bcaf8e680fccc7bb4d827d agents/magica/work/queue-329/gate/cli-launch-limit-checks.test.txt
00fe1959c75253c0ef5cabad1d36c58c43cf0c30b2f32831baf9cad32276be6a agents/magica/work/queue-329/gate/cli-launch-limits.test.load.jsonl
4e023e3ff8f9114aca54f9bac9af4426e0153ad2e51034db8bef1ad28d4487a5 agents/magica/work/queue-329/gate/cli-launch-limits.test.txt
a203318b6dde32d53de1f886b7a63f685a7fb3211a02a164a9baad08ceb9e77c agents/magica/work/queue-329/gate/cli-launch-routes.test.load.jsonl
8ae736af66f78f971cbb5b20b928a2d024e5d94321d226d647953e3ef49e7547 agents/magica/work/queue-329/gate/cli-launch-routes.test.txt
3f907dd749672ebabc7ef1f6b0784b793c9671932edf3b70cc04006076118aec agents/magica/work/queue-329/gate/cli-launcher.test.load.jsonl
045baf86e618b48397df03c05e3b11e2c552aa2420c81344f6ca0d93046211e3 agents/magica/work/queue-329/gate/cli-launcher.test.txt
b05038c5dde19b3b05d4ffa9e2c42db4031c10c7187b134f2c71d2c051a6e28e agents/magica/work/queue-329/gate/cli-lifecycle.test.load.jsonl
69b5e8029d3ab819661ecbd24744159c4d9f191051e23aa6ed53107fdc5a89dd agents/magica/work/queue-329/gate/cli-lifecycle.test.txt
10efab4ef7ddbb7bf2466754f3d86d21802791d60dc82709e12b5e7214d5cd8c agents/magica/work/queue-329/gate/cli-limits-tokens.test.load.jsonl
ae6cde9dce4f7c68d77c37fbf882e7c1d10524ebe3d8c78b0b1af3c5c915143a agents/magica/work/queue-329/gate/cli-limits-tokens.test.txt
89fa02463b5ae597027e9057f7659003de03a3c3af9a75848992685e257e9466 agents/magica/work/queue-329/gate/cli-limits.test.load.jsonl
b6b9be5a54140a531e56d200b59d64e5a1a4719db047c506cd846c1a2ebcc17b agents/magica/work/queue-329/gate/cli-limits.test.txt
92a266aa154f14c1e322035aaefc2316abf040acbd7951747937baddee1f37ff agents/magica/work/queue-329/gate/cli-mark-read.test.load.jsonl
0a7ca2abfb72638b2192711db0518bb1f63bb0a3fe61d7c2ca36309cf983897f agents/magica/work/queue-329/gate/cli-mark-read.test.txt
c020f16fa803aee328c0e6deceb0c78c5eb9a23b6816ce2f6425770c3111295f agents/magica/work/queue-329/gate/cli-model-proxy.test.load.jsonl
f65f7cb67b074b27a444cab847eb49f9106add2c8e0e6b6f672319796864b951 agents/magica/work/queue-329/gate/cli-model-proxy.test.txt
ee5cf201426e844de608d4e058a5a09051620a8ab1bac662665dba6075f7d330 agents/magica/work/queue-329/gate/cli-names.test.load.jsonl
3b71310f518914e7b921b55ff852b78491ddfb46986be43a6999a27835f45e5d agents/magica/work/queue-329/gate/cli-names.test.txt
71b4edfa31d7d160869b9c7fe2f57cf7dbfc322eb487e6b534a1d08885cc981f agents/magica/work/queue-329/gate/cli-notifier.test.load.jsonl
fcbb417df5d21d4a05d850a41a6899fe6b26079fa6678ca905d8ba2c7369d563 agents/magica/work/queue-329/gate/cli-notifier.test.txt
6d27545f33d7e46248d79a5eca8bbd77180a00ca352ad96bc3b2748af2e1defb agents/magica/work/queue-329/gate/cli-optional-tracker.test.load.jsonl
48d1a93820b7c0b362ad6d716c6b98f94df152e4a157cff76dce0a01ae33e6e9 agents/magica/work/queue-329/gate/cli-optional-tracker.test.txt
f97e04814208d8938247678cdd45ce6316c2c18f10bcd8433a9efc72f0aa64b2 agents/magica/work/queue-329/gate/cli-other-tree.test.load.jsonl
3d95af03f3633b53c8d6d8f102ad3b78f4765c900d3f105757f59bfcc43e4a3f agents/magica/work/queue-329/gate/cli-other-tree.test.txt
b8f0620113e69e5e735cc6a3fad53d7fd6889a5dfa4db4a202eba9cb94bbb604 agents/magica/work/queue-329/gate/cli-processing-cli.test.load.jsonl
bdabc4c428a177a213bda1a53550ca81a4808d92bdc8020df2c9c658c3fdf472 agents/magica/work/queue-329/gate/cli-processing-cli.test.txt
e3611e5a98d7dbeea0ed5bea03e035d845f2ac4131c036163805e0312482d10c agents/magica/work/queue-329/gate/cli-project-name-repo.test.load.jsonl
ad14f6db01fd3857279f2b4a0cbee41d4a78b0c6dc37e751017dbc6673fab144 agents/magica/work/queue-329/gate/cli-project-name-repo.test.txt
a646b05c06df57b6cec5c7cba3d2aad83662fe30d3287c4d19bcf14d670264b5 agents/magica/work/queue-329/gate/cli-project.test.load.jsonl
67cec3d3a39a15fc8228d570d9021060c645e3601a2a3b240955afd1fae29010 agents/magica/work/queue-329/gate/cli-project.test.txt
dba5336581c8d7a67905fd51f381cbbbbf825b94734cdfb85146ddb78c354ecd agents/magica/work/queue-329/gate/cli-publish-socket.test.load.jsonl
96228ccad31137a17142e5d87684d65bead04e27d61098b766539ce38ca1bb81 agents/magica/work/queue-329/gate/cli-publish-socket.test.txt
abba725bb3098df387207af04d20acd4266917cbcd8aadf3f567c904801cb310 agents/magica/work/queue-329/gate/cli-reply-limits.test.load.jsonl
9e100b9bedb25b90e1bbb708dd4da28208e97209faff9ddc297006d5006bd216 agents/magica/work/queue-329/gate/cli-reply-limits.test.txt
893e7e94364034bf0269cd8cac7b1dbb55dbdeffc1a078a7d79cd7b23d40aac2 agents/magica/work/queue-329/gate/cli-revoke-window.test.load.jsonl
9843b1c155e9a90eebb908ba484fdc6ca26be15f50495bd9606cecfbf2d70c52 agents/magica/work/queue-329/gate/cli-revoke-window.test.txt
602896213eda73b15c6626f82036dc7aca89be17379ccc4fca0496738c57672c agents/magica/work/queue-329/gate/cli-session-clear.test.load.jsonl
71a87f76a2cd60d51dc4f36afe5ab05249111f95af79a780ebc2870304a3e5b9 agents/magica/work/queue-329/gate/cli-session-clear.test.txt
3d777d0499f140a660d1570c22df224734407a618a37ec090cdfac8caaf49e3c agents/magica/work/queue-329/gate/cli-session-cli.test.load.jsonl
3c11262872ecb88754a183179dda398a90e8e8f471174889f4850856868661af agents/magica/work/queue-329/gate/cli-session-cli.test.txt
d98a7094c7e290833cd7d7f4ed7dc67471a00154e85e8726f12bb042d9c70e54 agents/magica/work/queue-329/gate/cli-session-launch.test.load.jsonl
8145036eb8893d1802195317f003beaa4fd3b42bc8ac33b2e89b29ceb1e94a4e agents/magica/work/queue-329/gate/cli-session-launch.test.txt
933c12567cc912906677eff0ff22e8462e9515638a074a3762e2dddb8cc0b3ce agents/magica/work/queue-329/gate/cli-stack-copy.test.load.jsonl
a889e8360f88697ce376fc747836d776fe6e446435d0ea752b3ff00487edaf40 agents/magica/work/queue-329/gate/cli-stack-copy.test.txt
b1f4401da8d8bac46b6705d40ca2fb3202c6ac228d6f15871b3b72d9a1f8dbc9 agents/magica/work/queue-329/gate/cli-stack-instances.test.load.jsonl
509f688aea4ebd8d2881952b3f8edf7b2641d56e12036b0b50b36db19a174653 agents/magica/work/queue-329/gate/cli-stack-instances.test.txt
819f4ea6dabc13c1369d3a28467eff51b80a9d3632e2dcc391a9caf22d24a108 agents/magica/work/queue-329/gate/cli-stack-release-external.test.load.jsonl
2d163018ed6b9f3588944e11ed487cd3cb25b95f35cc614399a595bdeaaf1a3d agents/magica/work/queue-329/gate/cli-stack-release-external.test.txt
058a150be5ea09633dbb001cacf2abc34a030fa437f88840d41ec5dd2a6d1a22 agents/magica/work/queue-329/gate/cli-stack-release.test.load.jsonl
5262abaa192b44f29b4263e0a19f79298c87d0fcad272afdbd7d4e9871033eb7 agents/magica/work/queue-329/gate/cli-stack-release.test.txt
35c11b5ab699a3c717ebef8e49191ebb6e70aadde5c98be8a0cb61db5335d75e agents/magica/work/queue-329/gate/cli-stack-upgrade.test.load.jsonl
38955376895c743b4b22a071a08136667bed659d6f1dc581b2dd1cfd834a664e agents/magica/work/queue-329/gate/cli-stack-upgrade.test.txt
fb1fbb9822512168f6fab0cda02ea2be2b67c6aaab42b0be17d4edb6324de0d0 agents/magica/work/queue-329/gate/cli-tester-http.test.load.jsonl
fd200c1068974a19eb17c4d8106711adbcc13ec4e5c737a2ec7592db45c1fd9f agents/magica/work/queue-329/gate/cli-tester-http.test.txt
82ddfd9276e9184f6015c169cbb50474fa85a16083ef7297051b703ed7d4a899 agents/magica/work/queue-329/gate/cli-tester-reads.test.load.jsonl
27a94718c39ec6bf3506d6d899e206d61c2bed5956db8588486a9d0bd720ceee agents/magica/work/queue-329/gate/cli-tester-reads.test.txt
869000218198a46e7f4de5a07259f76f72c24b8a429f521d3c50de627b9f338a agents/magica/work/queue-329/gate/cli-tester-threads.test.load.jsonl
c6c6468ffdaa1de4ec7d6742d8f2ddbdf0689979ec4ed24bb9533da5c7c475c4 agents/magica/work/queue-329/gate/cli-tester-threads.test.txt
1c266379aeaf97296b5da638943ef11a3ea51efc650f048e26c166d2ea2fa113 agents/magica/work/queue-329/gate/cli-tester.test.load.jsonl
723c913422c971613fc7a73b8e370100b1d2fa55e46dffa823fd4b62559d6f15 agents/magica/work/queue-329/gate/cli-tester.test.txt
5de22f85a59260a6b31733257d9d49820b72057f9c88c4e6596aa3d8f71c8618 agents/magica/work/queue-329/gate/cli-thread-cli.test.load.jsonl
d62c7534909205b239111000fb92a6d47ee3fca96aeb33387162743c9cd2c19b agents/magica/work/queue-329/gate/cli-thread-cli.test.txt
9da08a8a07fe855c2ab1a095666597995d54b9856d733d6ff63bc1bf0fab0c34 agents/magica/work/queue-329/gate/cli-thread-launch.test.load.jsonl
43bb9c5f7bcfd3739345662206acec794ff76d3b4d501b0d8e47367eb9f47a01 agents/magica/work/queue-329/gate/cli-thread-launch.test.txt
e1377c9f503af3d4c660406b1600e7b34ce31b24133c02602eef1eae906924e2 agents/magica/work/queue-329/gate/cli-thread-revoke.test.load.jsonl
f1831b82c8e8e8e3fa097ce1c1f5a921b2cd9b0b6ebbb97f62d14a17f6aa1f37 agents/magica/work/queue-329/gate/cli-thread-revoke.test.txt
7a5c582e4e58d0200d64e5801afbe39c0f70356ce70ab06c74d11f8cd3a3e75d agents/magica/work/queue-329/gate/cli-trackers-boot.test.load.jsonl
2a4580ddf6d31deaad6e9adc8032fa423e7dcbf30da3465f27d8f64c21b5cab3 agents/magica/work/queue-329/gate/cli-trackers-boot.test.txt
38aa222d53c4ae719c622c2ee512e6d07418331832724d82e86393b87b2d894b agents/magica/work/queue-329/gate/cli-transport.test.load.jsonl
a62e0ea70fcf35378c7f00001bf96435cb3684c23f5cbd6017719b2438474405 agents/magica/work/queue-329/gate/cli-transport.test.txt
9fe759634f4d47870e1df709603281b779d2f05c5f0c26d77d43fdaa218bb593 agents/magica/work/queue-329/gate/cli-usage.test.load.jsonl
1c4e599c381fad900dae7ff9bba00214a8075f05b82a05bd34726b86e1b02ebe agents/magica/work/queue-329/gate/cli-usage.test.txt
3b5b858f1822cce5fe19659868f96e69d1fed53c2e4b1297e0a473b88c4042a9 agents/magica/work/queue-329/gate/cli-verbs.test.load.jsonl
693f19a8f0c93c7a33000bd7a86c5af54edbbdfba53631fb892dacbd8173806f agents/magica/work/queue-329/gate/cli-verbs.test.txt
4c2531e802ac826df1324345bfc2da9ec18d3531ed67ce2b406f49014a83dba4 agents/magica/work/queue-329/gate/model-proxy-client.test.txt
832ec82ece9657a7769e2ff3eed69afa38c53a056a402ad6ea388f6808a0282c agents/magica/work/queue-329/gate/model-proxy-config-unit.test.txt
f2dcc1e42876b8446f16466718ee889a4d0801d15b8d1c7c85377d97c2f7c501 agents/magica/work/queue-329/gate/model-proxy-fetch.test.txt
471640a8f91144226a4b2b990acb6c9e89c9af545e942bc21b8f507fefda38cb agents/magica/work/queue-329/gate/model-proxy-runner.test.txt
356d37019d693ef6e6e2616ab308f66265c599fc579bac9d5984d676c5d75e8c agents/magica/work/queue-329/gate/model-proxy-settings.test.txt
ca054157c6bb36f40dc6c7a0942d4195fccdfc87b1a77062fb44f6db3fd84c2d agents/magica/work/queue-329/gate/npm-root.txt
66ac3eda1c48dd7eff9d87623cfd89ed91eddf8af2a53ea15c91ba9564036882 agents/magica/work/queue-329/gate/npm-webui.txt
6addfaa9d1ec3476ab8cae77bc47790778085305c97e73e3e06bda8e4e11ca1c agents/magica/work/queue-329/gate/post-unit-fix-cli-host.test.load.jsonl
4279f8849f31257c754b770cf943c0f4b6bed6106191baa78774d6c17181f957 agents/magica/work/queue-329/gate/post-unit-fix-cli-host.test.txt
3f1c6de8792aad1fdb5e3a6979b88d46c7147da162ab040bbc3008e4f77a3160 agents/magica/work/queue-329/gate/post-unit-fix-cli-stack-copy.test.txt
f94305b2b9848c18bfdb2be0acf36fa70f9cf1483b084ea916a2335ab4b8a1f9 agents/magica/work/queue-329/gate/post-unit-fix-cli-stack-instances.test.txt
2e5e67fa37641602a49b10e3f491d345cd9be86056fd74618a7cba15ae562a5c agents/magica/work/queue-329/gate/post-unit-fix-cli-stack-release-external.test.load.jsonl
779c414e2894e42cf59cd320a23998a787e0a16d7878214231eac9fadbd31d6f agents/magica/work/queue-329/gate/post-unit-fix-cli-stack-release-external.test.txt
0d3bd523369a665bf464bc442767023ec0144d5e6fe134564cf02a6423c93aeb agents/magica/work/queue-329/gate/post-unit-fix-cli-stack-release.test.load.jsonl
c58635b7c238415a30f1a4b7c1f257d7ab90dd320e38da1f44b75813feb2d759 agents/magica/work/queue-329/gate/post-unit-fix-cli-stack-release.test.txt
ed297ed67e9c4257004d0b1caab5b854592e4f710146f0e13bf4af52bc70d74c agents/magica/work/queue-329/gate/post-unit-fix-cli-stack-upgrade.test.load.jsonl
6bba10f23320b07f43f9f9bb66546b9ade9cf6cb2bfc2447cc1562feceb51fe3 agents/magica/work/queue-329/gate/post-unit-fix-cli-stack-upgrade.test.txt
6010d37970747988a35e3971455ef06613e6da0a771d65b131cea97dac90da7b agents/magica/work/queue-329/gate/post-unit-fix-cli-verbs.test.load.jsonl
648c3a58103f7bc9d6201b9557c0dd1329713d8b7e171f54b2e3ca7fb3097a81 agents/magica/work/queue-329/gate/post-unit-fix-cli-verbs.test.txt
a71091aae2d606745235b527ff6405bfa0933f91e943deea71509512bdd824a7 agents/magica/work/queue-329/gate/post-unit-fix-model-proxy-client.test.txt
9935d0cb31e6ea8a268d8737de7e0d1a4694222cca8fd8a1a6fb85b25ca7f584 agents/magica/work/queue-329/gate/post-unit-fix-model-proxy-config-unit.test.txt
9a8ca7e1b530a5e20159113efabb7c29afd057de42670c5bee1eef8e224fdaf7 agents/magica/work/queue-329/gate/post-unit-fix-model-proxy-fetch.test.txt
f90198940d77683e83a567815bff27a7d3eda3818d83d2e6db98cceccba72dd3 agents/magica/work/queue-329/gate/post-unit-fix-model-proxy-runner.test.txt
1d903940b3029921495bf7374cb2f292c217f5305e5e891783427b193a586347 agents/magica/work/queue-329/gate/post-unit-fix-model-proxy-settings.test.txt
6f8a696f90f0f3afcaebbd5b13e82d5bc7e40e46c88fef63faa1be16ae321de8 agents/magica/work/queue-329/gate/post-unit-fix-webui-pinned-copy.test.txt
21d8ca6d4a6530380a2b94e94872eb6d2bb7aa63c866ee70ff7798b9219c1b2f agents/magica/work/queue-329/gate/resume-mos1605-runs.jsonl
5e6ce55ef8a1cb4506384530f4ad8b8af93be6b41411cbcb7d53b5f61bc5379d agents/magica/work/queue-329/gate/runs.jsonl
cd473a832391e2588c98d4a4085ece27f3132435f5ddb0fb2977b15f2db9debc agents/magica/work/queue-329/gate/test-config.sh.load.jsonl
2dc3ff347b7359af1b729b97405e167f43a66a71a49324d8e902e26e4447b6e6 agents/magica/work/queue-329/gate/test-config.sh.txt
a07aeb995eba36fd6bdeb76abdd101d1126fc7188826e7bdd3fee487efe644f0 agents/magica/work/queue-329/gate/test-federation-acceptance.sh.load.jsonl
284dee983d7346a0c03fafd917299a135f05efed7989fc1b59883ae3232d602f agents/magica/work/queue-329/gate/test-federation-acceptance.sh.txt
20651f5f20563016f657c9d8206054a73dbddc20e0f411f426f3d02b9f157fe4 agents/magica/work/queue-329/gate/unit-custom-config-red.txt
84bf8ea621c5d580953a89a22afc7a30d6001e8aaaa01b31d161c33f230e1a4d agents/magica/work/queue-329/gate/webui-pinned-copy.test.load.jsonl
24192013fcf0f1a63402ee0c8e5a00da5ef7fd0c5e87370c2e38c9be1dbbb8b7 agents/magica/work/queue-329/gate/webui-pinned-copy.test.txt
1422d8f9ba5dc74fc365ef3d85e141b69d8c455e271f5bd9668cf76e8e03a2e8 agents/magica/work/queue-329/r2-reader-files.executed.json
f8cba07da013ec124fafb235468e0c94e556194ce8fcf0385cc814bfe9da93b2 agents/magica/work/queue-329/r2-reader-files.json
fd4eb03eb9052b78535990e38d206a99e5126719a5623a7be03e02b989963285 agents/magica/work/queue-329/r2-readers.txt
885836d6311753b1939920c76915a7df4789d7c07f5235655d508a73cb09b987 agents/magica/work/queue-329/readers.txt
df311757c57f7fc0695bd5555da329fb5862c938733a718eb9b1580f140fbc53 agents/magica/work/queue-329/refusal-inventory.txt
12c5a63a1cca1f89168ae93eec981888ed2126a2a7abefe65751df66b67686cf agents/magica/work/queue-329/resume-mos1605-progress.txt
5de7f8433dfc2ffc0c4496b4fc1ee957ec24e83baecbb7347633b7f5e8d62e65 agents/magica/work/queue-329/resume-mos1605.py
05e38853b4e49870bd6b44c246c8e9fbd41f98c2389e0e3ca7b87cc9c143c686 agents/magica/work/queue-329/scratch-root.txt
b18f24ac5d143df6eaea6838022bb1db6cf860da3999f3529a280b0f1d7ae7ae docs/SESSIONS.md
24620d450b9e2defd2ed738596e440364a2a06fd84712ad154d9da970985e61d packages/bus/src/broker.mjs
6688c153b13a401d475212fb7dce9727d78431ab6840550482847f47889e84a6 packages/bus/src/runtime.mjs
b88932524302e2f7a7bdfbd4daffc1f5b05ae578b51e2dc2f3f74280fc0de398 packages/bus/src/server.mjs
0d6cb865a5b41928708f29795c7bd1011bd568955ddad5289e658ab61b24a00f packages/bus/tests/model-proxy.test.mjs
1850d16736322da024d52321e9975ba6f27e2079a59e7da5592e4f9aaf59533c packages/cli/src/cli.mjs
d960c2a9df3f7c84deff22dad1f0ab120f95ee365984e390de98eba7292b65a1 packages/cli/src/config.mjs
d706a43ed01df1daf15b2ade6132783aff4913f901f80761b319d231e0d279f4 packages/cli/src/model-proxy.mjs
16c31f119d064a836794d167d57a6a1b765303005d93d1feba3e07e4b9288bd2 packages/cli/systemd/mosaic-proxy.service.in
3031a514f5eb1e911ae5220ee8819ba5d409737a8809bb5922650bbe4f95edfc packages/cli/tests/model-proxy.test.mjs
889ac9589fadf7654d4dbb914f968cbafe4255ed215bd6a9ff3f331757c9017b packages/model-proxy/PIN
56ff6856ca85eff0705d16240b112b5276ef815b92aa31705abb4b21488d296a packages/model-proxy/README.md
8fbfb3d1562e9ea824a1bd399b17cb2048c92b125e7699ccf27abdcc6e31e40b packages/model-proxy/package.json
c1e835580f2c33d8ce1e75af4e5c99e0425d1a88b50f25bf514a4f90f7134932 packages/model-proxy/src/client.mjs
7fe0fcc7e88b7af631ff6a7a6f7d6a02d8b390ff32561c53b003c3c97f193ea6 packages/model-proxy/src/common.mjs
00378d2ea95ac4945899696462f8ff4c70dc020cc58d93663d731d2f2f333783 packages/model-proxy/src/fetch.mjs
919e9b7edac981881d9b39fda3709a11db39b9c3eb138eff1c3ba8d2b55395aa packages/model-proxy/src/run.mjs
c9a8783b272c434bb36697d0763e7fd93db8be208d6cf3da97262dd8f5b0ab10 packages/model-proxy/src/runner.mjs
1a5690a27d2b192151328b194d96cedd60d0a291cfc8e99431680c3b24ddea29 packages/model-proxy/src/settings.mjs
790c6a50ec030a8b27a28fac7fd129bd9eabe79774adf11d6620c00df9b6ae86 packages/model-proxy/tests/client.test.mjs
5f9d35c45322b1a843058514e7e2bdb870168195cb7522ad43c13ee4e3899da4 packages/model-proxy/tests/config-unit.test.mjs
87065f2ce53f6a793e17c2a7feff1c9e3cf93f5ef61ade4a35ffd2afb2cb17cb packages/model-proxy/tests/fetch.test.mjs
95e39a519f7ac8b9592876e6157191169f9b14d002163867a6ff6ab808e42c14 packages/model-proxy/tests/management-key-encoding.test.mjs
21c93b87f8145eb584255bc2a126236ee482e4718b6973e6cce2d8e785c77bf4 packages/model-proxy/tests/runner.test.mjs
4e496fb3faf639713c2dd2a12f34d6add962a50c520bcd3590f0590d0563b9b7 packages/model-proxy/tests/settings.test.mjs
c2c8ab246ecb5e73faa39b98fbbced5740e7c1abf352d8865ff2028ff7c36e3a scripts/bus-service.sh
1aaf56914ea0ba3793f96cace9a774f2076065296603d6baad653fa36c4c90c2 scripts/instance.sh
96dfe299b3b9041b42ef27fa6a37d444e735fcefffcb5eefcb1bb390d077e46e scripts/mosaic
98a86764925182c2487932257431770053efe758a87dedaf494ccc8d2473b4e3 scripts/mosaic-config.mjs
e1d9fd91e3a6eedb3b16ad3145d01ec4f583880f943054b8384ddba6b5ed31ba scripts/proxy-service.sh
b96b2f662d2b63e3360bfbd26e453e9fe74953a15d29b2f2beac6deb5a18cf22 scripts/stack-copy.sh
+113
View File
@@ -0,0 +1,113 @@
# Row 329 P1 review packet — #1827, Vikunja237
Branch magica/row329, required base8bb5b3c73. Boyd first Codex review,
Dewey landing review. BUILD.md carries rulings, acceptance output and gate receipts.
This is P1 only; P2-P7 do not ship here.
## Review focus
- PIN chain: archive SHA256, extracted executable SHA256 and pinned panel SHA256;
manual release-host redirect checks, bounded downloads, no archive path extraction
to disk, failed install cleanup, refusal to overwrite a differing target.
- Config invariant2: proxy.json is an exclusive sidecar; config.json is never
changed. Strict port/path/field validation. A missing sidecar preserves no-proxy
behavior; a present invalid/symlink sidecar refuses. Historical no-proxy copies
do not import the new package; new pinned copies include its source and PIN.
- Human boundary: CLI no-echo double prompt, agent/tester refusal, path-bound
human-cli transport, broker #human fence before key handling, async server path.
The bus writes private key/config/directories once, with rollback for failures.
Public answer is exactly port/binary; neither input nor result key is logged.
- Management client: bus holds it after Store's per-root writer lock; no process
IPC/verb returns it. node:http addresses numeric loopback directly, never follows
redirects, sends management key only as Authorization. GET/PUT v8 list only;
receipts contain call/status/12-hex SHA256 key IDs, never values or list bodies.
- Unit: default/named names, conditional bus Wants/After only when configured,
optional pinned stack copy, hash validation before execution, fixed panel dir,
local catalog and no ambient provider/management credentials in child env.
- Backward behavior: all old test files and assertions remain byte-identical to
base8bb5b3c73. Broad bus/CLI runs and pinned-copy regression are the builder checks;
Sage's landing gate covers every other package except queue and all shell suites.
## Release measurements and acceptance limits
CLIProxyAPI8.0.42, not8.0.27; panel1.26.7.
Archive: 1e10566fe0042ed5a9b80306cf296bf86a83de590cd967a8b177988b896c8d31
Executable: 74661f8cf949977870231359e8bf4344e07946766a673c08fa25a3e5f72fc95e
Panel: 8c9c6b7d3fb311e6aad5d06e1993e53a2d28389e640448a1bc6304ed20b057b5
Boyd independently downloads the exact release assets and re-measures them.
Acceptance only uses fresh scratch roots and unshare-rn, nice19. No host proxy,
real management key, real proxy data, real credentials or external upstream call.
Full plain text appears in BUILD.md and acceptance-final.txt. Original probe1
and its source are retained separately as requested by Sage.
Empty list is open; models is local; invalid key gets401 with a flat error body.
Removed key enforcement had a100ms-scale lag after a successful PUT. ClaudeCode
wrong/revoked keys produced no output and timed out45s; no causal claim/shape fix.
Per-key model objects get422; no v8 per-client model restrictions found.
OAuth start returns separate localhost callbacks; no external OAuth was completed.
Panel works with explicit /proxy Custom Connection URL and prefix strip in the
unsandboxed diagnostic. With the required CSP sandbox it fails localStorage and
login; an explicit opaque-origin fetch loses the SameSite=Lax cookie. Those are historical negative acceptance findings, not a working Console
forward. Q250 / mos-1606 supersedes the forward: P4 builds the Console's own
proxy page. P1's panel/sub-path/sandbox and callback-forward questions are no
longer required, and the existing results stay recorded. PIN/fetch are unchanged.
Still-required OAuth start redirects are Claude http://localhost:54545/callback
and Codex http://localhost:1455/auth/callback. No CORS loosening, unsandboxed
forward or panel JS on the Console origin ships. No external OAuth was completed.
## Gate
Round1 source checked with whole model-proxy61/61, bus1019/1019, CLI999pass
plus1listed FED R7 skip, webui pinned-copy10/10, config55/55, and the dedicated
federation runner1/1 with0skip and cleanup verified. Own offline npm ci ran at
root/webui, ignore-scripts. Every test launch used nice19, short shell-created
TMPDIR and timeout-k10. gate/FINAL-COUNTS.json maps every test file to its receipt.
An initial old case1-accept F3 assertion got an extra F7. Mos1604's separate
20focused+3whole scratch diagnostics passed179/179 without gate credit. Mos1605
allowed one unchanged original rerun; it passed53/53, then the remaining gate
completed. F7 remains unexplained (Vikunja625); no old assertion was changed.
Sage's landing gate must pass independently.
A final P1-only fix binds both default units to an explicit MOSAIC_CONFIG when
proxy-configured, instead of the proxy using that config and the bus dropping it.
Two new P1 tests failed first, then passed; the full package and all seven direct
CLI unit-reader test files were run whole on the final tree per sage4251. They
all passed. No-proxy rendering stays unchanged. The helper runs through readers.
MANIFEST.sha256 covers every changed file versus8bb5b3c73 except itself. Release
binaries and panel stay outside Git; independent asset measurements are Boyd's.
## Round 2 — Boyd B1 and doc notes
Boyd CHANGES comment31638/rev4029 found that Latin-1 management keys pass Node's
header check but do not authenticate after UTF-8 persistence against pinned8.0.42.
The shared validator now requires exactly printable non-space ASCII, 1–4096
characters, and retains header validation. No other product source changes in R2.
management-key-encoding.test.mjs adds separate Latin-1, leading-space,
trailing-space and internal-space refusals under proxy-key-invalid. Each compares
complete recursive config/data inventories including directories, metadata,
contents and lock absence. The positive short ASCII fixture initializes and
performs an authenticated local management call. First execution reproduced all
four invalid-key failures; the fixed whole package passes66/66.
N1 maps Docker's outer2/2 (not nested1/1), correcting the R1 bus total to1019.
N3 documents human-only stale init-lock recovery and partial-state precautions.
N4 records34 covered refusal names, including4 reused bus names; B1 adds cases,
not a new code. N1 bind observation is deferred to P7; proxy-fetch guard stays out.
R2's cleared dependency readers are listed in r2-readers.txt and the79-file plan.
The whole package and targeted bus/CLI files run whole, with the official
federation acceptance runner replacing its skipped wrapper, plus test-config.sh.
FINAL-COUNTS distinguishes R1 whole suites from these R2 reruns.
Two stand-in fixture files were over-selected before detection: case1-accept
passed53/53 in247.863s, and already-running case2-unit completed47/47 in71.829s
per sage-4277. They are recorded separately from required reader coverage and
will not repeat. The case1 pass is not an F7 diagnostic or evidence about F7
either way. F7 cause remains unknown (Vikunja625). Old tests/assertions unchanged.
R2 final: model-proxy66/66,30bus readers261/261,49CLI readers726/726,config55/55; all required commands0fail/skip/cancel. Slot returned. Full bus/CLI suites remain landing work. FINAL-COUNTS.json and gate-r2/runs.jsonl contain the mapping and raw-hash receipts.
@@ -0,0 +1,30 @@
P1 isolated acceptance root /mnt/storage/scratch/tmp/KXZOfD nice 19
binary sha256 74661f8cf949977870231359e8bf4344e07946766a673c08fa25a3e5f72fc95e
P1 client receipt {"call":"GET /v8/management/config/access/api-keys","status":200,"keyIds":["48eead3cdecf"]}
P1 client real API GET count 1
P1 client receipt {"call":"PUT /v8/management/config/access/api-keys","status":200,"keyIds":["48eead3cdecf"]}
P1 client real API PUT {"ok":true}
pinned panel served 200 8c9c6b7d3fb311e6aad5d06e1993e53a2d28389e640448a1bc6304ed20b057b5
pinned login flags -claude-login | -codex-login | -no-browser
wrong/missing key models wrong {"status":401,"body":"{\"error\":\"Invalid API key\"}"}
wrong/missing key models missing {"status":401,"body":"{\"error\":\"Missing API key\"}"}
models local 200 upstream delta 0 body length 1739
valid messages {"status":200,"body":"{\"id\":\"msg_p1\",\"type\":\"message\",\"role\":\"assistant\",\"model\":\"claude-sonnet-5-5\",\"content\":[{\"type\":\"text\",\"text\":\"hello\"}],\"stop_reason\":\"end_turn\",\"usage\":{\"input_tokens\":1,\"output_tokens\":1}}"} upstream delta 1
wrong messages {"status":401,"body":"{\"error\":\"Invalid API key\"}"}
initial key list {"status":200,"body":"[\"p1-client\"]"}
set empty {"status":200,"body":"{\"config-version\":8,\"status\":\"ok\"}"}
empty list settled {"elapsedMs":105,"statuses":[401,200],"body":"[models]"}
empty list missing key status 200
empty list missing key messages {"status":200,"body":"{\"id\":\"msg_p1\",\"type\":\"message\",\"role\":\"assistant\",\"model\":\"claude-sonnet-5-5\",\"content\":[{\"type\":\"text\",\"text\":\"hello\"}],\"stop_reason\":\"end_turn\",\"usage\":{\"input_tokens\":1,\"output_tokens\":1}}"}
restore list {"status":200,"body":"{\"config-version\":8,\"status\":\"ok\"}"}
restored list settled wrong key {"elapsedMs":104,"statuses":[200,401],"body":"{\"error\":\"Invalid API key\"}"}
revoke client {"status":200,"body":"{\"config-version\":8,\"status\":\"ok\"}"}
revoked key settled {"elapsedMs":2,"statuses":[401],"body":"{\"error\":\"Invalid API key\"}"}
revoked key models {"status":401,"body":"{\"error\":\"Invalid API key\"}"}
revoked messages {"status":401,"body":"{\"error\":\"Invalid API key\"}"}
per-key model object attempt {"status":422,"body":"{\"error\":\"invalid_config\",\"message\":\"parse config payload: yaml: unmarshal errors:\\n line 12: cannot unmarshal !!map into string\"}"}
final restored list settled {"elapsedMs":2,"statuses":[401],"body":"{\"error\":\"Invalid API key\"}"}
v8 key list {"status":200,"body":"[\"p1-client\"]"}
oauth start anthropic {"status":200,"body":"{\"state\":\"208bd2a002a312d996f6c5a416ecc311\",\"status\":\"ok\",\"url\":\"https://claude.ai/oauth/authorize?client_id=9d1c250a-e61b-44d9-88ed-5944d1962f5e\\u0026code=true\\u0026code_challenge=BsWT1fuo1kBcP-EySiawhlK-cfN2B62ta6VKP8qvaIU\\u0026code_challenge_method=S256\\u0026redirect_uri=http%3A%2F%2Flocalhost%3A54545%2Fcallback\\u0026response_type=code\\u0026scope=user%3Aprofile+user%3Ainference+user%3Asessions%3Aclaude_code+user%3Amcp_servers+user%3Afile_upload\\u0026state=208bd2a002a312d996f6c5a416ecc311\"}"}
oauth start codex {"status":200,"body":"{\"state\":\"fffb20861e7b44a1d70c45a2de1f9b8c\",\"status\":\"ok\",\"url\":\"https://auth.openai.com/oauth/authorize?client_id=app_EMoamEEZ73f0CkXaXp7hrann\\u0026code_challenge=Swdf4fq2oLSpl2K6CQJYbeHw7aC50nby_h0l-O52kqc\\u0026code_challenge_method=S256\\u0026codex_cli_simplified_flow=true\\u0026id_token_add_organizations=true\\u0026prompt=login\\u0026redirect_uri=http%3A%2F%2Flocalhost%3A1455%2Fauth%2Fcallback\\u0026response_type=code\\u0026scope=openid+email+profile+offline_access\\u0026state=fffb20861e7b44a1d70c45a2de1f9b8c\"}"}
acceptance probes complete
@@ -0,0 +1,40 @@
P1 isolated acceptance root /mnt/storage/scratch/tmp/3mOycq nice 19
binary sha256 74661f8cf949977870231359e8bf4344e07946766a673c08fa25a3e5f72fc95e
pinned panel served 200 8c9c6b7d3fb311e6aad5d06e1993e53a2d28389e640448a1bc6304ed20b057b5
pinned login flags -claude-login | -codex-login | -no-browser
wrong/missing key models wrong {"status":401,"body":"{\"error\":\"Invalid API key\"}"}
wrong/missing key models missing {"status":401,"body":"{\"error\":\"Missing API key\"}"}
models local 200 upstream delta 0 body length 1739
initial key list {"status":200,"body":"[\"p1-client\"]"}
set empty {"status":200,"body":"{\"config-version\":8,\"status\":\"ok\"}"}
empty list settled {"elapsedMs":3,"statuses":[200],"body":"[models]"}
empty list missing key status 200
restore list {"status":200,"body":"{\"config-version\":8,\"status\":\"ok\"}"}
restored list settled wrong key {"elapsedMs":104,"statuses":[200,401],"body":"{\"error\":\"Invalid API key\"}"}
revoke client {"status":200,"body":"{\"config-version\":8,\"status\":\"ok\"}"}
revoked key settled {"elapsedMs":103,"statuses":[200,401],"body":"{\"error\":\"Invalid API key\"}"}
revoked key models {"status":401,"body":"{\"error\":\"Invalid API key\"}"}
per-key model object attempt {"status":422,"body":"{\"error\":\"invalid_config\",\"message\":\"parse config payload: yaml: unmarshal errors:\\n line 12: cannot unmarshal !!map into string\"}"}
final restored list settled {"elapsedMs":2,"statuses":[401],"body":"{\"error\":\"Invalid API key\"}"}
v8 key list {"status":200,"body":"[\"p1-client\"]"}
oauth start anthropic {"status":200,"body":"{\"state\":\"778dec0d73991fed459dc3fdbdd2c6ae\",\"status\":\"ok\",\"url\":\"https://claude.ai/oauth/authorize?client_id=9d1c250a-e61b-44d9-88ed-5944d1962f5e\\u0026code=true\\u0026code_challenge=0K5PIZjU0CLqYa5fwIBFgBU3UsyX9pcOh_FQMCKAaKI\\u0026code_challenge_method=S256\\u0026redirect_uri=http%3A%2F%2Flocalhost%3A54545%2Fcallback\\u0026response_type=code\\u0026scope=user%3Aprofile+user%3Ainference+user%3Asessions%3Aclaude_code+user%3Amcp_servers+user%3Afile_upload\\u0026state=778dec0d73991fed459dc3fdbdd2c6ae\"}"}
oauth start codex {"status":200,"body":"{\"state\":\"4855489df4fa7e17b77d780492a4225e\",\"status\":\"ok\",\"url\":\"https://auth.openai.com/oauth/authorize?client_id=app_EMoamEEZ73f0CkXaXp7hrann\\u0026code_challenge=dHQyyXv-Wf89z_v1sy1ts4cnFwrKNBHw2BphTLjBBd4\\u0026code_challenge_method=S256\\u0026codex_cli_simplified_flow=true\\u0026id_token_add_organizations=true\\u0026prompt=login\\u0026redirect_uri=http%3A%2F%2Flocalhost%3A1455%2Fauth%2Fcallback\\u0026response_type=code\\u0026scope=openid+email+profile+offline_access\\u0026state=4855489df4fa7e17b77d780492a4225e\"}"}
panel plain initial {"result":{"type":"object","value":{"text":"CLI\nPROXY\nAPI\nCLI Proxy API Management Center\nEnglish\nConnect to CLI Proxy API v8 or later\nCurrent URL\nhttp://127.0.0.1:18319\nThe system will automatically use the current URL for connection\nCustom Connection URL:\nManagement Key:\nRemember password\nLogin","inputs":[{"type":"checkbox","placeholder":"","value":"on"},{"type":"password","placeholder":"Enter the management key","value":""},{"type":"checkbox","placeholder":"","value":"on"}],"buttons":["English","","Login"]}}}
panel plain storage {"result":{"type":"object","value":{"available":true}}}
panel plain login interaction {"result":{"type":"object","value":[{"type":"checkbox","value":"on"},{"type":"text","value":"http://127.0.0.1:18319/proxy"},{"type":"password","value":"[fixture]"},{"type":"checkbox","value":"on"}]}}
panel plain after login {"result":{"type":"string","value":"Success:\nConnected\nCPAMC\nCLI Proxy API Console\nOPERATE\nDashboard\nQuick Start\nGATEWAY\nAI Providers\nAuth Files\nAuthentication files: 0\nOAuth Login\nOBSERVE\nQuota Management\nLogs Viewer\nCONTROL\nConfig Panel\nPlugins\nPlugin Store\nManagement Center Info\nQuiet for now.\n\nv8.0.42 · Connected\n\nManage providers\nInspect logs\n→\nREQUESTS HANDLED\nLIVE\n0\nRolling 3h 20m window · 10-minute buckets\nSuccess\n0\nFailure\n0\nSuccess rate\n—\nAcross 0 requests in the window\nCredentials\n0\n0 active · 0 not serving\nProvider keys\n1\nAPI keys configured across all brands\nModels\n19\nServed through the proxy endpoint\nLIVE TRAFFIC\nThroughput, ten minutes at a time\n\nSuccess and failure counts per 10-minute bucket across the last 3h 20m. Hover a column for its exact split.\n\nSuccess\n0\nFailure\n0\n4\n3\n2\n1\n0\n\nNo requests\n\n11:10\n12:40\n14:20\nData table\nFLEET\nEvery provider, side by side\n\nVolume and success rate per provider over the same window.\n\n01\nClaude\nCredentials: 1\n0\nrequests\n—\nHEALTH\nCredential status\n\nNo credential files found.\n\nRUNTIME\nConfiguration at a glance\nRouting strategy\nfill-first (prioritize)\nRequest retry\n0\nManagement keys\n1\nServer version\n8.0.42\nBuild date\n10/24/2026\nUpstream proxy\n—\nDebug\nNo\nFile logging\nYes\nRequest log\nNo\nWebSocket auth\nYes\nModel prefix\nNo\nEdit configuration →\nNEXT\nWhere to go from here\nAI Providers\nAdd API keys, set priorities, and test brands.\n→\nAuth Files\nUpload, refresh, and disable OAuth credentials.\n→\nConfig Panel\nTune routing, retries, logging, and access.\n→\nQuota Management\nCheck remaining quota per credential.\n→\nLogs Viewer\nTail requests and download error reports.\n→\nManagement Center Info\nVersion details and management center info.\n→"}}
panel plain requests [{"method":"GET","path":"/proxy/management.html","origin":null,"cookie":false},{"method":"GET","path":"/proxy/v8/management/config","origin":null,"cookie":true},{"method":"GET","path":"/proxy/v1/models","origin":null,"cookie":true},{"method":"GET","path":"/proxy/v8/management/observability/usage/api-keys","origin":null,"cookie":true},{"method":"GET","path":"/proxy/v8/management/credentials","origin":null,"cookie":true},{"method":"GET","path":"/proxy/v8/management/plugins","origin":null,"cookie":true},{"method":"GET","path":"/proxy/v8/management/credentials","origin":null,"cookie":true}]
panel plain exceptions []
panel sandbox initial {"result":{"type":"object","value":{"text":"CLI\nPROXY\nAPI\nCLI Proxy API Management Center\nEnglish\nConnect to CLI Proxy API v8 or later\nCurrent URL\nhttp://127.0.0.1:18319\nThe system will automatically use the current URL for connection\nCustom Connection URL:\nManagement Key:\nRemember password\nLogin","inputs":[{"type":"checkbox","placeholder":"","value":"on"},{"type":"password","placeholder":"Enter the management key","value":""},{"type":"checkbox","placeholder":"","value":"on"}],"buttons":["English","","Login"]}}}
panel sandbox storage {"result":{"type":"object","value":{"error":"SecurityError","message":"Failed to read the 'localStorage' property from 'Window': The document is sandboxed and lacks the 'allow-same-origin' flag."}}}
panel sandbox login interaction {"result":{"type":"object","value":[{"type":"checkbox","value":"on"},{"type":"text","value":"http://127.0.0.1:18319/proxy"},{"type":"password","value":"[fixture]"},{"type":"checkbox","value":"on"}]}}
panel sandbox after login {"result":{"type":"string","value":"Error:\nLogin failed: Connection failed, please check the server address, Management API, and management key\nCLI\nPROXY\nAPI\nCLI Proxy API Management Center\nEnglish\nConnect to CLI Proxy API v8 or later\nCurrent URL\nhttp://127.0.0.1:18319/proxy\nThe system will automatically use the current URL for connection\nCustom Connection URL:\nCustom Connection URL:\nBy default the current URL is used. Override it here if needed.\nManagement Key:\nRemember password\nLogin\nConnection failed, please check the server address, Management API, and management key"}}
panel sandbox requests [{"method":"GET","path":"/proxy/management.html","origin":null,"cookie":true}]
panel sandbox exceptions ["Uncaught (in promise) SecurityError: Failed to read the 'localStorage' property from 'Window': The document is sandboxed and lacks the 'allow-same-origin' flag.\n at Array.forEach (<anonymous>)\n at Object.migratePlaintextKeys (http://127.0.0.1:18319/proxy/management.html:20:667941)\n at http://127.0.0.1:18319/proxy/management.html:28:32103\n at restoreSession (http://127.0.0.1:18319/proxy/management.html:28:32640)\n at http://127.0.0.1:18319/proxy/management.html:28:38065\n at http://127.0.0.1:18319/proxy/management.html:28:38198\n at Uc (http://127.0.0.1:18319/proxy/management.html:16:92011)\n at kl (http://127.0.0.1:18319/proxy/management.html:16:107191)\n at Ol (http://127.0.0.1:18319/proxy/management.html:16:107075)\n at kl (http://127.0.0.1:18319/proxy/management.html:16:107956)"]
sandbox explicit null-origin fetch {"result":{"type":"object","value":{"error":"TypeError","message":"Failed to fetch"}}}
sandbox explicit requests [{"method":"GET","path":"/proxy/management.html","origin":null,"cookie":true},{"method":"OPTIONS","path":"/proxy/v8/management/config/access/api-keys","origin":"null","cookie":false}]
forward callback /proxy/callback?code=fixture 400
forward callback /proxy/auth/callback?code=fixture 404
Claude Code wrong/revoked key wrong {"code":124,"signal":null} output ""
Claude Code wrong/revoked key p1-revoked {"code":124,"signal":null} output ""
acceptance probes complete
@@ -0,0 +1,74 @@
// P1 acceptance only: run via acceptance.sh in a fresh private user/network namespace.
import fs from 'node:fs';
import path from 'node:path';
import http from 'node:http';
import { spawn, execFileSync } from 'node:child_process';
import { createHash } from 'node:crypto';
const root = process.argv[2], assets = process.argv[3];
if (!root?.startsWith('/mnt/storage/scratch/tmp/') || process.env.P1_ISOLATED !== 'yes') throw Error('acceptance requires wrapper');
const children=[], servers=[];
const delay=ms=>new Promise(r=>setTimeout(r,ms));
const home=path.join(root,'home');fs.mkdirSync(home,{recursive:true});
const env={HOME:home,PATH:'/usr/bin:/bin',LANG:'C.UTF-8'};
const port=18318, forwardPort=18319;
let upstreamCalls=0; const forwarded=[];
async function serve(handler, p){const s=http.createServer(handler);await new Promise(r=>s.listen(p,'127.0.0.1',r));servers.push(s);return s;}
async function request(route,{method='GET',key='p1-client',body,management=false}={}){
const r=await fetch(`http://127.0.0.1:${port}${route}`,{method,headers:{...(key?{Authorization:`Bearer ${key}`} : {}),...(body?{'Content-Type':'application/json'}:{})},body:body?JSON.stringify(body):undefined,signal:AbortSignal.timeout(5000)});
const text=await r.text();return {status:r.status,body:text};
}
function launch(command,args,extra={}){const out=fs.openSync(path.join(root,`${children.length}.stdout`),'w');const c=spawn(command,args,{cwd:root,env,stdio:['ignore',out,out],...extra});fs.closeSync(out);children.push(c);return c;}
async function wait(p){for(let i=0;i<100;i++){try{await fetch(`http://127.0.0.1:${p}`,{signal:AbortSignal.timeout(300)});return;}catch{}await delay(100);}throw Error(`listener ${p} absent`);}
const config={
'config-version':8,server:{host:'127.0.0.1',port},
management:{'allow-remote':false,'secret-key':'p1-management','disable-control-panel':false,'disable-auto-update-panel':true},
access:{'api-keys':['p1-client']},routing:{strategy:'fill-first',retry:{'request-retry':0},'session-affinity':true,'session-affinity-rebind-on':'quota'},
oauth:{'auth-dir':path.join(root,'auth')},
'api-keys':{claude:[{name:'standin','base-url':'http://127.0.0.1:18401',keys:[{'api-key':'p1-upstream'}]}]},
};
fs.mkdirSync(path.join(root,'auth'),{mode:0o700});fs.mkdirSync(path.join(root,'static'));
fs.copyFileSync(path.join(assets,'management.html'),path.join(root,'static','management.html'));
fs.writeFileSync(path.join(root,'config.yaml'),JSON.stringify(config),{mode:0o600});
let sandbox=false;
try{
console.log('P1 isolated acceptance root',root,'nice',execFileSync('nice',{encoding:'utf8'}).trim());
console.log('binary sha256',createHash('sha256').update(fs.readFileSync(path.join(assets,'release','cli-proxy-api'))).digest('hex'));
await serve((q,s)=>{upstreamCalls++;s.setHeader('Content-Type','application/json');s.end(JSON.stringify({id:'msg_p1',type:'message',role:'assistant',model:'claude-sonnet-5-5',content:[{type:'text',text:'hello'}],stop_reason:'end_turn',usage:{input_tokens:1,output_tokens:1}}));},18401);
launch(path.join(assets,'release','cli-proxy-api'),['-config',path.join(root,'config.yaml'),'-local-model']);await wait(port);
for(const key of ['wrong',null])console.log('wrong/missing key models',key===null?'missing':'wrong',JSON.stringify(await request('/v1/models',{key})));
const before=upstreamCalls;const models=await request('/v1/models');console.log('models local',models.status,'upstream delta',upstreamCalls-before,'body length',models.body.length);
console.log('set empty',JSON.stringify(await request('/v8/management/config/access/api-keys',{method:'PUT',key:'p1-management',body:[]})));
console.log('empty list missing key',JSON.stringify(await request('/v1/models',{key:null})).slice(0,400));
console.log('restore list',JSON.stringify(await request('/v8/management/config/access/api-keys',{method:'PUT',key:'p1-management',body:['p1-client']})));
console.log('v8 key list',JSON.stringify(await request('/v8/management/config/access/api-keys',{key:'p1-management'})));
for(const provider of ['anthropic','codex'])console.log('oauth start',provider,JSON.stringify(await request(`/v0/management/${provider}-auth-url?is_webui=true`,{key:'p1-management'})));
await serve((q,s)=>{
forwarded.push({method:q.method,path:q.url,origin:q.headers.origin??null});
if(sandbox)s.setHeader('Content-Security-Policy','sandbox allow-scripts allow-forms');
// Minimal /proxy/ prefix strip. Cookies stay host-only SameSite=Lax for browser checks.
s.setHeader('Set-Cookie','p1-session=owner; HttpOnly; SameSite=Lax; Path=/');
const upstream=http.request({hostname:'127.0.0.1',port,path:q.url.replace(/^\/proxy\//,'/'),method:q.method,headers:{...q.headers,host:`127.0.0.1:${port}`}},r=>{s.statusCode=r.statusCode;for(const [k,v]of Object.entries(r.headers))if(!['content-security-policy','set-cookie','transfer-encoding'].includes(k))s.setHeader(k,v);r.pipe(s);});
upstream.on('error',()=>{s.statusCode=502;s.end();});q.pipe(upstream);
},forwardPort);
const chrome=launch('/usr/bin/chromium',['--headless','--no-sandbox','--disable-dev-shm-usage','--disable-background-networking','--no-first-run','--remote-allow-origins=*','--remote-debugging-port=19222',`--user-data-dir=${root}/chromium`,'about:blank']);await wait(19222);
const targets=await (await fetch('http://127.0.0.1:19222/json')).json();
const ws=new WebSocket(targets.find(t=>t.type==='page').webSocketDebuggerUrl);await new Promise((r,j)=>{ws.onopen=r;ws.onerror=j;});
let serial=0;const pending=new Map(),exceptions=[];
ws.onmessage=e=>{const m=JSON.parse(e.data);if(m.id){const p=pending.get(m.id);pending.delete(m.id);m.error?p.reject(Error(JSON.stringify(m.error))):p.resolve(m.result);}else if(m.method==='Runtime.exceptionThrown')exceptions.push(m.params.exceptionDetails.text+' '+(m.params.exceptionDetails.exception?.description??''));};
const call=(method,params={})=>new Promise((resolve,reject)=>{const id=++serial;pending.set(id,{resolve,reject});ws.send(JSON.stringify({id,method,params}));});
const evaluate=async expression=>(await call('Runtime.evaluate',{expression,returnByValue:true,awaitPromise:true}));
await call('Runtime.enable');await call('Page.enable');
for(const mode of ['plain','sandbox']){
sandbox=mode==='sandbox';exceptions.length=0;forwarded.length=0;
await call('Page.navigate',{url:`http://127.0.0.1:${forwardPort}/proxy/management.html`});await delay(2500);
console.log('panel',mode,'initial',JSON.stringify(await evaluate(`({text:document.body.innerText.slice(0,1800),inputs:[...document.querySelectorAll('input')].map(x=>({type:x.type,placeholder:x.placeholder,value:x.value})),buttons:[...document.querySelectorAll('button')].map(x=>x.innerText)})`)));
console.log('panel',mode,'storage',JSON.stringify(await evaluate(`(()=>{try{return {available:!!localStorage}}catch(e){return {error:e.name,message:e.message}}})()`)));
// React input setter; same panel base URL explicitly includes the forward prefix.
console.log('panel',mode,'login interaction',JSON.stringify(await evaluate(`(()=>{const inputs=[...document.querySelectorAll('input')];const setter=Object.getOwnPropertyDescriptor(HTMLInputElement.prototype,'value').set;const base=inputs.find(x=>x.type!=='password'&&x.type!=='checkbox');if(base){setter.call(base,'http://127.0.0.1:${forwardPort}/proxy');base.dispatchEvent(new Event('input',{bubbles:true}));}const pass=inputs.find(x=>x.type==='password');if(pass){setter.call(pass,'p1-management');pass.dispatchEvent(new Event('input',{bubbles:true}));}return inputs.map(x=>({type:x.type,value:x.type==='password'?'[fixture]':x.value}));})()`)));
await delay(300);await evaluate(`(()=>{const b=[...document.querySelectorAll('button')].find(x=>/connect|login|登录|连接/i.test(x.innerText));b?.click();return b?.innerText})()`);await delay(2500);
console.log('panel',mode,'after login',JSON.stringify(await evaluate(`document.body.innerText.slice(0,2000)`)));
console.log('panel',mode,'requests',JSON.stringify(forwarded));console.log('panel',mode,'exceptions',JSON.stringify(exceptions));
}
ws.close();chrome.kill('SIGTERM');
console.log('acceptance probes complete');
}finally{for(const child of children)child.kill('SIGTERM');for(const s of servers)s.closeAllConnections?.();for(const s of servers)s.close();}
@@ -0,0 +1,24 @@
P1 isolated acceptance root /mnt/storage/scratch/tmp/8ISEhA nice 19
binary sha256 74661f8cf949977870231359e8bf4344e07946766a673c08fa25a3e5f72fc95e
wrong/missing key models wrong {"status":401,"body":"{\"error\":\"Invalid API key\"}"}
wrong/missing key models missing {"status":401,"body":"{\"error\":\"Missing API key\"}"}
models local 200 upstream delta 0 body length 1739
set empty {"status":200,"body":"{\"config-version\":8,\"status\":\"ok\"}"}
empty list missing key {"status":200,"body":"{\"data\":[{\"created\":1790035200,\"id\":\"claude-opus-5-5\",\"object\":\"model\",\"owned_by\":\"anthropic\"},{\"created\":1790553600,\"id\":\"claude-sonnet-5-5\",\"object\":\"model\",\"owned_by\":\"anthropic\"},{\"created\":1771372800,\"id\":\"claude-sonnet-4-6\",\"object\":\"model\",\"owned_by\":\"anthropic\"},{\"created\":1761955200,\"id\":\"claude-opus-4-5-20251101\",\"o
restore list {"status":200,"body":"{\"config-version\":8,\"status\":\"ok\"}"}
v8 key list {"status":200,"body":"[\"p1-client\"]"}
oauth start anthropic {"status":200,"body":"{\"state\":\"af67f8526eb8f4792176cc993e075918\",\"status\":\"ok\",\"url\":\"https://claude.ai/oauth/authorize?client_id=9d1c250a-e61b-44d9-88ed-5944d1962f5e\\u0026code=true\\u0026code_challenge=wGjdwRiW53ZfqkGcLHH1Zsw1uFd52D7Xa0SV3adjrrY\\u0026code_challenge_method=S256\\u0026redirect_uri=http%3A%2F%2Flocalhost%3A54545%2Fcallback\\u0026response_type=code\\u0026scope=user%3Aprofile+user%3Ainference+user%3Asessions%3Aclaude_code+user%3Amcp_servers+user%3Afile_upload\\u0026state=af67f8526eb8f4792176cc993e075918\"}"}
oauth start codex {"status":200,"body":"{\"state\":\"7e5a897426689fed007f2e9c23690c96\",\"status\":\"ok\",\"url\":\"https://auth.openai.com/oauth/authorize?client_id=app_EMoamEEZ73f0CkXaXp7hrann\\u0026code_challenge=CEFWFTzNF-gcf0IClzK7lZBoJmRqf5X49ZTczY86QTQ\\u0026code_challenge_method=S256\\u0026codex_cli_simplified_flow=true\\u0026id_token_add_organizations=true\\u0026prompt=login\\u0026redirect_uri=http%3A%2F%2Flocalhost%3A1455%2Fauth%2Fcallback\\u0026response_type=code\\u0026scope=openid+email+profile+offline_access\\u0026state=7e5a897426689fed007f2e9c23690c96\"}"}
panel plain initial {"result":{"type":"object","value":{"text":"CLI\nPROXY\nAPI\nCLI Proxy API Management Center\nEnglish\nConnect to CLI Proxy API v8 or later\nCurrent URL\nhttp://127.0.0.1:18319\nThe system will automatically use the current URL for connection\nCustom Connection URL:\nManagement Key:\nRemember password\nLogin","inputs":[{"type":"checkbox","placeholder":"","value":"on"},{"type":"password","placeholder":"Enter the management key","value":""},{"type":"checkbox","placeholder":"","value":"on"}],"buttons":["English","","Login"]}}}
panel plain storage {"result":{"type":"object","value":{"available":true}}}
panel plain login interaction {"result":{"type":"object","value":[{"type":"checkbox","value":"on"},{"type":"password","value":"[fixture]"},{"type":"checkbox","value":"on"}]}}
panel plain after login {"result":{"type":"string","value":"Success:\nConnected\nCPAMC\nCLI Proxy API Console\nOPERATE\nDashboard\nQuick Start\nGATEWAY\nAI Providers\nAuth Files\nAuthentication files: 0\nOAuth Login\nOBSERVE\nQuota Management\nLogs Viewer\nCONTROL\nConfig Panel\nPlugins\nPlugin Store\nManagement Center Info\nQuiet for now.\n\nv8.0.42 · Connected\n\nManage providers\nInspect logs\n→\nREQUESTS HANDLED\nLIVE\n0\nRolling 3h 20m window · 10-minute buckets\nSuccess\n0\nFailure\n0\nSuccess rate\n—\nAcross 0 requests in the window\nCredentials\n0\n0 active · 0 not serving\nProvider keys\n1\nAPI keys configured across all brands\nModels\n19\nServed through the proxy endpoint\nLIVE TRAFFIC\nThroughput, ten minutes at a time\n\nSuccess and failure counts per 10-minute bucket across the last 3h 20m. Hover a column for its exact split.\n\nSuccess\n0\nFailure\n0\n4\n3\n2\n1\n0\n\nNo requests\n\n11:00\n12:30\n14:10\nData table\nFLEET\nEvery provider, side by side\n\nVolume and success rate per provider over the same window.\n\n01\nClaude\nCredentials: 1\n0\nrequests\n—\nHEALTH\nCredential status\n\nNo credential files found.\n\nRUNTIME\nConfiguration at a glance\nRouting strategy\nfill-first (prioritize)\nRequest retry\n0\nManagement keys\n1\nServer version\n8.0.42\nBuild date\n10/24/2026\nUpstream proxy\n—\nDebug\nNo\nFile logging\nNo\nRequest log\nNo\nWebSocket auth\nYes\nModel prefix\nNo\nEdit configuration →\nNEXT\nWhere to go from here\nAI Providers\nAdd API keys, set priorities, and test brands.\n→\nAuth Files\nUpload, refresh, and disable OAuth credentials.\n→\nConfig Panel\nTune routing, retries, logging, and access.\n→\nQuota Management\nCheck remaining quota per credential.\n→\nLogs Viewer\nTail requests and download error reports.\n→\nManagement Center Info\nVersion details and management center info.\n→"}}
panel plain requests [{"method":"GET","path":"/proxy/management.html","origin":null},{"method":"GET","path":"/v8/management/config","origin":null},{"method":"GET","path":"/v1/models","origin":null},{"method":"GET","path":"/v8/management/observability/usage/api-keys","origin":null},{"method":"GET","path":"/v8/management/credentials","origin":null},{"method":"GET","path":"/v8/management/plugins","origin":null},{"method":"GET","path":"/v8/management/credentials","origin":null}]
panel plain exceptions []
panel sandbox initial {"result":{"type":"object","value":{"text":"CLI\nPROXY\nAPI\nCLI Proxy API Management Center\nEnglish\nConnect to CLI Proxy API v8 or later\nCurrent URL\nhttp://127.0.0.1:18319\nThe system will automatically use the current URL for connection\nCustom Connection URL:\nManagement Key:\nRemember password\nLogin","inputs":[{"type":"checkbox","placeholder":"","value":"on"},{"type":"password","placeholder":"Enter the management key","value":""},{"type":"checkbox","placeholder":"","value":"on"}],"buttons":["English","","Login"]}}}
panel sandbox storage {"result":{"type":"object","value":{"error":"SecurityError","message":"Failed to read the 'localStorage' property from 'Window': The document is sandboxed and lacks the 'allow-same-origin' flag."}}}
panel sandbox login interaction {"result":{"type":"object","value":[{"type":"checkbox","value":"on"},{"type":"password","value":"[fixture]"},{"type":"checkbox","value":"on"}]}}
panel sandbox after login {"result":{"type":"string","value":"Error:\nLogin failed: Connection failed, please check the server address, Management API, and management key\nCLI\nPROXY\nAPI\nCLI Proxy API Management Center\nEnglish\nConnect to CLI Proxy API v8 or later\nCurrent URL\nhttp://127.0.0.1:18319\nThe system will automatically use the current URL for connection\nCustom Connection URL:\nManagement Key:\nRemember password\nLogin\nConnection failed, please check the server address, Management API, and management key"}}
panel sandbox requests [{"method":"GET","path":"/proxy/management.html","origin":null}]
panel sandbox exceptions ["Uncaught (in promise) SecurityError: Failed to read the 'localStorage' property from 'Window': The document is sandboxed and lacks the 'allow-same-origin' flag.\n at Array.forEach (<anonymous>)\n at Object.migratePlaintextKeys (http://127.0.0.1:18319/proxy/management.html:20:667941)\n at http://127.0.0.1:18319/proxy/management.html:28:32103\n at restoreSession (http://127.0.0.1:18319/proxy/management.html:28:32640)\n at http://127.0.0.1:18319/proxy/management.html:28:38065\n at http://127.0.0.1:18319/proxy/management.html:28:38198\n at Uc (http://127.0.0.1:18319/proxy/management.html:16:92011)\n at kl (http://127.0.0.1:18319/proxy/management.html:16:107191)\n at Ol (http://127.0.0.1:18319/proxy/management.html:16:107075)\n at kl (http://127.0.0.1:18319/proxy/management.html:16:107956)"]
acceptance probes complete
@@ -0,0 +1,24 @@
P1 isolated acceptance root /mnt/storage/scratch/tmp/6vQIwX nice 19
binary sha256 74661f8cf949977870231359e8bf4344e07946766a673c08fa25a3e5f72fc95e
wrong/missing key models wrong {"status":401,"body":"{\"error\":\"Invalid API key\"}"}
wrong/missing key models missing {"status":401,"body":"{\"error\":\"Missing API key\"}"}
models local 200 upstream delta 0 body length 1739
set empty {"status":200,"body":"{\"config-version\":8,\"status\":\"ok\"}"}
empty list missing key {"status":200,"body":"{\"data\":[{\"created\":1784038800,\"id\":\"claude-opus-5\",\"object\":\"model\",\"owned_by\":\"anthropic\"},{\"created\":1788220800,\"id\":\"claude-fable-5-1\",\"object\":\"model\",\"owned_by\":\"anthropic\"},{\"created\":1790035200,\"id\":\"claude-opus-5-5\",\"object\":\"model\",\"owned_by\":\"anthropic\"},{\"created\":1722945600,\"id\":\"claude-opus-4-1-20250805\",\"object
restore list {"status":200,"body":"{\"config-version\":8,\"status\":\"ok\"}"}
v8 key list {"status":200,"body":"[\"p1-client\"]"}
oauth start anthropic {"status":200,"body":"{\"state\":\"ebd42dd044fe6d4e323d3bdd811c218a\",\"status\":\"ok\",\"url\":\"https://claude.ai/oauth/authorize?client_id=9d1c250a-e61b-44d9-88ed-5944d1962f5e\\u0026code=true\\u0026code_challenge=wafpAcg4CdRK7vCe7ACV9v1KVSQCfcOeXufSGYILEAo\\u0026code_challenge_method=S256\\u0026redirect_uri=http%3A%2F%2Flocalhost%3A54545%2Fcallback\\u0026response_type=code\\u0026scope=user%3Aprofile+user%3Ainference+user%3Asessions%3Aclaude_code+user%3Amcp_servers+user%3Afile_upload\\u0026state=ebd42dd044fe6d4e323d3bdd811c218a\"}"}
oauth start codex {"status":200,"body":"{\"state\":\"72fee3ade3eea92eee1bcad0eb81f3ef\",\"status\":\"ok\",\"url\":\"https://auth.openai.com/oauth/authorize?client_id=app_EMoamEEZ73f0CkXaXp7hrann\\u0026code_challenge=9nJBzjGru1PmMjvatWfktJ6Y2OTGuEl7KgRlyMw9OA8\\u0026code_challenge_method=S256\\u0026codex_cli_simplified_flow=true\\u0026id_token_add_organizations=true\\u0026prompt=login\\u0026redirect_uri=http%3A%2F%2Flocalhost%3A1455%2Fauth%2Fcallback\\u0026response_type=code\\u0026scope=openid+email+profile+offline_access\\u0026state=72fee3ade3eea92eee1bcad0eb81f3ef\"}"}
panel plain initial {"result":{"type":"object","value":{"text":"CLI\nPROXY\nAPI\nCLI Proxy API Management Center\nEnglish\nConnect to CLI Proxy API v8 or later\nCurrent URL\nhttp://127.0.0.1:18319\nThe system will automatically use the current URL for connection\nCustom Connection URL:\nManagement Key:\nRemember password\nLogin","inputs":[{"type":"checkbox","placeholder":"","value":"on"},{"type":"password","placeholder":"Enter the management key","value":""},{"type":"checkbox","placeholder":"","value":"on"}],"buttons":["English","","Login"]}}}
panel plain storage {"result":{"type":"object","value":{"available":true}}}
panel plain login interaction {"result":{"type":"object","value":[{"type":"checkbox","value":"on"},{"type":"text","value":"http://127.0.0.1:18319/proxy"},{"type":"password","value":"[fixture]"},{"type":"checkbox","value":"on"}]}}
panel plain after login {"result":{"type":"string","value":"Success:\nConnected\nCPAMC\nCLI Proxy API Console\nOPERATE\nDashboard\nQuick Start\nGATEWAY\nAI Providers\nAuth Files\nAuthentication files: 0\nOAuth Login\nOBSERVE\nQuota Management\nLogs Viewer\nCONTROL\nConfig Panel\nPlugins\nPlugin Store\nManagement Center Info\nQuiet for now.\n\nv8.0.42 · Connected\n\nManage providers\nInspect logs\n→\nREQUESTS HANDLED\nLIVE\n0\nRolling 3h 20m window · 10-minute buckets\nSuccess\n0\nFailure\n0\nSuccess rate\n—\nAcross 0 requests in the window\nCredentials\n0\n0 active · 0 not serving\nProvider keys\n1\nAPI keys configured across all brands\nModels\n19\nServed through the proxy endpoint\nLIVE TRAFFIC\nThroughput, ten minutes at a time\n\nSuccess and failure counts per 10-minute bucket across the last 3h 20m. Hover a column for its exact split.\n\nSuccess\n0\nFailure\n0\n4\n3\n2\n1\n0\n\nNo requests\n\n11:00\n12:30\n14:10\nData table\nFLEET\nEvery provider, side by side\n\nVolume and success rate per provider over the same window.\n\n01\nClaude\nCredentials: 1\n0\nrequests\n—\nHEALTH\nCredential status\n\nNo credential files found.\n\nRUNTIME\nConfiguration at a glance\nRouting strategy\nfill-first (prioritize)\nRequest retry\n0\nManagement keys\n1\nServer version\n8.0.42\nBuild date\n10/24/2026\nUpstream proxy\n—\nDebug\nNo\nFile logging\nNo\nRequest log\nNo\nWebSocket auth\nYes\nModel prefix\nNo\nEdit configuration →\nNEXT\nWhere to go from here\nAI Providers\nAdd API keys, set priorities, and test brands.\n→\nAuth Files\nUpload, refresh, and disable OAuth credentials.\n→\nConfig Panel\nTune routing, retries, logging, and access.\n→\nQuota Management\nCheck remaining quota per credential.\n→\nLogs Viewer\nTail requests and download error reports.\n→\nManagement Center Info\nVersion details and management center info.\n→"}}
panel plain requests [{"method":"GET","path":"/proxy/management.html","origin":null,"cookie":false},{"method":"GET","path":"/proxy/v8/management/config","origin":null,"cookie":true},{"method":"GET","path":"/proxy/v1/models","origin":null,"cookie":true},{"method":"GET","path":"/proxy/v8/management/observability/usage/api-keys","origin":null,"cookie":true},{"method":"GET","path":"/proxy/v8/management/credentials","origin":null,"cookie":true},{"method":"GET","path":"/proxy/v8/management/plugins","origin":null,"cookie":true},{"method":"GET","path":"/proxy/v8/management/credentials","origin":null,"cookie":true}]
panel plain exceptions []
panel sandbox initial {"result":{"type":"object","value":{"text":"CLI\nPROXY\nAPI\nCLI Proxy API Management Center\nEnglish\nConnect to CLI Proxy API v8 or later\nCurrent URL\nhttp://127.0.0.1:18319\nThe system will automatically use the current URL for connection\nCustom Connection URL:\nManagement Key:\nRemember password\nLogin","inputs":[{"type":"checkbox","placeholder":"","value":"on"},{"type":"password","placeholder":"Enter the management key","value":""},{"type":"checkbox","placeholder":"","value":"on"}],"buttons":["English","","Login"]}}}
panel sandbox storage {"result":{"type":"object","value":{"error":"SecurityError","message":"Failed to read the 'localStorage' property from 'Window': The document is sandboxed and lacks the 'allow-same-origin' flag."}}}
panel sandbox login interaction {"result":{"type":"object","value":[{"type":"checkbox","value":"on"},{"type":"text","value":"http://127.0.0.1:18319/proxy"},{"type":"password","value":"[fixture]"},{"type":"checkbox","value":"on"}]}}
panel sandbox after login {"result":{"type":"string","value":"Error:\nLogin failed: Connection failed, please check the server address, Management API, and management key\nCLI\nPROXY\nAPI\nCLI Proxy API Management Center\nEnglish\nConnect to CLI Proxy API v8 or later\nCurrent URL\nhttp://127.0.0.1:18319/proxy\nThe system will automatically use the current URL for connection\nCustom Connection URL:\nCustom Connection URL:\nBy default the current URL is used. Override it here if needed.\nManagement Key:\nRemember password\nLogin\nConnection failed, please check the server address, Management API, and management key"}}
panel sandbox requests [{"method":"GET","path":"/proxy/management.html","origin":null,"cookie":true}]
panel sandbox exceptions ["Uncaught (in promise) SecurityError: Failed to read the 'localStorage' property from 'Window': The document is sandboxed and lacks the 'allow-same-origin' flag.\n at Array.forEach (<anonymous>)\n at Object.migratePlaintextKeys (http://127.0.0.1:18319/proxy/management.html:20:667941)\n at http://127.0.0.1:18319/proxy/management.html:28:32103\n at restoreSession (http://127.0.0.1:18319/proxy/management.html:28:32640)\n at http://127.0.0.1:18319/proxy/management.html:28:38065\n at http://127.0.0.1:18319/proxy/management.html:28:38198\n at Uc (http://127.0.0.1:18319/proxy/management.html:16:92011)\n at kl (http://127.0.0.1:18319/proxy/management.html:16:107191)\n at Ol (http://127.0.0.1:18319/proxy/management.html:16:107075)\n at kl (http://127.0.0.1:18319/proxy/management.html:16:107956)"]
acceptance probes complete
@@ -0,0 +1,29 @@
P1 isolated acceptance root /mnt/storage/scratch/tmp/lL0kGM nice 19
binary sha256 74661f8cf949977870231359e8bf4344e07946766a673c08fa25a3e5f72fc95e
wrong/missing key models wrong {"status":401,"body":"{\"error\":\"Invalid API key\"}"}
wrong/missing key models missing {"status":401,"body":"{\"error\":\"Missing API key\"}"}
models local 200 upstream delta 0 body length 1739
set empty {"status":200,"body":"{\"config-version\":8,\"status\":\"ok\"}"}
empty list missing key {"status":401,"body":"{\"error\":\"Missing API key\"}"}
restore list {"status":200,"body":"{\"config-version\":8,\"status\":\"ok\"}"}
revoke client {"status":200,"body":"{\"config-version\":8,\"status\":\"ok\"}"}
revoked key models {"status":200,"body":"{\"data\":[{\"created\":1770318000,\"id\":\"claude-opus-4-6\",\"object\":\"model\",\"owned_by\":\"anthropic\"},{\"created\":1779984000,\"id\":\"claude-opus-4-8\",\"object\":\"model\",\"owned_by\":\"anthropic\"},{\"created\":1782777600,\"id\":\"claude-sonnet-5\",\"object\":\"model\",\"owned_by\":\"anthropic\"},{\"created\":1715644800,\"id\":\"claude-sonnet-4-20250514\",\"object\":\"model\",\"owned_by\":\"anthropic\"},{\"created\":1781049600,\"id\":\"claude-fable-5\",\"object\":\"model\",\"owned_by\":\"anthropic\"},{\"created\":1708300800,\"id\":\"claude-3-7-sonnet-20250219\",\"object\":\"model\",\"owned_by\":\"anthropic\"},{\"created\":1790553600,\"id\":\"claude-haiku-5-5\",\"object\":\"model\",\"owned_by\":\"anthropic\"},{\"created\":1759276800,\"id\":\"claude-haiku-4-5-20251001\",\"object\":\"model\",\"owned_by\":\"anthropic\"},{\"created\":1759104000,\"id\":\"claude-sonnet-4-5-20250929\",\"object\":\"model\",\"owned_by\":\"anthropic\"},{\"created\":1776297600,\"id\":\"claude-opus-4-7\",\"object\":\"model\",\"owned_by\":\"anthropic\"},{\"created\":1788220800,\"id\":\"claude-fable-5-1\",\"object\":\"model\",\"owned_by\":\"anthropic\"},{\"created\":1722945600,\"id\":\"claude-opus-4-1-20250805\",\"object\":\"model\",\"owned_by\":\"anthropic\"},{\"created\":1729555200,\"id\":\"claude-3-5-haiku-20241022\",\"object\":\"model\",\"owned_by\":\"anthropic\"},{\"created\":1784038800,\"id\":\"claude-opus-5\",\"object\":\"model\",\"owned_by\":\"anthropic\"},{\"created\":1790553600,\"id\":\"claude-sonnet-5-5\",\"object\":\"model\",\"owned_by\":\"anthropic\"},{\"created\":1761955200,\"id\":\"claude-opus-4-5-20251101\",\"object\":\"model\",\"owned_by\":\"anthropic\"},{\"created\":1715644800,\"id\":\"claude-opus-4-20250514\",\"object\":\"model\",\"owned_by\":\"anthropic\"},{\"created\":1790035200,\"id\":\"claude-opus-5-5\",\"object\":\"model\",\"owned_by\":\"anthropic\"},{\"created\":1771372800,\"id\":\"claude-sonnet-4-6\",\"object\":\"model\",\"owned_by\":\"anthropic\"}],\"object\":\"list\"}"}
per-key model object attempt {"status":422,"body":"{\"error\":\"invalid_config\",\"message\":\"parse config payload: yaml: unmarshal errors:\\n line 12: cannot unmarshal !!map into string\"}"}
v8 key list {"status":200,"body":"[\"p1-client\"]"}
oauth start anthropic {"status":200,"body":"{\"state\":\"a0cd187b9b9942d03edb297157bfa916\",\"status\":\"ok\",\"url\":\"https://claude.ai/oauth/authorize?client_id=9d1c250a-e61b-44d9-88ed-5944d1962f5e\\u0026code=true\\u0026code_challenge=6XydCnDQEdejS9qEqjWNITiWM13vmW36zA4Ac8MPWrw\\u0026code_challenge_method=S256\\u0026redirect_uri=http%3A%2F%2Flocalhost%3A54545%2Fcallback\\u0026response_type=code\\u0026scope=user%3Aprofile+user%3Ainference+user%3Asessions%3Aclaude_code+user%3Amcp_servers+user%3Afile_upload\\u0026state=a0cd187b9b9942d03edb297157bfa916\"}"}
oauth start codex {"status":200,"body":"{\"state\":\"52ca455a3a19b8a3fa63fd60f0ffa057\",\"status\":\"ok\",\"url\":\"https://auth.openai.com/oauth/authorize?client_id=app_EMoamEEZ73f0CkXaXp7hrann\\u0026code_challenge=MQ7OWiP34eI38fQS06R495Sq-C-I-Fekol-vfUtbMpc\\u0026code_challenge_method=S256\\u0026codex_cli_simplified_flow=true\\u0026id_token_add_organizations=true\\u0026prompt=login\\u0026redirect_uri=http%3A%2F%2Flocalhost%3A1455%2Fauth%2Fcallback\\u0026response_type=code\\u0026scope=openid+email+profile+offline_access\\u0026state=52ca455a3a19b8a3fa63fd60f0ffa057\"}"}
panel plain initial {"result":{"type":"object","value":{"text":"CLI\nPROXY\nAPI\nCLI Proxy API Management Center\nEnglish\nConnect to CLI Proxy API v8 or later\nCurrent URL\nhttp://127.0.0.1:18319\nThe system will automatically use the current URL for connection\nCustom Connection URL:\nManagement Key:\nRemember password\nLogin","inputs":[{"type":"checkbox","placeholder":"","value":"on"},{"type":"password","placeholder":"Enter the management key","value":""},{"type":"checkbox","placeholder":"","value":"on"}],"buttons":["English","","Login"]}}}
panel plain storage {"result":{"type":"object","value":{"available":true}}}
panel plain login interaction {"result":{"type":"object","value":[{"type":"checkbox","value":"on"},{"type":"text","value":"http://127.0.0.1:18319/proxy"},{"type":"password","value":"[fixture]"},{"type":"checkbox","value":"on"}]}}
panel plain after login {"result":{"type":"string","value":"Success:\nConnected\nCPAMC\nCLI Proxy API Console\nOPERATE\nDashboard\nQuick Start\nGATEWAY\nAI Providers\nAuth Files\nAuthentication files: 0\nOAuth Login\nOBSERVE\nQuota Management\nLogs Viewer\nCONTROL\nConfig Panel\nPlugins\nPlugin Store\nManagement Center Info\nQuiet for now.\n\nv8.0.42 · Connected\n\nManage providers\nInspect logs\n→\nREQUESTS HANDLED\nLIVE\n0\nRolling 3h 20m window · 10-minute buckets\nSuccess\n0\nFailure\n0\nSuccess rate\n—\nAcross 0 requests in the window\nCredentials\n0\n0 active · 0 not serving\nProvider keys\n1\nAPI keys configured across all brands\nModels\n19\nServed through the proxy endpoint\nLIVE TRAFFIC\nThroughput, ten minutes at a time\n\nSuccess and failure counts per 10-minute bucket across the last 3h 20m. Hover a column for its exact split.\n\nSuccess\n0\nFailure\n0\n4\n3\n2\n1\n0\n\nNo requests\n\n11:00\n12:30\n14:10\nData table\nFLEET\nEvery provider, side by side\n\nVolume and success rate per provider over the same window.\n\n01\nClaude\nCredentials: 1\n0\nrequests\n—\nHEALTH\nCredential status\n\nNo credential files found.\n\nRUNTIME\nConfiguration at a glance\nRouting strategy\nfill-first (prioritize)\nRequest retry\n0\nManagement keys\n1\nServer version\n8.0.42\nBuild date\n10/24/2026\nUpstream proxy\n—\nDebug\nNo\nFile logging\nNo\nRequest log\nNo\nWebSocket auth\nYes\nModel prefix\nNo\nEdit configuration →\nNEXT\nWhere to go from here\nAI Providers\nAdd API keys, set priorities, and test brands.\n→\nAuth Files\nUpload, refresh, and disable OAuth credentials.\n→\nConfig Panel\nTune routing, retries, logging, and access.\n→\nQuota Management\nCheck remaining quota per credential.\n→\nLogs Viewer\nTail requests and download error reports.\n→\nManagement Center Info\nVersion details and management center info.\n→"}}
panel plain requests [{"method":"GET","path":"/proxy/management.html","origin":null,"cookie":false},{"method":"GET","path":"/proxy/v8/management/config","origin":null,"cookie":true},{"method":"GET","path":"/proxy/v1/models","origin":null,"cookie":true},{"method":"GET","path":"/proxy/v8/management/observability/usage/api-keys","origin":null,"cookie":true},{"method":"GET","path":"/proxy/v8/management/credentials","origin":null,"cookie":true},{"method":"GET","path":"/proxy/v8/management/plugins","origin":null,"cookie":true},{"method":"GET","path":"/proxy/v8/management/credentials","origin":null,"cookie":true}]
panel plain exceptions []
panel sandbox initial {"result":{"type":"object","value":{"text":"CLI\nPROXY\nAPI\nCLI Proxy API Management Center\nEnglish\nConnect to CLI Proxy API v8 or later\nCurrent URL\nhttp://127.0.0.1:18319\nThe system will automatically use the current URL for connection\nCustom Connection URL:\nManagement Key:\nRemember password\nLogin","inputs":[{"type":"checkbox","placeholder":"","value":"on"},{"type":"password","placeholder":"Enter the management key","value":""},{"type":"checkbox","placeholder":"","value":"on"}],"buttons":["English","","Login"]}}}
panel sandbox storage {"result":{"type":"object","value":{"error":"SecurityError","message":"Failed to read the 'localStorage' property from 'Window': The document is sandboxed and lacks the 'allow-same-origin' flag."}}}
panel sandbox login interaction {"result":{"type":"object","value":[{"type":"checkbox","value":"on"},{"type":"text","value":"http://127.0.0.1:18319/proxy"},{"type":"password","value":"[fixture]"},{"type":"checkbox","value":"on"}]}}
panel sandbox after login {"result":{"type":"string","value":"Error:\nLogin failed: Connection failed, please check the server address, Management API, and management key\nCLI\nPROXY\nAPI\nCLI Proxy API Management Center\nEnglish\nConnect to CLI Proxy API v8 or later\nCurrent URL\nhttp://127.0.0.1:18319/proxy\nThe system will automatically use the current URL for connection\nCustom Connection URL:\nCustom Connection URL:\nBy default the current URL is used. Override it here if needed.\nManagement Key:\nRemember password\nLogin\nConnection failed, please check the server address, Management API, and management key"}}
panel sandbox requests [{"method":"GET","path":"/proxy/management.html","origin":null,"cookie":true}]
panel sandbox exceptions ["Uncaught (in promise) SecurityError: Failed to read the 'localStorage' property from 'Window': The document is sandboxed and lacks the 'allow-same-origin' flag.\n at Array.forEach (<anonymous>)\n at Object.migratePlaintextKeys (http://127.0.0.1:18319/proxy/management.html:20:667941)\n at http://127.0.0.1:18319/proxy/management.html:28:32103\n at restoreSession (http://127.0.0.1:18319/proxy/management.html:28:32640)\n at http://127.0.0.1:18319/proxy/management.html:28:38065\n at http://127.0.0.1:18319/proxy/management.html:28:38198\n at Uc (http://127.0.0.1:18319/proxy/management.html:16:92011)\n at kl (http://127.0.0.1:18319/proxy/management.html:16:107191)\n at Ol (http://127.0.0.1:18319/proxy/management.html:16:107075)\n at kl (http://127.0.0.1:18319/proxy/management.html:16:107956)"]
Claude Code wrong/revoked key wrong {"code":124,"signal":null} output ""
Claude Code wrong/revoked key p1-revoked {"code":124,"signal":null} output ""
acceptance probes complete
@@ -0,0 +1,38 @@
P1 isolated acceptance root /mnt/storage/scratch/tmp/BHI4SH nice 19
binary sha256 74661f8cf949977870231359e8bf4344e07946766a673c08fa25a3e5f72fc95e
wrong/missing key models wrong {"status":401,"body":"{\"error\":\"Invalid API key\"}"}
wrong/missing key models missing {"status":401,"body":"{\"error\":\"Missing API key\"}"}
models local 200 upstream delta 0 body length 1739
initial key list {"status":200,"body":"[\"p1-client\"]"}
set empty {"status":200,"body":"{\"config-version\":8,\"status\":\"ok\"}"}
empty list settled {"elapsedMs":3,"statuses":[200],"body":"[models]"}
empty list missing key {"status":200,"body":"{\"data\":[{\"created\":1781049600,\"id\":\"claude-fable-5\",\"object\":\"model\",\"owned_by\":\"anthropic\"},{\"created\":1790553600,\"id\":\"claude-sonnet-5-5\",\"object\":\"model\",\"owned_by\":\"anthropic\"},{\"created\":1790553600,\"id\":\"claude-haiku-5-5\",\"object\":\"model\",\"owned_by\":\"anthropic\"},{\"created\":1761955200,\"id\":\"claude-opus-4-5-20251101\",\"obj
restore list {"status":200,"body":"{\"config-version\":8,\"status\":\"ok\"}"}
restored list settled wrong key {"elapsedMs":2,"statuses":[401],"body":"{\"error\":\"Invalid API key\"}"}
revoke client {"status":200,"body":"{\"config-version\":8,\"status\":\"ok\"}"}
revoked key settled {"elapsedMs":105,"statuses":[200,401],"body":"{\"error\":\"Invalid API key\"}"}
revoked key models {"status":401,"body":"{\"error\":\"Invalid API key\"}"}
per-key model object attempt {"status":422,"body":"{\"error\":\"invalid_config\",\"message\":\"parse config payload: yaml: unmarshal errors:\\n line 12: cannot unmarshal !!map into string\"}"}
final restored list settled {"elapsedMs":2,"statuses":[401],"body":"{\"error\":\"Invalid API key\"}"}
v8 key list {"status":200,"body":"[\"p1-client\"]"}
oauth start anthropic {"status":200,"body":"{\"state\":\"9fbd1cc6e8fb1dfe7ef26eeaac10b5a3\",\"status\":\"ok\",\"url\":\"https://claude.ai/oauth/authorize?client_id=9d1c250a-e61b-44d9-88ed-5944d1962f5e\\u0026code=true\\u0026code_challenge=yuyxfaZNMNV8yaScQpPVAoQHZ7x57Nplm4RILV_bcvo\\u0026code_challenge_method=S256\\u0026redirect_uri=http%3A%2F%2Flocalhost%3A54545%2Fcallback\\u0026response_type=code\\u0026scope=user%3Aprofile+user%3Ainference+user%3Asessions%3Aclaude_code+user%3Amcp_servers+user%3Afile_upload\\u0026state=9fbd1cc6e8fb1dfe7ef26eeaac10b5a3\"}"}
oauth start codex {"status":200,"body":"{\"state\":\"d025c2006ff67ef05723a546f752157c\",\"status\":\"ok\",\"url\":\"https://auth.openai.com/oauth/authorize?client_id=app_EMoamEEZ73f0CkXaXp7hrann\\u0026code_challenge=RZa2vkdSvNJgTuMi11Vn2b7uisoOimt7XdjjFClY1AE\\u0026code_challenge_method=S256\\u0026codex_cli_simplified_flow=true\\u0026id_token_add_organizations=true\\u0026prompt=login\\u0026redirect_uri=http%3A%2F%2Flocalhost%3A1455%2Fauth%2Fcallback\\u0026response_type=code\\u0026scope=openid+email+profile+offline_access\\u0026state=d025c2006ff67ef05723a546f752157c\"}"}
panel plain initial {"result":{"type":"object","value":{"text":"CLI\nPROXY\nAPI\nCLI Proxy API Management Center\nEnglish\nConnect to CLI Proxy API v8 or later\nCurrent URL\nhttp://127.0.0.1:18319\nThe system will automatically use the current URL for connection\nCustom Connection URL:\nManagement Key:\nRemember password\nLogin","inputs":[{"type":"checkbox","placeholder":"","value":"on"},{"type":"password","placeholder":"Enter the management key","value":""},{"type":"checkbox","placeholder":"","value":"on"}],"buttons":["English","","Login"]}}}
panel plain storage {"result":{"type":"object","value":{"available":true}}}
panel plain login interaction {"result":{"type":"object","value":[{"type":"checkbox","value":"on"},{"type":"text","value":"http://127.0.0.1:18319/proxy"},{"type":"password","value":"[fixture]"},{"type":"checkbox","value":"on"}]}}
panel plain after login {"result":{"type":"string","value":"Success:\nConnected\nCPAMC\nCLI Proxy API Console\nOPERATE\nDashboard\nQuick Start\nGATEWAY\nAI Providers\nAuth Files\nAuthentication files: 0\nOAuth Login\nOBSERVE\nQuota Management\nLogs Viewer\nCONTROL\nConfig Panel\nPlugins\nPlugin Store\nManagement Center Info\nQuiet for now.\n\nv8.0.42 · Connected\n\nManage providers\nInspect logs\n→\nREQUESTS HANDLED\nLIVE\n0\nRolling 3h 20m window · 10-minute buckets\nSuccess\n0\nFailure\n0\nSuccess rate\n—\nAcross 0 requests in the window\nCredentials\n0\n0 active · 0 not serving\nProvider keys\n1\nAPI keys configured across all brands\nModels\n19\nServed through the proxy endpoint\nLIVE TRAFFIC\nThroughput, ten minutes at a time\n\nSuccess and failure counts per 10-minute bucket across the last 3h 20m. Hover a column for its exact split.\n\nSuccess\n0\nFailure\n0\n4\n3\n2\n1\n0\n\nNo requests\n\n11:10\n12:40\n14:20\nData table\nFLEET\nEvery provider, side by side\n\nVolume and success rate per provider over the same window.\n\n01\nClaude\nCredentials: 1\n0\nrequests\n—\nHEALTH\nCredential status\n\nNo credential files found.\n\nRUNTIME\nConfiguration at a glance\nRouting strategy\nfill-first (prioritize)\nRequest retry\n0\nManagement keys\n1\nServer version\n8.0.42\nBuild date\n10/24/2026\nUpstream proxy\n—\nDebug\nNo\nFile logging\nNo\nRequest log\nNo\nWebSocket auth\nYes\nModel prefix\nNo\nEdit configuration →\nNEXT\nWhere to go from here\nAI Providers\nAdd API keys, set priorities, and test brands.\n→\nAuth Files\nUpload, refresh, and disable OAuth credentials.\n→\nConfig Panel\nTune routing, retries, logging, and access.\n→\nQuota Management\nCheck remaining quota per credential.\n→\nLogs Viewer\nTail requests and download error reports.\n→\nManagement Center Info\nVersion details and management center info.\n→"}}
panel plain requests [{"method":"GET","path":"/proxy/management.html","origin":null,"cookie":false},{"method":"GET","path":"/proxy/v8/management/config","origin":null,"cookie":true},{"method":"GET","path":"/proxy/v1/models","origin":null,"cookie":true},{"method":"GET","path":"/proxy/v8/management/observability/usage/api-keys","origin":null,"cookie":true},{"method":"GET","path":"/proxy/v8/management/credentials","origin":null,"cookie":true},{"method":"GET","path":"/proxy/v8/management/plugins","origin":null,"cookie":true},{"method":"GET","path":"/proxy/v8/management/credentials","origin":null,"cookie":true}]
panel plain exceptions []
panel sandbox initial {"result":{"type":"object","value":{"text":"CLI\nPROXY\nAPI\nCLI Proxy API Management Center\nEnglish\nConnect to CLI Proxy API v8 or later\nCurrent URL\nhttp://127.0.0.1:18319\nThe system will automatically use the current URL for connection\nCustom Connection URL:\nManagement Key:\nRemember password\nLogin","inputs":[{"type":"checkbox","placeholder":"","value":"on"},{"type":"password","placeholder":"Enter the management key","value":""},{"type":"checkbox","placeholder":"","value":"on"}],"buttons":["English","","Login"]}}}
panel sandbox storage {"result":{"type":"object","value":{"error":"SecurityError","message":"Failed to read the 'localStorage' property from 'Window': The document is sandboxed and lacks the 'allow-same-origin' flag."}}}
panel sandbox login interaction {"result":{"type":"object","value":[{"type":"checkbox","value":"on"},{"type":"text","value":"http://127.0.0.1:18319/proxy"},{"type":"password","value":"[fixture]"},{"type":"checkbox","value":"on"}]}}
panel sandbox after login {"result":{"type":"string","value":"Error:\nLogin failed: Connection failed, please check the server address, Management API, and management key\nCLI\nPROXY\nAPI\nCLI Proxy API Management Center\nEnglish\nConnect to CLI Proxy API v8 or later\nCurrent URL\nhttp://127.0.0.1:18319/proxy\nThe system will automatically use the current URL for connection\nCustom Connection URL:\nCustom Connection URL:\nBy default the current URL is used. Override it here if needed.\nManagement Key:\nRemember password\nLogin\nConnection failed, please check the server address, Management API, and management key"}}
panel sandbox requests [{"method":"GET","path":"/proxy/management.html","origin":null,"cookie":true}]
panel sandbox exceptions ["Uncaught (in promise) SecurityError: Failed to read the 'localStorage' property from 'Window': The document is sandboxed and lacks the 'allow-same-origin' flag.\n at Array.forEach (<anonymous>)\n at Object.migratePlaintextKeys (http://127.0.0.1:18319/proxy/management.html:20:667941)\n at http://127.0.0.1:18319/proxy/management.html:28:32103\n at restoreSession (http://127.0.0.1:18319/proxy/management.html:28:32640)\n at http://127.0.0.1:18319/proxy/management.html:28:38065\n at http://127.0.0.1:18319/proxy/management.html:28:38198\n at Uc (http://127.0.0.1:18319/proxy/management.html:16:92011)\n at kl (http://127.0.0.1:18319/proxy/management.html:16:107191)\n at Ol (http://127.0.0.1:18319/proxy/management.html:16:107075)\n at kl (http://127.0.0.1:18319/proxy/management.html:16:107956)"]
sandbox explicit null-origin fetch {"result":{"type":"object","value":{"error":"TypeError","message":"Failed to fetch"}}}
sandbox explicit requests [{"method":"GET","path":"/proxy/management.html","origin":null,"cookie":true},{"method":"OPTIONS","path":"/proxy/v8/management/config/access/api-keys","origin":"null","cookie":false}]
forward callback /proxy/callback?code=fixture 400
forward callback /proxy/auth/callback?code=fixture 404
Claude Code wrong/revoked key wrong {"code":124,"signal":null} output ""
Claude Code wrong/revoked key p1-revoked {"code":124,"signal":null} output ""
acceptance probes complete
+103
View File
@@ -0,0 +1,103 @@
// P1 acceptance only: run via acceptance.sh in a fresh private user/network namespace.
import fs from 'node:fs';
import path from 'node:path';
import http from 'node:http';
import { spawn, execFileSync } from 'node:child_process';
import { createHash } from 'node:crypto';
import { initialConfig } from '../../../../packages/model-proxy/src/settings.mjs';
import { ManagementClient } from '../../../../packages/model-proxy/src/client.mjs';
const root = process.argv[2], assets = process.argv[3];
if (!root?.startsWith('/mnt/storage/scratch/tmp/') || process.env.P1_ISOLATED !== 'yes') throw Error('acceptance requires wrapper');
const children=[], servers=[];
const delay=ms=>new Promise(r=>setTimeout(r,ms));
const home=path.join(root,'home');fs.mkdirSync(home,{recursive:true});
const env={HOME:home,PATH:'/usr/bin:/bin',LANG:'C.UTF-8'};
const port=18318, forwardPort=18319;
let upstreamCalls=0; const forwarded=[];
const enforce=async(label,key,wanted)=>{const started=Date.now(),statuses=[];for(let i=0;i<50;i++){const r=await request('/v1/models',{key});statuses.push(r.status);if(r.status===wanted){console.log(label,JSON.stringify({elapsedMs:Date.now()-started,statuses,body:wanted===401?r.body:'[models]'}));return;}await delay(100);}throw Error(label+' enforcement absent '+JSON.stringify(statuses));};
async function serve(handler, p){const s=http.createServer(handler);await new Promise(r=>s.listen(p,'127.0.0.1',r));servers.push(s);return s;}
async function request(route,{method='GET',key='p1-client',body,management=false}={}){
const r=await fetch(`http://127.0.0.1:${port}${route}`,{method,headers:{...(key?{Authorization:`Bearer ${key}`} : {}),...(body?{'Content-Type':'application/json'}:{})},body:body?JSON.stringify(body):undefined,signal:AbortSignal.timeout(5000)});
const text=await r.text();return {status:r.status,body:text};
}
function launch(command,args,extra={}){const out=fs.openSync(path.join(root,`${children.length}.stdout`),'w');const c=spawn(command,args,{cwd:root,env,stdio:['ignore',out,out],...extra});fs.closeSync(out);children.push(c);return c;}
async function wait(p){for(let i=0;i<100;i++){try{await fetch(`http://127.0.0.1:${p}`,{signal:AbortSignal.timeout(300)});return;}catch{}await delay(100);}throw Error(`listener ${p} absent`);}
const config=initialConfig({dataRoot:root,port,key:'p1-management',sentinel:'p1-client'});
config['api-keys']={claude:[{name:'standin','base-url':'http://127.0.0.1:18401',keys:[{'api-key':'p1-upstream'}]}]};
config.oauth['auth-dir']=path.join(root,'auth');
fs.mkdirSync(path.join(root,'auth'),{mode:0o700});fs.mkdirSync(path.join(root,'static'));
fs.copyFileSync(path.join(assets,'management.html'),path.join(root,'static','management.html'));
fs.writeFileSync(path.join(root,'config.yaml'),JSON.stringify(config),{mode:0o600});
let sandbox=false;
try{
console.log('P1 isolated acceptance root',root,'nice',execFileSync('nice',{encoding:'utf8'}).trim());
console.log('binary sha256',createHash('sha256').update(fs.readFileSync(path.join(assets,'release','cli-proxy-api'))).digest('hex'));
await serve((q,s)=>{upstreamCalls++;s.setHeader('Content-Type','application/json');s.end(JSON.stringify({id:'msg_p1',type:'message',role:'assistant',model:'claude-sonnet-5-5',content:[{type:'text',text:'hello'}],stop_reason:'end_turn',usage:{input_tokens:1,output_tokens:1}}));},18401);
launch(path.join(assets,'release','cli-proxy-api'),['-config',path.join(root,'config.yaml'),'-local-model'],{env:{...env,MANAGEMENT_STATIC_PATH:path.join(root,'static')}});await wait(port);
const management=new ManagementClient({baseUrl:`http://127.0.0.1:${port}`,key:'p1-management',receipt:entry=>console.log('P1 client receipt',JSON.stringify(entry))});
console.log('P1 client real API GET count',(await management.getKeys()).length);console.log('P1 client real API PUT',JSON.stringify(await management.putKeys(['p1-client'])));
const panelResponse=await request('/management.html',{key:null});console.log('pinned panel served',panelResponse.status,createHash('sha256').update(panelResponse.body).digest('hex'));
const cliHelp=launch(path.join(assets,'release','cli-proxy-api'),['-help']);await new Promise(r=>cliHelp.on('close',r));console.log('pinned login flags',fs.readFileSync(path.join(root,`${children.length-1}.stdout`),'utf8').split('\n').filter((l,i,a)=>/-(claude|codex)-login|-no-browser/.test(l)).join(' | '));
for(const key of ['wrong',null])console.log('wrong/missing key models',key===null?'missing':'wrong',JSON.stringify(await request('/v1/models',{key})));
const before=upstreamCalls;const models=await request('/v1/models');console.log('models local',models.status,'upstream delta',upstreamCalls-before,'body length',models.body.length);
const message={model:'claude-sonnet-5-5',max_tokens:32,messages:[{role:'user',content:'hello'}]};
const inferenceBefore=upstreamCalls;console.log('valid messages',JSON.stringify(await request('/v1/messages',{method:'POST',body:message})),'upstream delta',upstreamCalls-inferenceBefore);
console.log('wrong messages',JSON.stringify(await request('/v1/messages',{method:'POST',key:'wrong',body:message})));
console.log('initial key list',JSON.stringify(await request('/v8/management/config/access/api-keys',{key:'p1-management'})));
console.log('set empty',JSON.stringify(await request('/v8/management/config/access/api-keys',{method:'PUT',key:'p1-management',body:[]})));
await enforce('empty list settled',null,200);
console.log('empty list missing key status',(await request('/v1/models',{key:null})).status);
console.log('empty list missing key messages',JSON.stringify(await request('/v1/messages',{method:'POST',key:null,body:message})));
console.log('restore list',JSON.stringify(await request('/v8/management/config/access/api-keys',{method:'PUT',key:'p1-management',body:['p1-client']})));
await enforce('restored list settled wrong key','wrong',401);
console.log('revoke client',JSON.stringify(await request('/v8/management/config/access/api-keys',{method:'PUT',key:'p1-management',body:['p1-sentinel']})));
await enforce('revoked key settled','p1-client',401);
console.log('revoked key models',JSON.stringify(await request('/v1/models',{key:'p1-client'})));
console.log('revoked messages',JSON.stringify(await request('/v1/messages',{method:'POST',key:'p1-client',body:message})));
console.log('per-key model object attempt',JSON.stringify(await request('/v8/management/config/access/api-keys',{method:'PUT',key:'p1-management',body:[{key:'p1-limited',models:['claude-sonnet-5-5']}]})));
await request('/v8/management/config/access/api-keys',{method:'PUT',key:'p1-management',body:['p1-client']});
await enforce('final restored list settled','wrong',401);
console.log('v8 key list',JSON.stringify(await request('/v8/management/config/access/api-keys',{key:'p1-management'})));
for(const provider of ['anthropic','codex'])console.log('oauth start',provider,JSON.stringify(await request(`/v0/management/${provider}-auth-url?is_webui=true`,{key:'p1-management'})));
if(process.argv[4]!=='api-only'){
await serve((q,s)=>{
forwarded.push({method:q.method,path:q.url,origin:q.headers.origin??null,cookie:!!q.headers.cookie});
if(sandbox)s.setHeader('Content-Security-Policy','sandbox allow-scripts allow-forms');
// Minimal /proxy/ prefix strip. Cookies stay host-only SameSite=Lax for browser checks.
s.setHeader('Set-Cookie','p1-session=owner; HttpOnly; SameSite=Lax; Path=/');
if(!q.url.startsWith('/proxy/')){s.statusCode=404;s.end('outside prefix');return;}
const upstream=http.request({hostname:'127.0.0.1',port,path:q.url.replace(/^\/proxy\//,'/'),method:q.method,headers:{...q.headers,host:`127.0.0.1:${port}`}},r=>{s.statusCode=r.statusCode;for(const [k,v]of Object.entries(r.headers))if(!['content-security-policy','set-cookie','transfer-encoding'].includes(k))s.setHeader(k,v);r.pipe(s);});
upstream.on('error',()=>{s.statusCode=502;s.end();});q.pipe(upstream);
},forwardPort);
const chrome=launch('/usr/bin/chromium',['--headless','--no-sandbox','--disable-dev-shm-usage','--disable-background-networking','--no-first-run','--remote-allow-origins=*','--remote-debugging-port=19222',`--user-data-dir=${root}/chromium`,'about:blank']);await wait(19222);
const targets=await (await fetch('http://127.0.0.1:19222/json')).json();
const ws=new WebSocket(targets.find(t=>t.type==='page').webSocketDebuggerUrl);await new Promise((r,j)=>{ws.onopen=r;ws.onerror=j;});
let serial=0;const pending=new Map(),exceptions=[];
ws.onmessage=e=>{const m=JSON.parse(e.data);if(m.id){const p=pending.get(m.id);pending.delete(m.id);m.error?p.reject(Error(JSON.stringify(m.error))):p.resolve(m.result);}else if(m.method==='Runtime.exceptionThrown')exceptions.push(m.params.exceptionDetails.text+' '+(m.params.exceptionDetails.exception?.description??''));};
const call=(method,params={})=>new Promise((resolve,reject)=>{const id=++serial;pending.set(id,{resolve,reject});ws.send(JSON.stringify({id,method,params}));});
const evaluate=async expression=>(await call('Runtime.evaluate',{expression,returnByValue:true,awaitPromise:true}));
await call('Runtime.enable');await call('Page.enable');
for(const mode of ['plain','sandbox']){
sandbox=mode==='sandbox';exceptions.length=0;forwarded.length=0;
await call('Page.navigate',{url:`http://127.0.0.1:${forwardPort}/proxy/management.html`});await delay(2500);
console.log('panel',mode,'initial',JSON.stringify(await evaluate(`({text:document.body.innerText.slice(0,1800),inputs:[...document.querySelectorAll('input')].map(x=>({type:x.type,placeholder:x.placeholder,value:x.value})),buttons:[...document.querySelectorAll('button')].map(x=>x.innerText)})`)));
console.log('panel',mode,'storage',JSON.stringify(await evaluate(`(()=>{try{return {available:!!localStorage}}catch(e){return {error:e.name,message:e.message}}})()`)));
await evaluate(`document.querySelector('input[type=checkbox]')?.click()`);await delay(300);
// React input setter; same panel base URL explicitly includes the forward prefix.
console.log('panel',mode,'login interaction',JSON.stringify(await evaluate(`(()=>{const inputs=[...document.querySelectorAll('input')];const setter=Object.getOwnPropertyDescriptor(HTMLInputElement.prototype,'value').set;const base=inputs.find(x=>x.type!=='password'&&x.type!=='checkbox');if(base){setter.call(base,'http://127.0.0.1:${forwardPort}/proxy');base.dispatchEvent(new Event('input',{bubbles:true}));}const pass=inputs.find(x=>x.type==='password');if(pass){setter.call(pass,'p1-management');pass.dispatchEvent(new Event('input',{bubbles:true}));}return inputs.map(x=>({type:x.type,value:x.type==='password'?'[fixture]':x.value}));})()`)));
await delay(300);await evaluate(`(()=>{const b=[...document.querySelectorAll('button')].find(x=>/connect|login|登录|连接/i.test(x.innerText));b?.click();return b?.innerText})()`);await delay(2500);
console.log('panel',mode,'after login',JSON.stringify(await evaluate(`document.body.innerText.slice(0,2000)`)));
console.log('panel',mode,'requests',JSON.stringify(forwarded));console.log('panel',mode,'exceptions',JSON.stringify(exceptions));
}
console.log('sandbox explicit null-origin fetch',JSON.stringify(await evaluate(`fetch('http://127.0.0.1:${forwardPort}/proxy/v8/management/config/access/api-keys',{headers:{Authorization:'Bearer p1-management'},credentials:'include'}).then(async r=>({status:r.status,body:await r.text()})).catch(e=>({error:e.name,message:e.message}))`)));console.log('sandbox explicit requests',JSON.stringify(forwarded));
for(const callback of ['/proxy/callback?code=fixture','/proxy/auth/callback?code=fixture']){const r=await fetch(`http://127.0.0.1:${forwardPort}${callback}`);console.log('forward callback',callback,r.status);}
ws.close();chrome.kill('SIGTERM');
const settings=path.join(root,'claude-settings.json'),mcp=path.join(root,'mcp.json');fs.writeFileSync(settings,'{}');fs.writeFileSync(mcp,JSON.stringify({mcpServers:{}}));
for(const key of ['wrong','p1-revoked']){
const chome=path.join(root,`claude-${key}`);fs.mkdirSync(chome);
const c=launch('/usr/bin/timeout',['-k','2','45','/home/jwoltje/.local/bin/claude','-p','Reply hello.','--model','claude-sonnet-5-5','--output-format','text','--restricted','--tools','','--permission-mode','dontAsk','--settings',settings,'--strict-mcp-config','--mcp-config',mcp,'--disable-slash-commands'],{env:{...env,HOME:chome,ANTHROPIC_BASE_URL:`http://127.0.0.1:${port}`,ANTHROPIC_AUTH_TOKEN:key,CLAUDE_CODE_DISABLE_NONESSENTIAL_TRAFFIC:'1'}});
const index=children.length-1;const result=await new Promise(r=>c.on('close',(code,signal)=>r({code,signal})));console.log('Claude Code wrong/revoked key',key,JSON.stringify(result),'output',JSON.stringify(fs.readFileSync(path.join(root,`${index}.stdout`),'utf8').slice(0,2000)));
}
}
console.log('acceptance probes complete');
}finally{for(const child of children)child.kill('SIGTERM');for(const s of servers)s.closeAllConnections?.();for(const s of servers)s.close();}
@@ -0,0 +1,13 @@
#!/usr/bin/env bash
# Explicit acceptance, never part of scripts/test-*.sh; no host proxy introspection.
set -euo pipefail
HERE=$(cd "$(dirname "$0")" && pwd)
ASSETS=${1:?download root required}
MODE=${2:-full}
export TMPDIR=$(mktemp -d /mnt/storage/scratch/tmp/XXXXXX)
timeout -k 10 240 nice -n $((19 - $(nice))) unshare -rn bash -c '
set -e
ip link set lo up
export P1_ISOLATED=yes
exec node "$1/acceptance.mjs" "$TMPDIR" "$2" "$3"
' bash "$HERE" "$ASSETS" "$MODE"
@@ -0,0 +1,14 @@
[2026-10-24 14:25:55] [0c57327f] [warn ] [gin_logger.go:111] 401 | 0s | 127.0.0.1 | POST "/v1/messages?beta=true"
[2026-10-24 14:25:56] [f8b1d5d3] [warn ] [gin_logger.go:111] 401 | 0s | 127.0.0.1 | POST "/v1/messages?beta=true"
[2026-10-24 14:25:57] [b6b42520] [warn ] [gin_logger.go:111] 401 | 0s | 127.0.0.1 | POST "/v1/messages?beta=true"
[2026-10-24 14:25:59] [fdef34a5] [warn ] [gin_logger.go:111] 401 | 0s | 127.0.0.1 | POST "/v1/messages?beta=true"
[2026-10-24 14:26:04] [7dfebc40] [warn ] [gin_logger.go:111] 401 | 0s | 127.0.0.1 | POST "/v1/messages?beta=true"
[2026-10-24 14:26:12] [ef0c1281] [warn ] [gin_logger.go:111] 401 | 0s | 127.0.0.1 | POST "/v1/messages?beta=true"
[2026-10-24 14:26:29] [a57da9d8] [warn ] [gin_logger.go:111] 401 | 0s | 127.0.0.1 | POST "/v1/messages?beta=true"
[2026-10-24 14:26:40] [4573e4c4] [warn ] [gin_logger.go:111] 401 | 0s | 127.0.0.1 | POST "/v1/messages?beta=true"
[2026-10-24 14:26:41] [4c48fe38] [warn ] [gin_logger.go:111] 401 | 0s | 127.0.0.1 | POST "/v1/messages?beta=true"
[2026-10-24 14:26:42] [e28d6dac] [warn ] [gin_logger.go:111] 401 | 0s | 127.0.0.1 | POST "/v1/messages?beta=true"
[2026-10-24 14:26:44] [30d5a01e] [warn ] [gin_logger.go:111] 401 | 0s | 127.0.0.1 | POST "/v1/messages?beta=true"
[2026-10-24 14:26:48] [8ad4b4b7] [warn ] [gin_logger.go:111] 401 | 0s | 127.0.0.1 | POST "/v1/messages?beta=true"
[2026-10-24 14:26:57] [11396dd0] [warn ] [gin_logger.go:111] 401 | 0s | 127.0.0.1 | POST "/v1/messages?beta=true"
[2026-10-24 14:27:14] [1cdba68c] [warn ] [gin_logger.go:111] 401 | 0s | 127.0.0.1 | POST "/v1/messages?beta=true"
@@ -0,0 +1,19 @@
command: ["node", "--test", "/home/jwoltje/.t3/worktrees/mosaic-stack/magica-row329/packages/bus/tests/model-proxy.test.mjs"]
TMPDIR: /mnt/storage/scratch/tmp/bTrsYr
launch nice: 19
✔ proxy.init only accepts path-bound outside-agent human; refuses agent/tester/reader (22.001114ms)
✔ proxy.init proxy-key-invalid (12.495581ms)
✔ proxy.init proxy-config-invalid (12.799141ms)
✔ proxy.init invalid-request (12.031243ms)
✔ proxy.init not-configured (11.470404ms)
✔ proxy.init callback error redacts key and maps outcome to named refusal (11.928112ms)
✔ socket awaits proxy.init and does not return a Promise object or retain human cap (34.01592ms)
✔ proxy-init-failed: extra callback fields cannot return a management key (13.259736ms)
ℹ tests 8
ℹ suites 0
ℹ pass 8
ℹ fail 0
ℹ cancelled 0
ℹ skipped 0
ℹ todo 0
ℹ duration_ms 223.366823
@@ -0,0 +1,20 @@
command: ["node", "--test", "/home/jwoltje/.t3/worktrees/mosaic-stack/magica-row329/packages/cli/tests/model-proxy.test.mjs"]
TMPDIR: /mnt/storage/scratch/tmp/bTrsYr
launch nice: 19
✔ proxy init agent and tester refuse before prompting or transport (1.292032ms)
✔ proxy init prompts twice through no-echo seam and sends key only through human transport (1.131391ms)
✔ proxy-key-mismatch: confirmation refuses without bus call (0.393465ms)
✔ proxy-terminal-required: stdin redirection refuses (0.331981ms)
✔ proxy-usage: invalid verb and repeated flags refuse (0.565751ms)
✔ proxy-config-invalid: port 8317 refuses before prompting (0.347143ms)
✔ proxy-key-invalid: empty prompt refuses without printing input (0.381729ms)
✔ real no-echo prompt restores terminal state and never writes the key (0.910677ms)
✔ real no-echo prompt ctrl-C refuses and restores echo (0.419524ms)
ℹ tests 9
ℹ suites 0
ℹ pass 9
ℹ fail 0
ℹ cancelled 0
ℹ skipped 0
ℹ todo 0
ℹ duration_ms 161.669135
@@ -0,0 +1,27 @@
command: ["node", "--test", "/home/jwoltje/.t3/worktrees/mosaic-stack/magica-row329/packages/model-proxy/tests/client.test.mjs"]
TMPDIR: /mnt/storage/scratch/tmp/bTrsYr
launch nice: 19
✔ proxy-client-invalid: https://127.0.0.1:18318 (1.107341ms)
✔ proxy-client-invalid: http://example.com:18318 (0.130074ms)
✔ proxy-client-invalid: http://localhost:18318 (0.081768ms)
✔ proxy-client-invalid: http://127.0.0.1:8317 (0.083355ms)
✔ proxy-client-invalid: http://user:[email protected]:18318 (0.093861ms)
✔ proxy-client-invalid: http://127.0.0.1:18318/path (0.083517ms)
✔ client GET/PUT v8 only, Authorization header, receipt IDs without values or bodies (21.421201ms)
✔ proxy-client-refused (3.58892ms)
✔ proxy-client-response (2.46659ms)
✔ proxy-client-redirect (1.398621ms)
✔ proxy-client-down: transport errors redact details (1.169076ms)
✔ proxy-client-invalid: PUT rejects object key records and empty strings locally (0.209769ms)
✔ proxy-management-key-invalid: missing, symlink and public key file refuse without values (1.213052ms)
✔ bus management-key loader supplies a private fixture key without exposing it on the client (0.58163ms)
✔ proxy-client-response: truncated response remains a redacted named refusal (12.893923ms)
✔ management client ignores ambient fetch dispatchers (1.614034ms)
ℹ tests 16
ℹ suites 0
ℹ pass 16
ℹ fail 0
ℹ cancelled 0
ℹ skipped 0
ℹ todo 0
ℹ duration_ms 119.49347
@@ -0,0 +1,24 @@
command: ["node", "--test", "/home/jwoltje/.t3/worktrees/mosaic-stack/magica-row329/packages/model-proxy/tests/config-unit.test.mjs"]
TMPDIR: /mnt/storage/scratch/tmp/bTrsYr
launch nice: 19
✔ loader proxy absent is byte-compatible; present validates sidecar and preserves config.json (86.134497ms)
✔ proxy-config-invalid: loader refuses an unknown sidecar key and binary outside pinned install (143.321377ms)
✔ proxy unit and bus dependency render default and named instance only when configured (276.591632ms)
✔ proxy-not-configured: runner and unit render refuse absent sidecar (104.640115ms)
✔ proxy-install-invalid: unit runner refuses tampered executable before spawning (100.758568ms)
✔ proxy-unit-usage (49.940866ms)
✔ proxy-unit-exists (52.610857ms)
✔ proxy-unit-dropin (53.983874ms)
✔ proxy-unit-path (59.327826ms)
✔ proxy-config-invalid: instance selection also refuses invalid present sidecar (52.506423ms)
✔ explicit unit install writes only a scratch user unit and refuses a repeat (107.271134ms)
✔ proxy-unit-copy: renderer refuses an unknown or unpinned stack copy (51.244228ms)
✔ historical no-proxy config loader works without new package dependency (25.55588ms)
ℹ tests 13
ℹ suites 0
ℹ pass 13
ℹ fail 0
ℹ cancelled 0
ℹ skipped 0
ℹ todo 0
ℹ duration_ms 1244.732304
@@ -0,0 +1,19 @@
command: ["node", "--test", "/home/jwoltje/.t3/worktrees/mosaic-stack/magica-row329/packages/model-proxy/tests/fetch.test.mjs"]
TMPDIR: /mnt/storage/scratch/tmp/bTrsYr
launch nice: 19
✔ verified fetch installs binary and panel together; identical repeat is idempotent (19.691069ms)
✔ proxy-fetch-hash: either bad asset installs nothing (7.191229ms)
✔ proxy-fetch-existing: conflicting install remains byte-identical (8.884597ms)
✔ proxy-fetch-archive: missing executable in verified archive refuses without install (9.743912ms)
✔ proxy-fetch-url: production downloader permits pinned GitHub release URLs only (0.70142ms)
✔ local fake server covers redirect off allowlist and HTTP failure without external fetch (24.613441ms)
✔ proxy-fetch-existing: extra content in an existing install refuses (15.063909ms)
✔ local fake file server success and same-origin redirect return exact bytes (11.564505ms)
ℹ tests 8
ℹ suites 0
ℹ pass 8
ℹ fail 0
ℹ cancelled 0
ℹ skipped 0
ℹ todo 0
ℹ duration_ms 177.170425
@@ -0,0 +1,14 @@
command: ["node", "--test", "/home/jwoltje/.t3/worktrees/mosaic-stack/magica-row329/packages/model-proxy/tests/runner.test.mjs"]
TMPDIR: /mnt/storage/scratch/tmp/bTrsYr
launch nice: 19
✔ runner verifies before spawning and supplies pinned panel and local model without ambient secrets (1.344665ms)
✔ proxy-start-failed: sync and async spawn failures report code only (0.539424ms)
✔ hash refusal prevents spawn and ordinary exit status is propagated (0.256786ms)
ℹ tests 3
ℹ suites 0
ℹ pass 3
ℹ fail 0
ℹ cancelled 0
ℹ skipped 0
ℹ todo 0
ℹ duration_ms 73.721032
@@ -0,0 +1,30 @@
command: ["node", "--test", "/home/jwoltje/.t3/worktrees/mosaic-stack/magica-row329/packages/model-proxy/tests/settings.test.mjs"]
TMPDIR: /mnt/storage/scratch/tmp/bTrsYr
launch nice: 19
✔ absent proxy settings preserves no-proxy contract; present settings validate pinned path (1.846201ms)
✔ proxy-config-invalid: unknown (0.460617ms)
✔ proxy-config-invalid: missing (0.174041ms)
✔ proxy-config-invalid: low (0.65088ms)
✔ proxy-config-invalid: high (0.177839ms)
✔ proxy-config-invalid: host (0.162754ms)
✔ proxy-config-invalid: string (0.230744ms)
✔ proxy-config-invalid: binary (0.17845ms)
✔ proxy-config-invalid: null (0.168819ms)
✔ proxy-config-invalid: malformed or symlink settings refuse (0.67631ms)
✔ proxy-install-missing: init requires fetch before any state is written (0.767812ms)
✔ proxy-install-invalid: binary or panel mutation refuses (0.507922ms)
✔ proxy-key-invalid: empty, multiline and too-long key refuse before creation (0.893913ms)
✔ exclusive initialization writes private sentinel config, never rewrites config.json or exposes key (7.461291ms)
✔ proxy-port-in-use: init refuses occupied loopback without files (2.130005ms)
✔ proxy-init-busy: existing lock refuses without touching it (1.273547ms)
✔ proxy-init-failed: symlink or non-private secrets directory refuses without changing it (0.868646ms)
✔ proxy-already-initialized: each existing target is preserved and never followed (1.265115ms)
✔ proxy-install-invalid: modified panel also refuses (0.371958ms)
ℹ tests 19
ℹ suites 0
ℹ pass 19
ℹ fail 0
ℹ cancelled 0
ℹ skipped 0
ℹ todo 0
ℹ duration_ms 94.08478
@@ -0,0 +1,6 @@
command: ["npm", "ci", "--offline", "--ignore-scripts", "--no-audit", "--no-fund"]
TMPDIR: /mnt/storage/scratch/tmp/OS9Bg5
launch nice: 19
npm warn deprecated [email protected]: Use your platform's native DOMException instead
added 128 packages in 2s
@@ -0,0 +1,5 @@
command: ["npm", "ci", "--offline", "--ignore-scripts", "--no-audit", "--no-fund"]
TMPDIR: /mnt/storage/scratch/tmp/OS9Bg5
launch nice: 19
added 2 packages in 222ms
@@ -0,0 +1,9 @@
{"label": "npm-root", "rc": 0, "nice": 19, "seconds": 1.76, "log": "agents/magica/work/queue-329/gate/npm-root.txt"}
{"label": "npm-webui", "rc": 0, "nice": 19, "seconds": 0.27, "log": "agents/magica/work/queue-329/gate/npm-webui.txt"}
{"label": "model-proxy-client.test", "rc": 0, "nice": 19, "seconds": 0.15, "log": "agents/magica/work/queue-329/gate/model-proxy-client.test.txt"}
{"label": "model-proxy-config-unit.test", "rc": 0, "nice": 19, "seconds": 1.29, "log": "agents/magica/work/queue-329/gate/model-proxy-config-unit.test.txt"}
{"label": "model-proxy-fetch.test", "rc": 0, "nice": 19, "seconds": 0.21, "log": "agents/magica/work/queue-329/gate/model-proxy-fetch.test.txt"}
{"label": "model-proxy-runner.test", "rc": 0, "nice": 19, "seconds": 0.11, "log": "agents/magica/work/queue-329/gate/model-proxy-runner.test.txt"}
{"label": "model-proxy-settings.test", "rc": 0, "nice": 19, "seconds": 0.12, "log": "agents/magica/work/queue-329/gate/model-proxy-settings.test.txt"}
{"label": "bus-model-proxy.test", "rc": 0, "nice": 19, "seconds": 0.25, "log": "agents/magica/work/queue-329/gate/bus-model-proxy.test.txt"}
{"label": "cli-model-proxy.test", "rc": 0, "nice": 19, "seconds": 0.19, "log": "agents/magica/work/queue-329/gate/cli-model-proxy.test.txt"}
@@ -0,0 +1,3 @@
1e10566fe0042ed5a9b80306cf296bf86a83de590cd967a8b177988b896c8d31 /mnt/storage/scratch/tmp/muoz5Z/CLIProxyAPI_8.0.42_linux_amd64.tar.gz
8c9c6b7d3fb311e6aad5d06e1993e53a2d28389e640448a1bc6304ed20b057b5 /mnt/storage/scratch/tmp/muoz5Z/management.html
74661f8cf949977870231359e8bf4344e07946766a673c08fa25a3e5f72fc95e /mnt/storage/scratch/tmp/muoz5Z/release/cli-proxy-api
@@ -0,0 +1,84 @@
# Reconcile final per-file evidence only; executes no tests.
from pathlib import Path
import json,re
BASE=Path(__file__).resolve().parent
REPO=BASE.parents[3]
OUT=BASE/'gate'
CLI_READERS={'host.test','stack-copy.test','stack-instances.test','stack-release-external.test','stack-release.test','stack-upgrade.test','verbs.test'}
all_receipts=[]
for file in [OUT/'runs.jsonl',OUT/'resume-mos1605-runs.jsonl']:
all_receipts += [json.loads(line) for line in file.read_text().splitlines()]
latest={r['label']:r for r in all_receipts}
def read(label):
r=latest[label];assert r['rc']==0 and r['nice']==19,r
text=(OUT/(label+'.txt')).read_text()
result={}
for key in ['tests','pass','fail','skipped','cancelled']:
matches=re.findall(r'^(?:ℹ |# )'+key+r' (\d+)',text,re.M);assert matches,(label,key);result[key]=int(matches[-1])
assert result['fail']==0 and result['cancelled']==0,(label,result)
return {'label':label,'log':str((OUT/(label+'.txt')).relative_to(REPO)),'counts':result,'rc':r['rc'],'nice':r['nice']}
groups={}
for suite in ['model-proxy','bus','cli']:
total={k:0 for k in ['tests','pass','fail','skipped','cancelled']};mapping=[]
for file in sorted((REPO/f'packages/{suite}/tests').glob('*.test.mjs')):
if suite=='model-proxy' and file.stem=='management-key-encoding.test':continue # introduced in R2, mapped below
label=f'{suite}-{file.stem}'
if suite=='model-proxy' or suite=='cli' and file.stem in CLI_READERS:label='post-unit-fix-'+label
if suite=='cli' and file.stem=='case1-accept.test':label='cli-case1-accept.rerun-mos1605'
row=read(label);row['file']=str(file.relative_to(REPO));mapping.append(row)
for k in total:total[k]+=row['counts'][k]
groups[suite]={'files':len(mapping),**total,'mapping':mapping}
assert total['skipped']==(1 if suite=='cli' else 0),(suite,total)
groups['webui-pinned-copy']=read('post-unit-fix-webui-pinned-copy.test')
groups['federation-runner']=read('test-federation-acceptance.sh')
assert groups['federation-runner']['counts']['pass']==1 and groups['federation-runner']['counts']['skipped']==0
assert latest['test-config.sh']['rc']==0 and 'selftest: 55 passed, 0 failed' in (OUT/'test-config.sh.txt').read_text()
groups['config-script']={'rc':0,'pass':55,'fail':0,'log':'agents/magica/work/queue-329/gate/test-config.sh.txt'}
groups['history']={'initialRed':'gate/cli-case1-accept.test.txt','diagnostic':'mos-1604:20focused+3whole,179pass,no gate credit','unchangedRerun':'mos-1605:53pass','cause':'F7 unknown; Vikunja625','landingGate':'Sage must independently pass'}
# R1 whole-suite history stays distinct from the R2 targeted reruns.
groups['round1-model-proxy']=groups['model-proxy']
r2=[json.loads(line) for line in (BASE/'gate-r2/runs.jsonl').read_text().splitlines()]
by_label={row['label']:row for row in r2}
assert len(by_label)==len(r2), 'no repeated R2 invocations'
def r2row(label):
row=by_label[label]
assert row['rc']==0 and row['nice']==19,row
if label!='test-config.sh':
assert row['counts']['fail']==row['counts']['cancelled']==row['counts']['skipped']==0,row
return row
def aggregate(rows):
return {'files':len(rows),**{k:sum(row['counts'][k] for row in rows) for k in ['tests','pass','fail','skipped','cancelled']},'mapping':rows}
models=[]
for file in sorted((REPO/'packages/model-proxy/tests').glob('*.test.mjs')):
row=dict(r2row('model-proxy-'+file.stem));row['file']=str(file.relative_to(REPO));models.append(row)
groups['model-proxy']=aggregate(models)
readers=[]
for name in json.loads((BASE/'r2-reader-files.json').read_text()):
file=Path(name)
label='cli-federation-acceptance-runner' if file.name=='federation-acceptance.test.mjs' else file.parts[1]+'-'+file.stem
row=dict(r2row(label));row['file']=name;readers.append(row)
config=r2row('test-config.sh')
assert 'selftest: 55 passed, 0 failed' in (REPO/config['log']).read_text()
extras=[r2row('cli-case1-accept.test'),r2row('cli-case2-unit.test')]
assert len(r2)==len(models)+len(readers)+len(extras)+1
round2={'model-proxy':groups['model-proxy'],'readers':aggregate(readers),
'bus-readers':aggregate([row for row in readers if row['file'].startswith('packages/bus/')]),
'cli-readers':aggregate([row for row in readers if row['file'].startswith('packages/cli/')]),
'config-script':{**config,'pass':55,'fail':0},'over-selected-extra-runs':extras,
'extra-run-note':'case1-accept 53/53 in 247.863 s through over-selection, not an F7 diagnostic or evidence about F7 either way. F7 cause unknown; Vikunja 625. case2-unit completed per sage-4277. Neither repeated.'}
groups['round2']=round2
(OUT/'FINAL-COUNTS.json').write_text(json.dumps(groups,indent=2)+'\n')
lines=[]
for suite in ['model-proxy','bus','cli']:
g=groups[suite];prefix='R2 current package' if suite=='model-proxy' else 'R1 whole suite (not rerun whole in R2)'
lines.append(f"{prefix} {suite}: {g['files']}files {g['tests']}tests {g['pass']}pass {g['fail']}fail {g['skipped']}skip {g['cancelled']}cancel")
for suite in ['bus-readers','cli-readers']:
g=round2[suite];lines.append(f"R2 {suite}: {g['files']}files {g['tests']}tests {g['pass']}pass {g['fail']}fail {g['skipped']}skip")
lines += ['R2 config:55/55; federation official runner included in CLI readers:1/1 no skip.',
'R1 webui pinned-copy:10/10; config:55/55; federation runner:1/1 no skip.',
'R1 CLI listed skip: packages/cli/tests/federation-acceptance.test.mjs, FED R7; covered by the official acceptance runner.',
'R2 over-selection extras: case1-accept53/53 in247.863s; case2-unit47/47 in71.829s. Not required reader coverage.',
'The over-selected case1-accept run is not an F7 diagnostic or evidence about F7 either way. F7 cause unknown; Vikunja625.',
'Initial old red and scratch diagnostic remain separate; mos-1605 unchanged original rerun53/53. Sage landing gate must independently pass.']
(OUT/'FINAL-COUNTS.txt').write_text('\n'.join(lines)+'\n')
print('\n'.join(lines))
@@ -0,0 +1,6 @@
{"label": "post-unit-fix-cli-host.test", "rc": 0, "nice": 19, "begin": {"utc": "2026-10-24T20:39:03.617+00:00", "load1": "2.07"}, "end": {"utc": "2026-10-24T20:39:15.879+00:00", "load1": "2.05"}, "seconds": 12.262, "counts": {"tests": 43, "pass": 43, "fail": 0, "skipped": 0, "cancelled": 0}, "failure_events": [], "log": "agents/magica/work/queue-329/gate/post-unit-fix-cli-host.test.txt"}
{"label": "post-unit-fix-cli-stack-release-external.test", "rc": 0, "nice": 19, "begin": {"utc": "2026-10-24T20:39:15.880+00:00", "load1": "2.05"}, "end": {"utc": "2026-10-24T20:40:39.646+00:00", "load1": "3.19"}, "seconds": 83.766, "counts": {"tests": 25, "pass": 25, "fail": 0, "skipped": 0, "cancelled": 0}, "failure_events": [], "log": "agents/magica/work/queue-329/gate/post-unit-fix-cli-stack-release-external.test.txt"}
{"label": "post-unit-fix-cli-stack-release.test", "rc": 0, "nice": 19, "begin": {"utc": "2026-10-24T20:40:39.648+00:00", "load1": "3.19"}, "end": {"utc": "2026-10-24T20:52:43.095+00:00", "load1": "6.67"}, "seconds": 723.448, "counts": {"tests": 224, "pass": 224, "fail": 0, "skipped": 0, "cancelled": 0}, "failure_events": [], "log": "agents/magica/work/queue-329/gate/post-unit-fix-cli-stack-release.test.txt"}
{"label": "post-unit-fix-cli-stack-upgrade.test", "rc": 0, "nice": 19, "begin": {"utc": "2026-10-24T20:52:43.099+00:00", "load1": "6.67"}, "end": {"utc": "2026-10-24T20:54:20.710+00:00", "load1": "7.47"}, "seconds": 97.612, "counts": {"tests": 21, "pass": 21, "fail": 0, "skipped": 0, "cancelled": 0}, "failure_events": [], "log": "agents/magica/work/queue-329/gate/post-unit-fix-cli-stack-upgrade.test.txt"}
{"label": "post-unit-fix-cli-verbs.test", "rc": 0, "nice": 19, "begin": {"utc": "2026-10-24T20:54:20.712+00:00", "load1": "7.47"}, "end": {"utc": "2026-10-24T20:54:24.299+00:00", "load1": "7.47"}, "seconds": 3.587, "counts": {"tests": 9, "pass": 9, "fail": 0, "skipped": 0, "cancelled": 0}, "failure_events": [], "log": "agents/magica/work/queue-329/gate/post-unit-fix-cli-verbs.test.txt"}
Final five reader files complete.
@@ -0,0 +1,125 @@
{"label": "model-proxy-client.test", "rc": 0, "nice": 19, "seconds": 0.15, "log": "agents/magica/work/queue-329/gate/model-proxy-client.test.txt"}
{"label": "model-proxy-config-unit.test", "rc": 0, "nice": 19, "seconds": 1.38, "log": "agents/magica/work/queue-329/gate/model-proxy-config-unit.test.txt"}
{"label": "model-proxy-fetch.test", "rc": 0, "nice": 19, "seconds": 0.25, "log": "agents/magica/work/queue-329/gate/model-proxy-fetch.test.txt"}
{"label": "model-proxy-runner.test", "rc": 0, "nice": 19, "seconds": 0.12, "log": "agents/magica/work/queue-329/gate/model-proxy-runner.test.txt"}
{"label": "model-proxy-settings.test", "rc": 0, "nice": 19, "seconds": 0.16, "log": "agents/magica/work/queue-329/gate/model-proxy-settings.test.txt"}
{"label": "bus-access-revoke.test", "rc": 0, "nice": 19, "seconds": 0.54, "log": "agents/magica/work/queue-329/gate/bus-access-revoke.test.txt"}
{"label": "bus-account-migration.test", "rc": 0, "nice": 19, "seconds": 0.44, "log": "agents/magica/work/queue-329/gate/bus-account-migration.test.txt"}
{"label": "bus-address.test", "rc": 0, "nice": 19, "seconds": 0.1, "log": "agents/magica/work/queue-329/gate/bus-address.test.txt"}
{"label": "bus-agents.test", "rc": 0, "nice": 19, "seconds": 0.48, "log": "agents/magica/work/queue-329/gate/bus-agents.test.txt"}
{"label": "bus-approval-binding.test", "rc": 0, "nice": 19, "seconds": 0.3, "log": "agents/magica/work/queue-329/gate/bus-approval-binding.test.txt"}
{"label": "bus-broker.test", "rc": 0, "nice": 19, "seconds": 0.49, "log": "agents/magica/work/queue-329/gate/bus-broker.test.txt"}
{"label": "bus-business.test", "rc": 0, "nice": 19, "seconds": 0.1, "log": "agents/magica/work/queue-329/gate/bus-business.test.txt"}
{"label": "bus-channel-proof.test", "rc": 0, "nice": 19, "seconds": 0.6, "log": "agents/magica/work/queue-329/gate/bus-channel-proof.test.txt"}
{"label": "bus-chief-of-staff.test", "rc": 0, "nice": 19, "seconds": 2.73, "log": "agents/magica/work/queue-329/gate/bus-chief-of-staff.test.txt"}
{"label": "bus-citation-availability.test", "rc": 0, "nice": 19, "seconds": 5.36, "log": "agents/magica/work/queue-329/gate/bus-citation-availability.test.txt"}
{"label": "bus-citation-guard.test", "rc": 0, "nice": 19, "seconds": 1.08, "log": "agents/magica/work/queue-329/gate/bus-citation-guard.test.txt"}
{"label": "bus-citation-runtime.test", "rc": 0, "nice": 19, "seconds": 0.31, "log": "agents/magica/work/queue-329/gate/bus-citation-runtime.test.txt"}
{"label": "bus-comment-cursors.test", "rc": 0, "nice": 19, "seconds": 0.15, "log": "agents/magica/work/queue-329/gate/bus-comment-cursors.test.txt"}
{"label": "bus-comment-migration.test", "rc": 0, "nice": 19, "seconds": 0.65, "log": "agents/magica/work/queue-329/gate/bus-comment-migration.test.txt"}
{"label": "bus-console-decide.test", "rc": 0, "nice": 19, "seconds": 0.87, "log": "agents/magica/work/queue-329/gate/bus-console-decide.test.txt"}
{"label": "bus-creative.test", "rc": 0, "nice": 19, "seconds": 0.41, "log": "agents/magica/work/queue-329/gate/bus-creative.test.txt"}
{"label": "bus-credential-claim.test", "rc": 0, "nice": 19, "seconds": 0.16, "log": "agents/magica/work/queue-329/gate/bus-credential-claim.test.txt"}
{"label": "bus-credential-status.test", "rc": 0, "nice": 19, "seconds": 0.37, "log": "agents/magica/work/queue-329/gate/bus-credential-status.test.txt"}
{"label": "bus-credential-store.test", "rc": 0, "nice": 19, "seconds": 0.17, "log": "agents/magica/work/queue-329/gate/bus-credential-store.test.txt"}
{"label": "bus-credential-verbs.test", "rc": 0, "nice": 19, "seconds": 0.34, "log": "agents/magica/work/queue-329/gate/bus-credential-verbs.test.txt"}
{"label": "bus-credentials.test", "rc": 0, "nice": 19, "seconds": 0.11, "log": "agents/magica/work/queue-329/gate/bus-credentials.test.txt"}
{"label": "bus-csuite-messaging.test", "rc": 0, "nice": 19, "seconds": 0.75, "log": "agents/magica/work/queue-329/gate/bus-csuite-messaging.test.txt"}
{"label": "bus-daily-quota-runtime.test", "rc": 0, "nice": 19, "seconds": 0.4, "log": "agents/magica/work/queue-329/gate/bus-daily-quota-runtime.test.txt"}
{"label": "bus-decision-close.test", "rc": 0, "nice": 19, "seconds": 0.39, "log": "agents/magica/work/queue-329/gate/bus-decision-close.test.txt"}
{"label": "bus-decision-route.test", "rc": 0, "nice": 19, "seconds": 0.3, "log": "agents/magica/work/queue-329/gate/bus-decision-route.test.txt"}
{"label": "bus-decisions.test", "rc": 0, "nice": 19, "seconds": 0.47, "log": "agents/magica/work/queue-329/gate/bus-decisions.test.txt"}
{"label": "bus-end-launch.test", "rc": 0, "nice": 19, "seconds": 0.4, "log": "agents/magica/work/queue-329/gate/bus-end-launch.test.txt"}
{"label": "bus-fire-revokes-grants.test", "rc": 0, "nice": 19, "seconds": 4.03, "log": "agents/magica/work/queue-329/gate/bus-fire-revokes-grants.test.txt"}
{"label": "bus-gitea-grant-docker.test", "rc": 0, "nice": 19, "seconds": 26.18, "log": "agents/magica/work/queue-329/gate/bus-gitea-grant-docker.test.txt"}
{"label": "bus-gitea-grant.test", "rc": 0, "nice": 19, "seconds": 11.98, "log": "agents/magica/work/queue-329/gate/bus-gitea-grant.test.txt"}
{"label": "bus-gitea-migration.test", "rc": 0, "nice": 19, "seconds": 0.44, "log": "agents/magica/work/queue-329/gate/bus-gitea-migration.test.txt"}
{"label": "bus-grant-enroll.test", "rc": 0, "nice": 19, "seconds": 1.81, "log": "agents/magica/work/queue-329/gate/bus-grant-enroll.test.txt"}
{"label": "bus-grant-executor.test", "rc": 0, "nice": 19, "seconds": 22.58, "log": "agents/magica/work/queue-329/gate/bus-grant-executor.test.txt"}
{"label": "bus-grant-host.test", "rc": 0, "nice": 19, "seconds": 0.46, "log": "agents/magica/work/queue-329/gate/bus-grant-host.test.txt"}
{"label": "bus-grant-migration.test", "rc": 0, "nice": 19, "seconds": 0.51, "log": "agents/magica/work/queue-329/gate/bus-grant-migration.test.txt"}
{"label": "bus-grant-scope-runtime.test", "rc": 0, "nice": 19, "seconds": 0.24, "log": "agents/magica/work/queue-329/gate/bus-grant-scope-runtime.test.txt"}
{"label": "bus-grant-scope.test", "rc": 0, "nice": 19, "seconds": 1.36, "log": "agents/magica/work/queue-329/gate/bus-grant-scope.test.txt"}
{"label": "bus-hard-waits.test", "rc": 0, "nice": 19, "seconds": 1.57, "log": "agents/magica/work/queue-329/gate/bus-hard-waits.test.txt"}
{"label": "bus-host-run.test", "rc": 0, "nice": 19, "seconds": 14.99, "log": "agents/magica/work/queue-329/gate/bus-host-run.test.txt"}
{"label": "bus-host-tools.test", "rc": 0, "nice": 19, "seconds": 3.94, "log": "agents/magica/work/queue-329/gate/bus-host-tools.test.txt"}
{"label": "bus-human.test", "rc": 0, "nice": 19, "seconds": 0.1, "log": "agents/magica/work/queue-329/gate/bus-human.test.txt"}
{"label": "bus-instances-verb.test", "rc": 0, "nice": 19, "seconds": 0.33, "log": "agents/magica/work/queue-329/gate/bus-instances-verb.test.txt"}
{"label": "bus-interpreter.test", "rc": 0, "nice": 19, "seconds": 0.15, "log": "agents/magica/work/queue-329/gate/bus-interpreter.test.txt"}
{"label": "bus-land.test", "rc": 0, "nice": 19, "seconds": 0.97, "log": "agents/magica/work/queue-329/gate/bus-land.test.txt"}
{"label": "bus-launch-notice.test", "rc": 0, "nice": 19, "seconds": 0.32, "log": "agents/magica/work/queue-329/gate/bus-launch-notice.test.txt"}
{"label": "bus-launcher-released.test", "rc": 0, "nice": 19, "seconds": 0.25, "log": "agents/magica/work/queue-329/gate/bus-launcher-released.test.txt"}
{"label": "bus-library-credential.test", "rc": 0, "nice": 19, "seconds": 1.48, "log": "agents/magica/work/queue-329/gate/bus-library-credential.test.txt"}
{"label": "bus-library-lookups.test", "rc": 0, "nice": 19, "seconds": 1.31, "log": "agents/magica/work/queue-329/gate/bus-library-lookups.test.txt"}
{"label": "bus-library-sync.test", "rc": 0, "nice": 19, "seconds": 6.95, "log": "agents/magica/work/queue-329/gate/bus-library-sync.test.txt"}
{"label": "bus-library.test", "rc": 0, "nice": 19, "seconds": 0.72, "log": "agents/magica/work/queue-329/gate/bus-library.test.txt"}
{"label": "bus-lifecycle-revoke.test", "rc": 0, "nice": 19, "seconds": 0.8, "log": "agents/magica/work/queue-329/gate/bus-lifecycle-revoke.test.txt"}
{"label": "bus-lifecycle-verbs.test", "rc": 0, "nice": 19, "seconds": 0.6, "log": "agents/magica/work/queue-329/gate/bus-lifecycle-verbs.test.txt"}
{"label": "bus-limit-checks.test", "rc": 0, "nice": 19, "seconds": 0.35, "log": "agents/magica/work/queue-329/gate/bus-limit-checks.test.txt"}
{"label": "bus-limit-stop.test", "rc": 0, "nice": 19, "seconds": 0.35, "log": "agents/magica/work/queue-329/gate/bus-limit-stop.test.txt"}
{"label": "bus-limits-runtime.test", "rc": 0, "nice": 19, "seconds": 0.52, "log": "agents/magica/work/queue-329/gate/bus-limits-runtime.test.txt"}
{"label": "bus-limits.test", "rc": 0, "nice": 19, "seconds": 0.36, "log": "agents/magica/work/queue-329/gate/bus-limits.test.txt"}
{"label": "bus-message-citation.test", "rc": 0, "nice": 19, "seconds": 0.21, "log": "agents/magica/work/queue-329/gate/bus-message-citation.test.txt"}
{"label": "bus-message-filter.test", "rc": 0, "nice": 19, "seconds": 0.61, "log": "agents/magica/work/queue-329/gate/bus-message-filter.test.txt"}
{"label": "bus-messages.test", "rc": 0, "nice": 19, "seconds": 0.56, "log": "agents/magica/work/queue-329/gate/bus-messages.test.txt"}
{"label": "bus-messaging.test", "rc": 0, "nice": 19, "seconds": 0.6, "log": "agents/magica/work/queue-329/gate/bus-messaging.test.txt"}
{"label": "bus-model-proxy.test", "rc": 0, "nice": 19, "seconds": 0.28, "log": "agents/magica/work/queue-329/gate/bus-model-proxy.test.txt"}
{"label": "bus-name-migration.test", "rc": 0, "nice": 19, "seconds": 0.21, "log": "agents/magica/work/queue-329/gate/bus-name-migration.test.txt"}
{"label": "bus-names.test", "rc": 0, "nice": 19, "seconds": 0.29, "log": "agents/magica/work/queue-329/gate/bus-names.test.txt"}
{"label": "bus-peer-transport.test", "rc": 0, "nice": 19, "seconds": 0.19, "log": "agents/magica/work/queue-329/gate/bus-peer-transport.test.txt"}
{"label": "bus-peercred.test", "rc": 0, "nice": 19, "seconds": 0.43, "log": "agents/magica/work/queue-329/gate/bus-peercred.test.txt"}
{"label": "bus-plugins-verb.test", "rc": 0, "nice": 19, "seconds": 0.3, "log": "agents/magica/work/queue-329/gate/bus-plugins-verb.test.txt"}
{"label": "bus-principal.test", "rc": 0, "nice": 19, "seconds": 0.09, "log": "agents/magica/work/queue-329/gate/bus-principal.test.txt"}
{"label": "bus-process.test", "rc": 0, "nice": 19, "seconds": 1.43, "log": "agents/magica/work/queue-329/gate/bus-process.test.txt"}
{"label": "bus-processing-runtime.test", "rc": 0, "nice": 19, "seconds": 0.41, "log": "agents/magica/work/queue-329/gate/bus-processing-runtime.test.txt"}
{"label": "bus-processing-timeout.test", "rc": 0, "nice": 19, "seconds": 0.28, "log": "agents/magica/work/queue-329/gate/bus-processing-timeout.test.txt"}
{"label": "bus-processing-web.test", "rc": 0, "nice": 19, "seconds": 0.14, "log": "agents/magica/work/queue-329/gate/bus-processing-web.test.txt"}
{"label": "bus-processing.test", "rc": 0, "nice": 19, "seconds": 0.39, "log": "agents/magica/work/queue-329/gate/bus-processing.test.txt"}
{"label": "bus-project-await.test", "rc": 0, "nice": 19, "seconds": 0.18, "log": "agents/magica/work/queue-329/gate/bus-project-await.test.txt"}
{"label": "bus-project-files.test", "rc": 0, "nice": 19, "seconds": 0.92, "log": "agents/magica/work/queue-329/gate/bus-project-files.test.txt"}
{"label": "bus-project-runtime.test", "rc": 0, "nice": 19, "seconds": 0.41, "log": "agents/magica/work/queue-329/gate/bus-project-runtime.test.txt"}
{"label": "bus-publish.test", "rc": 0, "nice": 19, "seconds": 0.8, "log": "agents/magica/work/queue-329/gate/bus-publish.test.txt"}
{"label": "bus-reload.test", "rc": 0, "nice": 19, "seconds": 1.04, "log": "agents/magica/work/queue-329/gate/bus-reload.test.txt"}
{"label": "bus-replies.test", "rc": 0, "nice": 19, "seconds": 0.35, "log": "agents/magica/work/queue-329/gate/bus-replies.test.txt"}
{"label": "bus-requirements.test", "rc": 0, "nice": 19, "seconds": 0.2, "log": "agents/magica/work/queue-329/gate/bus-requirements.test.txt"}
{"label": "bus-review.test", "rc": 0, "nice": 19, "seconds": 0.4, "log": "agents/magica/work/queue-329/gate/bus-review.test.txt"}
{"label": "bus-revoke-window.test", "rc": 0, "nice": 19, "seconds": 0.25, "log": "agents/magica/work/queue-329/gate/bus-revoke-window.test.txt"}
{"label": "bus-room-check.test", "rc": 0, "nice": 19, "seconds": 0.21, "log": "agents/magica/work/queue-329/gate/bus-room-check.test.txt"}
{"label": "bus-rooms.test", "rc": 0, "nice": 19, "seconds": 1.1, "log": "agents/magica/work/queue-329/gate/bus-rooms.test.txt"}
{"label": "bus-routes-verb.test", "rc": 0, "nice": 19, "seconds": 0.35, "log": "agents/magica/work/queue-329/gate/bus-routes-verb.test.txt"}
{"label": "bus-schema.test", "rc": 0, "nice": 19, "seconds": 0.17, "log": "agents/magica/work/queue-329/gate/bus-schema.test.txt"}
{"label": "bus-session-clear.test", "rc": 0, "nice": 19, "seconds": 0.87, "log": "agents/magica/work/queue-329/gate/bus-session-clear.test.txt"}
{"label": "bus-session-compactions.test", "rc": 0, "nice": 19, "seconds": 0.19, "log": "agents/magica/work/queue-329/gate/bus-session-compactions.test.txt"}
{"label": "bus-sessions.test", "rc": 0, "nice": 19, "seconds": 0.65, "log": "agents/magica/work/queue-329/gate/bus-sessions.test.txt"}
{"label": "bus-single-use.test", "rc": 0, "nice": 19, "seconds": 0.43, "log": "agents/magica/work/queue-329/gate/bus-single-use.test.txt"}
{"label": "bus-spec-migration.test", "rc": 0, "nice": 19, "seconds": 0.23, "log": "agents/magica/work/queue-329/gate/bus-spec-migration.test.txt"}
{"label": "bus-spec-review.test", "rc": 0, "nice": 19, "seconds": 1.26, "log": "agents/magica/work/queue-329/gate/bus-spec-review.test.txt"}
{"label": "bus-spec-socket.test", "rc": 0, "nice": 19, "seconds": 0.74, "log": "agents/magica/work/queue-329/gate/bus-spec-socket.test.txt"}
{"label": "bus-spec.test", "rc": 0, "nice": 19, "seconds": 0.46, "log": "agents/magica/work/queue-329/gate/bus-spec.test.txt"}
{"label": "bus-staff-request.test", "rc": 0, "nice": 19, "seconds": 0.46, "log": "agents/magica/work/queue-329/gate/bus-staff-request.test.txt"}
{"label": "bus-state.test", "rc": 0, "nice": 19, "seconds": 0.25, "log": "agents/magica/work/queue-329/gate/bus-state.test.txt"}
{"label": "bus-store.test", "rc": 0, "nice": 19, "seconds": 0.27, "log": "agents/magica/work/queue-329/gate/bus-store.test.txt"}
{"label": "bus-task-page.test", "rc": 0, "nice": 19, "seconds": 1.11, "log": "agents/magica/work/queue-329/gate/bus-task-page.test.txt"}
{"label": "bus-task-read.test", "rc": 0, "nice": 19, "seconds": 0.22, "log": "agents/magica/work/queue-329/gate/bus-task-read.test.txt"}
{"label": "bus-tasks.test", "rc": 0, "nice": 19, "seconds": 1.18, "log": "agents/magica/work/queue-329/gate/bus-tasks.test.txt"}
{"label": "bus-tester-threads.test", "rc": 0, "nice": 19, "seconds": 0.52, "log": "agents/magica/work/queue-329/gate/bus-tester-threads.test.txt"}
{"label": "bus-tester-writes.test", "rc": 0, "nice": 19, "seconds": 0.61, "log": "agents/magica/work/queue-329/gate/bus-tester-writes.test.txt"}
{"label": "bus-tester.test", "rc": 0, "nice": 19, "seconds": 1.8, "log": "agents/magica/work/queue-329/gate/bus-tester.test.txt"}
{"label": "bus-thread-claims.test", "rc": 0, "nice": 19, "seconds": 0.26, "log": "agents/magica/work/queue-329/gate/bus-thread-claims.test.txt"}
{"label": "bus-thread-migration.test", "rc": 0, "nice": 19, "seconds": 0.4, "log": "agents/magica/work/queue-329/gate/bus-thread-migration.test.txt"}
{"label": "bus-thread-shares.test", "rc": 0, "nice": 19, "seconds": 0.81, "log": "agents/magica/work/queue-329/gate/bus-thread-shares.test.txt"}
{"label": "bus-threads.test", "rc": 0, "nice": 19, "seconds": 1.41, "log": "agents/magica/work/queue-329/gate/bus-threads.test.txt"}
{"label": "bus-transport.test", "rc": 0, "nice": 19, "seconds": 0.28, "log": "agents/magica/work/queue-329/gate/bus-transport.test.txt"}
{"label": "bus-usage-broker.test", "rc": 0, "nice": 19, "seconds": 0.15, "log": "agents/magica/work/queue-329/gate/bus-usage-broker.test.txt"}
{"label": "bus-usage-migration.test", "rc": 0, "nice": 19, "seconds": 0.63, "log": "agents/magica/work/queue-329/gate/bus-usage-migration.test.txt"}
{"label": "bus-usage-runtime.test", "rc": 0, "nice": 19, "seconds": 0.26, "log": "agents/magica/work/queue-329/gate/bus-usage-runtime.test.txt"}
{"label": "bus-usage.test", "rc": 0, "nice": 19, "seconds": 0.38, "log": "agents/magica/work/queue-329/gate/bus-usage.test.txt"}
{"label": "bus-user-principal.test", "rc": 0, "nice": 19, "seconds": 1.01, "log": "agents/magica/work/queue-329/gate/bus-user-principal.test.txt"}
{"label": "bus-viewer.test", "rc": 0, "nice": 19, "seconds": 0.65, "log": "agents/magica/work/queue-329/gate/bus-viewer.test.txt"}
{"label": "bus-web.test", "rc": 0, "nice": 19, "seconds": 1.18, "log": "agents/magica/work/queue-329/gate/bus-web.test.txt"}
{"label": "bus-workflow-roles.test", "rc": 0, "nice": 19, "seconds": 0.24, "log": "agents/magica/work/queue-329/gate/bus-workflow-roles.test.txt"}
{"label": "cli-access-boot.test", "rc": 0, "nice": 19, "seconds": 0.5, "log": "agents/magica/work/queue-329/gate/cli-access-boot.test.txt"}
{"label": "cli-access.test", "rc": 0, "nice": 19, "seconds": 7.0, "log": "agents/magica/work/queue-329/gate/cli-access.test.txt"}
{"label": "cli-app.test", "rc": 0, "nice": 19, "seconds": 14.19, "log": "agents/magica/work/queue-329/gate/cli-app.test.txt"}
{"label": "cli-boot-status.test", "rc": 0, "nice": 19, "seconds": 1.35, "log": "agents/magica/work/queue-329/gate/cli-boot-status.test.txt"}
{"label": "cli-case1-accept.test", "rc": 1, "nice": 19, "seconds": 252.61, "log": "agents/magica/work/queue-329/gate/cli-case1-accept.test.txt"}
@@ -0,0 +1,89 @@
{"label": "model-proxy-client.test", "rc": 0, "nice": 19, "begin": {"utc": "2026-10-24T21:31:10.938+00:00", "load1": "2.97"}, "end": {"utc": "2026-10-24T21:31:11.088+00:00", "load1": "2.97"}, "seconds": 0.15, "counts": {"tests": 16, "pass": 16, "fail": 0, "skipped": 0, "cancelled": 0}, "failure_events": [], "log": "agents/magica/work/queue-329/gate-r2/model-proxy-client.test.txt", "raw": "/mnt/storage/scratch/tmp/zDL42S/stdout.txt", "raw_sha256": "72526df68832b7029d66bc1d583880044263c223429f4b4e4a56ef00d42a593b", "review_sha256": "72526df68832b7029d66bc1d583880044263c223429f4b4e4a56ef00d42a593b", "normalization": "trailing whitespace only; raw retained"}
{"label": "model-proxy-config-unit.test", "rc": 0, "nice": 19, "begin": {"utc": "2026-10-24T21:31:11.090+00:00", "load1": "2.97"}, "end": {"utc": "2026-10-24T21:31:12.582+00:00", "load1": "2.97"}, "seconds": 1.493, "counts": {"tests": 15, "pass": 15, "fail": 0, "skipped": 0, "cancelled": 0}, "failure_events": [], "log": "agents/magica/work/queue-329/gate-r2/model-proxy-config-unit.test.txt", "raw": "/mnt/storage/scratch/tmp/nJS9pb/stdout.txt", "raw_sha256": "7e1b45f0f7f56e881dfd81f2e16e5076684f1e5a94a51972af2f01ff40700a86", "review_sha256": "7e1b45f0f7f56e881dfd81f2e16e5076684f1e5a94a51972af2f01ff40700a86", "normalization": "trailing whitespace only; raw retained"}
{"label": "model-proxy-fetch.test", "rc": 0, "nice": 19, "begin": {"utc": "2026-10-24T21:31:12.584+00:00", "load1": "2.97"}, "end": {"utc": "2026-10-24T21:31:12.790+00:00", "load1": "2.97"}, "seconds": 0.206, "counts": {"tests": 8, "pass": 8, "fail": 0, "skipped": 0, "cancelled": 0}, "failure_events": [], "log": "agents/magica/work/queue-329/gate-r2/model-proxy-fetch.test.txt", "raw": "/mnt/storage/scratch/tmp/7oJ2lQ/stdout.txt", "raw_sha256": "f9443ad4efc40865e4710339f2802ad59fa9fe247c3f7ce715bd522cb57df0a4", "review_sha256": "f9443ad4efc40865e4710339f2802ad59fa9fe247c3f7ce715bd522cb57df0a4", "normalization": "trailing whitespace only; raw retained"}
{"label": "model-proxy-management-key-encoding.test", "rc": 0, "nice": 19, "begin": {"utc": "2026-10-24T21:31:12.791+00:00", "load1": "2.97"}, "end": {"utc": "2026-10-24T21:31:12.914+00:00", "load1": "2.97"}, "seconds": 0.122, "counts": {"tests": 5, "pass": 5, "fail": 0, "skipped": 0, "cancelled": 0}, "failure_events": [], "log": "agents/magica/work/queue-329/gate-r2/model-proxy-management-key-encoding.test.txt", "raw": "/mnt/storage/scratch/tmp/zS3BC0/stdout.txt", "raw_sha256": "fc0ebedc2bae56913e2055a0772f741f76c7b4659ca4c020f95c5207fadaa245", "review_sha256": "fc0ebedc2bae56913e2055a0772f741f76c7b4659ca4c020f95c5207fadaa245", "normalization": "trailing whitespace only; raw retained"}
{"label": "model-proxy-runner.test", "rc": 0, "nice": 19, "begin": {"utc": "2026-10-24T21:31:12.915+00:00", "load1": "2.97"}, "end": {"utc": "2026-10-24T21:31:13.016+00:00", "load1": "2.97"}, "seconds": 0.1, "counts": {"tests": 3, "pass": 3, "fail": 0, "skipped": 0, "cancelled": 0}, "failure_events": [], "log": "agents/magica/work/queue-329/gate-r2/model-proxy-runner.test.txt", "raw": "/mnt/storage/scratch/tmp/AudX5t/stdout.txt", "raw_sha256": "4e4fac75caddcc0ec797e5cbd0c096af2c0b9c6f5cdbb2740e1419e6b900912e", "review_sha256": "4e4fac75caddcc0ec797e5cbd0c096af2c0b9c6f5cdbb2740e1419e6b900912e", "normalization": "trailing whitespace only; raw retained"}
{"label": "model-proxy-settings.test", "rc": 0, "nice": 19, "begin": {"utc": "2026-10-24T21:31:13.017+00:00", "load1": "2.97"}, "end": {"utc": "2026-10-24T21:31:13.133+00:00", "load1": "2.97"}, "seconds": 0.116, "counts": {"tests": 19, "pass": 19, "fail": 0, "skipped": 0, "cancelled": 0}, "failure_events": [], "log": "agents/magica/work/queue-329/gate-r2/model-proxy-settings.test.txt", "raw": "/mnt/storage/scratch/tmp/5hNMfK/stdout.txt", "raw_sha256": "c552a50d05b680f46cccca044134bc9531ab40fb3cb3d7823884f1c10a214b92", "review_sha256": "c552a50d05b680f46cccca044134bc9531ab40fb3cb3d7823884f1c10a214b92", "normalization": "trailing whitespace only; raw retained"}
{"label": "bus-access-revoke.test", "rc": 0, "nice": 19, "begin": {"utc": "2026-10-24T21:31:13.135+00:00", "load1": "2.97"}, "end": {"utc": "2026-10-24T21:31:13.593+00:00", "load1": "2.97"}, "seconds": 0.458, "counts": {"tests": 10, "pass": 10, "fail": 0, "skipped": 0, "cancelled": 0}, "failure_events": [], "log": "agents/magica/work/queue-329/gate-r2/bus-access-revoke.test.txt", "raw": "/mnt/storage/scratch/tmp/GHeQEZ/stdout.txt", "raw_sha256": "1e4692e57d2a0381a9c05ad6a6f136c63d149263d52f4bf0cf194adfb5c3a28f", "review_sha256": "1e4692e57d2a0381a9c05ad6a6f136c63d149263d52f4bf0cf194adfb5c3a28f", "normalization": "trailing whitespace only; raw retained"}
{"label": "bus-chief-of-staff.test", "rc": 0, "nice": 19, "begin": {"utc": "2026-10-24T21:31:13.594+00:00", "load1": "2.97"}, "end": {"utc": "2026-10-24T21:31:15.864+00:00", "load1": "3.13"}, "seconds": 2.27, "counts": {"tests": 42, "pass": 42, "fail": 0, "skipped": 0, "cancelled": 0}, "failure_events": [], "log": "agents/magica/work/queue-329/gate-r2/bus-chief-of-staff.test.txt", "raw": "/mnt/storage/scratch/tmp/70lNbE/stdout.txt", "raw_sha256": "ac5e9121ff899160842f8196969356b5af2b1d8305bc14a4a05f0c8e7472a55b", "review_sha256": "ac5e9121ff899160842f8196969356b5af2b1d8305bc14a4a05f0c8e7472a55b", "normalization": "trailing whitespace only; raw retained"}
{"label": "bus-citation-runtime.test", "rc": 0, "nice": 19, "begin": {"utc": "2026-10-24T21:31:15.866+00:00", "load1": "3.13"}, "end": {"utc": "2026-10-24T21:31:16.155+00:00", "load1": "3.13"}, "seconds": 0.289, "counts": {"tests": 1, "pass": 1, "fail": 0, "skipped": 0, "cancelled": 0}, "failure_events": [], "log": "agents/magica/work/queue-329/gate-r2/bus-citation-runtime.test.txt", "raw": "/mnt/storage/scratch/tmp/d7EDzc/stdout.txt", "raw_sha256": "906f79dcd35767db18fcc9cc58ff354fd04c76fb8f4442a36840dbe6c1ec4687", "review_sha256": "906f79dcd35767db18fcc9cc58ff354fd04c76fb8f4442a36840dbe6c1ec4687", "normalization": "trailing whitespace only; raw retained"}
{"label": "bus-creative.test", "rc": 0, "nice": 19, "begin": {"utc": "2026-10-24T21:31:16.156+00:00", "load1": "3.13"}, "end": {"utc": "2026-10-24T21:31:16.541+00:00", "load1": "3.13"}, "seconds": 0.384, "counts": {"tests": 4, "pass": 4, "fail": 0, "skipped": 0, "cancelled": 0}, "failure_events": [], "log": "agents/magica/work/queue-329/gate-r2/bus-creative.test.txt", "raw": "/mnt/storage/scratch/tmp/pn1E2D/stdout.txt", "raw_sha256": "a69dc69088b07e7e1763feffce69ef032df334557505f2afcefdfb58c0d1c17d", "review_sha256": "a69dc69088b07e7e1763feffce69ef032df334557505f2afcefdfb58c0d1c17d", "normalization": "trailing whitespace only; raw retained"}
{"label": "bus-credential-verbs.test", "rc": 0, "nice": 19, "begin": {"utc": "2026-10-24T21:31:16.542+00:00", "load1": "3.13"}, "end": {"utc": "2026-10-24T21:31:16.833+00:00", "load1": "3.13"}, "seconds": 0.291, "counts": {"tests": 2, "pass": 2, "fail": 0, "skipped": 0, "cancelled": 0}, "failure_events": [], "log": "agents/magica/work/queue-329/gate-r2/bus-credential-verbs.test.txt", "raw": "/mnt/storage/scratch/tmp/9f3var/stdout.txt", "raw_sha256": "5357a7f0eec86a68c8491d1af16547457d7fe0ebd72fc5c6a509007c7f7d4030", "review_sha256": "5357a7f0eec86a68c8491d1af16547457d7fe0ebd72fc5c6a509007c7f7d4030", "normalization": "trailing whitespace only; raw retained"}
{"label": "bus-daily-quota-runtime.test", "rc": 0, "nice": 19, "begin": {"utc": "2026-10-24T21:31:16.834+00:00", "load1": "3.13"}, "end": {"utc": "2026-10-24T21:31:17.191+00:00", "load1": "3.13"}, "seconds": 0.356, "counts": {"tests": 4, "pass": 4, "fail": 0, "skipped": 0, "cancelled": 0}, "failure_events": [], "log": "agents/magica/work/queue-329/gate-r2/bus-daily-quota-runtime.test.txt", "raw": "/mnt/storage/scratch/tmp/qkIeTC/stdout.txt", "raw_sha256": "fe12a7dd9d274386f7416db0858082dd77af1c0df6344d2460fca5a13a94b924", "review_sha256": "fe12a7dd9d274386f7416db0858082dd77af1c0df6344d2460fca5a13a94b924", "normalization": "trailing whitespace only; raw retained"}
{"label": "bus-grant-scope-runtime.test", "rc": 0, "nice": 19, "begin": {"utc": "2026-10-24T21:31:17.192+00:00", "load1": "3.13"}, "end": {"utc": "2026-10-24T21:31:17.416+00:00", "load1": "3.13"}, "seconds": 0.224, "counts": {"tests": 1, "pass": 1, "fail": 0, "skipped": 0, "cancelled": 0}, "failure_events": [], "log": "agents/magica/work/queue-329/gate-r2/bus-grant-scope-runtime.test.txt", "raw": "/mnt/storage/scratch/tmp/vvhrW2/stdout.txt", "raw_sha256": "d314d364cc6b84672a92151c8c601dad438414a49ec27f15e94594ab730ac3f6", "review_sha256": "d314d364cc6b84672a92151c8c601dad438414a49ec27f15e94594ab730ac3f6", "normalization": "trailing whitespace only; raw retained"}
{"label": "bus-host-run.test", "rc": 0, "nice": 19, "begin": {"utc": "2026-10-24T21:31:17.417+00:00", "load1": "3.13"}, "end": {"utc": "2026-10-24T21:31:32.104+00:00", "load1": "2.80"}, "seconds": 14.686, "counts": {"tests": 26, "pass": 26, "fail": 0, "skipped": 0, "cancelled": 0}, "failure_events": [], "log": "agents/magica/work/queue-329/gate-r2/bus-host-run.test.txt", "raw": "/mnt/storage/scratch/tmp/BU48EX/stdout.txt", "raw_sha256": "186da42dee80fa074f0ddbb05fe78eb680dbe7177e63111928768b71f6248743", "review_sha256": "186da42dee80fa074f0ddbb05fe78eb680dbe7177e63111928768b71f6248743", "normalization": "trailing whitespace only; raw retained"}
{"label": "bus-instances-verb.test", "rc": 0, "nice": 19, "begin": {"utc": "2026-10-24T21:31:32.105+00:00", "load1": "2.80"}, "end": {"utc": "2026-10-24T21:31:32.406+00:00", "load1": "2.80"}, "seconds": 0.301, "counts": {"tests": 3, "pass": 3, "fail": 0, "skipped": 0, "cancelled": 0}, "failure_events": [], "log": "agents/magica/work/queue-329/gate-r2/bus-instances-verb.test.txt", "raw": "/mnt/storage/scratch/tmp/XknzTf/stdout.txt", "raw_sha256": "a29fe9471a3034501c9765289f77e5a6fc08702c7cc02035d67745b01064e6f7", "review_sha256": "a29fe9471a3034501c9765289f77e5a6fc08702c7cc02035d67745b01064e6f7", "normalization": "trailing whitespace only; raw retained"}
{"label": "bus-library-credential.test", "rc": 0, "nice": 19, "begin": {"utc": "2026-10-24T21:31:32.407+00:00", "load1": "2.80"}, "end": {"utc": "2026-10-24T21:31:33.807+00:00", "load1": "2.80"}, "seconds": 1.4, "counts": {"tests": 6, "pass": 6, "fail": 0, "skipped": 0, "cancelled": 0}, "failure_events": [], "log": "agents/magica/work/queue-329/gate-r2/bus-library-credential.test.txt", "raw": "/mnt/storage/scratch/tmp/HpiYQK/stdout.txt", "raw_sha256": "5a8db75c9e3a8c5fc526a83db2eecb1dce370c09b191d76a4b6e5e5b2bc49269", "review_sha256": "5a8db75c9e3a8c5fc526a83db2eecb1dce370c09b191d76a4b6e5e5b2bc49269", "normalization": "trailing whitespace only; raw retained"}
{"label": "bus-library-lookups.test", "rc": 0, "nice": 19, "begin": {"utc": "2026-10-24T21:31:33.808+00:00", "load1": "2.80"}, "end": {"utc": "2026-10-24T21:31:34.972+00:00", "load1": "2.80"}, "seconds": 1.163, "counts": {"tests": 11, "pass": 11, "fail": 0, "skipped": 0, "cancelled": 0}, "failure_events": [], "log": "agents/magica/work/queue-329/gate-r2/bus-library-lookups.test.txt", "raw": "/mnt/storage/scratch/tmp/PQlDGA/stdout.txt", "raw_sha256": "f983094b8f5934fb1390cb41a7f93fb67e3bf640ccefe7c22901fef471178341", "review_sha256": "f983094b8f5934fb1390cb41a7f93fb67e3bf640ccefe7c22901fef471178341", "normalization": "trailing whitespace only; raw retained"}
{"label": "bus-library-sync.test", "rc": 0, "nice": 19, "begin": {"utc": "2026-10-24T21:31:34.973+00:00", "load1": "2.80"}, "end": {"utc": "2026-10-24T21:31:41.870+00:00", "load1": "2.75"}, "seconds": 6.897, "counts": {"tests": 6, "pass": 6, "fail": 0, "skipped": 0, "cancelled": 0}, "failure_events": [], "log": "agents/magica/work/queue-329/gate-r2/bus-library-sync.test.txt", "raw": "/mnt/storage/scratch/tmp/eFLzOZ/stdout.txt", "raw_sha256": "ce03b3b0bd0a7dab40cbe07b65708e9c8083b2ea2292a585105257d63b346041", "review_sha256": "ce03b3b0bd0a7dab40cbe07b65708e9c8083b2ea2292a585105257d63b346041", "normalization": "trailing whitespace only; raw retained"}
{"label": "bus-library.test", "rc": 0, "nice": 19, "begin": {"utc": "2026-10-24T21:31:41.871+00:00", "load1": "2.75"}, "end": {"utc": "2026-10-24T21:31:42.508+00:00", "load1": "2.75"}, "seconds": 0.637, "counts": {"tests": 6, "pass": 6, "fail": 0, "skipped": 0, "cancelled": 0}, "failure_events": [], "log": "agents/magica/work/queue-329/gate-r2/bus-library.test.txt", "raw": "/mnt/storage/scratch/tmp/kPxN9l/stdout.txt", "raw_sha256": "f7056b0990446ba4ca02439d888840100197cf721af7cb83366e1845ebedb181", "review_sha256": "f7056b0990446ba4ca02439d888840100197cf721af7cb83366e1845ebedb181", "normalization": "trailing whitespace only; raw retained"}
{"label": "bus-lifecycle-revoke.test", "rc": 0, "nice": 19, "begin": {"utc": "2026-10-24T21:31:42.510+00:00", "load1": "2.75"}, "end": {"utc": "2026-10-24T21:31:43.201+00:00", "load1": "2.75"}, "seconds": 0.691, "counts": {"tests": 8, "pass": 8, "fail": 0, "skipped": 0, "cancelled": 0}, "failure_events": [], "log": "agents/magica/work/queue-329/gate-r2/bus-lifecycle-revoke.test.txt", "raw": "/mnt/storage/scratch/tmp/hvc49a/stdout.txt", "raw_sha256": "8164855a74fffbe3ae62e45b0d921571b34e29d87109a62fdedcaa5f5cf91a03", "review_sha256": "8164855a74fffbe3ae62e45b0d921571b34e29d87109a62fdedcaa5f5cf91a03", "normalization": "trailing whitespace only; raw retained"}
{"label": "bus-lifecycle-verbs.test", "rc": 0, "nice": 19, "begin": {"utc": "2026-10-24T21:31:43.202+00:00", "load1": "2.75"}, "end": {"utc": "2026-10-24T21:31:43.730+00:00", "load1": "2.75"}, "seconds": 0.527, "counts": {"tests": 13, "pass": 13, "fail": 0, "skipped": 0, "cancelled": 0}, "failure_events": [], "log": "agents/magica/work/queue-329/gate-r2/bus-lifecycle-verbs.test.txt", "raw": "/mnt/storage/scratch/tmp/Ab3xx3/stdout.txt", "raw_sha256": "d2f5a7993c5d8e31bbf8572651f67fded8ed83cbaddfa5ccba7bad2d61994da0", "review_sha256": "d2f5a7993c5d8e31bbf8572651f67fded8ed83cbaddfa5ccba7bad2d61994da0", "normalization": "trailing whitespace only; raw retained"}
{"label": "bus-limit-checks.test", "rc": 0, "nice": 19, "begin": {"utc": "2026-10-24T21:31:43.731+00:00", "load1": "2.75"}, "end": {"utc": "2026-10-24T21:31:44.005+00:00", "load1": "2.75"}, "seconds": 0.273, "counts": {"tests": 16, "pass": 16, "fail": 0, "skipped": 0, "cancelled": 0}, "failure_events": [], "log": "agents/magica/work/queue-329/gate-r2/bus-limit-checks.test.txt", "raw": "/mnt/storage/scratch/tmp/ktbbpy/stdout.txt", "raw_sha256": "04d0337574e4af52414e3bfd63b95d15e2cbbc22c49bfaae5eb8baf4df0ce387", "review_sha256": "04d0337574e4af52414e3bfd63b95d15e2cbbc22c49bfaae5eb8baf4df0ce387", "normalization": "trailing whitespace only; raw retained"}
{"label": "bus-limits-runtime.test", "rc": 0, "nice": 19, "begin": {"utc": "2026-10-24T21:31:44.006+00:00", "load1": "2.75"}, "end": {"utc": "2026-10-24T21:31:44.427+00:00", "load1": "2.75"}, "seconds": 0.421, "counts": {"tests": 5, "pass": 5, "fail": 0, "skipped": 0, "cancelled": 0}, "failure_events": [], "log": "agents/magica/work/queue-329/gate-r2/bus-limits-runtime.test.txt", "raw": "/mnt/storage/scratch/tmp/OgZo41/stdout.txt", "raw_sha256": "aae4e8b12a87bd5679afcd9f4319839c6554fac365723ada9808af9aa9e1c859", "review_sha256": "aae4e8b12a87bd5679afcd9f4319839c6554fac365723ada9808af9aa9e1c859", "normalization": "trailing whitespace only; raw retained"}
{"label": "bus-limits.test", "rc": 0, "nice": 19, "begin": {"utc": "2026-10-24T21:31:44.428+00:00", "load1": "2.75"}, "end": {"utc": "2026-10-24T21:31:44.729+00:00", "load1": "2.75"}, "seconds": 0.301, "counts": {"tests": 3, "pass": 3, "fail": 0, "skipped": 0, "cancelled": 0}, "failure_events": [], "log": "agents/magica/work/queue-329/gate-r2/bus-limits.test.txt", "raw": "/mnt/storage/scratch/tmp/ZE3dMq/stdout.txt", "raw_sha256": "df23b3a8e13e0f29c5c81cf067e4a859b2c19fc7b7e0a72cab222444d84eb20d", "review_sha256": "df23b3a8e13e0f29c5c81cf067e4a859b2c19fc7b7e0a72cab222444d84eb20d", "normalization": "trailing whitespace only; raw retained"}
{"label": "bus-model-proxy.test", "rc": 0, "nice": 19, "begin": {"utc": "2026-10-24T21:31:44.731+00:00", "load1": "2.75"}, "end": {"utc": "2026-10-24T21:31:44.954+00:00", "load1": "2.75"}, "seconds": 0.223, "counts": {"tests": 8, "pass": 8, "fail": 0, "skipped": 0, "cancelled": 0}, "failure_events": [], "log": "agents/magica/work/queue-329/gate-r2/bus-model-proxy.test.txt", "raw": "/mnt/storage/scratch/tmp/760xBV/stdout.txt", "raw_sha256": "bfb1b52f8dc03290185ea6b9f1c2a5336b0c8b4959a0b1254a8ff6e86c4d0f6e", "review_sha256": "bfb1b52f8dc03290185ea6b9f1c2a5336b0c8b4959a0b1254a8ff6e86c4d0f6e", "normalization": "trailing whitespace only; raw retained"}
{"label": "bus-plugins-verb.test", "rc": 0, "nice": 19, "begin": {"utc": "2026-10-24T21:31:44.956+00:00", "load1": "2.75"}, "end": {"utc": "2026-10-24T21:31:45.257+00:00", "load1": "2.75"}, "seconds": 0.301, "counts": {"tests": 3, "pass": 3, "fail": 0, "skipped": 0, "cancelled": 0}, "failure_events": [], "log": "agents/magica/work/queue-329/gate-r2/bus-plugins-verb.test.txt", "raw": "/mnt/storage/scratch/tmp/mpe9C4/stdout.txt", "raw_sha256": "a06ab305be09ba71ffad2221d8db9979cd7c9db8cfee9e7a75347620a4f68646", "review_sha256": "a06ab305be09ba71ffad2221d8db9979cd7c9db8cfee9e7a75347620a4f68646", "normalization": "trailing whitespace only; raw retained"}
{"label": "bus-processing-runtime.test", "rc": 0, "nice": 19, "begin": {"utc": "2026-10-24T21:31:45.258+00:00", "load1": "2.75"}, "end": {"utc": "2026-10-24T21:31:45.642+00:00", "load1": "2.75"}, "seconds": 0.384, "counts": {"tests": 2, "pass": 2, "fail": 0, "skipped": 0, "cancelled": 0}, "failure_events": [], "log": "agents/magica/work/queue-329/gate-r2/bus-processing-runtime.test.txt", "raw": "/mnt/storage/scratch/tmp/t8w0GP/stdout.txt", "raw_sha256": "05aeb457bd29666c0fd601f14e81a917935483c483ae29952ba07c168f316a3f", "review_sha256": "05aeb457bd29666c0fd601f14e81a917935483c483ae29952ba07c168f316a3f", "normalization": "trailing whitespace only; raw retained"}
{"label": "bus-project-runtime.test", "rc": 0, "nice": 19, "begin": {"utc": "2026-10-24T21:31:45.644+00:00", "load1": "2.75"}, "end": {"utc": "2026-10-24T21:31:46.048+00:00", "load1": "3.01"}, "seconds": 0.404, "counts": {"tests": 3, "pass": 3, "fail": 0, "skipped": 0, "cancelled": 0}, "failure_events": [], "log": "agents/magica/work/queue-329/gate-r2/bus-project-runtime.test.txt", "raw": "/mnt/storage/scratch/tmp/9wld3a/stdout.txt", "raw_sha256": "a78ffe5c3ce1a213eca5eeae5637eabe03ea564df7fa947a72f85a0d94c3ccb0", "review_sha256": "a78ffe5c3ce1a213eca5eeae5637eabe03ea564df7fa947a72f85a0d94c3ccb0", "normalization": "trailing whitespace only; raw retained"}
{"label": "bus-publish.test", "rc": 0, "nice": 19, "begin": {"utc": "2026-10-24T21:31:46.049+00:00", "load1": "3.01"}, "end": {"utc": "2026-10-24T21:31:46.833+00:00", "load1": "3.01"}, "seconds": 0.784, "counts": {"tests": 13, "pass": 13, "fail": 0, "skipped": 0, "cancelled": 0}, "failure_events": [], "log": "agents/magica/work/queue-329/gate-r2/bus-publish.test.txt", "raw": "/mnt/storage/scratch/tmp/zvt8PG/stdout.txt", "raw_sha256": "1f2796d06abac7de85d9658f8c2a53b2934aea7ab518bab1f53479048feb2139", "review_sha256": "1f2796d06abac7de85d9658f8c2a53b2934aea7ab518bab1f53479048feb2139", "normalization": "trailing whitespace only; raw retained"}
{"label": "bus-reload.test", "rc": 0, "nice": 19, "begin": {"utc": "2026-10-24T21:31:46.835+00:00", "load1": "3.01"}, "end": {"utc": "2026-10-24T21:31:47.760+00:00", "load1": "3.01"}, "seconds": 0.925, "counts": {"tests": 10, "pass": 10, "fail": 0, "skipped": 0, "cancelled": 0}, "failure_events": [], "log": "agents/magica/work/queue-329/gate-r2/bus-reload.test.txt", "raw": "/mnt/storage/scratch/tmp/aU0j0Y/stdout.txt", "raw_sha256": "192282d8e14ec7ba3314ae1de327646cc6f7deb390472d64781529d4f2a87ae5", "review_sha256": "192282d8e14ec7ba3314ae1de327646cc6f7deb390472d64781529d4f2a87ae5", "normalization": "trailing whitespace only; raw retained"}
{"label": "bus-routes-verb.test", "rc": 0, "nice": 19, "begin": {"utc": "2026-10-24T21:31:47.762+00:00", "load1": "3.01"}, "end": {"utc": "2026-10-24T21:31:48.060+00:00", "load1": "3.01"}, "seconds": 0.299, "counts": {"tests": 4, "pass": 4, "fail": 0, "skipped": 0, "cancelled": 0}, "failure_events": [], "log": "agents/magica/work/queue-329/gate-r2/bus-routes-verb.test.txt", "raw": "/mnt/storage/scratch/tmp/P5dNVU/stdout.txt", "raw_sha256": "9f33241111d569ae58c4e67f3afe685a537a2dcbfedaa40de89bdee3f17b14b4", "review_sha256": "9f33241111d569ae58c4e67f3afe685a537a2dcbfedaa40de89bdee3f17b14b4", "normalization": "trailing whitespace only; raw retained"}
{"label": "bus-tasks.test", "rc": 0, "nice": 19, "begin": {"utc": "2026-10-24T21:31:48.062+00:00", "load1": "3.01"}, "end": {"utc": "2026-10-24T21:31:48.992+00:00", "load1": "3.01"}, "seconds": 0.93, "counts": {"tests": 9, "pass": 9, "fail": 0, "skipped": 0, "cancelled": 0}, "failure_events": [], "log": "agents/magica/work/queue-329/gate-r2/bus-tasks.test.txt", "raw": "/mnt/storage/scratch/tmp/doktEQ/stdout.txt", "raw_sha256": "14d2238fe88a863d5535217b8a832fc7a23d6662a38787385fa5c7792902cece", "review_sha256": "14d2238fe88a863d5535217b8a832fc7a23d6662a38787385fa5c7792902cece", "normalization": "trailing whitespace only; raw retained"}
{"label": "bus-tester-writes.test", "rc": 0, "nice": 19, "begin": {"utc": "2026-10-24T21:31:48.994+00:00", "load1": "3.01"}, "end": {"utc": "2026-10-24T21:31:49.498+00:00", "load1": "3.01"}, "seconds": 0.504, "counts": {"tests": 8, "pass": 8, "fail": 0, "skipped": 0, "cancelled": 0}, "failure_events": [], "log": "agents/magica/work/queue-329/gate-r2/bus-tester-writes.test.txt", "raw": "/mnt/storage/scratch/tmp/1vStHK/stdout.txt", "raw_sha256": "9be764569450aede17b0aeb194933978c07f551ff835543b9c5a171599aec855", "review_sha256": "9be764569450aede17b0aeb194933978c07f551ff835543b9c5a171599aec855", "normalization": "trailing whitespace only; raw retained"}
{"label": "bus-tester.test", "rc": 0, "nice": 19, "begin": {"utc": "2026-10-24T21:31:49.499+00:00", "load1": "3.01"}, "end": {"utc": "2026-10-24T21:31:51.058+00:00", "load1": "2.77"}, "seconds": 1.559, "counts": {"tests": 14, "pass": 14, "fail": 0, "skipped": 0, "cancelled": 0}, "failure_events": [], "log": "agents/magica/work/queue-329/gate-r2/bus-tester.test.txt", "raw": "/mnt/storage/scratch/tmp/lFZZCF/stdout.txt", "raw_sha256": "1071a9d1720fc8cb3a81bb4e649480b9ffb70f44cc27df7cd1bdfe5b4b73c832", "review_sha256": "1071a9d1720fc8cb3a81bb4e649480b9ffb70f44cc27df7cd1bdfe5b4b73c832", "normalization": "trailing whitespace only; raw retained"}
{"label": "bus-usage-runtime.test", "rc": 0, "nice": 19, "begin": {"utc": "2026-10-24T21:31:51.060+00:00", "load1": "2.77"}, "end": {"utc": "2026-10-24T21:31:51.278+00:00", "load1": "2.77"}, "seconds": 0.218, "counts": {"tests": 1, "pass": 1, "fail": 0, "skipped": 0, "cancelled": 0}, "failure_events": [], "log": "agents/magica/work/queue-329/gate-r2/bus-usage-runtime.test.txt", "raw": "/mnt/storage/scratch/tmp/1VEYZH/stdout.txt", "raw_sha256": "164803cec01d1a4defd02eb7bada2334406e55ddca88a3f959f34b1fe959c61d", "review_sha256": "164803cec01d1a4defd02eb7bada2334406e55ddca88a3f959f34b1fe959c61d", "normalization": "trailing whitespace only; raw retained"}
{"label": "bus-web.test", "rc": 0, "nice": 19, "begin": {"utc": "2026-10-24T21:31:51.279+00:00", "load1": "2.77"}, "end": {"utc": "2026-10-24T21:31:52.352+00:00", "load1": "2.77"}, "seconds": 1.073, "counts": {"tests": 19, "pass": 19, "fail": 0, "skipped": 0, "cancelled": 0}, "failure_events": [], "log": "agents/magica/work/queue-329/gate-r2/bus-web.test.txt", "raw": "/mnt/storage/scratch/tmp/BWvWeH/stdout.txt", "raw_sha256": "fc077bfb6f2fdf43f2949741daa6d7d998be5540a2c24935cf41dd37a9168701", "review_sha256": "fc077bfb6f2fdf43f2949741daa6d7d998be5540a2c24935cf41dd37a9168701", "normalization": "trailing whitespace only; raw retained"}
{"label": "cli-access-boot.test", "rc": 0, "nice": 19, "begin": {"utc": "2026-10-24T21:31:52.353+00:00", "load1": "2.77"}, "end": {"utc": "2026-10-24T21:31:52.858+00:00", "load1": "2.77"}, "seconds": 0.505, "counts": {"tests": 4, "pass": 4, "fail": 0, "skipped": 0, "cancelled": 0}, "failure_events": [], "log": "agents/magica/work/queue-329/gate-r2/cli-access-boot.test.txt", "raw": "/mnt/storage/scratch/tmp/N0QlMo/stdout.txt", "raw_sha256": "3744b90a84c5fed8391ec462765c84016f800480aba1866394fda7b8e073334f", "review_sha256": "3744b90a84c5fed8391ec462765c84016f800480aba1866394fda7b8e073334f", "normalization": "trailing whitespace only; raw retained"}
{"label": "cli-access.test", "rc": 0, "nice": 19, "begin": {"utc": "2026-10-24T21:31:52.859+00:00", "load1": "2.77"}, "end": {"utc": "2026-10-24T21:31:59.768+00:00", "load1": "2.71"}, "seconds": 6.908, "counts": {"tests": 34, "pass": 34, "fail": 0, "skipped": 0, "cancelled": 0}, "failure_events": [], "log": "agents/magica/work/queue-329/gate-r2/cli-access.test.txt", "raw": "/mnt/storage/scratch/tmp/s4G6iY/stdout.txt", "raw_sha256": "26846bafb2cad7e1ef1eb22c4be6b45be15a5ba8dcb9ac74e676526215264f61", "review_sha256": "26846bafb2cad7e1ef1eb22c4be6b45be15a5ba8dcb9ac74e676526215264f61", "normalization": "trailing whitespace only; raw retained"}
{"label": "cli-app.test", "rc": 0, "nice": 19, "begin": {"utc": "2026-10-24T21:31:59.769+00:00", "load1": "2.71"}, "end": {"utc": "2026-10-24T21:32:12.799+00:00", "load1": "2.80"}, "seconds": 13.03, "counts": {"tests": 30, "pass": 30, "fail": 0, "skipped": 0, "cancelled": 0}, "failure_events": [], "log": "agents/magica/work/queue-329/gate-r2/cli-app.test.txt", "raw": "/mnt/storage/scratch/tmp/U6qOPP/stdout.txt", "raw_sha256": "a5e98008eccbd4c970eb1177cd2a02149a11a983a3b52bcc6e395911cf3ad650", "review_sha256": "a5e98008eccbd4c970eb1177cd2a02149a11a983a3b52bcc6e395911cf3ad650", "normalization": "trailing whitespace only; raw retained"}
{"label": "cli-boot-status.test", "rc": 0, "nice": 19, "begin": {"utc": "2026-10-24T21:32:12.800+00:00", "load1": "2.80"}, "end": {"utc": "2026-10-24T21:32:14.148+00:00", "load1": "2.80"}, "seconds": 1.348, "counts": {"tests": 3, "pass": 3, "fail": 0, "skipped": 0, "cancelled": 0}, "failure_events": [], "log": "agents/magica/work/queue-329/gate-r2/cli-boot-status.test.txt", "raw": "/mnt/storage/scratch/tmp/6FraTr/stdout.txt", "raw_sha256": "bb44c42c15a70c24211f9145aa199dee9aa35794bfc360f792ed71a142b8fed1", "review_sha256": "bb44c42c15a70c24211f9145aa199dee9aa35794bfc360f792ed71a142b8fed1", "normalization": "trailing whitespace only; raw retained"}
{"label": "cli-case1-accept.test", "rc": 0, "nice": 19, "begin": {"utc": "2026-10-24T21:32:14.150+00:00", "load1": "2.80"}, "end": {"utc": "2026-10-24T21:36:22.013+00:00", "load1": "2.61"}, "seconds": 247.863, "counts": {"tests": 53, "pass": 53, "fail": 0, "skipped": 0, "cancelled": 0}, "failure_events": [], "log": "agents/magica/work/queue-329/gate-r2/cli-case1-accept.test.txt", "raw": "/mnt/storage/scratch/tmp/4hkmqC/stdout.txt", "raw_sha256": "fe812a4c0d8506883c16e9458d888f89298b8d7cf8817eb57defd108fb268aef", "review_sha256": "fe812a4c0d8506883c16e9458d888f89298b8d7cf8817eb57defd108fb268aef", "normalization": "trailing whitespace only; raw retained"}
{"label": "cli-case2-unit.test", "rc": 0, "nice": 19, "begin": {"utc": "2026-10-24T21:36:22.014+00:00", "load1": "2.61"}, "end": {"utc": "2026-10-24T21:37:33.843+00:00", "load1": "1.99"}, "seconds": 71.829, "counts": {"tests": 47, "pass": 47, "fail": 0, "skipped": 0, "cancelled": 0}, "failure_events": [], "log": "agents/magica/work/queue-329/gate-r2/cli-case2-unit.test.txt", "raw": "/mnt/storage/scratch/tmp/gR7UqU/stdout.txt", "raw_sha256": "d85ab5112c0e6b4395e318abbd81393e3c533af83f5625ea2470ee641a7cbafe", "review_sha256": "d85ab5112c0e6b4395e318abbd81393e3c533af83f5625ea2470ee641a7cbafe", "normalization": "trailing whitespace only; raw retained"}
{"label": "cli-channel-cli.test", "rc": 0, "nice": 19, "begin": {"utc": "2026-10-24T21:37:33.844+00:00", "load1": "1.99"}, "end": {"utc": "2026-10-24T21:37:34.019+00:00", "load1": "1.99"}, "seconds": 0.175, "counts": {"tests": 2, "pass": 2, "fail": 0, "skipped": 0, "cancelled": 0}, "failure_events": [], "log": "agents/magica/work/queue-329/gate-r2/cli-channel-cli.test.txt", "raw": "/mnt/storage/scratch/tmp/CVVva9/stdout.txt", "raw_sha256": "b58d9c1ceadc06bfb5ba894106b9a8fae2b8cf5b5ee793024247e3ca6c12cb57", "review_sha256": "b58d9c1ceadc06bfb5ba894106b9a8fae2b8cf5b5ee793024247e3ca6c12cb57", "normalization": "trailing whitespace only; raw retained"}
{"label": "cli-cli.test", "rc": 0, "nice": 19, "begin": {"utc": "2026-10-24T21:37:34.021+00:00", "load1": "1.99"}, "end": {"utc": "2026-10-24T21:37:34.366+00:00", "load1": "1.99"}, "seconds": 0.346, "counts": {"tests": 12, "pass": 12, "fail": 0, "skipped": 0, "cancelled": 0}, "failure_events": [], "log": "agents/magica/work/queue-329/gate-r2/cli-cli.test.txt", "raw": "/mnt/storage/scratch/tmp/w29Ytc/stdout.txt", "raw_sha256": "f31972c375775c7d8395ddbb8ec50c278842c94938ac38b42cc34adddd26343b", "review_sha256": "f31972c375775c7d8395ddbb8ec50c278842c94938ac38b42cc34adddd26343b", "normalization": "trailing whitespace only; raw retained"}
{"label": "cli-compactions-launch.test", "rc": 0, "nice": 19, "begin": {"utc": "2026-10-24T21:37:34.367+00:00", "load1": "1.99"}, "end": {"utc": "2026-10-24T21:37:49.048+00:00", "load1": "2.07"}, "seconds": 14.681, "counts": {"tests": 5, "pass": 5, "fail": 0, "skipped": 0, "cancelled": 0}, "failure_events": [], "log": "agents/magica/work/queue-329/gate-r2/cli-compactions-launch.test.txt", "raw": "/mnt/storage/scratch/tmp/a02guB/stdout.txt", "raw_sha256": "076452351ffccf6341b3be24798aa3e3d9ff239079dfff86338cc5c5c553a6c5", "review_sha256": "076452351ffccf6341b3be24798aa3e3d9ff239079dfff86338cc5c5c553a6c5", "normalization": "trailing whitespace only; raw retained"}
{"label": "cli-config.test", "rc": 0, "nice": 19, "begin": {"utc": "2026-10-24T21:37:49.050+00:00", "load1": "2.07"}, "end": {"utc": "2026-10-24T21:37:49.463+00:00", "load1": "2.07"}, "seconds": 0.413, "counts": {"tests": 7, "pass": 7, "fail": 0, "skipped": 0, "cancelled": 0}, "failure_events": [], "log": "agents/magica/work/queue-329/gate-r2/cli-config.test.txt", "raw": "/mnt/storage/scratch/tmp/AhpJsG/stdout.txt", "raw_sha256": "fb64c74ee91d26ce5d9e696d38e6aa53190a123e6e700d6235839f211071ff7c", "review_sha256": "fb64c74ee91d26ce5d9e696d38e6aa53190a123e6e700d6235839f211071ff7c", "normalization": "trailing whitespace only; raw retained"}
{"label": "cli-credentials.test", "rc": 0, "nice": 19, "begin": {"utc": "2026-10-24T21:37:49.465+00:00", "load1": "2.07"}, "end": {"utc": "2026-10-24T21:37:49.730+00:00", "load1": "2.07"}, "seconds": 0.265, "counts": {"tests": 5, "pass": 5, "fail": 0, "skipped": 0, "cancelled": 0}, "failure_events": [], "log": "agents/magica/work/queue-329/gate-r2/cli-credentials.test.txt", "raw": "/mnt/storage/scratch/tmp/QKugz7/stdout.txt", "raw_sha256": "de17d72ef2f432a264f915ee6d0eeecebdb47509b701efeb39cb6e3a623c7889", "review_sha256": "de17d72ef2f432a264f915ee6d0eeecebdb47509b701efeb39cb6e3a623c7889", "normalization": "trailing whitespace only; raw retained"}
{"label": "cli-federation-acceptance-runner", "rc": 0, "nice": 19, "begin": {"utc": "2026-10-24T21:37:49.731+00:00", "load1": "2.07"}, "end": {"utc": "2026-10-24T21:37:53.728+00:00", "load1": "1.98"}, "seconds": 3.997, "counts": {"tests": 1, "pass": 1, "fail": 0, "skipped": 0, "cancelled": 0}, "failure_events": [], "log": "agents/magica/work/queue-329/gate-r2/cli-federation-acceptance-runner.txt", "raw": "/mnt/storage/scratch/tmp/AgdZo8/stdout.txt", "raw_sha256": "9159c6b69df64f55608fd6a56ef312fb17c15501f6d2b022010ce4a79d3a66df", "review_sha256": "9159c6b69df64f55608fd6a56ef312fb17c15501f6d2b022010ce4a79d3a66df", "normalization": "trailing whitespace only; raw retained"}
{"label": "cli-follow.test", "rc": 0, "nice": 19, "begin": {"utc": "2026-10-24T21:37:53.730+00:00", "load1": "1.98"}, "end": {"utc": "2026-10-24T21:37:54.316+00:00", "load1": "1.98"}, "seconds": 0.586, "counts": {"tests": 6, "pass": 6, "fail": 0, "skipped": 0, "cancelled": 0}, "failure_events": [], "log": "agents/magica/work/queue-329/gate-r2/cli-follow.test.txt", "raw": "/mnt/storage/scratch/tmp/LGEnHH/stdout.txt", "raw_sha256": "ed9f7a562321d6097724af8b3863ba9afbf740b27ef704212ea560e691d36431", "review_sha256": "ed9f7a562321d6097724af8b3863ba9afbf740b27ef704212ea560e691d36431", "normalization": "trailing whitespace only; raw retained"}
{"label": "cli-git-socket.test", "rc": 0, "nice": 19, "begin": {"utc": "2026-10-24T21:37:54.317+00:00", "load1": "1.98"}, "end": {"utc": "2026-10-24T21:38:09.557+00:00", "load1": "2.32"}, "seconds": 15.24, "counts": {"tests": 24, "pass": 24, "fail": 0, "skipped": 0, "cancelled": 0}, "failure_events": [], "log": "agents/magica/work/queue-329/gate-r2/cli-git-socket.test.txt", "raw": "/mnt/storage/scratch/tmp/iFrMGb/stdout.txt", "raw_sha256": "473cedadef1e0ad23ad614f2a33b10e159133d3cda7eef53ac6bb69872185b3c", "review_sha256": "473cedadef1e0ad23ad614f2a33b10e159133d3cda7eef53ac6bb69872185b3c", "normalization": "trailing whitespace only; raw retained"}
{"label": "cli-grants-scope.test", "rc": 0, "nice": 19, "begin": {"utc": "2026-10-24T21:38:09.558+00:00", "load1": "2.32"}, "end": {"utc": "2026-10-24T21:38:09.726+00:00", "load1": "2.32"}, "seconds": 0.168, "counts": {"tests": 4, "pass": 4, "fail": 0, "skipped": 0, "cancelled": 0}, "failure_events": [], "log": "agents/magica/work/queue-329/gate-r2/cli-grants-scope.test.txt", "raw": "/mnt/storage/scratch/tmp/hH0rQA/stdout.txt", "raw_sha256": "5e6efa8110a444bac7d74da8328b6d826de680b84f56ebd19a0285cc9adf0a62", "review_sha256": "5e6efa8110a444bac7d74da8328b6d826de680b84f56ebd19a0285cc9adf0a62", "normalization": "trailing whitespace only; raw retained"}
{"label": "cli-grants.test", "rc": 0, "nice": 19, "begin": {"utc": "2026-10-24T21:38:09.727+00:00", "load1": "2.32"}, "end": {"utc": "2026-10-24T21:38:09.997+00:00", "load1": "2.32"}, "seconds": 0.27, "counts": {"tests": 6, "pass": 6, "fail": 0, "skipped": 0, "cancelled": 0}, "failure_events": [], "log": "agents/magica/work/queue-329/gate-r2/cli-grants.test.txt", "raw": "/mnt/storage/scratch/tmp/kKFjXU/stdout.txt", "raw_sha256": "a7efd78270e4e7ef26be72180eb458aff9de84c73b5b3ec8d83838f862184c4b", "review_sha256": "a7efd78270e4e7ef26be72180eb458aff9de84c73b5b3ec8d83838f862184c4b", "normalization": "trailing whitespace only; raw retained"}
{"label": "cli-host.test", "rc": 0, "nice": 19, "begin": {"utc": "2026-10-24T21:38:09.999+00:00", "load1": "2.32"}, "end": {"utc": "2026-10-24T21:38:22.058+00:00", "load1": "1.96"}, "seconds": 12.06, "counts": {"tests": 43, "pass": 43, "fail": 0, "skipped": 0, "cancelled": 0}, "failure_events": [], "log": "agents/magica/work/queue-329/gate-r2/cli-host.test.txt", "raw": "/mnt/storage/scratch/tmp/txcqPa/stdout.txt", "raw_sha256": "4b234f94e96838fde5714477d37e06af648d20c68775b47c7c81443dfc0cb2ca", "review_sha256": "4b234f94e96838fde5714477d37e06af648d20c68775b47c7c81443dfc0cb2ca", "normalization": "trailing whitespace only; raw retained"}
{"label": "cli-hosts.test", "rc": 0, "nice": 19, "begin": {"utc": "2026-10-24T21:38:22.060+00:00", "load1": "1.96"}, "end": {"utc": "2026-10-24T21:38:22.317+00:00", "load1": "1.96"}, "seconds": 0.258, "counts": {"tests": 8, "pass": 8, "fail": 0, "skipped": 0, "cancelled": 0}, "failure_events": [], "log": "agents/magica/work/queue-329/gate-r2/cli-hosts.test.txt", "raw": "/mnt/storage/scratch/tmp/sQO7c1/stdout.txt", "raw_sha256": "5483bf8ada33ee623bd1078e1fd9284280a32619c51f36d56b65006bef63f185", "review_sha256": "5483bf8ada33ee623bd1078e1fd9284280a32619c51f36d56b65006bef63f185", "normalization": "trailing whitespace only; raw retained"}
{"label": "cli-idle-stop-race.test", "rc": 0, "nice": 19, "begin": {"utc": "2026-10-24T21:38:22.319+00:00", "load1": "1.96"}, "end": {"utc": "2026-10-24T21:38:24.093+00:00", "load1": "1.96"}, "seconds": 1.774, "counts": {"tests": 1, "pass": 1, "fail": 0, "skipped": 0, "cancelled": 0}, "failure_events": [], "log": "agents/magica/work/queue-329/gate-r2/cli-idle-stop-race.test.txt", "raw": "/mnt/storage/scratch/tmp/2TzkDV/stdout.txt", "raw_sha256": "8fd38cefed41f05af3c4bab68edfa9bdcb137d05177fdca9f51382ce875c870c", "review_sha256": "8fd38cefed41f05af3c4bab68edfa9bdcb137d05177fdca9f51382ce875c870c", "normalization": "trailing whitespace only; raw retained"}
{"label": "cli-instances.test", "rc": 0, "nice": 19, "begin": {"utc": "2026-10-24T21:38:24.095+00:00", "load1": "1.96"}, "end": {"utc": "2026-10-24T21:38:26.837+00:00", "load1": "1.80"}, "seconds": 2.742, "counts": {"tests": 15, "pass": 15, "fail": 0, "skipped": 0, "cancelled": 0}, "failure_events": [], "log": "agents/magica/work/queue-329/gate-r2/cli-instances.test.txt", "raw": "/mnt/storage/scratch/tmp/bcheNJ/stdout.txt", "raw_sha256": "ea156f123f60723867b2d7c8c83b4649dfc4e0fee50735384ba034078ee46bfe", "review_sha256": "ea156f123f60723867b2d7c8c83b4649dfc4e0fee50735384ba034078ee46bfe", "normalization": "trailing whitespace only; raw retained"}
{"label": "cli-launcher.test", "rc": 0, "nice": 19, "begin": {"utc": "2026-10-24T21:38:26.839+00:00", "load1": "1.80"}, "end": {"utc": "2026-10-24T21:38:54.716+00:00", "load1": "1.99"}, "seconds": 27.877, "counts": {"tests": 34, "pass": 34, "fail": 0, "skipped": 0, "cancelled": 0}, "failure_events": [], "log": "agents/magica/work/queue-329/gate-r2/cli-launcher.test.txt", "raw": "/mnt/storage/scratch/tmp/V5Okpd/stdout.txt", "raw_sha256": "a50e012f0fd76f2df61c30c99e8b9284a426b96ed432b213bbbd8c4f30b6c54e", "review_sha256": "a50e012f0fd76f2df61c30c99e8b9284a426b96ed432b213bbbd8c4f30b6c54e", "normalization": "trailing whitespace only; raw retained"}
{"label": "cli-lifecycle.test", "rc": 0, "nice": 19, "begin": {"utc": "2026-10-24T21:38:54.717+00:00", "load1": "1.99"}, "end": {"utc": "2026-10-24T21:39:08.536+00:00", "load1": "2.14"}, "seconds": 13.819, "counts": {"tests": 24, "pass": 24, "fail": 0, "skipped": 0, "cancelled": 0}, "failure_events": [], "log": "agents/magica/work/queue-329/gate-r2/cli-lifecycle.test.txt", "raw": "/mnt/storage/scratch/tmp/sAlkoc/stdout.txt", "raw_sha256": "095e17f532d679fe513c32c2e03518d4cf2437baf5769faf97a28cf95774503a", "review_sha256": "095e17f532d679fe513c32c2e03518d4cf2437baf5769faf97a28cf95774503a", "normalization": "trailing whitespace only; raw retained"}
{"label": "cli-limits-tokens.test", "rc": 0, "nice": 19, "begin": {"utc": "2026-10-24T21:39:08.537+00:00", "load1": "2.14"}, "end": {"utc": "2026-10-24T21:39:08.721+00:00", "load1": "2.14"}, "seconds": 0.183, "counts": {"tests": 5, "pass": 5, "fail": 0, "skipped": 0, "cancelled": 0}, "failure_events": [], "log": "agents/magica/work/queue-329/gate-r2/cli-limits-tokens.test.txt", "raw": "/mnt/storage/scratch/tmp/n6VAUo/stdout.txt", "raw_sha256": "9988657dfa758b51bfcf96e950aee97f8bd4ab55586ff987102e4a4d0ed1d70c", "review_sha256": "9988657dfa758b51bfcf96e950aee97f8bd4ab55586ff987102e4a4d0ed1d70c", "normalization": "trailing whitespace only; raw retained"}
{"label": "cli-limits.test", "rc": 0, "nice": 19, "begin": {"utc": "2026-10-24T21:39:08.722+00:00", "load1": "2.14"}, "end": {"utc": "2026-10-24T21:39:09.096+00:00", "load1": "2.14"}, "seconds": 0.374, "counts": {"tests": 5, "pass": 5, "fail": 0, "skipped": 0, "cancelled": 0}, "failure_events": [], "log": "agents/magica/work/queue-329/gate-r2/cli-limits.test.txt", "raw": "/mnt/storage/scratch/tmp/wc6Eoy/stdout.txt", "raw_sha256": "216591e5eac252a04cfd8d5cb80dd8bfce95e6888be4cecc37ce42848c007e58", "review_sha256": "216591e5eac252a04cfd8d5cb80dd8bfce95e6888be4cecc37ce42848c007e58", "normalization": "trailing whitespace only; raw retained"}
{"label": "cli-mark-read.test", "rc": 0, "nice": 19, "begin": {"utc": "2026-10-24T21:39:09.098+00:00", "load1": "2.14"}, "end": {"utc": "2026-10-24T21:39:10.140+00:00", "load1": "2.14"}, "seconds": 1.042, "counts": {"tests": 6, "pass": 6, "fail": 0, "skipped": 0, "cancelled": 0}, "failure_events": [], "log": "agents/magica/work/queue-329/gate-r2/cli-mark-read.test.txt", "raw": "/mnt/storage/scratch/tmp/CcBu1p/stdout.txt", "raw_sha256": "752895e1b4be7f8a158ac216e3e2b00789340dcada3c7f16764b8d0c7f82e45b", "review_sha256": "752895e1b4be7f8a158ac216e3e2b00789340dcada3c7f16764b8d0c7f82e45b", "normalization": "trailing whitespace only; raw retained"}
{"label": "cli-model-proxy.test", "rc": 0, "nice": 19, "begin": {"utc": "2026-10-24T21:39:10.141+00:00", "load1": "2.14"}, "end": {"utc": "2026-10-24T21:39:10.319+00:00", "load1": "2.14"}, "seconds": 0.178, "counts": {"tests": 9, "pass": 9, "fail": 0, "skipped": 0, "cancelled": 0}, "failure_events": [], "log": "agents/magica/work/queue-329/gate-r2/cli-model-proxy.test.txt", "raw": "/mnt/storage/scratch/tmp/e0u3Hh/stdout.txt", "raw_sha256": "1860f6a85d3d37ff21333d379a31b081e5ef3b8371c33945c4a477c30cb8b90b", "review_sha256": "1860f6a85d3d37ff21333d379a31b081e5ef3b8371c33945c4a477c30cb8b90b", "normalization": "trailing whitespace only; raw retained"}
{"label": "cli-names.test", "rc": 0, "nice": 19, "begin": {"utc": "2026-10-24T21:39:10.321+00:00", "load1": "2.14"}, "end": {"utc": "2026-10-24T21:39:10.528+00:00", "load1": "2.14"}, "seconds": 0.208, "counts": {"tests": 2, "pass": 2, "fail": 0, "skipped": 0, "cancelled": 0}, "failure_events": [], "log": "agents/magica/work/queue-329/gate-r2/cli-names.test.txt", "raw": "/mnt/storage/scratch/tmp/amSBet/stdout.txt", "raw_sha256": "3fb040411ad19c4fa194485f8059de0eb39cad55641c9631d18e8bc426b51f0d", "review_sha256": "3fb040411ad19c4fa194485f8059de0eb39cad55641c9631d18e8bc426b51f0d", "normalization": "trailing whitespace only; raw retained"}
{"label": "cli-optional-tracker.test", "rc": 0, "nice": 19, "begin": {"utc": "2026-10-24T21:39:10.530+00:00", "load1": "2.14"}, "end": {"utc": "2026-10-24T21:39:10.786+00:00", "load1": "2.13"}, "seconds": 0.256, "counts": {"tests": 4, "pass": 4, "fail": 0, "skipped": 0, "cancelled": 0}, "failure_events": [], "log": "agents/magica/work/queue-329/gate-r2/cli-optional-tracker.test.txt", "raw": "/mnt/storage/scratch/tmp/9IGea0/stdout.txt", "raw_sha256": "266aea732bdc9378ea736d2fb9f9bf323977aeceab84344b425b1413315be4bf", "review_sha256": "266aea732bdc9378ea736d2fb9f9bf323977aeceab84344b425b1413315be4bf", "normalization": "trailing whitespace only; raw retained"}
{"label": "cli-other-tree.test", "rc": 0, "nice": 19, "begin": {"utc": "2026-10-24T21:39:10.787+00:00", "load1": "2.13"}, "end": {"utc": "2026-10-24T21:39:10.959+00:00", "load1": "2.13"}, "seconds": 0.171, "counts": {"tests": 4, "pass": 4, "fail": 0, "skipped": 0, "cancelled": 0}, "failure_events": [], "log": "agents/magica/work/queue-329/gate-r2/cli-other-tree.test.txt", "raw": "/mnt/storage/scratch/tmp/Oy7nTk/stdout.txt", "raw_sha256": "ff27aac13153d0e13eed59d219b3b65f5324e96e7cd23b8249caf8900dccf551", "review_sha256": "ff27aac13153d0e13eed59d219b3b65f5324e96e7cd23b8249caf8900dccf551", "normalization": "trailing whitespace only; raw retained"}
{"label": "cli-processing-cli.test", "rc": 0, "nice": 19, "begin": {"utc": "2026-10-24T21:39:10.960+00:00", "load1": "2.13"}, "end": {"utc": "2026-10-24T21:39:11.187+00:00", "load1": "2.13"}, "seconds": 0.227, "counts": {"tests": 4, "pass": 4, "fail": 0, "skipped": 0, "cancelled": 0}, "failure_events": [], "log": "agents/magica/work/queue-329/gate-r2/cli-processing-cli.test.txt", "raw": "/mnt/storage/scratch/tmp/2bnmQA/stdout.txt", "raw_sha256": "ba2208b51786a0d4b536f76d840e4d3f86cd26a81c7989fc5ca06e13ac392c16", "review_sha256": "ba2208b51786a0d4b536f76d840e4d3f86cd26a81c7989fc5ca06e13ac392c16", "normalization": "trailing whitespace only; raw retained"}
{"label": "cli-project-name-repo.test", "rc": 0, "nice": 19, "begin": {"utc": "2026-10-24T21:39:11.189+00:00", "load1": "2.13"}, "end": {"utc": "2026-10-24T21:39:11.428+00:00", "load1": "2.13"}, "seconds": 0.239, "counts": {"tests": 2, "pass": 2, "fail": 0, "skipped": 0, "cancelled": 0}, "failure_events": [], "log": "agents/magica/work/queue-329/gate-r2/cli-project-name-repo.test.txt", "raw": "/mnt/storage/scratch/tmp/taUr0g/stdout.txt", "raw_sha256": "2ab5c5589a967a49af9a48b6fe9d8b070c83fb4ddafa701cb314ee8eacf58803", "review_sha256": "2ab5c5589a967a49af9a48b6fe9d8b070c83fb4ddafa701cb314ee8eacf58803", "normalization": "trailing whitespace only; raw retained"}
{"label": "cli-project.test", "rc": 0, "nice": 19, "begin": {"utc": "2026-10-24T21:39:11.429+00:00", "load1": "2.13"}, "end": {"utc": "2026-10-24T21:39:11.904+00:00", "load1": "2.13"}, "seconds": 0.475, "counts": {"tests": 4, "pass": 4, "fail": 0, "skipped": 0, "cancelled": 0}, "failure_events": [], "log": "agents/magica/work/queue-329/gate-r2/cli-project.test.txt", "raw": "/mnt/storage/scratch/tmp/Tn0793/stdout.txt", "raw_sha256": "eeb05c7bbb900111114536562271a0561961366d800d10dc9a523427c9d948d4", "review_sha256": "eeb05c7bbb900111114536562271a0561961366d800d10dc9a523427c9d948d4", "normalization": "trailing whitespace only; raw retained"}
{"label": "cli-publish-socket.test", "rc": 0, "nice": 19, "begin": {"utc": "2026-10-24T21:39:11.906+00:00", "load1": "2.13"}, "end": {"utc": "2026-10-24T21:39:18.473+00:00", "load1": "2.36"}, "seconds": 6.568, "counts": {"tests": 9, "pass": 9, "fail": 0, "skipped": 0, "cancelled": 0}, "failure_events": [], "log": "agents/magica/work/queue-329/gate-r2/cli-publish-socket.test.txt", "raw": "/mnt/storage/scratch/tmp/r2vBrV/stdout.txt", "raw_sha256": "5f37bd01ad735a22847e23288eb74de145fc7d9409212ce7f750a1f5537e589b", "review_sha256": "5f37bd01ad735a22847e23288eb74de145fc7d9409212ce7f750a1f5537e589b", "normalization": "trailing whitespace only; raw retained"}
{"label": "cli-revoke-window.test", "rc": 0, "nice": 19, "begin": {"utc": "2026-10-24T21:39:18.475+00:00", "load1": "2.36"}, "end": {"utc": "2026-10-24T21:39:19.442+00:00", "load1": "2.36"}, "seconds": 0.967, "counts": {"tests": 1, "pass": 1, "fail": 0, "skipped": 0, "cancelled": 0}, "failure_events": [], "log": "agents/magica/work/queue-329/gate-r2/cli-revoke-window.test.txt", "raw": "/mnt/storage/scratch/tmp/VS66YH/stdout.txt", "raw_sha256": "11fe687feb95434d03dfb29bbb6b29daa8eded4ed9ef57c1205439952505bab7", "review_sha256": "11fe687feb95434d03dfb29bbb6b29daa8eded4ed9ef57c1205439952505bab7", "normalization": "trailing whitespace only; raw retained"}
{"label": "cli-session-clear.test", "rc": 0, "nice": 19, "begin": {"utc": "2026-10-24T21:39:19.445+00:00", "load1": "2.36"}, "end": {"utc": "2026-10-24T21:39:31.363+00:00", "load1": "2.97"}, "seconds": 11.919, "counts": {"tests": 5, "pass": 5, "fail": 0, "skipped": 0, "cancelled": 0}, "failure_events": [], "log": "agents/magica/work/queue-329/gate-r2/cli-session-clear.test.txt", "raw": "/mnt/storage/scratch/tmp/QUDudM/stdout.txt", "raw_sha256": "6eb2f7df1081685a59a0ce69efc1b8fe35ac155c6f4222d9b79d4953079f2560", "review_sha256": "6eb2f7df1081685a59a0ce69efc1b8fe35ac155c6f4222d9b79d4953079f2560", "normalization": "trailing whitespace only; raw retained"}
{"label": "cli-session-cli.test", "rc": 0, "nice": 19, "begin": {"utc": "2026-10-24T21:39:31.367+00:00", "load1": "2.97"}, "end": {"utc": "2026-10-24T21:39:31.606+00:00", "load1": "2.97"}, "seconds": 0.239, "counts": {"tests": 14, "pass": 14, "fail": 0, "skipped": 0, "cancelled": 0}, "failure_events": [], "log": "agents/magica/work/queue-329/gate-r2/cli-session-cli.test.txt", "raw": "/mnt/storage/scratch/tmp/lbbeOc/stdout.txt", "raw_sha256": "a6cf001371e3d37548209e27a96790aeab1658f9834ad3aad0079bb848f798f9", "review_sha256": "a6cf001371e3d37548209e27a96790aeab1658f9834ad3aad0079bb848f798f9", "normalization": "trailing whitespace only; raw retained"}
{"label": "cli-session-launch.test", "rc": 0, "nice": 19, "begin": {"utc": "2026-10-24T21:39:31.607+00:00", "load1": "2.97"}, "end": {"utc": "2026-10-24T21:39:42.518+00:00", "load1": "3.19"}, "seconds": 10.911, "counts": {"tests": 8, "pass": 8, "fail": 0, "skipped": 0, "cancelled": 0}, "failure_events": [], "log": "agents/magica/work/queue-329/gate-r2/cli-session-launch.test.txt", "raw": "/mnt/storage/scratch/tmp/aqnzkf/stdout.txt", "raw_sha256": "4bce7c2a9c9f3c067de4c9b517f3163f7ad011ab8b8fd270b253f197beddc87e", "review_sha256": "4bce7c2a9c9f3c067de4c9b517f3163f7ad011ab8b8fd270b253f197beddc87e", "normalization": "trailing whitespace only; raw retained"}
{"label": "cli-stack-copy.test", "rc": 0, "nice": 19, "begin": {"utc": "2026-10-24T21:39:42.520+00:00", "load1": "3.19"}, "end": {"utc": "2026-10-24T21:39:59.726+00:00", "load1": "2.93"}, "seconds": 17.206, "counts": {"tests": 18, "pass": 18, "fail": 0, "skipped": 0, "cancelled": 0}, "failure_events": [], "log": "agents/magica/work/queue-329/gate-r2/cli-stack-copy.test.txt", "raw": "/mnt/storage/scratch/tmp/Lf8Ohc/stdout.txt", "raw_sha256": "cbca0eec372ce64f9f79b44b223edfa4cb6e36192aa3b2c9f34524a581d792ce", "review_sha256": "cbca0eec372ce64f9f79b44b223edfa4cb6e36192aa3b2c9f34524a581d792ce", "normalization": "trailing whitespace only; raw retained"}
{"label": "cli-stack-instances.test", "rc": 0, "nice": 19, "begin": {"utc": "2026-10-24T21:39:59.728+00:00", "load1": "2.93"}, "end": {"utc": "2026-10-24T21:40:03.541+00:00", "load1": "3.25"}, "seconds": 3.813, "counts": {"tests": 24, "pass": 24, "fail": 0, "skipped": 0, "cancelled": 0}, "failure_events": [], "log": "agents/magica/work/queue-329/gate-r2/cli-stack-instances.test.txt", "raw": "/mnt/storage/scratch/tmp/UtkF7t/stdout.txt", "raw_sha256": "29cbaca8d32ed51cc4352005e7c8ed5b2218eaa68c0d5848dd65454394637070", "review_sha256": "29cbaca8d32ed51cc4352005e7c8ed5b2218eaa68c0d5848dd65454394637070", "normalization": "trailing whitespace only; raw retained"}
{"label": "cli-stack-release-external.test", "rc": 0, "nice": 19, "begin": {"utc": "2026-10-24T21:40:03.542+00:00", "load1": "3.25"}, "end": {"utc": "2026-10-24T21:41:28.659+00:00", "load1": "4.26"}, "seconds": 85.117, "counts": {"tests": 25, "pass": 25, "fail": 0, "skipped": 0, "cancelled": 0}, "failure_events": [], "log": "agents/magica/work/queue-329/gate-r2/cli-stack-release-external.test.txt", "raw": "/mnt/storage/scratch/tmp/jCTyLN/stdout.txt", "raw_sha256": "978b39a672d14aacc0158096c98da23e8b1384145005181156be191705498790", "review_sha256": "978b39a672d14aacc0158096c98da23e8b1384145005181156be191705498790", "normalization": "trailing whitespace only; raw retained"}
{"label": "cli-stack-release.test", "rc": 0, "nice": 19, "begin": {"utc": "2026-10-24T21:41:28.660+00:00", "load1": "4.26"}, "end": {"utc": "2026-10-24T21:52:33.444+00:00", "load1": "4.54"}, "seconds": 664.784, "counts": {"tests": 224, "pass": 224, "fail": 0, "skipped": 0, "cancelled": 0}, "failure_events": [], "log": "agents/magica/work/queue-329/gate-r2/cli-stack-release.test.txt", "raw": "/mnt/storage/scratch/tmp/j7fVCe/stdout.txt", "raw_sha256": "727fc9c272f2b677f495e644f1f25fd25d2f6771f892f0cdc4eddcc486c8ffed", "review_sha256": "727fc9c272f2b677f495e644f1f25fd25d2f6771f892f0cdc4eddcc486c8ffed", "normalization": "trailing whitespace only; raw retained"}
{"label": "cli-stack-upgrade.test", "rc": 0, "nice": 19, "begin": {"utc": "2026-10-24T21:52:33.450+00:00", "load1": "4.54"}, "end": {"utc": "2026-10-24T21:53:53.223+00:00", "load1": "5.53"}, "seconds": 79.773, "counts": {"tests": 21, "pass": 21, "fail": 0, "skipped": 0, "cancelled": 0}, "failure_events": [], "log": "agents/magica/work/queue-329/gate-r2/cli-stack-upgrade.test.txt", "raw": "/mnt/storage/scratch/tmp/oSQDBM/stdout.txt", "raw_sha256": "5bc6c98d28d0efaaf8e22a7424c14490a002d2f4309d3cff5560fb6cc81005a8", "review_sha256": "5bc6c98d28d0efaaf8e22a7424c14490a002d2f4309d3cff5560fb6cc81005a8", "normalization": "trailing whitespace only; raw retained"}
{"label": "cli-tester-reads.test", "rc": 0, "nice": 19, "begin": {"utc": "2026-10-24T21:53:53.225+00:00", "load1": "5.53"}, "end": {"utc": "2026-10-24T21:53:56.317+00:00", "load1": "5.33"}, "seconds": 3.092, "counts": {"tests": 6, "pass": 6, "fail": 0, "skipped": 0, "cancelled": 0}, "failure_events": [], "log": "agents/magica/work/queue-329/gate-r2/cli-tester-reads.test.txt", "raw": "/mnt/storage/scratch/tmp/rTd0c8/stdout.txt", "raw_sha256": "5f5857a678ee71288a830f46ebdfe2906fdbfaf9ca05c45bc24f8733fc85e72a", "review_sha256": "5f5857a678ee71288a830f46ebdfe2906fdbfaf9ca05c45bc24f8733fc85e72a", "normalization": "trailing whitespace only; raw retained"}
{"label": "cli-tester-threads.test", "rc": 0, "nice": 19, "begin": {"utc": "2026-10-24T21:53:56.319+00:00", "load1": "5.33"}, "end": {"utc": "2026-10-24T21:53:59.324+00:00", "load1": "5.33"}, "seconds": 3.005, "counts": {"tests": 5, "pass": 5, "fail": 0, "skipped": 0, "cancelled": 0}, "failure_events": [], "log": "agents/magica/work/queue-329/gate-r2/cli-tester-threads.test.txt", "raw": "/mnt/storage/scratch/tmp/f2GP8b/stdout.txt", "raw_sha256": "2345321de50437a397787c460a5e1b1b8e23333c1079738cb29586d0a073ca17", "review_sha256": "2345321de50437a397787c460a5e1b1b8e23333c1079738cb29586d0a073ca17", "normalization": "trailing whitespace only; raw retained"}
{"label": "cli-tester.test", "rc": 0, "nice": 19, "begin": {"utc": "2026-10-24T21:53:59.326+00:00", "load1": "5.33"}, "end": {"utc": "2026-10-24T21:53:59.659+00:00", "load1": "5.33"}, "seconds": 0.332, "counts": {"tests": 11, "pass": 11, "fail": 0, "skipped": 0, "cancelled": 0}, "failure_events": [], "log": "agents/magica/work/queue-329/gate-r2/cli-tester.test.txt", "raw": "/mnt/storage/scratch/tmp/DiGfBC/stdout.txt", "raw_sha256": "08e86197474154f56a7145f675e8dda2706e7836815e200fd0cb1d878df08c2e", "review_sha256": "08e86197474154f56a7145f675e8dda2706e7836815e200fd0cb1d878df08c2e", "normalization": "trailing whitespace only; raw retained"}
{"label": "cli-thread-cli.test", "rc": 0, "nice": 19, "begin": {"utc": "2026-10-24T21:53:59.660+00:00", "load1": "5.33"}, "end": {"utc": "2026-10-24T21:54:01.569+00:00", "load1": "6.50"}, "seconds": 1.909, "counts": {"tests": 11, "pass": 11, "fail": 0, "skipped": 0, "cancelled": 0}, "failure_events": [], "log": "agents/magica/work/queue-329/gate-r2/cli-thread-cli.test.txt", "raw": "/mnt/storage/scratch/tmp/SCT6IZ/stdout.txt", "raw_sha256": "140c3a7e88ffdf1201cbb19ebb2090c53b1ee85a8c38e36e384bdf799c53ba36", "review_sha256": "140c3a7e88ffdf1201cbb19ebb2090c53b1ee85a8c38e36e384bdf799c53ba36", "normalization": "trailing whitespace only; raw retained"}
{"label": "cli-thread-launch.test", "rc": 0, "nice": 19, "begin": {"utc": "2026-10-24T21:54:01.570+00:00", "load1": "6.50"}, "end": {"utc": "2026-10-24T21:54:21.043+00:00", "load1": "5.72"}, "seconds": 19.472, "counts": {"tests": 15, "pass": 15, "fail": 0, "skipped": 0, "cancelled": 0}, "failure_events": [], "log": "agents/magica/work/queue-329/gate-r2/cli-thread-launch.test.txt", "raw": "/mnt/storage/scratch/tmp/TwM9x5/stdout.txt", "raw_sha256": "87cf64e2c72f38a70e92299bcc53ef89b4d7285233ce6142d7d68804eaf6a4eb", "review_sha256": "87cf64e2c72f38a70e92299bcc53ef89b4d7285233ce6142d7d68804eaf6a4eb", "normalization": "trailing whitespace only; raw retained"}
{"label": "cli-thread-revoke.test", "rc": 0, "nice": 19, "begin": {"utc": "2026-10-24T21:54:21.044+00:00", "load1": "5.72"}, "end": {"utc": "2026-10-24T21:54:21.928+00:00", "load1": "5.72"}, "seconds": 0.884, "counts": {"tests": 3, "pass": 3, "fail": 0, "skipped": 0, "cancelled": 0}, "failure_events": [], "log": "agents/magica/work/queue-329/gate-r2/cli-thread-revoke.test.txt", "raw": "/mnt/storage/scratch/tmp/8Ic4S9/stdout.txt", "raw_sha256": "c01ea3664cf8797d3c6c9af41134654b96b01ee79cd2355881866bf88d2fb225", "review_sha256": "c01ea3664cf8797d3c6c9af41134654b96b01ee79cd2355881866bf88d2fb225", "normalization": "trailing whitespace only; raw retained"}
{"label": "cli-trackers-boot.test", "rc": 0, "nice": 19, "begin": {"utc": "2026-10-24T21:54:21.930+00:00", "load1": "5.72"}, "end": {"utc": "2026-10-24T21:54:22.798+00:00", "load1": "5.72"}, "seconds": 0.868, "counts": {"tests": 2, "pass": 2, "fail": 0, "skipped": 0, "cancelled": 0}, "failure_events": [], "log": "agents/magica/work/queue-329/gate-r2/cli-trackers-boot.test.txt", "raw": "/mnt/storage/scratch/tmp/vZgXMl/stdout.txt", "raw_sha256": "596819d78167fcf2a65dd93a52de1b0cf9340b1eac7035cecfec9f672ae223b5", "review_sha256": "596819d78167fcf2a65dd93a52de1b0cf9340b1eac7035cecfec9f672ae223b5", "normalization": "trailing whitespace only; raw retained"}
{"label": "cli-usage.test", "rc": 0, "nice": 19, "begin": {"utc": "2026-10-24T21:54:22.800+00:00", "load1": "5.72"}, "end": {"utc": "2026-10-24T21:54:23.194+00:00", "load1": "5.72"}, "seconds": 0.395, "counts": {"tests": 2, "pass": 2, "fail": 0, "skipped": 0, "cancelled": 0}, "failure_events": [], "log": "agents/magica/work/queue-329/gate-r2/cli-usage.test.txt", "raw": "/mnt/storage/scratch/tmp/oGiavl/stdout.txt", "raw_sha256": "87d39eb6922fb37a6d220efd2418e3576437da52427cf3d48e59f27cedc7b23b", "review_sha256": "87d39eb6922fb37a6d220efd2418e3576437da52427cf3d48e59f27cedc7b23b", "normalization": "trailing whitespace only; raw retained"}
{"label": "cli-verbs.test", "rc": 0, "nice": 19, "begin": {"utc": "2026-10-24T21:54:23.197+00:00", "load1": "5.72"}, "end": {"utc": "2026-10-24T21:54:26.666+00:00", "load1": "6.39"}, "seconds": 3.47, "counts": {"tests": 9, "pass": 9, "fail": 0, "skipped": 0, "cancelled": 0}, "failure_events": [], "log": "agents/magica/work/queue-329/gate-r2/cli-verbs.test.txt", "raw": "/mnt/storage/scratch/tmp/iUz5gn/stdout.txt", "raw_sha256": "4a5915b363f0e34ec6ee66f70e7844800ddcc2e6b8a37fc6d3a951ef9185c1ce", "review_sha256": "4a5915b363f0e34ec6ee66f70e7844800ddcc2e6b8a37fc6d3a951ef9185c1ce", "normalization": "trailing whitespace only; raw retained"}
{"label": "test-config.sh", "rc": 0, "nice": 19, "begin": {"utc": "2026-10-24T21:54:26.668+00:00", "load1": "6.39"}, "end": {"utc": "2026-10-24T21:54:29.245+00:00", "load1": "6.39"}, "seconds": 2.577, "counts": {"tests": null, "pass": null, "fail": null, "skipped": null, "cancelled": null}, "failure_events": [], "log": "agents/magica/work/queue-329/gate-r2/test-config.sh.txt", "raw": "/mnt/storage/scratch/tmp/vCSq24/stdout.txt", "raw_sha256": "21d65fae2201534dd0c14771fa2d387d643ca698aa550faaa60fdc2a509e53dc", "review_sha256": "21d65fae2201534dd0c14771fa2d387d643ca698aa550faaa60fdc2a509e53dc", "normalization": "trailing whitespace only; raw retained"}
Round2 gate complete.
+46
View File
@@ -0,0 +1,46 @@
# Sage4274/4276 cleared whole-file gate. Product source is fixed before invocation.
import datetime,hashlib,json,os,pathlib,re,subprocess,threading,time
REPO=pathlib.Path(__file__).resolve().parents[4]
BASE=REPO/'agents/magica/work/queue-329'
OUT=BASE/'gate-r2'
def utc():return datetime.datetime.now(datetime.timezone.utc).isoformat(timespec='milliseconds')
def load():return pathlib.Path('/proc/loadavg').read_text().split()[0]
def nice19():os.setpriority(os.PRIO_PROCESS,0,19)
def run(label,cmd,seconds=1800):
scratch=subprocess.check_output(['mktemp','-d','/mnt/storage/scratch/tmp/XXXXXX'],text=True).strip()
env=dict(os.environ,TMPDIR=scratch,npm_config_offline='true',MOSAIC_REQUIRE_EDITOR_BUILD='1')
raw=pathlib.Path(scratch)/'stdout.txt';log=OUT/(label+'.txt');begin={'utc':utc(),'load1':load()};started=time.monotonic();events=[]
stop=threading.Event()
def sample():
with (OUT/(label+'.load.jsonl')).open('w') as f:
while not stop.is_set():f.write(json.dumps({'utc':utc(),'load1':load()})+'\n');f.flush();stop.wait(1)
thread=threading.Thread(target=sample);thread.start()
try:
with raw.open('w') as f:
f.write('command: '+json.dumps(['timeout','-k','10',str(seconds),*cmd])+'\nTMPDIR: '+scratch+'\nbegin: '+json.dumps(begin)+'\n');f.flush()
p=subprocess.Popen(['timeout','-k','10',str(seconds),*cmd],cwd=REPO,env=env,stdout=subprocess.PIPE,stderr=subprocess.STDOUT,text=True,preexec_fn=nice19)
priority=os.getpriority(os.PRIO_PROCESS,p.pid);f.write('launch nice: '+str(priority)+'\n');f.flush()
for line in p.stdout:
f.write(line);f.flush()
if re.match(r'^\s*(✖|not ok )',line):events.append({'utc':utc(),'load1':load(),'event':line.rstrip()})
rc=p.wait()
finally:stop.set();thread.join()
text=raw.read_text();log.write_text(''.join(line.rstrip()+'\n' for line in text.splitlines()))
counts={}
for k in ['tests','pass','fail','skipped','cancelled']:
matches=re.findall(r'^(?:ℹ |# )'+k+r' (\d+)',text,re.M);counts[k]=int(matches[-1]) if matches else None
receipt={'label':label,'rc':rc,'nice':priority,'begin':begin,'end':{'utc':utc(),'load1':load()},'seconds':round(time.monotonic()-started,3),'counts':counts,'failure_events':events,'log':str(log.relative_to(REPO)),'raw':str(raw),'raw_sha256':hashlib.sha256(raw.read_bytes()).hexdigest(),'review_sha256':hashlib.sha256(log.read_bytes()).hexdigest(),'normalization':'trailing whitespace only; raw retained'}
with (OUT/'runs.jsonl').open('a') as f:f.write(json.dumps(receipt)+'\n')
print(json.dumps(receipt),flush=True)
return rc
for file in sorted((REPO/'packages/model-proxy/tests').glob('*.test.mjs')):
if run('model-proxy-'+file.stem,['node','--test',str(file)]):raise SystemExit(1)
readers=json.loads((BASE/'r2-reader-files.json').read_text())
for name in readers:
if name.endswith('/federation-acceptance.test.mjs'):
if run('cli-federation-acceptance-runner',['bash',str(REPO/'scripts/test-federation-acceptance.sh')],600):raise SystemExit(1)
else:
f=pathlib.Path(name)
if run(f.parts[1]+'-'+f.stem,['node','--test',str(REPO/f)]):raise SystemExit(1)
if run('test-config.sh',['bash',str(REPO/'scripts/test-config.sh')],600):raise SystemExit(1)
print('Round2 gate complete.',flush=True)
@@ -0,0 +1,622 @@
command: ["timeout", "-k", "10", "1800", "node", "--test", "/home/jwoltje/.t3/worktrees/mosaic-stack/magica-row329/packages/model-proxy/tests/management-key-encoding.test.mjs"]
TMPDIR: /mnt/storage/scratch/tmp/wfREQX
nice: 19
✖ proxy-key-invalid: Latin-1 leaves complete config/data inventories unchanged (17.65513ms)
✖ proxy-key-invalid: leading space leaves complete config/data inventories unchanged (4.343871ms)
✖ proxy-key-invalid: trailing space leaves complete config/data inventories unchanged (2.557103ms)
✖ proxy-key-invalid: internal space leaves complete config/data inventories unchanged (3.2301ms)
✔ printable non-space ASCII control initializes and authenticates with unchanged existing files (10.212034ms)
ℹ tests 5
ℹ suites 0
ℹ pass 1
ℹ fail 4
ℹ cancelled 0
ℹ skipped 0
ℹ todo 0
ℹ duration_ms 106.39976
✖ failing tests:
test at packages/model-proxy/tests/management-key-encoding.test.mjs:53:3
✖ proxy-key-invalid: Latin-1 leaves complete config/data inventories unchanged (17.65513ms)
AssertionError [ERR_ASSERTION]: Expected values to be strictly deep-equal:
+ actual - expected
... Skipped lines
{
+ refusal: null,
- refusal: 'proxy-key-invalid',
trees: {
config: [
{
+ changed: '1792877317880267062',
- changed: '1792877317869266954',
device: '66305',
gid: '1000',
inode: '35585306',
kind: 'directory',
mode: '700',
+ modified: '1792877317880267062',
- modified: '1792877317869266954',
path: '.',
uid: '1000'
},
{
changed: '1792877317869266954',
...
{
+ changed: '1792877317879267052',
- changed: '1792877317869266954',
device: '66305',
gid: '1000',
+ inode: '35585385',
+ kind: 'file',
+ mode: '600',
+ modified: '1792877317879267052',
+ path: 'proxy.json',
+ sha256: 'eae788102d628764ed2632c51a0c7aa190a7170cdfd163fec91a19f3b54d18b2',
+ size: '128',
+ uid: '1000'
+ },
+ {
+ changed: '1792877317879267052',
+ device: '66305',
+ gid: '1000',
inode: '35854617',
kind: 'directory',
mode: '700',
+ modified: '1792877317879267052',
- modified: '1792877317869266954',
path: 'secrets',
uid: '1000'
},
{
changed: '1792877317869266954',
...
},
+ {
+ changed: '1792877317879267052',
+ device: '66305',
+ gid: '1000',
+ inode: '35854619',
+ kind: 'file',
+ mode: '600',
+ modified: '1792877317879267052',
+ path: 'secrets/proxy-management.key',
+ sha256: '361442f92cff70a5a8a7516c5f7fcf00c41f8dd603b1a68e35705762ed0c5204',
+ size: '11',
+ uid: '1000'
+ }
],
data: [
{
+ changed: '1792877317878267042',
- changed: '1792877317869266954',
device: '66305',
gid: '1000',
inode: '35985487',
kind: 'directory',
mode: '700',
+ modified: '1792877317878267042',
- modified: '1792877317869266954',
path: '.',
uid: '1000'
},
{
changed: '1792877317869266954',
...
},
+ {
+ changed: '1792877317879267052',
+ device: '66305',
+ gid: '1000',
+ inode: '37276524',
+ kind: 'directory',
+ mode: '700',
+ modified: '1792877317879267052',
+ path: 'proxy',
+ uid: '1000'
+ },
+ {
+ changed: '1792877317878267042',
+ device: '66305',
+ gid: '1000',
+ inode: '37406254',
+ kind: 'directory',
+ mode: '700',
+ modified: '1792877317878267042',
+ path: 'proxy/auth',
+ uid: '1000'
+ },
+ {
+ changed: '1792877317879267052',
+ device: '66305',
+ gid: '1000',
+ inode: '37276525',
+ kind: 'file',
+ mode: '600',
+ modified: '1792877317879267052',
+ path: 'proxy/config.yaml',
+ sha256: '913357d615bc20d3e116cc86e1bc9121d422193eb59d6b53e3460a905089a0c2',
+ size: '714',
+ uid: '1000'
+ },
+ {
+ changed: '1792877317879267052',
+ device: '66305',
+ gid: '1000',
+ inode: '37558552',
+ kind: 'directory',
+ mode: '700',
+ modified: '1792877317879267052',
+ path: 'proxy/logs',
+ uid: '1000'
+ }
]
}
}
at TestContext.<anonymous> (file:///home/jwoltje/.t3/worktrees/mosaic-stack/magica-row329/packages/model-proxy/tests/management-key-encoding.test.mjs:56:12)
at process.processTicksAndRejections (node:internal/process/task_queues:104:5)
at async Test.run (node:internal/test_runner/test:1409:7)
at async startSubtestAfterBootstrap (node:internal/test_runner/harness:387:3) {
generatedMessage: true,
code: 'ERR_ASSERTION',
actual: { refusal: null, trees: { config: [Array], data: [Array] } },
expected: { refusal: 'proxy-key-invalid', trees: { config: [Array], data: [Array] } },
operator: 'deepStrictEqual',
diff: 'simple'
}
test at packages/model-proxy/tests/management-key-encoding.test.mjs:53:3
✖ proxy-key-invalid: leading space leaves complete config/data inventories unchanged (4.343871ms)
AssertionError [ERR_ASSERTION]: Expected values to be strictly deep-equal:
+ actual - expected
... Skipped lines
{
+ refusal: null,
- refusal: 'proxy-key-invalid',
trees: {
config: [
{
+ changed: '1792877317887267130',
- changed: '1792877317885267111',
device: '66305',
gid: '1000',
inode: '35585306',
kind: 'directory',
mode: '700',
+ modified: '1792877317887267130',
- modified: '1792877317885267111',
path: '.',
uid: '1000'
},
{
changed: '1792877317885267111',
...
{
+ changed: '1792877317887267130',
- changed: '1792877317885267111',
device: '66305',
gid: '1000',
+ inode: '35585385',
+ kind: 'file',
+ mode: '600',
+ modified: '1792877317887267130',
+ path: 'proxy.json',
+ sha256: '44fd676f556fbb60af0a2d2c08bbc19d652401d89004a01b8c1fd6ab699d3069',
+ size: '128',
+ uid: '1000'
+ },
+ {
+ changed: '1792877317886267120',
+ device: '66305',
+ gid: '1000',
inode: '35854617',
kind: 'directory',
mode: '700',
+ modified: '1792877317886267120',
- modified: '1792877317885267111',
path: 'secrets',
uid: '1000'
},
{
changed: '1792877317885267111',
...
},
+ {
+ changed: '1792877317886267120',
+ device: '66305',
+ gid: '1000',
+ inode: '35854619',
+ kind: 'file',
+ mode: '600',
+ modified: '1792877317886267120',
+ path: 'secrets/proxy-management.key',
+ sha256: '12f158329015f5fa117a4be5b3380d6e989bd9d1e699af4b1555284e6c53811e',
+ size: '12',
+ uid: '1000'
+ }
],
data: [
{
+ changed: '1792877317886267120',
- changed: '1792877317885267111',
device: '66305',
gid: '1000',
inode: '35985487',
kind: 'directory',
mode: '700',
+ modified: '1792877317886267120',
- modified: '1792877317885267111',
path: '.',
uid: '1000'
},
{
changed: '1792877317885267111',
...
},
+ {
+ changed: '1792877317886267120',
+ device: '66305',
+ gid: '1000',
+ inode: '37276524',
+ kind: 'directory',
+ mode: '700',
+ modified: '1792877317886267120',
+ path: 'proxy',
+ uid: '1000'
+ },
+ {
+ changed: '1792877317886267120',
+ device: '66305',
+ gid: '1000',
+ inode: '37406254',
+ kind: 'directory',
+ mode: '700',
+ modified: '1792877317886267120',
+ path: 'proxy/auth',
+ uid: '1000'
+ },
+ {
+ changed: '1792877317886267120',
+ device: '66305',
+ gid: '1000',
+ inode: '37276525',
+ kind: 'file',
+ mode: '600',
+ modified: '1792877317886267120',
+ path: 'proxy/config.yaml',
+ sha256: '0056450ab396dc65c0b35b3e62c38909d3f5ae88ae3e1557edf0d36aeae57ab4',
+ size: '715',
+ uid: '1000'
+ },
+ {
+ changed: '1792877317886267120',
+ device: '66305',
+ gid: '1000',
+ inode: '37558552',
+ kind: 'directory',
+ mode: '700',
+ modified: '1792877317886267120',
+ path: 'proxy/logs',
+ uid: '1000'
+ }
]
}
}
at TestContext.<anonymous> (file:///home/jwoltje/.t3/worktrees/mosaic-stack/magica-row329/packages/model-proxy/tests/management-key-encoding.test.mjs:56:12)
at process.processTicksAndRejections (node:internal/process/task_queues:104:5)
at async Test.run (node:internal/test_runner/test:1409:7)
at async Test.processPendingSubtests (node:internal/test_runner/test:974:7) {
generatedMessage: true,
code: 'ERR_ASSERTION',
actual: { refusal: null, trees: { config: [Array], data: [Array] } },
expected: { refusal: 'proxy-key-invalid', trees: { config: [Array], data: [Array] } },
operator: 'deepStrictEqual',
diff: 'simple'
}
test at packages/model-proxy/tests/management-key-encoding.test.mjs:53:3
✖ proxy-key-invalid: trailing space leaves complete config/data inventories unchanged (2.557103ms)
AssertionError [ERR_ASSERTION]: Expected values to be strictly deep-equal:
+ actual - expected
... Skipped lines
{
+ refusal: null,
- refusal: 'proxy-key-invalid',
trees: {
config: [
{
+ changed: '1792877317890267159',
- changed: '1792877317889388572',
device: '66305',
gid: '1000',
inode: '35585306',
kind: 'directory',
mode: '700',
+ modified: '1792877317890267159',
- modified: '1792877317889388572',
path: '.',
uid: '1000'
},
{
changed: '1792877317889388572',
...
{
+ changed: '1792877317890267159',
- changed: '1792877317889388572',
device: '66305',
gid: '1000',
+ inode: '35585385',
+ kind: 'file',
+ mode: '600',
+ modified: '1792877317890267159',
+ path: 'proxy.json',
+ sha256: '5a88bb4a05eeb2dccabc528085d552425331f947f7a310876018b8f4d98c1f4c',
+ size: '128',
+ uid: '1000'
+ },
+ {
+ changed: '1792877317890267159',
+ device: '66305',
+ gid: '1000',
inode: '35854617',
kind: 'directory',
mode: '700',
+ modified: '1792877317890267159',
- modified: '1792877317889388572',
path: 'secrets',
uid: '1000'
},
{
changed: '1792877317889388572',
...
},
+ {
+ changed: '1792877317890267159',
+ device: '66305',
+ gid: '1000',
+ inode: '35854619',
+ kind: 'file',
+ mode: '600',
+ modified: '1792877317890267159',
+ path: 'secrets/proxy-management.key',
+ sha256: '679ceb45ea1307ef138dec7d9b8f1dbe01928a486cd451cc03f9387118486fb8',
+ size: '12',
+ uid: '1000'
+ }
],
data: [
{
+ changed: '1792877317890267159',
- changed: '1792877317889388572',
device: '66305',
gid: '1000',
inode: '35985487',
kind: 'directory',
mode: '700',
+ modified: '1792877317890267159',
- modified: '1792877317889388572',
path: '.',
uid: '1000'
},
{
changed: '1792877317889388572',
...
},
+ {
+ changed: '1792877317890267159',
+ device: '66305',
+ gid: '1000',
+ inode: '37276524',
+ kind: 'directory',
+ mode: '700',
+ modified: '1792877317890267159',
+ path: 'proxy',
+ uid: '1000'
+ },
+ {
+ changed: '1792877317890267159',
+ device: '66305',
+ gid: '1000',
+ inode: '37406254',
+ kind: 'directory',
+ mode: '700',
+ modified: '1792877317890267159',
+ path: 'proxy/auth',
+ uid: '1000'
+ },
+ {
+ changed: '1792877317890267159',
+ device: '66305',
+ gid: '1000',
+ inode: '37276525',
+ kind: 'file',
+ mode: '600',
+ modified: '1792877317890267159',
+ path: 'proxy/config.yaml',
+ sha256: '74995e5bd516dfa85c4d9d1e94a9bd6f456caf9670cb15afc159e394191caf3e',
+ size: '715',
+ uid: '1000'
+ },
+ {
+ changed: '1792877317890267159',
+ device: '66305',
+ gid: '1000',
+ inode: '37558552',
+ kind: 'directory',
+ mode: '700',
+ modified: '1792877317890267159',
+ path: 'proxy/logs',
+ uid: '1000'
+ }
]
}
}
at TestContext.<anonymous> (file:///home/jwoltje/.t3/worktrees/mosaic-stack/magica-row329/packages/model-proxy/tests/management-key-encoding.test.mjs:56:12)
at process.processTicksAndRejections (node:internal/process/task_queues:104:5)
at async Test.run (node:internal/test_runner/test:1409:7)
at async Test.processPendingSubtests (node:internal/test_runner/test:974:7) {
generatedMessage: true,
code: 'ERR_ASSERTION',
actual: { refusal: null, trees: { config: [Array], data: [Array] } },
expected: { refusal: 'proxy-key-invalid', trees: { config: [Array], data: [Array] } },
operator: 'deepStrictEqual',
diff: 'simple'
}
test at packages/model-proxy/tests/management-key-encoding.test.mjs:53:3
✖ proxy-key-invalid: internal space leaves complete config/data inventories unchanged (3.2301ms)
AssertionError [ERR_ASSERTION]: Expected values to be strictly deep-equal:
+ actual - expected
... Skipped lines
{
+ refusal: null,
- refusal: 'proxy-key-invalid',
trees: {
config: [
{
+ changed: '1792877317893267189',
- changed: '1792877317892267179',
device: '66305',
gid: '1000',
inode: '35585306',
kind: 'directory',
mode: '700',
+ modified: '1792877317893267189',
- modified: '1792877317892267179',
path: '.',
uid: '1000'
},
{
changed: '1792877317892267179',
...
{
+ changed: '1792877317893210462',
- changed: '1792877317892267179',
device: '66305',
gid: '1000',
+ inode: '35585385',
+ kind: 'file',
+ mode: '600',
+ modified: '1792877317893210462',
+ path: 'proxy.json',
+ sha256: '835d57f852a1f6534d8e8c3ba4b9e0e9dbc959fd52dd0b3ab37e665ff71a7919',
+ size: '128',
+ uid: '1000'
+ },
+ {
+ changed: '1792877317892893590',
+ device: '66305',
+ gid: '1000',
inode: '35854617',
kind: 'directory',
mode: '700',
+ modified: '1792877317892893590',
- modified: '1792877317892267179',
path: 'secrets',
uid: '1000'
},
{
changed: '1792877317892267179',
...
},
+ {
+ changed: '1792877317892893590',
+ device: '66305',
+ gid: '1000',
+ inode: '35854619',
+ kind: 'file',
+ mode: '600',
+ modified: '1792877317892893590',
+ path: 'secrets/proxy-management.key',
+ sha256: '387f480c5b52b6bfdd2b37db75106545b5d3bbbc68a840949f37d99f5bf75c46',
+ size: '11',
+ uid: '1000'
+ }
],
data: [
{
+ changed: '1792877317892893590',
- changed: '1792877317892267179',
device: '66305',
gid: '1000',
inode: '35985487',
kind: 'directory',
mode: '700',
+ modified: '1792877317892893590',
- modified: '1792877317892267179',
path: '.',
uid: '1000'
},
{
changed: '1792877317892267179',
...
},
+ {
+ changed: '1792877317892893590',
+ device: '66305',
+ gid: '1000',
+ inode: '37276524',
+ kind: 'directory',
+ mode: '700',
+ modified: '1792877317892893590',
+ path: 'proxy',
+ uid: '1000'
+ },
+ {
+ changed: '1792877317892893590',
+ device: '66305',
+ gid: '1000',
+ inode: '37406254',
+ kind: 'directory',
+ mode: '700',
+ modified: '1792877317892893590',
+ path: 'proxy/auth',
+ uid: '1000'
+ },
+ {
+ changed: '1792877317892893590',
+ device: '66305',
+ gid: '1000',
+ inode: '37276525',
+ kind: 'file',
+ mode: '600',
+ modified: '1792877317892893590',
+ path: 'proxy/config.yaml',
+ sha256: 'cffd56c62767ae2470f81322c1f201e4b77d078801cbebaab264669b643a7920',
+ size: '714',
+ uid: '1000'
+ },
+ {
+ changed: '1792877317892893590',
+ device: '66305',
+ gid: '1000',
+ inode: '37558552',
+ kind: 'directory',
+ mode: '700',
+ modified: '1792877317892893590',
+ path: 'proxy/logs',
+ uid: '1000'
+ }
]
}
}
at TestContext.<anonymous> (file:///home/jwoltje/.t3/worktrees/mosaic-stack/magica-row329/packages/model-proxy/tests/management-key-encoding.test.mjs:56:12)
at process.processTicksAndRejections (node:internal/process/task_queues:104:5)
at async Test.run (node:internal/test_runner/test:1409:7)
at async Test.processPendingSubtests (node:internal/test_runner/test:974:7) {
generatedMessage: true,
code: 'ERR_ASSERTION',
actual: { refusal: null, trees: { config: [Array], data: [Array] } },
expected: { refusal: 'proxy-key-invalid', trees: { config: [Array], data: [Array] } },
operator: 'deepStrictEqual',
diff: 'simple'
}
@@ -0,0 +1 @@
{"utc": "2026-10-24T21:31:13.135+00:00", "load1": "2.97"}
@@ -0,0 +1,22 @@
command: ["timeout", "-k", "10", "1800", "node", "--test", "/home/jwoltje/.t3/worktrees/mosaic-stack/magica-row329/packages/bus/tests/access-revoke.test.mjs"]
TMPDIR: /mnt/storage/scratch/tmp/GHeQEZ
begin: {"utc": "2026-10-24T21:31:13.135+00:00", "load1": "2.97"}
launch nice: 19
✔ R4: the timer sweep after a hand edit ends only the lost user's run; its next call refuses thread-revoked (34.547237ms)
✔ R4: an expiry with no write and no request ends the run at the next timer sweep (24.609266ms)
✔ R4: a downgrade to viewer is a loss (22.279316ms)
✔ R4: another user's request after a hand edit ends the lost user's run, and its own run stays (24.741291ms)
✔ R4: a request reads the access file only when its stamp changed, once per change (22.355965ms)
✔ R4: access.reload ends the lost runs at once for the human; the tester, a reader, an agent and a user are refused (27.346334ms)
✔ R4: threadsState marks revoked: true on the lost user's thread only, a pending message included (18.726202ms)
✔ R4: threadsState after an expiry with no write and no sweep ends the claim before it marks the row revoked (23.973845ms)
✔ R4: a new run of a revoked thread refuses thread-revoked at bind and at claim; a rebind is allowed (20.679959ms)
✔ R4 runtime: a hand edit ends the run at the first timer period, intervalMs is checked, and close stops the timer (60.782175ms)
ℹ tests 10
ℹ suites 0
ℹ pass 10
ℹ fail 0
ℹ cancelled 0
ℹ skipped 0
ℹ todo 0
ℹ duration_ms 428.488475
@@ -0,0 +1,3 @@
{"utc": "2026-10-24T21:31:13.595+00:00", "load1": "2.97"}
{"utc": "2026-10-24T21:31:14.595+00:00", "load1": "2.97"}
{"utc": "2026-10-24T21:31:15.595+00:00", "load1": "2.97"}
@@ -0,0 +1,63 @@
command: ["timeout", "-k", "10", "1800", "node", "--test", "/home/jwoltje/.t3/worktrees/mosaic-stack/magica-row329/packages/bus/tests/chief-of-staff.test.mjs"]
TMPDIR: /mnt/storage/scratch/tmp/70lNbE
begin: {"utc": "2026-10-24T21:31:13.594+00:00", "load1": "2.97"}
launch nice: 19
organization: {"event":"reload-needs-restart","business":"demo"}
organization: {"event":"reload-needs-restart","business":"demo"}
organization: {"event":"reload-needs-restart","business":"demo"}
organization: {"event":"reload-needs-restart","business":"demo"}
organization: {"event":"reload-needs-restart","business":"demo"}
organization: {"event":"reload-needs-restart","business":"demo"}
organization: {"event":"reload-needs-restart","business":"demo"}
organization: {"event":"reload-needs-restart","business":"demo"}
organization: {"event":"reload-needs-restart","business":"demo"}
✔ REQ-COS-1, REQ-ROLE-2: the chief of staff ends a run with a reason and no decision, and the reason is logged (32.021419ms)
✔ REQ-ROLE-2: a role without role.end still needs a resolved decision to revoke (29.430214ms)
✔ REQ-ROLE-2: storage accepts a revoke with a reason or a decision and aborts one with neither (22.167041ms)
✔ REQ-ROLE-2: the chief of staff may still cite a decision, and a decision alone is the old path (20.510415ms)
✔ REQ-ROLE-2: a role without role.end still ends a run through a resolved decision, which is recorded and has no reason (23.797427ms)
✔ REQ-ROLE-2: a reason is required, bounded, and never sent with a decision (24.437699ms)
✔ REQ-COS-1: the chief of staff cannot end its own run; its end of the assistant stops the assistant's thread run (25.396808ms)
✔ REQ-LIMIT-1, REQ-COS-1: organization.set from the chief of staff reaches the shared writer, named as the actor (21.135644ms)
✔ REQ-LIMIT-1, REQ-COS-1: a refused organization.set logs action.refused and no action.allowed, like a refused limits.set (27.488015ms)
✔ REQ-LIMIT-1: organization.set is refused for every caller whose role file lacks organization.change (29.388334ms)
✔ REQ-LIMIT-1: the chief of staff is logged as allowed, and organization.set takes only the human's keys (31.937354ms)
✔ REQ-COS-1: organization.revision answers the revision alone to the chief of staff and spends nothing (25.437066ms)
✔ REQ-COS-1, REQ-LIMIT-1: organization.revision is refused for every caller whose role file lacks organization.change (28.407913ms)
✔ REQ-ROLE-3, REQ-LIMIT-1: a chief-of-staff change is validated, written and logged like a human's; an invalid one is refused (92.275578ms)
✔ REQ-COS-1: the chief of staff reads the revision, changes the file with it, and reads again after a stale one is refused (74.273995ms)
✔ Q169: the chief of staff's change of the assistant is validated, written and logged; a stale or protection-stripping one is refused (77.219759ms)
✔ row 65, Q169: the chief's change of the assistant's route runs the routing checks, and a valid one saves as the chief (55.095178ms)
✔ REQ-ROLE-2, REQ-COS-1: the 3c→3d migration lets the chief of staff end a held role with a reason; neither is still refused (78.434398ms)
✔ row 194 T10: the chief's reason end of a kept instance refuses instance-kept, holds the claim and spends nothing (20.449537ms)
✔ row 194 T10 (Q2): a role.revoke citing a decision the human resolved still ends a kept run (21.621577ms)
✔ row 194 T10 (B7): the chief's organization.set of a kept instance's model refuses before the writer; the human's limits.set does not (21.57776ms)
✔ row 194 T13: organization.set and limits.set refuse the launch, retired, keep and noHire keys before the writer (25.01784ms)
✔ row 194 T18 (D2.4): from a chief session veto.set and instances.set refuse, and nothing reaches the writer (25.455708ms)
✔ row 194 T8: the chief hires with a reason and no decision, the writer gets the reason as context, and the log names it (21.549484ms)
✔ row 194 T11: on a bus with two businesses, the chief of one hires and fires only in its own (18.659657ms)
✔ row 194 T8: hire and fire need a reason of 1 to 500 characters and refuse a decision key (29.724146ms)
✔ row 194 T8 (sage-1471): only the chief hires or fires; every other role refuses role-not-chief, even one granted the actions (28.129345ms)
✔ row 194 T8 (sage-1471): a chief whose authority lacks role.hire or role.fire refuses decision-required before the writer (45.085341ms)
✔ row 194 T8a: a re-hire of a fired name goes to the writer like a hire, and the writer's refusals pass through by name (24.800287ms)
✔ row 194 T8b: a definition is hireable only when every action is on HIRE_ALLOWED, it is version 2, the chief lists it and noHire doesn't (726.025645ms)
✔ row 194 T8b: a hire without the role files configured refuses not-configured (21.67094ms)
✔ row 194 T9: a fire revokes the claim, cancels open requests, asks the launcher to kill the runs, then delists and logs (26.357778ms)
✔ row 194 T9a (bus): a fire end's done writes lifecycle.end.killed and lifecycle.end.alive with run and pid, and an unknown stop's reason; a terminate's done or a bad stop refuses (27.528345ms)
✔ row 194 T9: fire refusals come before step A and leave the claim, the requests and the file alone (24.445362ms)
✔ row 194 T9c: a writer failure at B leaves the instance firing, and the repeat delists and logs once (27.637943ms)
✔ row 194 T9c: a failure at C leaves the fire unlogged and the instance firing, and the repeat logs it (27.876778ms)
✔ row 194 W-N1: a fire.done before a later fire.stopped of the same instance leaves it firing; another instance's done does not end it (24.108346ms)
✔ row 194 T10: a hire or fire of a kept name refuses instance-kept before the writer (21.547644ms)
✔ row 194 T10: a fire the writer's check refuses from the file stops nothing and leaves the instance launchable (22.276176ms)
✔ row 194 T18: hire and fire take only their own keys, and a refused call writes nothing (29.326917ms)
✔ row 194 T8, T9, T18: through the runtime the chief hires and fires with the real writer, the receipt carries the reason, and a refusal leaves the file alone (81.364182ms)
✔ row 194 W-N1: the launcher's take of a launch or regenerate of a firing instance closes it as instance-firing (33.602482ms)
ℹ tests 42
ℹ suites 0
ℹ pass 42
ℹ fail 0
ℹ cancelled 0
ℹ skipped 0
ℹ todo 0
ℹ duration_ms 2242.04646
@@ -0,0 +1 @@
{"utc": "2026-10-24T21:31:15.866+00:00", "load1": "3.13"}
@@ -0,0 +1,13 @@
command: ["timeout", "-k", "10", "1800", "node", "--test", "/home/jwoltje/.t3/worktrees/mosaic-stack/magica-row329/packages/bus/tests/citation-runtime.test.mjs"]
TMPDIR: /mnt/storage/scratch/tmp/d7EDzc
begin: {"utc": "2026-10-24T21:31:15.866+00:00", "load1": "3.13"}
launch nice: 19
✔ C2-06 runtime reads changed and unreadable reply limits without restarting (134.953106ms)
ℹ tests 1
ℹ suites 0
ℹ pass 1
ℹ fail 0
ℹ cancelled 0
ℹ skipped 0
ℹ todo 0
ℹ duration_ms 259.04482
@@ -0,0 +1 @@
{"utc": "2026-10-24T21:31:16.156+00:00", "load1": "3.13"}
@@ -0,0 +1,18 @@
command: ["timeout", "-k", "10", "1800", "node", "--test", "/home/jwoltje/.t3/worktrees/mosaic-stack/magica-row329/packages/bus/tests/creative.test.mjs"]
TMPDIR: /mnt/storage/scratch/tmp/pn1E2D
begin: {"utc": "2026-10-24T21:31:16.156+00:00", "load1": "3.13"}
launch nice: 19
organization: {"event":"reload-needs-restart","business":"demo"}
organization: {"event":"reload-needs-restart","business":"demo"}
✔ M6: a creative raise refuses decision-not-allowed, cited or not, and no decision row appears; the assistant still raises (46.048691ms)
✔ a creative instance sends only to the user and hears only from the user (45.129155ms)
✔ M10 through the broker: the chief and the tester are refused on bean, the human's limits.set of its models key works (80.733759ms)
✔ row 256 T6 the human deletes a creative instance through the broker; the chief and the tester are refused at the verb (61.471711ms)
ℹ tests 4
ℹ suites 0
ℹ pass 4
ℹ fail 0
ℹ cancelled 0
ℹ skipped 0
ℹ todo 0
ℹ duration_ms 352.789199
@@ -0,0 +1 @@
{"utc": "2026-10-24T21:31:16.542+00:00", "load1": "3.13"}
@@ -0,0 +1,14 @@
command: ["timeout", "-k", "10", "1800", "node", "--test", "/home/jwoltje/.t3/worktrees/mosaic-stack/magica-row329/packages/bus/tests/credential-verbs.test.mjs"]
TMPDIR: /mnt/storage/scratch/tmp/9f3var
begin: {"utc": "2026-10-24T21:31:16.542+00:00", "load1": "3.13"}
launch nice: 19
✔ row 199: the lifecycle verbs refuse every session but the human, and the tester revokes only (45.718129ms)
✔ T5: issue, rotate, revoke and delete are live, rewrite the business file and leave one receipt each, with no value anywhere (88.032128ms)
ℹ tests 2
ℹ suites 0
ℹ pass 2
ℹ fail 0
ℹ cancelled 0
ℹ skipped 0
ℹ todo 0
ℹ duration_ms 260.103045
@@ -0,0 +1 @@
{"utc": "2026-10-24T21:31:16.834+00:00", "load1": "3.13"}
@@ -0,0 +1,20 @@
command: ["timeout", "-k", "10", "1800", "node", "--test", "/home/jwoltje/.t3/worktrees/mosaic-stack/magica-row329/packages/bus/tests/daily-quota-runtime.test.mjs"]
TMPDIR: /mnt/storage/scratch/tmp/qkIeTC
begin: {"utc": "2026-10-24T21:31:16.834+00:00", "load1": "3.13"}
launch nice: 19
limits: {"event":"limit-reached","business":"demo","check":"daily-quota","export":"mayLaunch","subject":{"instance":"coder","provider":"anthropic","model":"opus","account":"jason-max"},"path":["tokens","daily","jason-max"],"limit":0,"count":0,"unknownTurns":0}
usage: {"event":"usage-unknown","business":"demo","run":"run1","instance":"coder","turn":"3ae70253-ee58-4761-9325-6571fc8fdf45","source":"@none","code":"baseline-unknown"}
limits: {"event":"limit-reached","business":"demo","check":"daily-quota","export":"mustStop","subject":{"instance":"coder","provider":"anthropic","model":"opus","account":"jason-max"},"path":["tokens","daily","jason-max"],"limit":0,"count":0,"unknownTurns":1}
usage: {"event":"usage-unknown","business":"demo","run":"run1","instance":"coder","turn":"23bd6b9e-8fdd-4ca9-8920-100618a0b70c","source":"@none","code":"baseline-unknown"}
✔ REQ-LIMIT-2 runtime: limits counts the daily quota, and mayLaunch refuses only the account at it (134.844885ms)
✔ REQ-LIMIT-4 runtime: a run bound with the account writes it on its usage records and stops at the quota (51.014958ms)
✔ REQ-LIMIT-4 runtime: a run bound without an account records null and the daily quota never stops it (45.081133ms)
✔ REQ-LIMIT-4 bindLaunch keeps the account off session.launched, refuses one that is not an identifier, and takes null as none (13.457066ms)
ℹ tests 4
ℹ suites 0
ℹ pass 4
ℹ fail 0
ℹ cancelled 0
ℹ skipped 0
ℹ todo 0
ℹ duration_ms 326.259933
@@ -0,0 +1 @@
{"utc": "2026-10-24T21:31:17.192+00:00", "load1": "3.13"}
@@ -0,0 +1,14 @@
command: ["timeout", "-k", "10", "1800", "node", "--test", "/home/jwoltje/.t3/worktrees/mosaic-stack/magica-row329/packages/bus/tests/grant-scope-runtime.test.mjs"]
TMPDIR: /mnt/storage/scratch/tmp/vvhrW2
begin: {"utc": "2026-10-24T21:31:17.192+00:00", "load1": "3.13"}
launch nice: 19
organization: {"event":"reload-needs-restart","business":"demo"}
✔ row 298 runtime: human scope approval writes the file and organization history at the supplied revision (71.674696ms)
ℹ tests 1
ℹ suites 0
ℹ pass 1
ℹ fail 0
ℹ cancelled 0
ℹ skipped 0
ℹ todo 0
ℹ duration_ms 196.005015
@@ -0,0 +1,15 @@
{"utc": "2026-10-24T21:31:17.418+00:00", "load1": "3.13"}
{"utc": "2026-10-24T21:31:18.418+00:00", "load1": "3.13"}
{"utc": "2026-10-24T21:31:19.418+00:00", "load1": "3.13"}
{"utc": "2026-10-24T21:31:20.419+00:00", "load1": "3.13"}
{"utc": "2026-10-24T21:31:21.419+00:00", "load1": "3.04"}
{"utc": "2026-10-24T21:31:22.419+00:00", "load1": "3.04"}
{"utc": "2026-10-24T21:31:23.419+00:00", "load1": "3.04"}
{"utc": "2026-10-24T21:31:24.420+00:00", "load1": "3.04"}
{"utc": "2026-10-24T21:31:25.420+00:00", "load1": "3.04"}
{"utc": "2026-10-24T21:31:26.420+00:00", "load1": "2.96"}
{"utc": "2026-10-24T21:31:27.421+00:00", "load1": "2.96"}
{"utc": "2026-10-24T21:31:28.421+00:00", "load1": "2.96"}
{"utc": "2026-10-24T21:31:29.421+00:00", "load1": "2.96"}
{"utc": "2026-10-24T21:31:30.421+00:00", "load1": "2.96"}
{"utc": "2026-10-24T21:31:31.422+00:00", "load1": "2.80"}
@@ -0,0 +1,38 @@
command: ["timeout", "-k", "10", "1800", "node", "--test", "/home/jwoltje/.t3/worktrees/mosaic-stack/magica-row329/packages/bus/tests/host-run.test.mjs"]
TMPDIR: /mnt/storage/scratch/tmp/BU48EX
begin: {"utc": "2026-10-24T21:31:17.417+00:00", "load1": "3.13"}
launch nice: 19
✔ row 280: an occupied TCP port is attempted, refused, and retried with our sshd (89.115057ms)
✔ row 280: every injected picker sample is unprivileged and outside the ephemeral range (0.359153ms)
✔ the executor tests need sshd, ssh, ssh-agent, ssh-add, ssh-keygen and setpriv: a missing one fails, never skips (0.105538ms)
✔ T3: organization.set, limits.set and instances.set refuse hosts, and the writer never runs (24.679622ms)
✔ T4: the value check takes one unencrypted ed25519 key and nothing else (201.007963ms)
✔ T5 to T8: registry, grant, argv shape and allowlist refusals (516.394575ms)
✔ T9: under 1.7 every call needs a decision bound to its host, argv and stdin, spent once (294.797122ms)
✔ T10, T11: argv reaches sudo unchanged after sudo -n -- (274.701348ms)
✔ T12, T13: exit code passes through, the timeout kills the group, output is capped (1499.581177ms)
✔ T14: a host key not in the registry refuses and nothing runs (174.485366ms)
✔ G18: hosts.check with a wrong pin refuses host-key-mismatch and runs nothing on the host (317.456396ms)
✔ N3: a remote exit 255 that prints the pin refusal text is the command result, and an ssh failure keeps its message (303.375045ms)
✔ T15: ssh reads no config file and no user known_hosts (270.405711ms)
✔ T16, T17: key material in output or stdin refuses credential-leak, and no event holds it (655.718535ms)
✔ T18, T19, T20: one call at a time, no key in any argv or env, and nothing left after (4652.92337ms)
✔ T21: revoke kills the call in flight, and the next call refuses (305.97951ms)
✔ T22: events carry host, address, user and argv in clear, and sizes and hashes only (261.929802ms)
✔ T24: no literal gitea and vikunja kind list outside vocabulary.mjs, and the credential use sites are known (41.423166ms)
✔ T25: no role definition lists host.sudo while it is a hard wait (0.5194ms)
✔ T27: the bus child dying takes ssh and ssh-agent with it (316.803066ms)
✔ T27: ssh-add -t drops the key from an agent the test keeps alive (3556.902707ms)
✔ N2: a hung ssh-add is killed at its limit or on abort, and nothing is left running (429.649056ms)
✔ T27: the start sweep keeps a live bus dir and kills only a matching live process (26.892106ms)
✔ T27: the bus start sweeps <configDir>/secrets/run before it listens, and a stray entry stops the start (52.911346ms)
✔ M3: host.run refuses host-not-granted unless the grant record has an approved, spent host grant (149.417261ms)
✔ M3: a host_grants record gives Credentials a store reference at start, and a restart reads its key (112.967845ms)
ℹ tests 26
ℹ suites 0
ℹ pass 26
ℹ fail 0
ℹ cancelled 0
ℹ skipped 0
ℹ todo 0
ℹ duration_ms 14657.505831
@@ -0,0 +1 @@
{"utc": "2026-10-24T21:31:32.106+00:00", "load1": "2.80"}
@@ -0,0 +1,17 @@
command: ["timeout", "-k", "10", "1800", "node", "--test", "/home/jwoltje/.t3/worktrees/mosaic-stack/magica-row329/packages/bus/tests/instances-verb.test.mjs"]
TMPDIR: /mnt/storage/scratch/tmp/XknzTf
begin: {"utc": "2026-10-24T21:31:32.105+00:00", "load1": "2.80"}
launch nice: 19
organization: {"event":"reload-needs-restart","business":"demo"}
organization: {"event":"reload-needs-restart","business":"demo"}
✔ row 165: instances and instances.set refuse every non-human session but the tester, the chief of staff included, and pass the verified actor (34.201963ms)
✔ row 165 runtime: an add and a change reach the organization file with the human as actor; each refusal keeps the bytes and logs nothing (127.501097ms)
✔ row 194 T12: agent and reader sessions refuse veto.set; the tester gets add and change but not delete or veto.set; the human passes the hook for each listed verb (23.409986ms)
ℹ tests 3
ℹ suites 0
ℹ pass 3
ℹ fail 0
ℹ cancelled 0
ℹ skipped 0
ℹ todo 0
ℹ duration_ms 270.80968
@@ -0,0 +1,2 @@
{"utc": "2026-10-24T21:31:32.408+00:00", "load1": "2.80"}
{"utc": "2026-10-24T21:31:33.408+00:00", "load1": "2.80"}
@@ -0,0 +1,18 @@
command: ["timeout", "-k", "10", "1800", "node", "--test", "/home/jwoltje/.t3/worktrees/mosaic-stack/magica-row329/packages/bus/tests/library-credential.test.mjs"]
TMPDIR: /mnt/storage/scratch/tmp/HpiYQK
begin: {"utc": "2026-10-24T21:31:32.407+00:00", "load1": "2.80"}
launch nice: 19
✔ C2-03b T6: the slot before any chief evidence, then the listed chief's live grant (28.054219ms)
✔ C2-03b T7: a chief revoked through grants.revoke or fired through instance.fire refuses, and the fallback stays ended (307.68609ms)
✔ C2-03b T7 choice checks: delisted, a fire under way and held each refuse; a rehire lists the chief again (34.476977ms)
✔ C2-03b T8: a chief grant on another project ends the fallback, and two listed chiefs refuse library-fetch-no-grant (31.887252ms)
✔ C2-03b departure (sage-2928): with no chief entry, any Gitea grant evidence refuses (15.585277ms)
✔ C2-03b T9 runtime: the chief's store file and user, then a real revoke that runs no git with the slot at 0000 (820.372398ms)
ℹ tests 6
ℹ suites 0
ℹ pass 6
ℹ fail 0
ℹ cancelled 0
ℹ skipped 0
ℹ todo 0
ℹ duration_ms 1371.218558
@@ -0,0 +1,2 @@
{"utc": "2026-10-24T21:31:33.809+00:00", "load1": "2.80"}
{"utc": "2026-10-24T21:31:34.809+00:00", "load1": "2.80"}
@@ -0,0 +1,23 @@
command: ["timeout", "-k", "10", "1800", "node", "--test", "/home/jwoltje/.t3/worktrees/mosaic-stack/magica-row329/packages/bus/tests/library-lookups.test.mjs"]
TMPDIR: /mnt/storage/scratch/tmp/PQlDGA
begin: {"utc": "2026-10-24T21:31:33.808+00:00", "load1": "2.80"}
launch nice: 19
✔ all five agent verbs read the configured served commit through real queries (125.157994ms)
✔ each verb refuses missing universe and unknown keys before host work (70.852251ms)
✔ no library, missing host adapter and undeclared project refuse library-not-configured (141.630635ms)
✔ reads need the current holder on each call; human/tester/reader are not agents (79.13119ms)
✔ releasing a claim during an async lookup fences the response (41.255849ms)
✔ a business library removed during an async read cannot leak its result (41.789212ms)
✔ freshness boundary, unknown last fetch and failed fetch still use immutable served state (120.61006ms)
✔ an unreadable sync state fails closed; a busy sync keeps serving the existing pin (78.195399ms)
✔ a stale lookup sees the commit published by its sync, not the prior served commit (83.110874ms)
✔ real socket awaits lookup results and rechecks rejected query arguments (91.960122ms)
✔ runtime actually injects the lookup adapter, without exposing human library.file (128.599922ms)
ℹ tests 11
ℹ suites 0
ℹ pass 11
ℹ fail 0
ℹ cancelled 0
ℹ skipped 0
ℹ todo 0
ℹ duration_ms 1134.147984
@@ -0,0 +1,7 @@
{"utc": "2026-10-24T21:31:34.973+00:00", "load1": "2.80"}
{"utc": "2026-10-24T21:31:35.973+00:00", "load1": "2.82"}
{"utc": "2026-10-24T21:31:36.974+00:00", "load1": "2.82"}
{"utc": "2026-10-24T21:31:37.974+00:00", "load1": "2.82"}
{"utc": "2026-10-24T21:31:38.974+00:00", "load1": "2.82"}
{"utc": "2026-10-24T21:31:39.975+00:00", "load1": "2.82"}
{"utc": "2026-10-24T21:31:40.975+00:00", "load1": "2.75"}
@@ -0,0 +1,18 @@
command: ["timeout", "-k", "10", "1800", "node", "--test", "/home/jwoltje/.t3/worktrees/mosaic-stack/magica-row329/packages/bus/tests/library-sync.test.mjs"]
TMPDIR: /mnt/storage/scratch/tmp/eFLzOZ
begin: {"utc": "2026-10-24T21:31:34.973+00:00", "load1": "2.80"}
launch nice: 19
✔ C2-03a library.sync: every agent, the tester and a reader are refused before the adapter runs (20.247501ms)
✔ C2-03a library.sync: the human fetches, accept passes through, and a held sync is a recorded refusal (17.293576ms)
✔ C2-03a library.sync: a LibraryError keeps its code and a host without sync is not configured (24.911909ms)
✔ C2-03a runtime: a librarySync from a boot config, with no function, is refused (1.434915ms)
✔ C2-03a runtime: the timer syncs each entry with a user at start and on each tick, logs codes only, and stops on close (588.887085ms)
✔ row 254 human-cli: library.sync outlasts the 5 s client default, and library.status does not (6085.908124ms)
ℹ tests 6
ℹ suites 0
ℹ pass 6
ℹ fail 0
ℹ cancelled 0
ℹ skipped 0
ℹ todo 0
ℹ duration_ms 6865.274376
@@ -0,0 +1 @@
{"utc": "2026-10-24T21:31:41.872+00:00", "load1": "2.75"}
@@ -0,0 +1,18 @@
command: ["timeout", "-k", "10", "1800", "node", "--test", "/home/jwoltje/.t3/worktrees/mosaic-stack/magica-row329/packages/bus/tests/library.test.mjs"]
TMPDIR: /mnt/storage/scratch/tmp/kPxN9l
begin: {"utc": "2026-10-24T21:31:41.871+00:00", "load1": "2.75"}
launch nice: 19
✔ C2-04 M4: both verbs reject every agent before arguments or adapter access (36.647527ms)
✔ C2-04 bus: human reads validate keys and return adapter results without path leakage (14.843231ms)
✔ C2-04 socket: each async library verb resolves its result rather than serializing {} (86.740094ms)
✔ C2-04 runtime: protectedRoots skips library but retains real code-root credential protection (109.591766ms)
✔ C2-04 runtime: unsafe existing mirror refuses boot and never publishes a socket (25.806937ms)
✔ C2-04 runtime: real library adapters reach the socket and lock waits leave other bus reads responsive (216.451154ms)
ℹ tests 6
ℹ suites 0
ℹ pass 6
ℹ fail 0
ℹ cancelled 0
ℹ skipped 0
ℹ todo 0
ℹ duration_ms 609.203457
@@ -0,0 +1 @@
{"utc": "2026-10-24T21:31:42.510+00:00", "load1": "2.75"}
@@ -0,0 +1,21 @@
command: ["timeout", "-k", "10", "1800", "node", "--test", "/home/jwoltje/.t3/worktrees/mosaic-stack/magica-row329/packages/bus/tests/lifecycle-revoke.test.mjs"]
TMPDIR: /mnt/storage/scratch/tmp/hvc49a
begin: {"utc": "2026-10-24T21:31:42.510+00:00", "load1": "2.75"}
launch nice: 19
organization: {"event":"reload-needs-restart","business":"demo"}
✔ T20 fire: a revoke that fails stops the fire with the file unchanged; one that succeeds revokes, keeps the directory and names the services outside the store (90.451286ms)
✔ T20 fire: an instance already delisted still has its tokens revoked and the file is left alone (53.068194ms)
✔ T20 fire: with no entry in the running bus, a token on disk refuses and an empty store goes on (59.543932ms)
✔ T20 delete: a revoke that fails keeps the file; one that succeeds clears the store, deletes, and names the tracker bot (67.413534ms)
✔ T20 delete: with no entry in the running bus, a token file is cleared and the delete goes on; a file reference refuses (68.957837ms)
✔ T21 delete: a write between the raise and the take makes the delete refuse revision-conflict before it revokes anything (70.80302ms)
✔ row 281 T1 fire: a host.<id> or granted gitea file in the store refuses step B credential-revoke-failed, file unchanged (67.163664ms)
✔ row 281 T1 start: a host grant record whose key file is gone starts and reads not-issued (54.306204ms)
ℹ tests 8
ℹ suites 0
ℹ pass 8
ℹ fail 0
ℹ cancelled 0
ℹ skipped 0
ℹ todo 0
ℹ duration_ms 659.873199
@@ -0,0 +1 @@
{"utc": "2026-10-24T21:31:43.202+00:00", "load1": "2.75"}
@@ -0,0 +1,25 @@
command: ["timeout", "-k", "10", "1800", "node", "--test", "/home/jwoltje/.t3/worktrees/mosaic-stack/magica-row329/packages/bus/tests/lifecycle-verbs.test.mjs"]
TMPDIR: /mnt/storage/scratch/tmp/Ab3xx3
begin: {"utc": "2026-10-24T21:31:43.202+00:00", "load1": "2.75"}
launch nice: 19
✔ row 194 T12: agent and reader sessions refuse the lifecycle verbs before any effect; the tester gets launch, end and the request read, never regenerate (41.086566ms)
✔ row 194 V2 and V4 at the verb: the request is open, by the human, with a human.input; thread, retired, unknown and revoked refuse with no event (20.977879ms)
✔ row 194 D1.1 take: a request is taken once, closes once, and lifecycleRequests lists only what is not closed (15.147322ms)
✔ row 194 D1.1 take: a launch.revoke after the request closes it launch-revoked, and a request past 60 s closes request-expired (18.334348ms)
✔ row 194 T15 (bus): while halted, launch and regenerate refuse processing-halted at the verb and at the take, hire and fire refuse, terminate goes; an unreadable switch refuses with its code (27.882799ms)
✔ row 194 T12a: the tester launches and ends on its own business with actor tester; bus.tester off in the file refuses the call and the take tester-off (22.12436ms)
✔ row 194 V3 terminate: claims revoked, open requests cancelled, bound runs named, taken requests listed; nothing at all answers not-held (28.710526ms)
✔ row 194 V3 terminate of a thread instance: the human ends every thread, the tester only its own (21.663071ms)
✔ row 194 T6 V5 order at the verb: the writer's named refusals, then instance-running, instance-starting, the last-listed refusal and the revision (32.552ms)
✔ row 194 V5: an open launch past its 60 s is not starting, as it can only close request-expired (12.399681ms)
✔ row 194 V5 after the take: lifecycleDelete re-checks running and starting, then commits through the writer with the human as actor (21.272711ms)
✔ row 194 V5 retry: a retired name deletes again only after workspace-rename-failed, and that request commits nothing (19.587509ms)
✔ row 194 V5 runtime: a delete request, the take and lifecycleDelete commit the file with retired, log the human and reload so the name no longer binds (134.310711ms)
ℹ tests 13
ℹ suites 0
ℹ pass 13
ℹ fail 0
ℹ cancelled 0
ℹ skipped 0
ℹ todo 0
ℹ duration_ms 498.238226
@@ -0,0 +1 @@
{"utc": "2026-10-24T21:31:43.731+00:00", "load1": "2.75"}
@@ -0,0 +1,28 @@
command: ["timeout", "-k", "10", "1800", "node", "--test", "/home/jwoltje/.t3/worktrees/mosaic-stack/magica-row329/packages/bus/tests/limit-checks.test.mjs"]
TMPDIR: /mnt/storage/scratch/tmp/ktbbpy
begin: {"utc": "2026-10-24T21:31:43.731+00:00", "load1": "2.75"}
launch nice: 19
✔ REQ-LIMIT-3 limitLeaves finds every limit object and skips the agent numbers (1.227604ms)
✔ REQ-LIMIT-3 limitLeaves takes token limits at schema depth only, whatever their names (0.203119ms)
✔ REQ-LIMIT-3 with no check switched on a launch is allowed, a turn never stops, and every limit is not enforced (15.274045ms)
✔ REQ-LIMIT-3 a fixture check that refuses refuses the launch and stops the turn, logged with the limit and the count (16.142197ms)
✔ REQ-LIMIT-3 a report that omits a limit shows it not enforced; a counted entry and a reason come through (12.350569ms)
✔ REQ-LIMIT-4 each check gets the business, a copy of the limits, the subject, the records and the time (14.448872ms)
✔ REQ-LIMIT-4 fail closed: a throw refuses, stops and fails the report, naming the check and the code (12.504145ms)
✔ REQ-LIMIT-4 fail closed: a malformed answer, a promise, a rejected promise, a non-boolean or a bad hit is malformed-answer (15.749577ms)
✔ REQ-LIMIT-4 fail closed: a check switched on but not loaded refuses, stops and fails every limit as not-loaded (11.742781ms)
✔ REQ-LIMIT-4 state(), never-loaded case: before any load the report shows not enforced, or not-loaded for a switched-on check (9.845775ms)
✔ REQ-LIMIT-4 state(), first-load-refused case: a check refused on its first load is not-loaded in mayLaunch, mustStop and report (10.825798ms)
✔ REQ-LIMIT-4 fail closed: an unreadable organization file refuses and stops with check null; the report throws (11.336846ms)
✔ REQ-LIMIT-4 fail closed: unreadable records refuse and stop with check null and fail the report (0.471683ms)
✔ REQ-LIMIT-3 the shipped token-limit, through the real loader, counts known records only since the limit was set (16.868788ms)
✔ REQ-LIMIT-3 a token limit for a provider named limit is counted and refuses, beside an agent limit of the same name (10.047416ms)
✔ REQ-LIMIT-3 core reaches limit checks only through the plug-in loader (1.124657ms)
ℹ tests 16
ℹ suites 0
ℹ pass 16
ℹ fail 0
ℹ cancelled 0
ℹ skipped 0
ℹ todo 0
ℹ duration_ms 245.243109
@@ -0,0 +1 @@
{"utc": "2026-10-24T21:31:44.006+00:00", "load1": "2.75"}
@@ -0,0 +1,23 @@
command: ["timeout", "-k", "10", "1800", "node", "--test", "/home/jwoltje/.t3/worktrees/mosaic-stack/magica-row329/packages/bus/tests/limits-runtime.test.mjs"]
TMPDIR: /mnt/storage/scratch/tmp/OgZo41
begin: {"utc": "2026-10-24T21:31:44.006+00:00", "load1": "2.75"}
launch nice: 19
limits: {"event":"limit-reached","business":"demo","check":"token-limit","export":"mayLaunch","subject":{"instance":"coder","provider":"zai","model":"glm-5.3-flash","account":null},"path":["tokens","instances","coder"],"limit":0,"count":0,"unknownTurns":0}
organization: {"event":"reload-needs-restart","business":"demo"}
usage: {"event":"usage-unknown","business":"demo","run":"run1","instance":"coder","turn":"818eea2a-0f09-4cb7-b7a2-2d1f8b8c3b25","source":"@none","code":"baseline-unknown"}
limits: {"event":"limit-reached","business":"demo","check":"token-limit","export":"mustStop","subject":{"instance":"coder","provider":"zai","model":"glm-5.3-flash","account":null},"path":["tokens","instances","coder"],"limit":0,"count":0,"unknownTurns":1}
usage: {"event":"usage-unknown","business":"demo","run":"run1","instance":"coder","turn":"4faae581-280f-452b-9504-d8341a7db84b","source":"@none","code":"baseline-unknown"}
organization: {"event":"reload-needs-restart","business":"demo"}
✔ REQ-LIMIT-3 REQ-LIMIT-4 runtime: limits carries the token count, mayLaunch refuses at the limit, a reset moves since (141.15311ms)
✔ REQ-LIMIT-3 runtime: with no limit check switched on, the limit shows not enforced and every launch is allowed (37.022098ms)
✔ REQ-LIMIT-4 runtime: the broker asks the shipped token-limit after a turn, and the run at its limit stops on its next receive (50.145968ms)
✔ REQ-LIMIT-4 runtime: with no usage source a turn is unknown, counts zero and stops nothing under a limit of 1 (48.51093ms)
✔ REQ-LIMIT-3 runtime: switching a limit check on with plugins.set loads it without a launch or a turn (66.483892ms)
ℹ tests 5
ℹ suites 0
ℹ pass 5
ℹ fail 0
ℹ cancelled 0
ℹ skipped 0
ℹ todo 0
ℹ duration_ms 388.497466
@@ -0,0 +1 @@
{"utc": "2026-10-24T21:31:44.429+00:00", "load1": "2.75"}
@@ -0,0 +1,17 @@
command: ["timeout", "-k", "10", "1800", "node", "--test", "/home/jwoltje/.t3/worktrees/mosaic-stack/magica-row329/packages/bus/tests/limits.test.mjs"]
TMPDIR: /mnt/storage/scratch/tmp/ZE3dMq
begin: {"utc": "2026-10-24T21:31:44.428+00:00", "load1": "2.75"}
launch nice: 19
organization: {"event":"reload-needs-restart","business":"demo"}
organization: {"event":"reload-needs-restart","business":"demo"}
✔ limits binds actor from human proof and rejects role, reader, a tester set and forged actor (23.316925ms)
✔ runtime wires verified human settings to the actual shared file writer and actor receipt (103.246822ms)
✔ uncertain organization receipts leave bus startup and reads alone but refuse writes until reconciled (54.340151ms)
ℹ tests 3
ℹ suites 0
ℹ pass 3
ℹ fail 0
ℹ cancelled 0
ℹ skipped 0
ℹ todo 0
ℹ duration_ms 268.397954
@@ -0,0 +1 @@
{"utc": "2026-10-24T21:31:44.731+00:00", "load1": "2.75"}
@@ -0,0 +1,20 @@
command: ["timeout", "-k", "10", "1800", "node", "--test", "/home/jwoltje/.t3/worktrees/mosaic-stack/magica-row329/packages/bus/tests/model-proxy.test.mjs"]
TMPDIR: /mnt/storage/scratch/tmp/760xBV
begin: {"utc": "2026-10-24T21:31:44.731+00:00", "load1": "2.75"}
launch nice: 19
✔ proxy.init only accepts path-bound outside-agent human; refuses agent/tester/reader (19.800473ms)
✔ proxy.init proxy-key-invalid (11.627925ms)
✔ proxy.init proxy-config-invalid (11.729362ms)
✔ proxy.init invalid-request (11.484904ms)
✔ proxy.init not-configured (11.155878ms)
✔ proxy.init callback error redacts key and maps outcome to named refusal (11.150132ms)
✔ socket awaits proxy.init and does not return a Promise object or retain human cap (30.330962ms)
✔ proxy-init-failed: extra callback fields cannot return a management key (11.376302ms)
ℹ tests 8
ℹ suites 0
ℹ pass 8
ℹ fail 0
ℹ cancelled 0
ℹ skipped 0
ℹ todo 0
ℹ duration_ms 194.169461
@@ -0,0 +1 @@
{"utc": "2026-10-24T21:31:44.956+00:00", "load1": "2.75"}
@@ -0,0 +1,19 @@
command: ["timeout", "-k", "10", "1800", "node", "--test", "/home/jwoltje/.t3/worktrees/mosaic-stack/magica-row329/packages/bus/tests/plugins-verb.test.mjs"]
TMPDIR: /mnt/storage/scratch/tmp/mpe9C4
begin: {"utc": "2026-10-24T21:31:44.956+00:00", "load1": "2.75"}
launch nice: 19
organization: {"event":"reload-needs-restart","business":"demo"}
organization: {"event":"reload-needs-restart","business":"demo"}
organization: {"event":"reload-needs-restart","business":"demo"}
organization: {"event":"reload-needs-restart","business":"demo"}
✔ plugins and plugins.set refuse every non-human session and a forged actor, and pass only the patch with the verified actor (24.151474ms)
✔ runtime: the switch changes the organization file, the receipt carries the actor, and a bad shape, an unknown module and a stale revision are refused with nothing written (112.999458ms)
✔ vikunja:19/309 through the broker, a patch switches the kinds it names and keeps the rest; null removes one kind and is trailed (51.178757ms)
ℹ tests 3
ℹ suites 0
ℹ pass 3
ℹ fail 0
ℹ cancelled 0
ℹ skipped 0
ℹ todo 0
ℹ duration_ms 271.351814
@@ -0,0 +1 @@
{"utc": "2026-10-24T21:31:45.258+00:00", "load1": "2.75"}
@@ -0,0 +1,14 @@
command: ["timeout", "-k", "10", "1800", "node", "--test", "/home/jwoltje/.t3/worktrees/mosaic-stack/magica-row329/packages/bus/tests/processing-runtime.test.mjs"]
TMPDIR: /mnt/storage/scratch/tmp/t8w0GP
begin: {"utc": "2026-10-24T21:31:45.258+00:00", "load1": "2.75"}
launch nice: 19
✔ real runtime injects the coordinator, stops its workload and mirrors stable stop events across restart (166.197323ms)
✔ invalid state still starts the control bus and human halt then resume repairs it (68.762038ms)
ℹ tests 2
ℹ suites 0
ℹ pass 2
ℹ fail 0
ℹ cancelled 0
ℹ skipped 0
ℹ todo 0
ℹ duration_ms 354.939079
@@ -0,0 +1 @@
{"utc": "2026-10-24T21:31:45.644+00:00", "load1": "2.75"}
@@ -0,0 +1,15 @@
command: ["timeout", "-k", "10", "1800", "node", "--test", "/home/jwoltje/.t3/worktrees/mosaic-stack/magica-row329/packages/bus/tests/project-runtime.test.mjs"]
TMPDIR: /mnt/storage/scratch/tmp/9wld3a
begin: {"utc": "2026-10-24T21:31:45.644+00:00", "load1": "2.75"}
launch nice: 19
✔ Broker keeps the sandbox client import closure: only the listed imports, no lazy project import (2.320439ms)
✔ without a trusted project adapter all three async paths refuse project-not-configured (41.769061ms)
✔ real startBroker injects the project adapter for socket reads and bound-author record writes (209.297382ms)
ℹ tests 3
ℹ suites 0
ℹ pass 3
ℹ fail 0
ℹ cancelled 0
ℹ skipped 0
ℹ todo 0
ℹ duration_ms 374.13406
@@ -0,0 +1 @@
{"utc": "2026-10-24T21:31:46.050+00:00", "load1": "3.01"}
@@ -0,0 +1,25 @@
command: ["timeout", "-k", "10", "1800", "node", "--test", "/home/jwoltje/.t3/worktrees/mosaic-stack/magica-row329/packages/bus/tests/publish.test.mjs"]
TMPDIR: /mnt/storage/scratch/tmp/zvt8PG
begin: {"utc": "2026-10-24T21:31:46.049+00:00", "load1": "3.01"}
launch nice: 19
✔ a raise with no recorded push refuses no-push; a raise binds the latest push and shows it (39.954889ms)
✔ happy path: the fork is the upstream repo under the agent's own user, the destination is host-built (24.465558ms)
✔ a hard wait: no decision refuses, and a decision for another task refuses (22.323233ms)
✔ r4 B4: approve while the latest push is A, push B, publish refuses decision-mismatch (47.890439ms)
✔ grant and fork refusals (45.239458ms)
✔ remote-not-fork, compared without case, and remote-host-mismatch, at push (84.933944ms)
✔ two agents granted one project each get their own fork (43.980907ms)
✔ the request cannot name the fork, the user or the destination (21.038529ms)
✔ one decision, one open publish: a second ticket refuses publish-busy, whatever its branch (50.040628ms)
✔ publishRefused files the code on the task's trail and drops the ticket (21.106502ms)
✔ git.push.remote is in neither ROUTED list and no shipped role grants it (0.703397ms)
✔ runtime: withGitea keys from the open ticket only, and the store root is the organization dir (102.132736ms)
✔ the bus process answers the publish ops from their own lines, not launch-op-refused (158.414563ms)
ℹ tests 13
ℹ suites 0
ℹ pass 13
ℹ fail 0
ℹ cancelled 0
ℹ skipped 0
ℹ todo 0
ℹ duration_ms 755.676522
@@ -0,0 +1 @@
{"utc": "2026-10-24T21:31:46.835+00:00", "load1": "3.01"}
@@ -0,0 +1,31 @@
command: ["timeout", "-k", "10", "1800", "node", "--test", "/home/jwoltje/.t3/worktrees/mosaic-stack/magica-row329/packages/bus/tests/reload.test.mjs"]
TMPDIR: /mnt/storage/scratch/tmp/aU0j0Y
begin: {"utc": "2026-10-24T21:31:46.835+00:00", "load1": "3.01"}
launch nice: 19
organization: {"event":"reload-needs-restart","business":"demo"}
organization: {"event":"reload-needs-restart","business":"demo"}
✔ T14 a create goes live with no restart: the new instance binds at once and the answer says restart false (82.481371ms)
organization: {"event":"reload-needs-restart","business":"demo"}
organization: {"event":"reload-needs-restart","business":"demo"}
organization: {"event":"reload-needs-restart","business":"demo"}
organization: {"event":"reload-needs-restart","business":"demo"}
organization: {"event":"reload-needs-restart","business":"demo"}
organization: {"event":"reload-needs-restart","business":"demo"}
✔ T14 every committed verb reloads once, limits.set, routes.set, plugins.set and veto.set included, and a refused one does not (83.757771ms)
✔ T14 a definition change on a running instance refuses instance-running; a vars change still goes live (63.590141ms)
✔ T14 a file whose credential references differ from the boot copy is not reloaded and the write answers restart true (46.393843ms)
✔ T14 a date-only change to a credential reference still reloads: row 199 issue rewrites the date outside the reload (44.909934ms)
✔ T19 a credentialed create answers restart true; issue works only after a restart, and a later vars change goes live (101.304479ms)
✔ T14 after a refused reload veto.set, instance.hire and instance.fire answer restart true, and a fire of a name kept since refuses before step A (102.926844ms)
✔ T14 a file whose project root differs from the boot copy is not reloaded, because the Credentials store protects the boot roots (44.678556ms)
organization: {"event":"reload-needs-restart","business":"demo"}
✔ T14 a file whose library mapping differs from the boot copy is not reloaded, because the mirror is ensured at start (195.348573ms)
✔ T14 reloadBusiness refuses an unknown business, a changed human and a document the boot check refuses (10.201371ms)
ℹ tests 10
ℹ suites 0
ℹ pass 10
ℹ fail 0
ℹ cancelled 0
ℹ skipped 0
ℹ todo 0
ℹ duration_ms 894.882982
@@ -0,0 +1 @@
{"utc": "2026-10-24T21:31:47.762+00:00", "load1": "3.01"}
@@ -0,0 +1,17 @@
command: ["timeout", "-k", "10", "1800", "node", "--test", "/home/jwoltje/.t3/worktrees/mosaic-stack/magica-row329/packages/bus/tests/routes-verb.test.mjs"]
TMPDIR: /mnt/storage/scratch/tmp/P5dNVU
begin: {"utc": "2026-10-24T21:31:47.762+00:00", "load1": "3.01"}
launch nice: 19
organization: {"event":"reload-needs-restart","business":"demo"}
✔ row 65: routes and routes.set refuse every non-human session, the chief of staff included, the tester may read and set, and each passes the verified actor (41.28339ms)
✔ row 65: a new launch binds only on a switched-on harness with a module name, and a run an earlier broker bound binds again after its harness is switched off (22.333596ms)
✔ row 65 runtime: harnessLevels answers each module in the tree, and null for a name with no module (42.976423ms)
✔ row 65 runtime: routes and routes.set reach the organization file with the human as actor, a new bind reads plugins.harness, and each refusal keeps the bytes and logs nothing (82.367379ms)
ℹ tests 4
ℹ suites 0
ℹ pass 4
ℹ fail 0
ℹ cancelled 0
ℹ skipped 0
ℹ todo 0
ℹ duration_ms 269.840758
@@ -0,0 +1 @@
{"utc": "2026-10-24T21:31:48.062+00:00", "load1": "3.01"}
@@ -0,0 +1,21 @@
command: ["timeout", "-k", "10", "1800", "node", "--test", "/home/jwoltje/.t3/worktrees/mosaic-stack/magica-row329/packages/bus/tests/tasks.test.mjs"]
TMPDIR: /mnt/storage/scratch/tmp/doktEQ
begin: {"utc": "2026-10-24T21:31:48.062+00:00", "load1": "3.01"}
launch nice: 19
✔ recordTask keeps sync reads and a role write apart (37.162839ms)
✔ read_at must be one canonical UTC format, so the projection compares strings safely (10.13001ms)
✔ a bad entry refuses the whole record (10.028908ms)
✔ taskView reads the projection for one business (12.612171ms)
✔ requestTask hands only a holder and a task verb to the handler, and records refusals (21.951896ms)
✔ the server sends task verbs to the adapter with its own timeout; other verbs stay synchronous (304.584857ms)
✔ without an adapter the server refuses every task verb (41.415383ms)
✔ the runtime refuses an invalid adapter and closes a valid one (55.013588ms)
✔ the process loads the S3 adapter from plain-data trackers (294.887599ms)
ℹ tests 9
ℹ suites 0
ℹ pass 9
ℹ fail 0
ℹ cancelled 0
ℹ skipped 0
ℹ todo 0
ℹ duration_ms 901.467179
@@ -0,0 +1 @@
{"utc": "2026-10-24T21:31:48.994+00:00", "load1": "3.01"}
@@ -0,0 +1,25 @@
command: ["timeout", "-k", "10", "1800", "node", "--test", "/home/jwoltje/.t3/worktrees/mosaic-stack/magica-row329/packages/bus/tests/tester-writes.test.mjs"]
TMPDIR: /mnt/storage/scratch/tmp/1vStHK
begin: {"utc": "2026-10-24T21:31:48.994+00:00", "load1": "3.01"}
launch nice: 19
organization: {"event":"reload-needs-restart","business":"demo"}
organization: {"event":"reload-needs-restart","business":"demo"}
organization: {"event":"reload-needs-restart","business":"demo"}
organization: {"event":"reload-needs-restart","business":"demo"}
organization: {"event":"reload-needs-restart","business":"demo"}
✔ row 175: TESTER_VERBS and the organization branch tester set are pinned (1.017466ms)
✔ row 175: each of the six reads as the tester deep-equals the human read (80.79752ms)
✔ row 175: W1-W3 as the tester land with receipt actor tester; the human still logs the human (69.467976ms)
✔ row 175: W2 as the tester refuses credentials, protected definitions, human, tester and bus.tester, and changes nothing (61.482015ms)
✔ row 175: the human-only actions refuse a tester tester-refused, and the file and store stay as they were (59.878967ms)
✔ row 175: W4 as the tester writes by tester and keeps every name check (18.111019ms)
✔ row 175: W6 as the tester records created_by tester; the human records the human (13.376818ms)
✔ row 175: with bus.tester unset or not exactly true no tester binds, so no read or write runs (49.180862ms)
ℹ tests 8
ℹ suites 0
ℹ pass 8
ℹ fail 0
ℹ cancelled 0
ℹ skipped 0
ℹ todo 0
ℹ duration_ms 473.7727
@@ -0,0 +1,2 @@
{"utc": "2026-10-24T21:31:49.499+00:00", "load1": "3.01"}
{"utc": "2026-10-24T21:31:50.500+00:00", "load1": "3.01"}
@@ -0,0 +1,26 @@
command: ["timeout", "-k", "10", "1800", "node", "--test", "/home/jwoltje/.t3/worktrees/mosaic-stack/magica-row329/packages/bus/tests/tester.test.mjs"]
TMPDIR: /mnt/storage/scratch/tmp/lFZZCF
begin: {"utc": "2026-10-24T21:31:49.499+00:00", "load1": "3.01"}
launch nice: 19
✔ the tester binds only when the business sets bus.tester to exactly true (88.757294ms)
✔ a business may not name a role tester, so the tester address is never a role (23.769068ms)
✔ every verb outside the tester list refuses tester-refused and is recorded against the tester (41.483976ms)
✔ a tester message is from tester, needs no prefix, and writes no human.input or authority (18.827772ms)
✔ a tester message to a role no run holds refuses tester-target-not-running and stores nothing (12.713865ms)
✔ a tester message is refused while the run is only launched, and routes once it claims (16.183489ms)
✔ a human message to a role no run holds still waits and tells launch.by (13.743888ms)
✔ a role answers a tester only in reply to a tester message, and the answer never reaches the human (24.830137ms)
✔ the tester reads the human views a reader reads (28.289052ms)
✔ tester proof binds its own CLI, start time and nonce, refuses a managed run and allows an agent (1.13514ms)
✔ neither CLI's nonce proves the other: each proof is bound to its own CLI and nonce variable (0.339972ms)
✔ testerNonce reads only the tester's variable and gives null on any read error (0.179056ms)
✔ an envelope carries exactly one of cap, human and tester; no tester authenticator refuses (93.221215ms)
✔ tester-cli.mjs binds through the runtime when the switch is on, and refuses off or under a run marker (1045.993666ms)
ℹ tests 14
ℹ suites 0
ℹ pass 14
ℹ fail 0
ℹ cancelled 0
ℹ skipped 0
ℹ todo 0
ℹ duration_ms 1530.19706
@@ -0,0 +1 @@
{"utc": "2026-10-24T21:31:51.060+00:00", "load1": "2.77"}
@@ -0,0 +1,13 @@
command: ["timeout", "-k", "10", "1800", "node", "--test", "/home/jwoltje/.t3/worktrees/mosaic-stack/magica-row329/packages/bus/tests/usage-runtime.test.mjs"]
TMPDIR: /mnt/storage/scratch/tmp/1VEYZH
begin: {"utc": "2026-10-24T21:31:51.060+00:00", "load1": "2.77"}
launch nice: 19
✔ REQ-PLUG-1 runtime reaches transcript only through loader, over the real bus socket (69.113179ms)
ℹ tests 1
ℹ suites 0
ℹ pass 1
ℹ fail 0
ℹ cancelled 0
ℹ skipped 0
ℹ todo 0
ℹ duration_ms 188.443021
@@ -0,0 +1,2 @@
{"utc": "2026-10-24T21:31:51.279+00:00", "load1": "2.77"}
{"utc": "2026-10-24T21:31:52.280+00:00", "load1": "2.77"}
@@ -0,0 +1,31 @@
command: ["timeout", "-k", "10", "1800", "node", "--test", "/home/jwoltje/.t3/worktrees/mosaic-stack/magica-row329/packages/bus/tests/web.test.mjs"]
TMPDIR: /mnt/storage/scratch/tmp/BWvWeH
begin: {"utc": "2026-10-24T21:31:51.279+00:00", "load1": "2.77"}
launch nice: 19
✔ web.search: a granted role gets labelled results, and the call is trailed with role, run, verb and query (22.397513ms)
✔ web.fetch: a granted role gets the page as labelled text, and the call is trailed with the url (28.030362ms)
✔ a role without the grant is refused, the refusal is logged with the verb, and nothing is fetched (19.857784ms)
✔ a broker with no web service refuses a granted role (14.84118ms)
✔ bad requests are refused: unknown verb, extra or missing argument, not a string, a human or reader session (18.067065ms)
✔ a session that is not the role holder is refused (13.023035ms)
✔ web.mjs's fences hold on the broker side: refusals are normal results with the fixed reason (39.913102ms)
✔ web.search with no search source configured is a refused result, not an error (14.422159ms)
✔ a search source that fails with its own refusal, or that throws, is handled (18.276761ms)
✔ a slow search source ends in a refusal at the deadline (65.055292ms)
✔ a secret in the arguments is refused before anything is trailed or fetched (13.916963ms)
✔ over the socket: the server routes web verbs to the service; other roles are refused; no service is web-not-configured (69.694453ms)
✔ busBusiness: the web grant comes from "web" in the resolved tool limit (0.282283ms)
✔ webServices: the business's search-source plug-in and web.searxng var make web.search work; without either it is refused as not configured (55.50822ms)
✔ an ungranted call is refused at once: no admission, no wait, nothing touched (17.707781ms)
✔ over the socket an ungranted caller is dropped by the server timeout and a granted one gets the longer wait (339.602135ms)
✔ a search that never answers is aborted at the deadline, the module sees the signal, and the call is trailed as refused (timeout) (74.739872ms)
✔ a fetch that stalls is cut off at the deadline: the request is destroyed, not left running (97.228728ms)
✔ one query limit: over SEARCH_MAX_QUERY_CHARS or empty is refused with the same reason before any backend, and the tool schema carries the same number (19.007701ms)
ℹ tests 19
ℹ suites 0
ℹ pass 19
ℹ fail 0
ℹ cancelled 0
ℹ skipped 0
ℹ todo 0
ℹ duration_ms 1042.857687
@@ -0,0 +1 @@
{"utc": "2026-10-24T21:31:52.353+00:00", "load1": "2.77"}
@@ -0,0 +1,16 @@
command: ["timeout", "-k", "10", "1800", "node", "--test", "/home/jwoltje/.t3/worktrees/mosaic-stack/magica-row329/packages/cli/tests/access-boot.test.mjs"]
TMPDIR: /mnt/storage/scratch/tmp/N0QlMo
begin: {"utc": "2026-10-24T21:31:52.353+00:00", "load1": "2.77"}
launch nice: 19
✔ R6 a configured peer id validates as a user's home and an unconfigured one refuses (13.025604ms)
✔ R6 B1 a boot with access.json binds a granted user, whose home is a configured peer (75.092362ms)
✔ R6 B2 a boot without access.json has no access and binds no user (63.980667ms)
✔ R6 B3 a boot with a file R1's loader refuses still boots, binds no user and says so once (188.774406ms)
ℹ tests 4
ℹ suites 0
ℹ pass 4
ℹ fail 0
ℹ cancelled 0
ℹ skipped 0
ℹ todo 0
ℹ duration_ms 473.694186
@@ -0,0 +1,7 @@
{"utc": "2026-10-24T21:31:52.860+00:00", "load1": "2.77"}
{"utc": "2026-10-24T21:31:53.860+00:00", "load1": "2.77"}
{"utc": "2026-10-24T21:31:54.860+00:00", "load1": "2.77"}
{"utc": "2026-10-24T21:31:55.860+00:00", "load1": "2.71"}
{"utc": "2026-10-24T21:31:56.861+00:00", "load1": "2.71"}
{"utc": "2026-10-24T21:31:57.861+00:00", "load1": "2.71"}
{"utc": "2026-10-24T21:31:58.861+00:00", "load1": "2.71"}
@@ -0,0 +1,46 @@
command: ["timeout", "-k", "10", "1800", "node", "--test", "/home/jwoltje/.t3/worktrees/mosaic-stack/magica-row329/packages/cli/tests/access.test.mjs"]
TMPDIR: /mnt/storage/scratch/tmp/s4G6iY
begin: {"utc": "2026-10-24T21:31:52.859+00:00", "load1": "2.77"}
launch nice: 19
✔ list prints the revision and the users (30.884889ms)
✔ grant writes one revision up, a receipt line, and the id in the file (53.432378ms)
✔ a viewer grant writes the viewer level, one revision up (49.096379ms)
✔ a second write appends a second receipt and leaves the first intact (101.603945ms)
✔ a stale revision refuses with revision-conflict and writes nothing (83.940791ms)
✔ a live holder's lock refuses and leaves the file and the lock alone (26.646541ms)
✔ an empty or unreadable lock refuses, since its holder may still be writing (48.38942ms)
✔ a lock left by a dead pid refuses, names the pid, and is not reclaimed (44.806221ms)
✔ a failed rename leaves the old bytes, removes the temp file, and writes no receipt (27.622276ms)
✔ a group-writable access file refuses with exit 3, names the file, and changes nothing (25.675821ms)
✔ an agent or tester caller is refused before the context or the access file is read (1.123585ms)
✔ the lock is mode 0600 while held and removed after a refused write (25.901843ms)
✔ a grant naming an unknown instance is refused before any write (28.872833ms)
✔ a project name resolves to its id at grant time (70.593649ms)
✔ an unknown project name refuses before any write (27.132406ms)
✔ revoke removes the user's grants and leaves a revision behind (102.987012ms)
✔ revoke of a user with no grant refuses and writes nothing (26.453788ms)
✔ an agent caller is refused before the bus is asked (0.841163ms)
✔ --tester is refused on every verb before the bus is asked (0.974632ms)
✔ a bus that refuses the human proof blocks the write (29.972291ms)
✔ the context reads console.sso subjects and the business files, and peers stay empty (7.670929ms)
✔ the real human-cli, run from agent ancestry, refuses and writes nothing (5144.734757ms)
✔ T1 user add writes the user one revision up, prints it and appends a user.add receipt (30.211574ms)
✔ T2 a bad user add refuses before any write (330.199967ms)
✔ T3 user remove of a user with no grant drops them one revision up, with a user.remove receipt (25.778981ms)
✔ T4 user remove refuses with user-has-grants while the user holds a grant, and writes nothing (75.914593ms)
✔ T5 user remove of an id not in the file refuses and writes nothing (24.019065ms)
✔ T6 a stale revision refuses both user verbs with revision-conflict (50.984347ms)
✔ T7 --tester and an agent caller are refused on both user verbs before the bus is asked (1.193819ms)
✔ T8 a user verb of the wrong shape prints the help (0.907517ms)
✔ T9 a bus that refuses the human proof blocks both user verbs (51.964775ms)
✔ R4 grant and revoke call access.reload after the write, and nothing else does (149.163477ms)
✔ R4 a refused access.reload after a good write exits 0, stdout reports the write, stderr names the code and the 30 s timer (49.394655ms)
✔ R4 the help keeps the provider-removal order and says what a refused reload means (0.831348ms)
ℹ tests 34
ℹ suites 0
ℹ pass 34
ℹ fail 0
ℹ cancelled 0
ℹ skipped 0
ℹ todo 0
ℹ duration_ms 6879.396434
@@ -0,0 +1,14 @@
{"utc": "2026-10-24T21:31:59.769+00:00", "load1": "2.71"}
{"utc": "2026-10-24T21:32:00.769+00:00", "load1": "2.65"}
{"utc": "2026-10-24T21:32:01.770+00:00", "load1": "2.65"}
{"utc": "2026-10-24T21:32:02.770+00:00", "load1": "2.65"}
{"utc": "2026-10-24T21:32:03.770+00:00", "load1": "2.65"}
{"utc": "2026-10-24T21:32:04.771+00:00", "load1": "2.65"}
{"utc": "2026-10-24T21:32:05.771+00:00", "load1": "2.52"}
{"utc": "2026-10-24T21:32:06.771+00:00", "load1": "2.52"}
{"utc": "2026-10-24T21:32:07.772+00:00", "load1": "2.52"}
{"utc": "2026-10-24T21:32:08.772+00:00", "load1": "2.52"}
{"utc": "2026-10-24T21:32:09.772+00:00", "load1": "2.52"}
{"utc": "2026-10-24T21:32:10.772+00:00", "load1": "2.80"}
{"utc": "2026-10-24T21:32:11.773+00:00", "load1": "2.80"}
{"utc": "2026-10-24T21:32:12.773+00:00", "load1": "2.80"}
@@ -0,0 +1,42 @@
command: ["timeout", "-k", "10", "1800", "node", "--test", "/home/jwoltje/.t3/worktrees/mosaic-stack/magica-row329/packages/cli/tests/app.test.mjs"]
TMPDIR: /mnt/storage/scratch/tmp/U6qOPP
begin: {"utc": "2026-10-24T21:31:59.769+00:00", "load1": "2.71"}
launch nice: 19
✔ every screen and overlay fits 120x36, 80x24 and the narrow layout, row for row (1224.912228ms)
✔ width counts terminal cells: wide CJK and emoji 2, U+FE0F after a one-cell base 1, marks 0 (73.876093ms)
✔ broker text is shown, never interpreted: no raw control character or bidi override reaches the terminal (167.944667ms)
✔ NO_COLOR: no escape codes, except reverse video on the selected row (241.262125ms)
✔ 1-9 shows the decide flow's own lines and question; only y resolves (62.873408ms)
✔ the app shows the same decide text as mosaic decide (26.093158ms)
✔ any key but y or Y at the question answers No; nothing is sent (240.102338ms)
✔ below 40x10 the question is hidden, so every key answers it No, y included (Filbert R3) (82.118908ms)
✔ under 40 columns a tall terminal shows the too-small screen even where the decide box would fit; y sends nothing (Filbert N10) (300.553917ms)
✔ a hidden decide box names the way out, and the status line under it does not promise y (Filbert N12) (39.00805ms)
✔ a throw while answering the question goes to crash, sends nothing and leaves no job pending (25.873787ms)
✔ type-ahead never answers the question: a paste, keys typed before it is drawn, keys inside askMs (420.085983ms)
✔ quitting at the question answers No and sends nothing, armed or not (41.123021ms)
✔ a timer tick reads nothing under an overlay, never answers the question, and keeps a resolved status (34.803698ms)
✔ a long question is cut inside the question; the action, target, choice and prompt stay (Dewey B1) (51.229868ms)
✔ a decide box too big for the terminal says so, and every key answers it No, y included (Dewey B1, round 3) (323.780942ms)
✔ at every size the decide box shows each line y depends on, or says it is hidden (8904.284861ms)
✔ outcome unknown: the CLI's sentence, no retry, then the trail or a re-read (81.601431ms)
✔ refused and failed reads keep the last list, marked stale; a refused decide says refused (43.391107ms)
✔ help or a detail box cut to fit keeps its last line, Esc included (Dewey) (23.34607ms)
✔ keys: views, moving, trail of a selection, the command line, help and quit (112.096983ms)
✔ one option: the status line says Press 1, not 1-1 (30.684776ms)
✔ no business: the app says so and :business picks one (16.471692ms)
✔ mosaic with no argument: exit 3 in an agent run, exit 4 with the usage off a terminal, the app on one (2.33531ms)
✔ scripts/mosaic with no argument reaches the app entry; the seat usage it printed before has not drifted (256.7972ms)
✔ strings to keep exactly live once, in the decide flow and the transport; the app does not restate them (0.474305ms)
✔ decide with --note still asks; a No sends nothing (16.390037ms)
✔ the app's business comes from a live bus host only (1.067195ms)
✔ runApp leaves the terminal as it found it on q, end of input, SIGTERM, SIGINT, SIGHUP and an error, the first frame's included (9.300013ms)
✔ draw is pure: same state, same frame (0.832206ms)
ℹ tests 30
ℹ suites 0
ℹ pass 30
ℹ fail 0
ℹ cancelled 0
ℹ skipped 0
ℹ todo 0
ℹ duration_ms 12998.139292
Loaded 100 of 910 files, more files were not shown because too many files have changed in this diff. Show more