Compare commits
78
Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
1b3c9a9c26 | ||
|
|
1c0cdb90ae | ||
|
|
72a338f29a | ||
|
|
ffb662c670 | ||
|
|
ea3aad240a | ||
|
|
e45fc485a4 | ||
|
|
b9dfe25d68 | ||
|
|
df0599121b | ||
|
|
1ac21d36cd | ||
|
|
9507e2ee43 | ||
|
|
852a8da71a | ||
|
|
6d3edea61f | ||
|
|
46c00e7419 | ||
|
|
13d6782dd2 | ||
|
|
fccb2d78c7 | ||
|
|
1861c2d8f1 | ||
|
|
a27f07e204 | ||
|
|
6f12b6df79 | ||
|
|
311f49d51c | ||
|
|
994ead40a5 | ||
|
|
2a2b0136b8 | ||
|
|
7458754328 | ||
|
|
96dd4d0dde | ||
|
|
0ec63de70e | ||
|
|
860582c27d | ||
|
|
5868d77f18 | ||
|
|
07292713ba | ||
|
|
05d6a33368 | ||
|
|
c3eb952420 | ||
|
|
bc6942412a | ||
|
|
6a645188d0 | ||
|
|
d817e58408 | ||
|
|
e5a4ade07e | ||
|
|
81cbdea37f | ||
|
|
c90dcc4b1a | ||
|
|
26fad224fe | ||
|
|
cf890901d8 | ||
|
|
c059625b8c | ||
|
|
41e909bcce | ||
|
|
ca0e83337b | ||
|
|
7c563ece9c | ||
|
|
c77a5444c3 | ||
|
|
1932d6e00b | ||
|
|
d62c69c867 | ||
|
|
2ff10ffac2 | ||
|
|
3f8a24a41f | ||
|
|
87a2adc190 | ||
|
|
4948ece0e5 | ||
|
|
07da4cf961 | ||
|
|
8d88a60297 | ||
|
|
0965fe1ea5 | ||
|
|
989a482ac4 | ||
|
|
6fe36f4a9f | ||
|
|
e0578794ce | ||
|
|
0dd764d366 | ||
|
|
a32481b780 | ||
|
|
5c70feebde | ||
|
|
a86a881e1b | ||
|
|
fb484acb72 | ||
|
|
f832064731 | ||
|
|
78b69e1e68 | ||
|
|
48b89db33b | ||
|
|
7c8dc20335 | ||
|
|
ce0b6ed411 | ||
|
|
97cb9a7630 | ||
|
|
e908f7ffee | ||
|
|
92df71a982 | ||
|
|
0abec5d2e8 | ||
|
|
20996ecd66 | ||
|
|
78b932feb6 | ||
|
|
9e2689dffb | ||
|
|
b24d917ec9 | ||
|
|
61ebf2c34d | ||
|
|
d1f6f2b199 | ||
|
|
c65fb34ee6 | ||
|
|
94cde633e2 | ||
|
|
669cdf42c4 | ||
|
|
98614187ce |
No files matched your search
+37
-4
@@ -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.
|
||||
@@ -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.
|
||||
@@ -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.
|
||||
@@ -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.
|
||||
@@ -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
|
||||
@@ -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
|
||||
@@ -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.
|
||||
@@ -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
Reference in new issue
Block a user