Refuse non-ASCII proxy management keys before initialization

This commit is contained in:
jason.woltje committed 2026-10-24 18:30:11 -05:00
1 parent d1f6f2b199
commit 61ebf2c34d
195 files changed
+10517 -54

No files matched your search

+4
View File
@@ -5578,3 +5578,7 @@ claim. Receipts and limitations in agents/lena/work/queue-296/BUILD.md and run-r
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.
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 — 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.
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.
+180 -1
View File
@@ -243,7 +243,7 @@ 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).
All30 new refusal codes have named coverage in new tests; execution is pending.
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.
@@ -589,3 +589,182 @@ 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.
+194 -10
View File
@@ -1,6 +1,6 @@
f34e093e8c711c5d568b1d5128d29b9162e5507be1172cc76429ab314cdb3e72 BUILD-LOG.md
5490c37b354725821b98aaf110aa162f31512531d62a8c115ccb958add22f1d4 agents/magica/work/queue-329/BUILD.md
1d6886ad5a44f7c9bdb8df9c263993f1edafd909aa195da11a7a11e566ae41ba agents/magica/work/queue-329/REVIEW.md
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
@@ -22,12 +22,192 @@ ca054157c6bb36f40dc6c7a0942d4195fccdfc87b1a77062fb44f6db3fd84c2d agents/magica/
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
46314ae67d564d2bb6cf9c7571bdde9481570c5467499e040b951c30d0ce6dc1 agents/magica/work/queue-329/final-counts.py
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
92496b89026da562390bb124e3911df83084f0ce4e36382d32cc632f6bb6bbe6 agents/magica/work/queue-329/gate/FINAL-COUNTS.json
b79b1d1b5253de212b6419a8d80bace53ac2d8899fec9f5917e1dd17f515bd17 agents/magica/work/queue-329/gate/FINAL-COUNTS.txt
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
@@ -313,12 +493,15 @@ a07aeb995eba36fd6bdeb76abdd101d1126fc7188826e7bdd3fee487efe644f0 agents/magica/
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
b8a80e488e85953ce9ef815cbe4e0bf4009012c8121ba659074fb8873cca856d agents/magica/work/queue-329/refusal-inventory.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
48791faf9e423860bc5a8cefa224256f836f18f803ce8c872c97d033826bb274 docs/SESSIONS.md
b18f24ac5d143df6eaea6838022bb1db6cf860da3999f3529a280b0f1d7ae7ae docs/SESSIONS.md
24620d450b9e2defd2ed738596e440364a2a06fd84712ad154d9da970985e61d packages/bus/src/broker.mjs
6688c153b13a401d475212fb7dce9727d78431ab6840550482847f47889e84a6 packages/bus/src/runtime.mjs
b88932524302e2f7a7bdfbd4daffc1f5b05ae578b51e2dc2f3f74280fc0de398 packages/bus/src/server.mjs
@@ -329,10 +512,10 @@ d706a43ed01df1daf15b2ade6132783aff4913f901f80761b319d231e0d279f4 packages/cli/s
16c31f119d064a836794d167d57a6a1b765303005d93d1feba3e07e4b9288bd2 packages/cli/systemd/mosaic-proxy.service.in
3031a514f5eb1e911ae5220ee8819ba5d409737a8809bb5922650bbe4f95edfc packages/cli/tests/model-proxy.test.mjs
889ac9589fadf7654d4dbb914f968cbafe4255ed215bd6a9ff3f331757c9017b packages/model-proxy/PIN
24745f244aba0789245af21d275e3cc2fed8c07342369caa68369b73d8d1d3f6 packages/model-proxy/README.md
56ff6856ca85eff0705d16240b112b5276ef815b92aa31705abb4b21488d296a packages/model-proxy/README.md
8fbfb3d1562e9ea824a1bd399b17cb2048c92b125e7699ccf27abdcc6e31e40b packages/model-proxy/package.json
c1e835580f2c33d8ce1e75af4e5c99e0425d1a88b50f25bf514a4f90f7134932 packages/model-proxy/src/client.mjs
e214c152ce8fa2df867bdc28194aedb53dbba601c248a606dc5d7bcd0735c189 packages/model-proxy/src/common.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
@@ -340,6 +523,7 @@ c9a8783b272c434bb36697d0763e7fd93db8be208d6cf3da97262dd8f5b0ab10 packages/model
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
+33 -1
View File
@@ -59,7 +59,7 @@ forward or panel JS on the Console origin ships. No external OAuth was completed
## Gate
Final source checked with whole model-proxy61/61, bus1018/1018, CLI999pass
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
@@ -79,3 +79,35 @@ 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.
+44 -3
View File
@@ -14,13 +14,14 @@ def read(label):
text=(OUT/(label+'.txt')).read_text()
result={}
for key in ['tests','pass','fail','skipped','cancelled']:
m=re.search(r'^(?:ℹ |# )'+key+r' (\d+)',text,re.M);assert m,(label,key);result[key]=int(m.group(1))
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'
@@ -34,10 +35,50 @@ assert groups['federation-runner']['counts']['pass']==1 and groups['federation-r
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];lines.append(f"{suite}: {g['files']}files {g['tests']}tests {g['pass']}pass {g['fail']}fail {g['skipped']}skip {g['cancelled']}cancel")
lines += ['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).']
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,89 @@
{"label": "model-proxy-client.test", "rc": 0, "nice": 19, "begin": {"utc": "2026-10-24T21:31:10.938+00:00", "load1": "2.97"}, "end": {"utc": "2026-10-24T21:31:11.088+00:00", "load1": "2.97"}, "seconds": 0.15, "counts": {"tests": 16, "pass": 16, "fail": 0, "skipped": 0, "cancelled": 0}, "failure_events": [], "log": "agents/magica/work/queue-329/gate-r2/model-proxy-client.test.txt", "raw": "/mnt/storage/scratch/tmp/zDL42S/stdout.txt", "raw_sha256": "72526df68832b7029d66bc1d583880044263c223429f4b4e4a56ef00d42a593b", "review_sha256": "72526df68832b7029d66bc1d583880044263c223429f4b4e4a56ef00d42a593b", "normalization": "trailing whitespace only; raw retained"}
{"label": "model-proxy-config-unit.test", "rc": 0, "nice": 19, "begin": {"utc": "2026-10-24T21:31:11.090+00:00", "load1": "2.97"}, "end": {"utc": "2026-10-24T21:31:12.582+00:00", "load1": "2.97"}, "seconds": 1.493, "counts": {"tests": 15, "pass": 15, "fail": 0, "skipped": 0, "cancelled": 0}, "failure_events": [], "log": "agents/magica/work/queue-329/gate-r2/model-proxy-config-unit.test.txt", "raw": "/mnt/storage/scratch/tmp/nJS9pb/stdout.txt", "raw_sha256": "7e1b45f0f7f56e881dfd81f2e16e5076684f1e5a94a51972af2f01ff40700a86", "review_sha256": "7e1b45f0f7f56e881dfd81f2e16e5076684f1e5a94a51972af2f01ff40700a86", "normalization": "trailing whitespace only; raw retained"}
{"label": "model-proxy-fetch.test", "rc": 0, "nice": 19, "begin": {"utc": "2026-10-24T21:31:12.584+00:00", "load1": "2.97"}, "end": {"utc": "2026-10-24T21:31:12.790+00:00", "load1": "2.97"}, "seconds": 0.206, "counts": {"tests": 8, "pass": 8, "fail": 0, "skipped": 0, "cancelled": 0}, "failure_events": [], "log": "agents/magica/work/queue-329/gate-r2/model-proxy-fetch.test.txt", "raw": "/mnt/storage/scratch/tmp/7oJ2lQ/stdout.txt", "raw_sha256": "f9443ad4efc40865e4710339f2802ad59fa9fe247c3f7ce715bd522cb57df0a4", "review_sha256": "f9443ad4efc40865e4710339f2802ad59fa9fe247c3f7ce715bd522cb57df0a4", "normalization": "trailing whitespace only; raw retained"}
{"label": "model-proxy-management-key-encoding.test", "rc": 0, "nice": 19, "begin": {"utc": "2026-10-24T21:31:12.791+00:00", "load1": "2.97"}, "end": {"utc": "2026-10-24T21:31:12.914+00:00", "load1": "2.97"}, "seconds": 0.122, "counts": {"tests": 5, "pass": 5, "fail": 0, "skipped": 0, "cancelled": 0}, "failure_events": [], "log": "agents/magica/work/queue-329/gate-r2/model-proxy-management-key-encoding.test.txt", "raw": "/mnt/storage/scratch/tmp/zS3BC0/stdout.txt", "raw_sha256": "fc0ebedc2bae56913e2055a0772f741f76c7b4659ca4c020f95c5207fadaa245", "review_sha256": "fc0ebedc2bae56913e2055a0772f741f76c7b4659ca4c020f95c5207fadaa245", "normalization": "trailing whitespace only; raw retained"}
{"label": "model-proxy-runner.test", "rc": 0, "nice": 19, "begin": {"utc": "2026-10-24T21:31:12.915+00:00", "load1": "2.97"}, "end": {"utc": "2026-10-24T21:31:13.016+00:00", "load1": "2.97"}, "seconds": 0.1, "counts": {"tests": 3, "pass": 3, "fail": 0, "skipped": 0, "cancelled": 0}, "failure_events": [], "log": "agents/magica/work/queue-329/gate-r2/model-proxy-runner.test.txt", "raw": "/mnt/storage/scratch/tmp/AudX5t/stdout.txt", "raw_sha256": "4e4fac75caddcc0ec797e5cbd0c096af2c0b9c6f5cdbb2740e1419e6b900912e", "review_sha256": "4e4fac75caddcc0ec797e5cbd0c096af2c0b9c6f5cdbb2740e1419e6b900912e", "normalization": "trailing whitespace only; raw retained"}
{"label": "model-proxy-settings.test", "rc": 0, "nice": 19, "begin": {"utc": "2026-10-24T21:31:13.017+00:00", "load1": "2.97"}, "end": {"utc": "2026-10-24T21:31:13.133+00:00", "load1": "2.97"}, "seconds": 0.116, "counts": {"tests": 19, "pass": 19, "fail": 0, "skipped": 0, "cancelled": 0}, "failure_events": [], "log": "agents/magica/work/queue-329/gate-r2/model-proxy-settings.test.txt", "raw": "/mnt/storage/scratch/tmp/5hNMfK/stdout.txt", "raw_sha256": "c552a50d05b680f46cccca044134bc9531ab40fb3cb3d7823884f1c10a214b92", "review_sha256": "c552a50d05b680f46cccca044134bc9531ab40fb3cb3d7823884f1c10a214b92", "normalization": "trailing whitespace only; raw retained"}
{"label": "bus-access-revoke.test", "rc": 0, "nice": 19, "begin": {"utc": "2026-10-24T21:31:13.135+00:00", "load1": "2.97"}, "end": {"utc": "2026-10-24T21:31:13.593+00:00", "load1": "2.97"}, "seconds": 0.458, "counts": {"tests": 10, "pass": 10, "fail": 0, "skipped": 0, "cancelled": 0}, "failure_events": [], "log": "agents/magica/work/queue-329/gate-r2/bus-access-revoke.test.txt", "raw": "/mnt/storage/scratch/tmp/GHeQEZ/stdout.txt", "raw_sha256": "1e4692e57d2a0381a9c05ad6a6f136c63d149263d52f4bf0cf194adfb5c3a28f", "review_sha256": "1e4692e57d2a0381a9c05ad6a6f136c63d149263d52f4bf0cf194adfb5c3a28f", "normalization": "trailing whitespace only; raw retained"}
{"label": "bus-chief-of-staff.test", "rc": 0, "nice": 19, "begin": {"utc": "2026-10-24T21:31:13.594+00:00", "load1": "2.97"}, "end": {"utc": "2026-10-24T21:31:15.864+00:00", "load1": "3.13"}, "seconds": 2.27, "counts": {"tests": 42, "pass": 42, "fail": 0, "skipped": 0, "cancelled": 0}, "failure_events": [], "log": "agents/magica/work/queue-329/gate-r2/bus-chief-of-staff.test.txt", "raw": "/mnt/storage/scratch/tmp/70lNbE/stdout.txt", "raw_sha256": "ac5e9121ff899160842f8196969356b5af2b1d8305bc14a4a05f0c8e7472a55b", "review_sha256": "ac5e9121ff899160842f8196969356b5af2b1d8305bc14a4a05f0c8e7472a55b", "normalization": "trailing whitespace only; raw retained"}
{"label": "bus-citation-runtime.test", "rc": 0, "nice": 19, "begin": {"utc": "2026-10-24T21:31:15.866+00:00", "load1": "3.13"}, "end": {"utc": "2026-10-24T21:31:16.155+00:00", "load1": "3.13"}, "seconds": 0.289, "counts": {"tests": 1, "pass": 1, "fail": 0, "skipped": 0, "cancelled": 0}, "failure_events": [], "log": "agents/magica/work/queue-329/gate-r2/bus-citation-runtime.test.txt", "raw": "/mnt/storage/scratch/tmp/d7EDzc/stdout.txt", "raw_sha256": "906f79dcd35767db18fcc9cc58ff354fd04c76fb8f4442a36840dbe6c1ec4687", "review_sha256": "906f79dcd35767db18fcc9cc58ff354fd04c76fb8f4442a36840dbe6c1ec4687", "normalization": "trailing whitespace only; raw retained"}
{"label": "bus-creative.test", "rc": 0, "nice": 19, "begin": {"utc": "2026-10-24T21:31:16.156+00:00", "load1": "3.13"}, "end": {"utc": "2026-10-24T21:31:16.541+00:00", "load1": "3.13"}, "seconds": 0.384, "counts": {"tests": 4, "pass": 4, "fail": 0, "skipped": 0, "cancelled": 0}, "failure_events": [], "log": "agents/magica/work/queue-329/gate-r2/bus-creative.test.txt", "raw": "/mnt/storage/scratch/tmp/pn1E2D/stdout.txt", "raw_sha256": "a69dc69088b07e7e1763feffce69ef032df334557505f2afcefdfb58c0d1c17d", "review_sha256": "a69dc69088b07e7e1763feffce69ef032df334557505f2afcefdfb58c0d1c17d", "normalization": "trailing whitespace only; raw retained"}
{"label": "bus-credential-verbs.test", "rc": 0, "nice": 19, "begin": {"utc": "2026-10-24T21:31:16.542+00:00", "load1": "3.13"}, "end": {"utc": "2026-10-24T21:31:16.833+00:00", "load1": "3.13"}, "seconds": 0.291, "counts": {"tests": 2, "pass": 2, "fail": 0, "skipped": 0, "cancelled": 0}, "failure_events": [], "log": "agents/magica/work/queue-329/gate-r2/bus-credential-verbs.test.txt", "raw": "/mnt/storage/scratch/tmp/9f3var/stdout.txt", "raw_sha256": "5357a7f0eec86a68c8491d1af16547457d7fe0ebd72fc5c6a509007c7f7d4030", "review_sha256": "5357a7f0eec86a68c8491d1af16547457d7fe0ebd72fc5c6a509007c7f7d4030", "normalization": "trailing whitespace only; raw retained"}
{"label": "bus-daily-quota-runtime.test", "rc": 0, "nice": 19, "begin": {"utc": "2026-10-24T21:31:16.834+00:00", "load1": "3.13"}, "end": {"utc": "2026-10-24T21:31:17.191+00:00", "load1": "3.13"}, "seconds": 0.356, "counts": {"tests": 4, "pass": 4, "fail": 0, "skipped": 0, "cancelled": 0}, "failure_events": [], "log": "agents/magica/work/queue-329/gate-r2/bus-daily-quota-runtime.test.txt", "raw": "/mnt/storage/scratch/tmp/qkIeTC/stdout.txt", "raw_sha256": "fe12a7dd9d274386f7416db0858082dd77af1c0df6344d2460fca5a13a94b924", "review_sha256": "fe12a7dd9d274386f7416db0858082dd77af1c0df6344d2460fca5a13a94b924", "normalization": "trailing whitespace only; raw retained"}
{"label": "bus-grant-scope-runtime.test", "rc": 0, "nice": 19, "begin": {"utc": "2026-10-24T21:31:17.192+00:00", "load1": "3.13"}, "end": {"utc": "2026-10-24T21:31:17.416+00:00", "load1": "3.13"}, "seconds": 0.224, "counts": {"tests": 1, "pass": 1, "fail": 0, "skipped": 0, "cancelled": 0}, "failure_events": [], "log": "agents/magica/work/queue-329/gate-r2/bus-grant-scope-runtime.test.txt", "raw": "/mnt/storage/scratch/tmp/vvhrW2/stdout.txt", "raw_sha256": "d314d364cc6b84672a92151c8c601dad438414a49ec27f15e94594ab730ac3f6", "review_sha256": "d314d364cc6b84672a92151c8c601dad438414a49ec27f15e94594ab730ac3f6", "normalization": "trailing whitespace only; raw retained"}
{"label": "bus-host-run.test", "rc": 0, "nice": 19, "begin": {"utc": "2026-10-24T21:31:17.417+00:00", "load1": "3.13"}, "end": {"utc": "2026-10-24T21:31:32.104+00:00", "load1": "2.80"}, "seconds": 14.686, "counts": {"tests": 26, "pass": 26, "fail": 0, "skipped": 0, "cancelled": 0}, "failure_events": [], "log": "agents/magica/work/queue-329/gate-r2/bus-host-run.test.txt", "raw": "/mnt/storage/scratch/tmp/BU48EX/stdout.txt", "raw_sha256": "186da42dee80fa074f0ddbb05fe78eb680dbe7177e63111928768b71f6248743", "review_sha256": "186da42dee80fa074f0ddbb05fe78eb680dbe7177e63111928768b71f6248743", "normalization": "trailing whitespace only; raw retained"}
{"label": "bus-instances-verb.test", "rc": 0, "nice": 19, "begin": {"utc": "2026-10-24T21:31:32.105+00:00", "load1": "2.80"}, "end": {"utc": "2026-10-24T21:31:32.406+00:00", "load1": "2.80"}, "seconds": 0.301, "counts": {"tests": 3, "pass": 3, "fail": 0, "skipped": 0, "cancelled": 0}, "failure_events": [], "log": "agents/magica/work/queue-329/gate-r2/bus-instances-verb.test.txt", "raw": "/mnt/storage/scratch/tmp/XknzTf/stdout.txt", "raw_sha256": "a29fe9471a3034501c9765289f77e5a6fc08702c7cc02035d67745b01064e6f7", "review_sha256": "a29fe9471a3034501c9765289f77e5a6fc08702c7cc02035d67745b01064e6f7", "normalization": "trailing whitespace only; raw retained"}
{"label": "bus-library-credential.test", "rc": 0, "nice": 19, "begin": {"utc": "2026-10-24T21:31:32.407+00:00", "load1": "2.80"}, "end": {"utc": "2026-10-24T21:31:33.807+00:00", "load1": "2.80"}, "seconds": 1.4, "counts": {"tests": 6, "pass": 6, "fail": 0, "skipped": 0, "cancelled": 0}, "failure_events": [], "log": "agents/magica/work/queue-329/gate-r2/bus-library-credential.test.txt", "raw": "/mnt/storage/scratch/tmp/HpiYQK/stdout.txt", "raw_sha256": "5a8db75c9e3a8c5fc526a83db2eecb1dce370c09b191d76a4b6e5e5b2bc49269", "review_sha256": "5a8db75c9e3a8c5fc526a83db2eecb1dce370c09b191d76a4b6e5e5b2bc49269", "normalization": "trailing whitespace only; raw retained"}
{"label": "bus-library-lookups.test", "rc": 0, "nice": 19, "begin": {"utc": "2026-10-24T21:31:33.808+00:00", "load1": "2.80"}, "end": {"utc": "2026-10-24T21:31:34.972+00:00", "load1": "2.80"}, "seconds": 1.163, "counts": {"tests": 11, "pass": 11, "fail": 0, "skipped": 0, "cancelled": 0}, "failure_events": [], "log": "agents/magica/work/queue-329/gate-r2/bus-library-lookups.test.txt", "raw": "/mnt/storage/scratch/tmp/PQlDGA/stdout.txt", "raw_sha256": "f983094b8f5934fb1390cb41a7f93fb67e3bf640ccefe7c22901fef471178341", "review_sha256": "f983094b8f5934fb1390cb41a7f93fb67e3bf640ccefe7c22901fef471178341", "normalization": "trailing whitespace only; raw retained"}
{"label": "bus-library-sync.test", "rc": 0, "nice": 19, "begin": {"utc": "2026-10-24T21:31:34.973+00:00", "load1": "2.80"}, "end": {"utc": "2026-10-24T21:31:41.870+00:00", "load1": "2.75"}, "seconds": 6.897, "counts": {"tests": 6, "pass": 6, "fail": 0, "skipped": 0, "cancelled": 0}, "failure_events": [], "log": "agents/magica/work/queue-329/gate-r2/bus-library-sync.test.txt", "raw": "/mnt/storage/scratch/tmp/eFLzOZ/stdout.txt", "raw_sha256": "ce03b3b0bd0a7dab40cbe07b65708e9c8083b2ea2292a585105257d63b346041", "review_sha256": "ce03b3b0bd0a7dab40cbe07b65708e9c8083b2ea2292a585105257d63b346041", "normalization": "trailing whitespace only; raw retained"}
{"label": "bus-library.test", "rc": 0, "nice": 19, "begin": {"utc": "2026-10-24T21:31:41.871+00:00", "load1": "2.75"}, "end": {"utc": "2026-10-24T21:31:42.508+00:00", "load1": "2.75"}, "seconds": 0.637, "counts": {"tests": 6, "pass": 6, "fail": 0, "skipped": 0, "cancelled": 0}, "failure_events": [], "log": "agents/magica/work/queue-329/gate-r2/bus-library.test.txt", "raw": "/mnt/storage/scratch/tmp/kPxN9l/stdout.txt", "raw_sha256": "f7056b0990446ba4ca02439d888840100197cf721af7cb83366e1845ebedb181", "review_sha256": "f7056b0990446ba4ca02439d888840100197cf721af7cb83366e1845ebedb181", "normalization": "trailing whitespace only; raw retained"}
{"label": "bus-lifecycle-revoke.test", "rc": 0, "nice": 19, "begin": {"utc": "2026-10-24T21:31:42.510+00:00", "load1": "2.75"}, "end": {"utc": "2026-10-24T21:31:43.201+00:00", "load1": "2.75"}, "seconds": 0.691, "counts": {"tests": 8, "pass": 8, "fail": 0, "skipped": 0, "cancelled": 0}, "failure_events": [], "log": "agents/magica/work/queue-329/gate-r2/bus-lifecycle-revoke.test.txt", "raw": "/mnt/storage/scratch/tmp/hvc49a/stdout.txt", "raw_sha256": "8164855a74fffbe3ae62e45b0d921571b34e29d87109a62fdedcaa5f5cf91a03", "review_sha256": "8164855a74fffbe3ae62e45b0d921571b34e29d87109a62fdedcaa5f5cf91a03", "normalization": "trailing whitespace only; raw retained"}
{"label": "bus-lifecycle-verbs.test", "rc": 0, "nice": 19, "begin": {"utc": "2026-10-24T21:31:43.202+00:00", "load1": "2.75"}, "end": {"utc": "2026-10-24T21:31:43.730+00:00", "load1": "2.75"}, "seconds": 0.527, "counts": {"tests": 13, "pass": 13, "fail": 0, "skipped": 0, "cancelled": 0}, "failure_events": [], "log": "agents/magica/work/queue-329/gate-r2/bus-lifecycle-verbs.test.txt", "raw": "/mnt/storage/scratch/tmp/Ab3xx3/stdout.txt", "raw_sha256": "d2f5a7993c5d8e31bbf8572651f67fded8ed83cbaddfa5ccba7bad2d61994da0", "review_sha256": "d2f5a7993c5d8e31bbf8572651f67fded8ed83cbaddfa5ccba7bad2d61994da0", "normalization": "trailing whitespace only; raw retained"}
{"label": "bus-limit-checks.test", "rc": 0, "nice": 19, "begin": {"utc": "2026-10-24T21:31:43.731+00:00", "load1": "2.75"}, "end": {"utc": "2026-10-24T21:31:44.005+00:00", "load1": "2.75"}, "seconds": 0.273, "counts": {"tests": 16, "pass": 16, "fail": 0, "skipped": 0, "cancelled": 0}, "failure_events": [], "log": "agents/magica/work/queue-329/gate-r2/bus-limit-checks.test.txt", "raw": "/mnt/storage/scratch/tmp/ktbbpy/stdout.txt", "raw_sha256": "04d0337574e4af52414e3bfd63b95d15e2cbbc22c49bfaae5eb8baf4df0ce387", "review_sha256": "04d0337574e4af52414e3bfd63b95d15e2cbbc22c49bfaae5eb8baf4df0ce387", "normalization": "trailing whitespace only; raw retained"}
{"label": "bus-limits-runtime.test", "rc": 0, "nice": 19, "begin": {"utc": "2026-10-24T21:31:44.006+00:00", "load1": "2.75"}, "end": {"utc": "2026-10-24T21:31:44.427+00:00", "load1": "2.75"}, "seconds": 0.421, "counts": {"tests": 5, "pass": 5, "fail": 0, "skipped": 0, "cancelled": 0}, "failure_events": [], "log": "agents/magica/work/queue-329/gate-r2/bus-limits-runtime.test.txt", "raw": "/mnt/storage/scratch/tmp/OgZo41/stdout.txt", "raw_sha256": "aae4e8b12a87bd5679afcd9f4319839c6554fac365723ada9808af9aa9e1c859", "review_sha256": "aae4e8b12a87bd5679afcd9f4319839c6554fac365723ada9808af9aa9e1c859", "normalization": "trailing whitespace only; raw retained"}
{"label": "bus-limits.test", "rc": 0, "nice": 19, "begin": {"utc": "2026-10-24T21:31:44.428+00:00", "load1": "2.75"}, "end": {"utc": "2026-10-24T21:31:44.729+00:00", "load1": "2.75"}, "seconds": 0.301, "counts": {"tests": 3, "pass": 3, "fail": 0, "skipped": 0, "cancelled": 0}, "failure_events": [], "log": "agents/magica/work/queue-329/gate-r2/bus-limits.test.txt", "raw": "/mnt/storage/scratch/tmp/ZE3dMq/stdout.txt", "raw_sha256": "df23b3a8e13e0f29c5c81cf067e4a859b2c19fc7b7e0a72cab222444d84eb20d", "review_sha256": "df23b3a8e13e0f29c5c81cf067e4a859b2c19fc7b7e0a72cab222444d84eb20d", "normalization": "trailing whitespace only; raw retained"}
{"label": "bus-model-proxy.test", "rc": 0, "nice": 19, "begin": {"utc": "2026-10-24T21:31:44.731+00:00", "load1": "2.75"}, "end": {"utc": "2026-10-24T21:31:44.954+00:00", "load1": "2.75"}, "seconds": 0.223, "counts": {"tests": 8, "pass": 8, "fail": 0, "skipped": 0, "cancelled": 0}, "failure_events": [], "log": "agents/magica/work/queue-329/gate-r2/bus-model-proxy.test.txt", "raw": "/mnt/storage/scratch/tmp/760xBV/stdout.txt", "raw_sha256": "bfb1b52f8dc03290185ea6b9f1c2a5336b0c8b4959a0b1254a8ff6e86c4d0f6e", "review_sha256": "bfb1b52f8dc03290185ea6b9f1c2a5336b0c8b4959a0b1254a8ff6e86c4d0f6e", "normalization": "trailing whitespace only; raw retained"}
{"label": "bus-plugins-verb.test", "rc": 0, "nice": 19, "begin": {"utc": "2026-10-24T21:31:44.956+00:00", "load1": "2.75"}, "end": {"utc": "2026-10-24T21:31:45.257+00:00", "load1": "2.75"}, "seconds": 0.301, "counts": {"tests": 3, "pass": 3, "fail": 0, "skipped": 0, "cancelled": 0}, "failure_events": [], "log": "agents/magica/work/queue-329/gate-r2/bus-plugins-verb.test.txt", "raw": "/mnt/storage/scratch/tmp/mpe9C4/stdout.txt", "raw_sha256": "a06ab305be09ba71ffad2221d8db9979cd7c9db8cfee9e7a75347620a4f68646", "review_sha256": "a06ab305be09ba71ffad2221d8db9979cd7c9db8cfee9e7a75347620a4f68646", "normalization": "trailing whitespace only; raw retained"}
{"label": "bus-processing-runtime.test", "rc": 0, "nice": 19, "begin": {"utc": "2026-10-24T21:31:45.258+00:00", "load1": "2.75"}, "end": {"utc": "2026-10-24T21:31:45.642+00:00", "load1": "2.75"}, "seconds": 0.384, "counts": {"tests": 2, "pass": 2, "fail": 0, "skipped": 0, "cancelled": 0}, "failure_events": [], "log": "agents/magica/work/queue-329/gate-r2/bus-processing-runtime.test.txt", "raw": "/mnt/storage/scratch/tmp/t8w0GP/stdout.txt", "raw_sha256": "05aeb457bd29666c0fd601f14e81a917935483c483ae29952ba07c168f316a3f", "review_sha256": "05aeb457bd29666c0fd601f14e81a917935483c483ae29952ba07c168f316a3f", "normalization": "trailing whitespace only; raw retained"}
{"label": "bus-project-runtime.test", "rc": 0, "nice": 19, "begin": {"utc": "2026-10-24T21:31:45.644+00:00", "load1": "2.75"}, "end": {"utc": "2026-10-24T21:31:46.048+00:00", "load1": "3.01"}, "seconds": 0.404, "counts": {"tests": 3, "pass": 3, "fail": 0, "skipped": 0, "cancelled": 0}, "failure_events": [], "log": "agents/magica/work/queue-329/gate-r2/bus-project-runtime.test.txt", "raw": "/mnt/storage/scratch/tmp/9wld3a/stdout.txt", "raw_sha256": "a78ffe5c3ce1a213eca5eeae5637eabe03ea564df7fa947a72f85a0d94c3ccb0", "review_sha256": "a78ffe5c3ce1a213eca5eeae5637eabe03ea564df7fa947a72f85a0d94c3ccb0", "normalization": "trailing whitespace only; raw retained"}
{"label": "bus-publish.test", "rc": 0, "nice": 19, "begin": {"utc": "2026-10-24T21:31:46.049+00:00", "load1": "3.01"}, "end": {"utc": "2026-10-24T21:31:46.833+00:00", "load1": "3.01"}, "seconds": 0.784, "counts": {"tests": 13, "pass": 13, "fail": 0, "skipped": 0, "cancelled": 0}, "failure_events": [], "log": "agents/magica/work/queue-329/gate-r2/bus-publish.test.txt", "raw": "/mnt/storage/scratch/tmp/zvt8PG/stdout.txt", "raw_sha256": "1f2796d06abac7de85d9658f8c2a53b2934aea7ab518bab1f53479048feb2139", "review_sha256": "1f2796d06abac7de85d9658f8c2a53b2934aea7ab518bab1f53479048feb2139", "normalization": "trailing whitespace only; raw retained"}
{"label": "bus-reload.test", "rc": 0, "nice": 19, "begin": {"utc": "2026-10-24T21:31:46.835+00:00", "load1": "3.01"}, "end": {"utc": "2026-10-24T21:31:47.760+00:00", "load1": "3.01"}, "seconds": 0.925, "counts": {"tests": 10, "pass": 10, "fail": 0, "skipped": 0, "cancelled": 0}, "failure_events": [], "log": "agents/magica/work/queue-329/gate-r2/bus-reload.test.txt", "raw": "/mnt/storage/scratch/tmp/aU0j0Y/stdout.txt", "raw_sha256": "192282d8e14ec7ba3314ae1de327646cc6f7deb390472d64781529d4f2a87ae5", "review_sha256": "192282d8e14ec7ba3314ae1de327646cc6f7deb390472d64781529d4f2a87ae5", "normalization": "trailing whitespace only; raw retained"}
{"label": "bus-routes-verb.test", "rc": 0, "nice": 19, "begin": {"utc": "2026-10-24T21:31:47.762+00:00", "load1": "3.01"}, "end": {"utc": "2026-10-24T21:31:48.060+00:00", "load1": "3.01"}, "seconds": 0.299, "counts": {"tests": 4, "pass": 4, "fail": 0, "skipped": 0, "cancelled": 0}, "failure_events": [], "log": "agents/magica/work/queue-329/gate-r2/bus-routes-verb.test.txt", "raw": "/mnt/storage/scratch/tmp/P5dNVU/stdout.txt", "raw_sha256": "9f33241111d569ae58c4e67f3afe685a537a2dcbfedaa40de89bdee3f17b14b4", "review_sha256": "9f33241111d569ae58c4e67f3afe685a537a2dcbfedaa40de89bdee3f17b14b4", "normalization": "trailing whitespace only; raw retained"}
{"label": "bus-tasks.test", "rc": 0, "nice": 19, "begin": {"utc": "2026-10-24T21:31:48.062+00:00", "load1": "3.01"}, "end": {"utc": "2026-10-24T21:31:48.992+00:00", "load1": "3.01"}, "seconds": 0.93, "counts": {"tests": 9, "pass": 9, "fail": 0, "skipped": 0, "cancelled": 0}, "failure_events": [], "log": "agents/magica/work/queue-329/gate-r2/bus-tasks.test.txt", "raw": "/mnt/storage/scratch/tmp/doktEQ/stdout.txt", "raw_sha256": "14d2238fe88a863d5535217b8a832fc7a23d6662a38787385fa5c7792902cece", "review_sha256": "14d2238fe88a863d5535217b8a832fc7a23d6662a38787385fa5c7792902cece", "normalization": "trailing whitespace only; raw retained"}
{"label": "bus-tester-writes.test", "rc": 0, "nice": 19, "begin": {"utc": "2026-10-24T21:31:48.994+00:00", "load1": "3.01"}, "end": {"utc": "2026-10-24T21:31:49.498+00:00", "load1": "3.01"}, "seconds": 0.504, "counts": {"tests": 8, "pass": 8, "fail": 0, "skipped": 0, "cancelled": 0}, "failure_events": [], "log": "agents/magica/work/queue-329/gate-r2/bus-tester-writes.test.txt", "raw": "/mnt/storage/scratch/tmp/1vStHK/stdout.txt", "raw_sha256": "9be764569450aede17b0aeb194933978c07f551ff835543b9c5a171599aec855", "review_sha256": "9be764569450aede17b0aeb194933978c07f551ff835543b9c5a171599aec855", "normalization": "trailing whitespace only; raw retained"}
{"label": "bus-tester.test", "rc": 0, "nice": 19, "begin": {"utc": "2026-10-24T21:31:49.499+00:00", "load1": "3.01"}, "end": {"utc": "2026-10-24T21:31:51.058+00:00", "load1": "2.77"}, "seconds": 1.559, "counts": {"tests": 14, "pass": 14, "fail": 0, "skipped": 0, "cancelled": 0}, "failure_events": [], "log": "agents/magica/work/queue-329/gate-r2/bus-tester.test.txt", "raw": "/mnt/storage/scratch/tmp/lFZZCF/stdout.txt", "raw_sha256": "1071a9d1720fc8cb3a81bb4e649480b9ffb70f44cc27df7cd1bdfe5b4b73c832", "review_sha256": "1071a9d1720fc8cb3a81bb4e649480b9ffb70f44cc27df7cd1bdfe5b4b73c832", "normalization": "trailing whitespace only; raw retained"}
{"label": "bus-usage-runtime.test", "rc": 0, "nice": 19, "begin": {"utc": "2026-10-24T21:31:51.060+00:00", "load1": "2.77"}, "end": {"utc": "2026-10-24T21:31:51.278+00:00", "load1": "2.77"}, "seconds": 0.218, "counts": {"tests": 1, "pass": 1, "fail": 0, "skipped": 0, "cancelled": 0}, "failure_events": [], "log": "agents/magica/work/queue-329/gate-r2/bus-usage-runtime.test.txt", "raw": "/mnt/storage/scratch/tmp/1VEYZH/stdout.txt", "raw_sha256": "164803cec01d1a4defd02eb7bada2334406e55ddca88a3f959f34b1fe959c61d", "review_sha256": "164803cec01d1a4defd02eb7bada2334406e55ddca88a3f959f34b1fe959c61d", "normalization": "trailing whitespace only; raw retained"}
{"label": "bus-web.test", "rc": 0, "nice": 19, "begin": {"utc": "2026-10-24T21:31:51.279+00:00", "load1": "2.77"}, "end": {"utc": "2026-10-24T21:31:52.352+00:00", "load1": "2.77"}, "seconds": 1.073, "counts": {"tests": 19, "pass": 19, "fail": 0, "skipped": 0, "cancelled": 0}, "failure_events": [], "log": "agents/magica/work/queue-329/gate-r2/bus-web.test.txt", "raw": "/mnt/storage/scratch/tmp/BWvWeH/stdout.txt", "raw_sha256": "fc077bfb6f2fdf43f2949741daa6d7d998be5540a2c24935cf41dd37a9168701", "review_sha256": "fc077bfb6f2fdf43f2949741daa6d7d998be5540a2c24935cf41dd37a9168701", "normalization": "trailing whitespace only; raw retained"}
{"label": "cli-access-boot.test", "rc": 0, "nice": 19, "begin": {"utc": "2026-10-24T21:31:52.353+00:00", "load1": "2.77"}, "end": {"utc": "2026-10-24T21:31:52.858+00:00", "load1": "2.77"}, "seconds": 0.505, "counts": {"tests": 4, "pass": 4, "fail": 0, "skipped": 0, "cancelled": 0}, "failure_events": [], "log": "agents/magica/work/queue-329/gate-r2/cli-access-boot.test.txt", "raw": "/mnt/storage/scratch/tmp/N0QlMo/stdout.txt", "raw_sha256": "3744b90a84c5fed8391ec462765c84016f800480aba1866394fda7b8e073334f", "review_sha256": "3744b90a84c5fed8391ec462765c84016f800480aba1866394fda7b8e073334f", "normalization": "trailing whitespace only; raw retained"}
{"label": "cli-access.test", "rc": 0, "nice": 19, "begin": {"utc": "2026-10-24T21:31:52.859+00:00", "load1": "2.77"}, "end": {"utc": "2026-10-24T21:31:59.768+00:00", "load1": "2.71"}, "seconds": 6.908, "counts": {"tests": 34, "pass": 34, "fail": 0, "skipped": 0, "cancelled": 0}, "failure_events": [], "log": "agents/magica/work/queue-329/gate-r2/cli-access.test.txt", "raw": "/mnt/storage/scratch/tmp/s4G6iY/stdout.txt", "raw_sha256": "26846bafb2cad7e1ef1eb22c4be6b45be15a5ba8dcb9ac74e676526215264f61", "review_sha256": "26846bafb2cad7e1ef1eb22c4be6b45be15a5ba8dcb9ac74e676526215264f61", "normalization": "trailing whitespace only; raw retained"}
{"label": "cli-app.test", "rc": 0, "nice": 19, "begin": {"utc": "2026-10-24T21:31:59.769+00:00", "load1": "2.71"}, "end": {"utc": "2026-10-24T21:32:12.799+00:00", "load1": "2.80"}, "seconds": 13.03, "counts": {"tests": 30, "pass": 30, "fail": 0, "skipped": 0, "cancelled": 0}, "failure_events": [], "log": "agents/magica/work/queue-329/gate-r2/cli-app.test.txt", "raw": "/mnt/storage/scratch/tmp/U6qOPP/stdout.txt", "raw_sha256": "a5e98008eccbd4c970eb1177cd2a02149a11a983a3b52bcc6e395911cf3ad650", "review_sha256": "a5e98008eccbd4c970eb1177cd2a02149a11a983a3b52bcc6e395911cf3ad650", "normalization": "trailing whitespace only; raw retained"}
{"label": "cli-boot-status.test", "rc": 0, "nice": 19, "begin": {"utc": "2026-10-24T21:32:12.800+00:00", "load1": "2.80"}, "end": {"utc": "2026-10-24T21:32:14.148+00:00", "load1": "2.80"}, "seconds": 1.348, "counts": {"tests": 3, "pass": 3, "fail": 0, "skipped": 0, "cancelled": 0}, "failure_events": [], "log": "agents/magica/work/queue-329/gate-r2/cli-boot-status.test.txt", "raw": "/mnt/storage/scratch/tmp/6FraTr/stdout.txt", "raw_sha256": "bb44c42c15a70c24211f9145aa199dee9aa35794bfc360f792ed71a142b8fed1", "review_sha256": "bb44c42c15a70c24211f9145aa199dee9aa35794bfc360f792ed71a142b8fed1", "normalization": "trailing whitespace only; raw retained"}
{"label": "cli-case1-accept.test", "rc": 0, "nice": 19, "begin": {"utc": "2026-10-24T21:32:14.150+00:00", "load1": "2.80"}, "end": {"utc": "2026-10-24T21:36:22.013+00:00", "load1": "2.61"}, "seconds": 247.863, "counts": {"tests": 53, "pass": 53, "fail": 0, "skipped": 0, "cancelled": 0}, "failure_events": [], "log": "agents/magica/work/queue-329/gate-r2/cli-case1-accept.test.txt", "raw": "/mnt/storage/scratch/tmp/4hkmqC/stdout.txt", "raw_sha256": "fe812a4c0d8506883c16e9458d888f89298b8d7cf8817eb57defd108fb268aef", "review_sha256": "fe812a4c0d8506883c16e9458d888f89298b8d7cf8817eb57defd108fb268aef", "normalization": "trailing whitespace only; raw retained"}
{"label": "cli-case2-unit.test", "rc": 0, "nice": 19, "begin": {"utc": "2026-10-24T21:36:22.014+00:00", "load1": "2.61"}, "end": {"utc": "2026-10-24T21:37:33.843+00:00", "load1": "1.99"}, "seconds": 71.829, "counts": {"tests": 47, "pass": 47, "fail": 0, "skipped": 0, "cancelled": 0}, "failure_events": [], "log": "agents/magica/work/queue-329/gate-r2/cli-case2-unit.test.txt", "raw": "/mnt/storage/scratch/tmp/gR7UqU/stdout.txt", "raw_sha256": "d85ab5112c0e6b4395e318abbd81393e3c533af83f5625ea2470ee641a7cbafe", "review_sha256": "d85ab5112c0e6b4395e318abbd81393e3c533af83f5625ea2470ee641a7cbafe", "normalization": "trailing whitespace only; raw retained"}
{"label": "cli-channel-cli.test", "rc": 0, "nice": 19, "begin": {"utc": "2026-10-24T21:37:33.844+00:00", "load1": "1.99"}, "end": {"utc": "2026-10-24T21:37:34.019+00:00", "load1": "1.99"}, "seconds": 0.175, "counts": {"tests": 2, "pass": 2, "fail": 0, "skipped": 0, "cancelled": 0}, "failure_events": [], "log": "agents/magica/work/queue-329/gate-r2/cli-channel-cli.test.txt", "raw": "/mnt/storage/scratch/tmp/CVVva9/stdout.txt", "raw_sha256": "b58d9c1ceadc06bfb5ba894106b9a8fae2b8cf5b5ee793024247e3ca6c12cb57", "review_sha256": "b58d9c1ceadc06bfb5ba894106b9a8fae2b8cf5b5ee793024247e3ca6c12cb57", "normalization": "trailing whitespace only; raw retained"}
{"label": "cli-cli.test", "rc": 0, "nice": 19, "begin": {"utc": "2026-10-24T21:37:34.021+00:00", "load1": "1.99"}, "end": {"utc": "2026-10-24T21:37:34.366+00:00", "load1": "1.99"}, "seconds": 0.346, "counts": {"tests": 12, "pass": 12, "fail": 0, "skipped": 0, "cancelled": 0}, "failure_events": [], "log": "agents/magica/work/queue-329/gate-r2/cli-cli.test.txt", "raw": "/mnt/storage/scratch/tmp/w29Ytc/stdout.txt", "raw_sha256": "f31972c375775c7d8395ddbb8ec50c278842c94938ac38b42cc34adddd26343b", "review_sha256": "f31972c375775c7d8395ddbb8ec50c278842c94938ac38b42cc34adddd26343b", "normalization": "trailing whitespace only; raw retained"}
{"label": "cli-compactions-launch.test", "rc": 0, "nice": 19, "begin": {"utc": "2026-10-24T21:37:34.367+00:00", "load1": "1.99"}, "end": {"utc": "2026-10-24T21:37:49.048+00:00", "load1": "2.07"}, "seconds": 14.681, "counts": {"tests": 5, "pass": 5, "fail": 0, "skipped": 0, "cancelled": 0}, "failure_events": [], "log": "agents/magica/work/queue-329/gate-r2/cli-compactions-launch.test.txt", "raw": "/mnt/storage/scratch/tmp/a02guB/stdout.txt", "raw_sha256": "076452351ffccf6341b3be24798aa3e3d9ff239079dfff86338cc5c5c553a6c5", "review_sha256": "076452351ffccf6341b3be24798aa3e3d9ff239079dfff86338cc5c5c553a6c5", "normalization": "trailing whitespace only; raw retained"}
{"label": "cli-config.test", "rc": 0, "nice": 19, "begin": {"utc": "2026-10-24T21:37:49.050+00:00", "load1": "2.07"}, "end": {"utc": "2026-10-24T21:37:49.463+00:00", "load1": "2.07"}, "seconds": 0.413, "counts": {"tests": 7, "pass": 7, "fail": 0, "skipped": 0, "cancelled": 0}, "failure_events": [], "log": "agents/magica/work/queue-329/gate-r2/cli-config.test.txt", "raw": "/mnt/storage/scratch/tmp/AhpJsG/stdout.txt", "raw_sha256": "fb64c74ee91d26ce5d9e696d38e6aa53190a123e6e700d6235839f211071ff7c", "review_sha256": "fb64c74ee91d26ce5d9e696d38e6aa53190a123e6e700d6235839f211071ff7c", "normalization": "trailing whitespace only; raw retained"}
{"label": "cli-credentials.test", "rc": 0, "nice": 19, "begin": {"utc": "2026-10-24T21:37:49.465+00:00", "load1": "2.07"}, "end": {"utc": "2026-10-24T21:37:49.730+00:00", "load1": "2.07"}, "seconds": 0.265, "counts": {"tests": 5, "pass": 5, "fail": 0, "skipped": 0, "cancelled": 0}, "failure_events": [], "log": "agents/magica/work/queue-329/gate-r2/cli-credentials.test.txt", "raw": "/mnt/storage/scratch/tmp/QKugz7/stdout.txt", "raw_sha256": "de17d72ef2f432a264f915ee6d0eeecebdb47509b701efeb39cb6e3a623c7889", "review_sha256": "de17d72ef2f432a264f915ee6d0eeecebdb47509b701efeb39cb6e3a623c7889", "normalization": "trailing whitespace only; raw retained"}
{"label": "cli-federation-acceptance-runner", "rc": 0, "nice": 19, "begin": {"utc": "2026-10-24T21:37:49.731+00:00", "load1": "2.07"}, "end": {"utc": "2026-10-24T21:37:53.728+00:00", "load1": "1.98"}, "seconds": 3.997, "counts": {"tests": 1, "pass": 1, "fail": 0, "skipped": 0, "cancelled": 0}, "failure_events": [], "log": "agents/magica/work/queue-329/gate-r2/cli-federation-acceptance-runner.txt", "raw": "/mnt/storage/scratch/tmp/AgdZo8/stdout.txt", "raw_sha256": "9159c6b69df64f55608fd6a56ef312fb17c15501f6d2b022010ce4a79d3a66df", "review_sha256": "9159c6b69df64f55608fd6a56ef312fb17c15501f6d2b022010ce4a79d3a66df", "normalization": "trailing whitespace only; raw retained"}
{"label": "cli-follow.test", "rc": 0, "nice": 19, "begin": {"utc": "2026-10-24T21:37:53.730+00:00", "load1": "1.98"}, "end": {"utc": "2026-10-24T21:37:54.316+00:00", "load1": "1.98"}, "seconds": 0.586, "counts": {"tests": 6, "pass": 6, "fail": 0, "skipped": 0, "cancelled": 0}, "failure_events": [], "log": "agents/magica/work/queue-329/gate-r2/cli-follow.test.txt", "raw": "/mnt/storage/scratch/tmp/LGEnHH/stdout.txt", "raw_sha256": "ed9f7a562321d6097724af8b3863ba9afbf740b27ef704212ea560e691d36431", "review_sha256": "ed9f7a562321d6097724af8b3863ba9afbf740b27ef704212ea560e691d36431", "normalization": "trailing whitespace only; raw retained"}
{"label": "cli-git-socket.test", "rc": 0, "nice": 19, "begin": {"utc": "2026-10-24T21:37:54.317+00:00", "load1": "1.98"}, "end": {"utc": "2026-10-24T21:38:09.557+00:00", "load1": "2.32"}, "seconds": 15.24, "counts": {"tests": 24, "pass": 24, "fail": 0, "skipped": 0, "cancelled": 0}, "failure_events": [], "log": "agents/magica/work/queue-329/gate-r2/cli-git-socket.test.txt", "raw": "/mnt/storage/scratch/tmp/iFrMGb/stdout.txt", "raw_sha256": "473cedadef1e0ad23ad614f2a33b10e159133d3cda7eef53ac6bb69872185b3c", "review_sha256": "473cedadef1e0ad23ad614f2a33b10e159133d3cda7eef53ac6bb69872185b3c", "normalization": "trailing whitespace only; raw retained"}
{"label": "cli-grants-scope.test", "rc": 0, "nice": 19, "begin": {"utc": "2026-10-24T21:38:09.558+00:00", "load1": "2.32"}, "end": {"utc": "2026-10-24T21:38:09.726+00:00", "load1": "2.32"}, "seconds": 0.168, "counts": {"tests": 4, "pass": 4, "fail": 0, "skipped": 0, "cancelled": 0}, "failure_events": [], "log": "agents/magica/work/queue-329/gate-r2/cli-grants-scope.test.txt", "raw": "/mnt/storage/scratch/tmp/hH0rQA/stdout.txt", "raw_sha256": "5e6efa8110a444bac7d74da8328b6d826de680b84f56ebd19a0285cc9adf0a62", "review_sha256": "5e6efa8110a444bac7d74da8328b6d826de680b84f56ebd19a0285cc9adf0a62", "normalization": "trailing whitespace only; raw retained"}
{"label": "cli-grants.test", "rc": 0, "nice": 19, "begin": {"utc": "2026-10-24T21:38:09.727+00:00", "load1": "2.32"}, "end": {"utc": "2026-10-24T21:38:09.997+00:00", "load1": "2.32"}, "seconds": 0.27, "counts": {"tests": 6, "pass": 6, "fail": 0, "skipped": 0, "cancelled": 0}, "failure_events": [], "log": "agents/magica/work/queue-329/gate-r2/cli-grants.test.txt", "raw": "/mnt/storage/scratch/tmp/kKFjXU/stdout.txt", "raw_sha256": "a7efd78270e4e7ef26be72180eb458aff9de84c73b5b3ec8d83838f862184c4b", "review_sha256": "a7efd78270e4e7ef26be72180eb458aff9de84c73b5b3ec8d83838f862184c4b", "normalization": "trailing whitespace only; raw retained"}
{"label": "cli-host.test", "rc": 0, "nice": 19, "begin": {"utc": "2026-10-24T21:38:09.999+00:00", "load1": "2.32"}, "end": {"utc": "2026-10-24T21:38:22.058+00:00", "load1": "1.96"}, "seconds": 12.06, "counts": {"tests": 43, "pass": 43, "fail": 0, "skipped": 0, "cancelled": 0}, "failure_events": [], "log": "agents/magica/work/queue-329/gate-r2/cli-host.test.txt", "raw": "/mnt/storage/scratch/tmp/txcqPa/stdout.txt", "raw_sha256": "4b234f94e96838fde5714477d37e06af648d20c68775b47c7c81443dfc0cb2ca", "review_sha256": "4b234f94e96838fde5714477d37e06af648d20c68775b47c7c81443dfc0cb2ca", "normalization": "trailing whitespace only; raw retained"}
{"label": "cli-hosts.test", "rc": 0, "nice": 19, "begin": {"utc": "2026-10-24T21:38:22.060+00:00", "load1": "1.96"}, "end": {"utc": "2026-10-24T21:38:22.317+00:00", "load1": "1.96"}, "seconds": 0.258, "counts": {"tests": 8, "pass": 8, "fail": 0, "skipped": 0, "cancelled": 0}, "failure_events": [], "log": "agents/magica/work/queue-329/gate-r2/cli-hosts.test.txt", "raw": "/mnt/storage/scratch/tmp/sQO7c1/stdout.txt", "raw_sha256": "5483bf8ada33ee623bd1078e1fd9284280a32619c51f36d56b65006bef63f185", "review_sha256": "5483bf8ada33ee623bd1078e1fd9284280a32619c51f36d56b65006bef63f185", "normalization": "trailing whitespace only; raw retained"}
{"label": "cli-idle-stop-race.test", "rc": 0, "nice": 19, "begin": {"utc": "2026-10-24T21:38:22.319+00:00", "load1": "1.96"}, "end": {"utc": "2026-10-24T21:38:24.093+00:00", "load1": "1.96"}, "seconds": 1.774, "counts": {"tests": 1, "pass": 1, "fail": 0, "skipped": 0, "cancelled": 0}, "failure_events": [], "log": "agents/magica/work/queue-329/gate-r2/cli-idle-stop-race.test.txt", "raw": "/mnt/storage/scratch/tmp/2TzkDV/stdout.txt", "raw_sha256": "8fd38cefed41f05af3c4bab68edfa9bdcb137d05177fdca9f51382ce875c870c", "review_sha256": "8fd38cefed41f05af3c4bab68edfa9bdcb137d05177fdca9f51382ce875c870c", "normalization": "trailing whitespace only; raw retained"}
{"label": "cli-instances.test", "rc": 0, "nice": 19, "begin": {"utc": "2026-10-24T21:38:24.095+00:00", "load1": "1.96"}, "end": {"utc": "2026-10-24T21:38:26.837+00:00", "load1": "1.80"}, "seconds": 2.742, "counts": {"tests": 15, "pass": 15, "fail": 0, "skipped": 0, "cancelled": 0}, "failure_events": [], "log": "agents/magica/work/queue-329/gate-r2/cli-instances.test.txt", "raw": "/mnt/storage/scratch/tmp/bcheNJ/stdout.txt", "raw_sha256": "ea156f123f60723867b2d7c8c83b4649dfc4e0fee50735384ba034078ee46bfe", "review_sha256": "ea156f123f60723867b2d7c8c83b4649dfc4e0fee50735384ba034078ee46bfe", "normalization": "trailing whitespace only; raw retained"}
{"label": "cli-launcher.test", "rc": 0, "nice": 19, "begin": {"utc": "2026-10-24T21:38:26.839+00:00", "load1": "1.80"}, "end": {"utc": "2026-10-24T21:38:54.716+00:00", "load1": "1.99"}, "seconds": 27.877, "counts": {"tests": 34, "pass": 34, "fail": 0, "skipped": 0, "cancelled": 0}, "failure_events": [], "log": "agents/magica/work/queue-329/gate-r2/cli-launcher.test.txt", "raw": "/mnt/storage/scratch/tmp/V5Okpd/stdout.txt", "raw_sha256": "a50e012f0fd76f2df61c30c99e8b9284a426b96ed432b213bbbd8c4f30b6c54e", "review_sha256": "a50e012f0fd76f2df61c30c99e8b9284a426b96ed432b213bbbd8c4f30b6c54e", "normalization": "trailing whitespace only; raw retained"}
{"label": "cli-lifecycle.test", "rc": 0, "nice": 19, "begin": {"utc": "2026-10-24T21:38:54.717+00:00", "load1": "1.99"}, "end": {"utc": "2026-10-24T21:39:08.536+00:00", "load1": "2.14"}, "seconds": 13.819, "counts": {"tests": 24, "pass": 24, "fail": 0, "skipped": 0, "cancelled": 0}, "failure_events": [], "log": "agents/magica/work/queue-329/gate-r2/cli-lifecycle.test.txt", "raw": "/mnt/storage/scratch/tmp/sAlkoc/stdout.txt", "raw_sha256": "095e17f532d679fe513c32c2e03518d4cf2437baf5769faf97a28cf95774503a", "review_sha256": "095e17f532d679fe513c32c2e03518d4cf2437baf5769faf97a28cf95774503a", "normalization": "trailing whitespace only; raw retained"}
{"label": "cli-limits-tokens.test", "rc": 0, "nice": 19, "begin": {"utc": "2026-10-24T21:39:08.537+00:00", "load1": "2.14"}, "end": {"utc": "2026-10-24T21:39:08.721+00:00", "load1": "2.14"}, "seconds": 0.183, "counts": {"tests": 5, "pass": 5, "fail": 0, "skipped": 0, "cancelled": 0}, "failure_events": [], "log": "agents/magica/work/queue-329/gate-r2/cli-limits-tokens.test.txt", "raw": "/mnt/storage/scratch/tmp/n6VAUo/stdout.txt", "raw_sha256": "9988657dfa758b51bfcf96e950aee97f8bd4ab55586ff987102e4a4d0ed1d70c", "review_sha256": "9988657dfa758b51bfcf96e950aee97f8bd4ab55586ff987102e4a4d0ed1d70c", "normalization": "trailing whitespace only; raw retained"}
{"label": "cli-limits.test", "rc": 0, "nice": 19, "begin": {"utc": "2026-10-24T21:39:08.722+00:00", "load1": "2.14"}, "end": {"utc": "2026-10-24T21:39:09.096+00:00", "load1": "2.14"}, "seconds": 0.374, "counts": {"tests": 5, "pass": 5, "fail": 0, "skipped": 0, "cancelled": 0}, "failure_events": [], "log": "agents/magica/work/queue-329/gate-r2/cli-limits.test.txt", "raw": "/mnt/storage/scratch/tmp/wc6Eoy/stdout.txt", "raw_sha256": "216591e5eac252a04cfd8d5cb80dd8bfce95e6888be4cecc37ce42848c007e58", "review_sha256": "216591e5eac252a04cfd8d5cb80dd8bfce95e6888be4cecc37ce42848c007e58", "normalization": "trailing whitespace only; raw retained"}
{"label": "cli-mark-read.test", "rc": 0, "nice": 19, "begin": {"utc": "2026-10-24T21:39:09.098+00:00", "load1": "2.14"}, "end": {"utc": "2026-10-24T21:39:10.140+00:00", "load1": "2.14"}, "seconds": 1.042, "counts": {"tests": 6, "pass": 6, "fail": 0, "skipped": 0, "cancelled": 0}, "failure_events": [], "log": "agents/magica/work/queue-329/gate-r2/cli-mark-read.test.txt", "raw": "/mnt/storage/scratch/tmp/CcBu1p/stdout.txt", "raw_sha256": "752895e1b4be7f8a158ac216e3e2b00789340dcada3c7f16764b8d0c7f82e45b", "review_sha256": "752895e1b4be7f8a158ac216e3e2b00789340dcada3c7f16764b8d0c7f82e45b", "normalization": "trailing whitespace only; raw retained"}
{"label": "cli-model-proxy.test", "rc": 0, "nice": 19, "begin": {"utc": "2026-10-24T21:39:10.141+00:00", "load1": "2.14"}, "end": {"utc": "2026-10-24T21:39:10.319+00:00", "load1": "2.14"}, "seconds": 0.178, "counts": {"tests": 9, "pass": 9, "fail": 0, "skipped": 0, "cancelled": 0}, "failure_events": [], "log": "agents/magica/work/queue-329/gate-r2/cli-model-proxy.test.txt", "raw": "/mnt/storage/scratch/tmp/e0u3Hh/stdout.txt", "raw_sha256": "1860f6a85d3d37ff21333d379a31b081e5ef3b8371c33945c4a477c30cb8b90b", "review_sha256": "1860f6a85d3d37ff21333d379a31b081e5ef3b8371c33945c4a477c30cb8b90b", "normalization": "trailing whitespace only; raw retained"}
{"label": "cli-names.test", "rc": 0, "nice": 19, "begin": {"utc": "2026-10-24T21:39:10.321+00:00", "load1": "2.14"}, "end": {"utc": "2026-10-24T21:39:10.528+00:00", "load1": "2.14"}, "seconds": 0.208, "counts": {"tests": 2, "pass": 2, "fail": 0, "skipped": 0, "cancelled": 0}, "failure_events": [], "log": "agents/magica/work/queue-329/gate-r2/cli-names.test.txt", "raw": "/mnt/storage/scratch/tmp/amSBet/stdout.txt", "raw_sha256": "3fb040411ad19c4fa194485f8059de0eb39cad55641c9631d18e8bc426b51f0d", "review_sha256": "3fb040411ad19c4fa194485f8059de0eb39cad55641c9631d18e8bc426b51f0d", "normalization": "trailing whitespace only; raw retained"}
{"label": "cli-optional-tracker.test", "rc": 0, "nice": 19, "begin": {"utc": "2026-10-24T21:39:10.530+00:00", "load1": "2.14"}, "end": {"utc": "2026-10-24T21:39:10.786+00:00", "load1": "2.13"}, "seconds": 0.256, "counts": {"tests": 4, "pass": 4, "fail": 0, "skipped": 0, "cancelled": 0}, "failure_events": [], "log": "agents/magica/work/queue-329/gate-r2/cli-optional-tracker.test.txt", "raw": "/mnt/storage/scratch/tmp/9IGea0/stdout.txt", "raw_sha256": "266aea732bdc9378ea736d2fb9f9bf323977aeceab84344b425b1413315be4bf", "review_sha256": "266aea732bdc9378ea736d2fb9f9bf323977aeceab84344b425b1413315be4bf", "normalization": "trailing whitespace only; raw retained"}
{"label": "cli-other-tree.test", "rc": 0, "nice": 19, "begin": {"utc": "2026-10-24T21:39:10.787+00:00", "load1": "2.13"}, "end": {"utc": "2026-10-24T21:39:10.959+00:00", "load1": "2.13"}, "seconds": 0.171, "counts": {"tests": 4, "pass": 4, "fail": 0, "skipped": 0, "cancelled": 0}, "failure_events": [], "log": "agents/magica/work/queue-329/gate-r2/cli-other-tree.test.txt", "raw": "/mnt/storage/scratch/tmp/Oy7nTk/stdout.txt", "raw_sha256": "ff27aac13153d0e13eed59d219b3b65f5324e96e7cd23b8249caf8900dccf551", "review_sha256": "ff27aac13153d0e13eed59d219b3b65f5324e96e7cd23b8249caf8900dccf551", "normalization": "trailing whitespace only; raw retained"}
{"label": "cli-processing-cli.test", "rc": 0, "nice": 19, "begin": {"utc": "2026-10-24T21:39:10.960+00:00", "load1": "2.13"}, "end": {"utc": "2026-10-24T21:39:11.187+00:00", "load1": "2.13"}, "seconds": 0.227, "counts": {"tests": 4, "pass": 4, "fail": 0, "skipped": 0, "cancelled": 0}, "failure_events": [], "log": "agents/magica/work/queue-329/gate-r2/cli-processing-cli.test.txt", "raw": "/mnt/storage/scratch/tmp/2bnmQA/stdout.txt", "raw_sha256": "ba2208b51786a0d4b536f76d840e4d3f86cd26a81c7989fc5ca06e13ac392c16", "review_sha256": "ba2208b51786a0d4b536f76d840e4d3f86cd26a81c7989fc5ca06e13ac392c16", "normalization": "trailing whitespace only; raw retained"}
{"label": "cli-project-name-repo.test", "rc": 0, "nice": 19, "begin": {"utc": "2026-10-24T21:39:11.189+00:00", "load1": "2.13"}, "end": {"utc": "2026-10-24T21:39:11.428+00:00", "load1": "2.13"}, "seconds": 0.239, "counts": {"tests": 2, "pass": 2, "fail": 0, "skipped": 0, "cancelled": 0}, "failure_events": [], "log": "agents/magica/work/queue-329/gate-r2/cli-project-name-repo.test.txt", "raw": "/mnt/storage/scratch/tmp/taUr0g/stdout.txt", "raw_sha256": "2ab5c5589a967a49af9a48b6fe9d8b070c83fb4ddafa701cb314ee8eacf58803", "review_sha256": "2ab5c5589a967a49af9a48b6fe9d8b070c83fb4ddafa701cb314ee8eacf58803", "normalization": "trailing whitespace only; raw retained"}
{"label": "cli-project.test", "rc": 0, "nice": 19, "begin": {"utc": "2026-10-24T21:39:11.429+00:00", "load1": "2.13"}, "end": {"utc": "2026-10-24T21:39:11.904+00:00", "load1": "2.13"}, "seconds": 0.475, "counts": {"tests": 4, "pass": 4, "fail": 0, "skipped": 0, "cancelled": 0}, "failure_events": [], "log": "agents/magica/work/queue-329/gate-r2/cli-project.test.txt", "raw": "/mnt/storage/scratch/tmp/Tn0793/stdout.txt", "raw_sha256": "eeb05c7bbb900111114536562271a0561961366d800d10dc9a523427c9d948d4", "review_sha256": "eeb05c7bbb900111114536562271a0561961366d800d10dc9a523427c9d948d4", "normalization": "trailing whitespace only; raw retained"}
{"label": "cli-publish-socket.test", "rc": 0, "nice": 19, "begin": {"utc": "2026-10-24T21:39:11.906+00:00", "load1": "2.13"}, "end": {"utc": "2026-10-24T21:39:18.473+00:00", "load1": "2.36"}, "seconds": 6.568, "counts": {"tests": 9, "pass": 9, "fail": 0, "skipped": 0, "cancelled": 0}, "failure_events": [], "log": "agents/magica/work/queue-329/gate-r2/cli-publish-socket.test.txt", "raw": "/mnt/storage/scratch/tmp/r2vBrV/stdout.txt", "raw_sha256": "5f37bd01ad735a22847e23288eb74de145fc7d9409212ce7f750a1f5537e589b", "review_sha256": "5f37bd01ad735a22847e23288eb74de145fc7d9409212ce7f750a1f5537e589b", "normalization": "trailing whitespace only; raw retained"}
{"label": "cli-revoke-window.test", "rc": 0, "nice": 19, "begin": {"utc": "2026-10-24T21:39:18.475+00:00", "load1": "2.36"}, "end": {"utc": "2026-10-24T21:39:19.442+00:00", "load1": "2.36"}, "seconds": 0.967, "counts": {"tests": 1, "pass": 1, "fail": 0, "skipped": 0, "cancelled": 0}, "failure_events": [], "log": "agents/magica/work/queue-329/gate-r2/cli-revoke-window.test.txt", "raw": "/mnt/storage/scratch/tmp/VS66YH/stdout.txt", "raw_sha256": "11fe687feb95434d03dfb29bbb6b29daa8eded4ed9ef57c1205439952505bab7", "review_sha256": "11fe687feb95434d03dfb29bbb6b29daa8eded4ed9ef57c1205439952505bab7", "normalization": "trailing whitespace only; raw retained"}
{"label": "cli-session-clear.test", "rc": 0, "nice": 19, "begin": {"utc": "2026-10-24T21:39:19.445+00:00", "load1": "2.36"}, "end": {"utc": "2026-10-24T21:39:31.363+00:00", "load1": "2.97"}, "seconds": 11.919, "counts": {"tests": 5, "pass": 5, "fail": 0, "skipped": 0, "cancelled": 0}, "failure_events": [], "log": "agents/magica/work/queue-329/gate-r2/cli-session-clear.test.txt", "raw": "/mnt/storage/scratch/tmp/QUDudM/stdout.txt", "raw_sha256": "6eb2f7df1081685a59a0ce69efc1b8fe35ac155c6f4222d9b79d4953079f2560", "review_sha256": "6eb2f7df1081685a59a0ce69efc1b8fe35ac155c6f4222d9b79d4953079f2560", "normalization": "trailing whitespace only; raw retained"}
{"label": "cli-session-cli.test", "rc": 0, "nice": 19, "begin": {"utc": "2026-10-24T21:39:31.367+00:00", "load1": "2.97"}, "end": {"utc": "2026-10-24T21:39:31.606+00:00", "load1": "2.97"}, "seconds": 0.239, "counts": {"tests": 14, "pass": 14, "fail": 0, "skipped": 0, "cancelled": 0}, "failure_events": [], "log": "agents/magica/work/queue-329/gate-r2/cli-session-cli.test.txt", "raw": "/mnt/storage/scratch/tmp/lbbeOc/stdout.txt", "raw_sha256": "a6cf001371e3d37548209e27a96790aeab1658f9834ad3aad0079bb848f798f9", "review_sha256": "a6cf001371e3d37548209e27a96790aeab1658f9834ad3aad0079bb848f798f9", "normalization": "trailing whitespace only; raw retained"}
{"label": "cli-session-launch.test", "rc": 0, "nice": 19, "begin": {"utc": "2026-10-24T21:39:31.607+00:00", "load1": "2.97"}, "end": {"utc": "2026-10-24T21:39:42.518+00:00", "load1": "3.19"}, "seconds": 10.911, "counts": {"tests": 8, "pass": 8, "fail": 0, "skipped": 0, "cancelled": 0}, "failure_events": [], "log": "agents/magica/work/queue-329/gate-r2/cli-session-launch.test.txt", "raw": "/mnt/storage/scratch/tmp/aqnzkf/stdout.txt", "raw_sha256": "4bce7c2a9c9f3c067de4c9b517f3163f7ad011ab8b8fd270b253f197beddc87e", "review_sha256": "4bce7c2a9c9f3c067de4c9b517f3163f7ad011ab8b8fd270b253f197beddc87e", "normalization": "trailing whitespace only; raw retained"}
{"label": "cli-stack-copy.test", "rc": 0, "nice": 19, "begin": {"utc": "2026-10-24T21:39:42.520+00:00", "load1": "3.19"}, "end": {"utc": "2026-10-24T21:39:59.726+00:00", "load1": "2.93"}, "seconds": 17.206, "counts": {"tests": 18, "pass": 18, "fail": 0, "skipped": 0, "cancelled": 0}, "failure_events": [], "log": "agents/magica/work/queue-329/gate-r2/cli-stack-copy.test.txt", "raw": "/mnt/storage/scratch/tmp/Lf8Ohc/stdout.txt", "raw_sha256": "cbca0eec372ce64f9f79b44b223edfa4cb6e36192aa3b2c9f34524a581d792ce", "review_sha256": "cbca0eec372ce64f9f79b44b223edfa4cb6e36192aa3b2c9f34524a581d792ce", "normalization": "trailing whitespace only; raw retained"}
{"label": "cli-stack-instances.test", "rc": 0, "nice": 19, "begin": {"utc": "2026-10-24T21:39:59.728+00:00", "load1": "2.93"}, "end": {"utc": "2026-10-24T21:40:03.541+00:00", "load1": "3.25"}, "seconds": 3.813, "counts": {"tests": 24, "pass": 24, "fail": 0, "skipped": 0, "cancelled": 0}, "failure_events": [], "log": "agents/magica/work/queue-329/gate-r2/cli-stack-instances.test.txt", "raw": "/mnt/storage/scratch/tmp/UtkF7t/stdout.txt", "raw_sha256": "29cbaca8d32ed51cc4352005e7c8ed5b2218eaa68c0d5848dd65454394637070", "review_sha256": "29cbaca8d32ed51cc4352005e7c8ed5b2218eaa68c0d5848dd65454394637070", "normalization": "trailing whitespace only; raw retained"}
{"label": "cli-stack-release-external.test", "rc": 0, "nice": 19, "begin": {"utc": "2026-10-24T21:40:03.542+00:00", "load1": "3.25"}, "end": {"utc": "2026-10-24T21:41:28.659+00:00", "load1": "4.26"}, "seconds": 85.117, "counts": {"tests": 25, "pass": 25, "fail": 0, "skipped": 0, "cancelled": 0}, "failure_events": [], "log": "agents/magica/work/queue-329/gate-r2/cli-stack-release-external.test.txt", "raw": "/mnt/storage/scratch/tmp/jCTyLN/stdout.txt", "raw_sha256": "978b39a672d14aacc0158096c98da23e8b1384145005181156be191705498790", "review_sha256": "978b39a672d14aacc0158096c98da23e8b1384145005181156be191705498790", "normalization": "trailing whitespace only; raw retained"}
{"label": "cli-stack-release.test", "rc": 0, "nice": 19, "begin": {"utc": "2026-10-24T21:41:28.660+00:00", "load1": "4.26"}, "end": {"utc": "2026-10-24T21:52:33.444+00:00", "load1": "4.54"}, "seconds": 664.784, "counts": {"tests": 224, "pass": 224, "fail": 0, "skipped": 0, "cancelled": 0}, "failure_events": [], "log": "agents/magica/work/queue-329/gate-r2/cli-stack-release.test.txt", "raw": "/mnt/storage/scratch/tmp/j7fVCe/stdout.txt", "raw_sha256": "727fc9c272f2b677f495e644f1f25fd25d2f6771f892f0cdc4eddcc486c8ffed", "review_sha256": "727fc9c272f2b677f495e644f1f25fd25d2f6771f892f0cdc4eddcc486c8ffed", "normalization": "trailing whitespace only; raw retained"}
{"label": "cli-stack-upgrade.test", "rc": 0, "nice": 19, "begin": {"utc": "2026-10-24T21:52:33.450+00:00", "load1": "4.54"}, "end": {"utc": "2026-10-24T21:53:53.223+00:00", "load1": "5.53"}, "seconds": 79.773, "counts": {"tests": 21, "pass": 21, "fail": 0, "skipped": 0, "cancelled": 0}, "failure_events": [], "log": "agents/magica/work/queue-329/gate-r2/cli-stack-upgrade.test.txt", "raw": "/mnt/storage/scratch/tmp/oSQDBM/stdout.txt", "raw_sha256": "5bc6c98d28d0efaaf8e22a7424c14490a002d2f4309d3cff5560fb6cc81005a8", "review_sha256": "5bc6c98d28d0efaaf8e22a7424c14490a002d2f4309d3cff5560fb6cc81005a8", "normalization": "trailing whitespace only; raw retained"}
{"label": "cli-tester-reads.test", "rc": 0, "nice": 19, "begin": {"utc": "2026-10-24T21:53:53.225+00:00", "load1": "5.53"}, "end": {"utc": "2026-10-24T21:53:56.317+00:00", "load1": "5.33"}, "seconds": 3.092, "counts": {"tests": 6, "pass": 6, "fail": 0, "skipped": 0, "cancelled": 0}, "failure_events": [], "log": "agents/magica/work/queue-329/gate-r2/cli-tester-reads.test.txt", "raw": "/mnt/storage/scratch/tmp/rTd0c8/stdout.txt", "raw_sha256": "5f5857a678ee71288a830f46ebdfe2906fdbfaf9ca05c45bc24f8733fc85e72a", "review_sha256": "5f5857a678ee71288a830f46ebdfe2906fdbfaf9ca05c45bc24f8733fc85e72a", "normalization": "trailing whitespace only; raw retained"}
{"label": "cli-tester-threads.test", "rc": 0, "nice": 19, "begin": {"utc": "2026-10-24T21:53:56.319+00:00", "load1": "5.33"}, "end": {"utc": "2026-10-24T21:53:59.324+00:00", "load1": "5.33"}, "seconds": 3.005, "counts": {"tests": 5, "pass": 5, "fail": 0, "skipped": 0, "cancelled": 0}, "failure_events": [], "log": "agents/magica/work/queue-329/gate-r2/cli-tester-threads.test.txt", "raw": "/mnt/storage/scratch/tmp/f2GP8b/stdout.txt", "raw_sha256": "2345321de50437a397787c460a5e1b1b8e23333c1079738cb29586d0a073ca17", "review_sha256": "2345321de50437a397787c460a5e1b1b8e23333c1079738cb29586d0a073ca17", "normalization": "trailing whitespace only; raw retained"}
{"label": "cli-tester.test", "rc": 0, "nice": 19, "begin": {"utc": "2026-10-24T21:53:59.326+00:00", "load1": "5.33"}, "end": {"utc": "2026-10-24T21:53:59.659+00:00", "load1": "5.33"}, "seconds": 0.332, "counts": {"tests": 11, "pass": 11, "fail": 0, "skipped": 0, "cancelled": 0}, "failure_events": [], "log": "agents/magica/work/queue-329/gate-r2/cli-tester.test.txt", "raw": "/mnt/storage/scratch/tmp/DiGfBC/stdout.txt", "raw_sha256": "08e86197474154f56a7145f675e8dda2706e7836815e200fd0cb1d878df08c2e", "review_sha256": "08e86197474154f56a7145f675e8dda2706e7836815e200fd0cb1d878df08c2e", "normalization": "trailing whitespace only; raw retained"}
{"label": "cli-thread-cli.test", "rc": 0, "nice": 19, "begin": {"utc": "2026-10-24T21:53:59.660+00:00", "load1": "5.33"}, "end": {"utc": "2026-10-24T21:54:01.569+00:00", "load1": "6.50"}, "seconds": 1.909, "counts": {"tests": 11, "pass": 11, "fail": 0, "skipped": 0, "cancelled": 0}, "failure_events": [], "log": "agents/magica/work/queue-329/gate-r2/cli-thread-cli.test.txt", "raw": "/mnt/storage/scratch/tmp/SCT6IZ/stdout.txt", "raw_sha256": "140c3a7e88ffdf1201cbb19ebb2090c53b1ee85a8c38e36e384bdf799c53ba36", "review_sha256": "140c3a7e88ffdf1201cbb19ebb2090c53b1ee85a8c38e36e384bdf799c53ba36", "normalization": "trailing whitespace only; raw retained"}
{"label": "cli-thread-launch.test", "rc": 0, "nice": 19, "begin": {"utc": "2026-10-24T21:54:01.570+00:00", "load1": "6.50"}, "end": {"utc": "2026-10-24T21:54:21.043+00:00", "load1": "5.72"}, "seconds": 19.472, "counts": {"tests": 15, "pass": 15, "fail": 0, "skipped": 0, "cancelled": 0}, "failure_events": [], "log": "agents/magica/work/queue-329/gate-r2/cli-thread-launch.test.txt", "raw": "/mnt/storage/scratch/tmp/TwM9x5/stdout.txt", "raw_sha256": "87cf64e2c72f38a70e92299bcc53ef89b4d7285233ce6142d7d68804eaf6a4eb", "review_sha256": "87cf64e2c72f38a70e92299bcc53ef89b4d7285233ce6142d7d68804eaf6a4eb", "normalization": "trailing whitespace only; raw retained"}
{"label": "cli-thread-revoke.test", "rc": 0, "nice": 19, "begin": {"utc": "2026-10-24T21:54:21.044+00:00", "load1": "5.72"}, "end": {"utc": "2026-10-24T21:54:21.928+00:00", "load1": "5.72"}, "seconds": 0.884, "counts": {"tests": 3, "pass": 3, "fail": 0, "skipped": 0, "cancelled": 0}, "failure_events": [], "log": "agents/magica/work/queue-329/gate-r2/cli-thread-revoke.test.txt", "raw": "/mnt/storage/scratch/tmp/8Ic4S9/stdout.txt", "raw_sha256": "c01ea3664cf8797d3c6c9af41134654b96b01ee79cd2355881866bf88d2fb225", "review_sha256": "c01ea3664cf8797d3c6c9af41134654b96b01ee79cd2355881866bf88d2fb225", "normalization": "trailing whitespace only; raw retained"}
{"label": "cli-trackers-boot.test", "rc": 0, "nice": 19, "begin": {"utc": "2026-10-24T21:54:21.930+00:00", "load1": "5.72"}, "end": {"utc": "2026-10-24T21:54:22.798+00:00", "load1": "5.72"}, "seconds": 0.868, "counts": {"tests": 2, "pass": 2, "fail": 0, "skipped": 0, "cancelled": 0}, "failure_events": [], "log": "agents/magica/work/queue-329/gate-r2/cli-trackers-boot.test.txt", "raw": "/mnt/storage/scratch/tmp/vZgXMl/stdout.txt", "raw_sha256": "596819d78167fcf2a65dd93a52de1b0cf9340b1eac7035cecfec9f672ae223b5", "review_sha256": "596819d78167fcf2a65dd93a52de1b0cf9340b1eac7035cecfec9f672ae223b5", "normalization": "trailing whitespace only; raw retained"}
{"label": "cli-usage.test", "rc": 0, "nice": 19, "begin": {"utc": "2026-10-24T21:54:22.800+00:00", "load1": "5.72"}, "end": {"utc": "2026-10-24T21:54:23.194+00:00", "load1": "5.72"}, "seconds": 0.395, "counts": {"tests": 2, "pass": 2, "fail": 0, "skipped": 0, "cancelled": 0}, "failure_events": [], "log": "agents/magica/work/queue-329/gate-r2/cli-usage.test.txt", "raw": "/mnt/storage/scratch/tmp/oGiavl/stdout.txt", "raw_sha256": "87d39eb6922fb37a6d220efd2418e3576437da52427cf3d48e59f27cedc7b23b", "review_sha256": "87d39eb6922fb37a6d220efd2418e3576437da52427cf3d48e59f27cedc7b23b", "normalization": "trailing whitespace only; raw retained"}
{"label": "cli-verbs.test", "rc": 0, "nice": 19, "begin": {"utc": "2026-10-24T21:54:23.197+00:00", "load1": "5.72"}, "end": {"utc": "2026-10-24T21:54:26.666+00:00", "load1": "6.39"}, "seconds": 3.47, "counts": {"tests": 9, "pass": 9, "fail": 0, "skipped": 0, "cancelled": 0}, "failure_events": [], "log": "agents/magica/work/queue-329/gate-r2/cli-verbs.test.txt", "raw": "/mnt/storage/scratch/tmp/iUz5gn/stdout.txt", "raw_sha256": "4a5915b363f0e34ec6ee66f70e7844800ddcc2e6b8a37fc6d3a951ef9185c1ce", "review_sha256": "4a5915b363f0e34ec6ee66f70e7844800ddcc2e6b8a37fc6d3a951ef9185c1ce", "normalization": "trailing whitespace only; raw retained"}
{"label": "test-config.sh", "rc": 0, "nice": 19, "begin": {"utc": "2026-10-24T21:54:26.668+00:00", "load1": "6.39"}, "end": {"utc": "2026-10-24T21:54:29.245+00:00", "load1": "6.39"}, "seconds": 2.577, "counts": {"tests": null, "pass": null, "fail": null, "skipped": null, "cancelled": null}, "failure_events": [], "log": "agents/magica/work/queue-329/gate-r2/test-config.sh.txt", "raw": "/mnt/storage/scratch/tmp/vCSq24/stdout.txt", "raw_sha256": "21d65fae2201534dd0c14771fa2d387d643ca698aa550faaa60fdc2a509e53dc", "review_sha256": "21d65fae2201534dd0c14771fa2d387d643ca698aa550faaa60fdc2a509e53dc", "normalization": "trailing whitespace only; raw retained"}
Round2 gate complete.
+46
View File
@@ -0,0 +1,46 @@
# Sage4274/4276 cleared whole-file gate. Product source is fixed before invocation.
import datetime,hashlib,json,os,pathlib,re,subprocess,threading,time
REPO=pathlib.Path(__file__).resolve().parents[4]
BASE=REPO/'agents/magica/work/queue-329'
OUT=BASE/'gate-r2'
def utc():return datetime.datetime.now(datetime.timezone.utc).isoformat(timespec='milliseconds')
def load():return pathlib.Path('/proc/loadavg').read_text().split()[0]
def nice19():os.setpriority(os.PRIO_PROCESS,0,19)
def run(label,cmd,seconds=1800):
scratch=subprocess.check_output(['mktemp','-d','/mnt/storage/scratch/tmp/XXXXXX'],text=True).strip()
env=dict(os.environ,TMPDIR=scratch,npm_config_offline='true',MOSAIC_REQUIRE_EDITOR_BUILD='1')
raw=pathlib.Path(scratch)/'stdout.txt';log=OUT/(label+'.txt');begin={'utc':utc(),'load1':load()};started=time.monotonic();events=[]
stop=threading.Event()
def sample():
with (OUT/(label+'.load.jsonl')).open('w') as f:
while not stop.is_set():f.write(json.dumps({'utc':utc(),'load1':load()})+'\n');f.flush();stop.wait(1)
thread=threading.Thread(target=sample);thread.start()
try:
with raw.open('w') as f:
f.write('command: '+json.dumps(['timeout','-k','10',str(seconds),*cmd])+'\nTMPDIR: '+scratch+'\nbegin: '+json.dumps(begin)+'\n');f.flush()
p=subprocess.Popen(['timeout','-k','10',str(seconds),*cmd],cwd=REPO,env=env,stdout=subprocess.PIPE,stderr=subprocess.STDOUT,text=True,preexec_fn=nice19)
priority=os.getpriority(os.PRIO_PROCESS,p.pid);f.write('launch nice: '+str(priority)+'\n');f.flush()
for line in p.stdout:
f.write(line);f.flush()
if re.match(r'^\s*(✖|not ok )',line):events.append({'utc':utc(),'load1':load(),'event':line.rstrip()})
rc=p.wait()
finally:stop.set();thread.join()
text=raw.read_text();log.write_text(''.join(line.rstrip()+'\n' for line in text.splitlines()))
counts={}
for k in ['tests','pass','fail','skipped','cancelled']:
matches=re.findall(r'^(?:ℹ |# )'+k+r' (\d+)',text,re.M);counts[k]=int(matches[-1]) if matches else None
receipt={'label':label,'rc':rc,'nice':priority,'begin':begin,'end':{'utc':utc(),'load1':load()},'seconds':round(time.monotonic()-started,3),'counts':counts,'failure_events':events,'log':str(log.relative_to(REPO)),'raw':str(raw),'raw_sha256':hashlib.sha256(raw.read_bytes()).hexdigest(),'review_sha256':hashlib.sha256(log.read_bytes()).hexdigest(),'normalization':'trailing whitespace only; raw retained'}
with (OUT/'runs.jsonl').open('a') as f:f.write(json.dumps(receipt)+'\n')
print(json.dumps(receipt),flush=True)
return rc
for file in sorted((REPO/'packages/model-proxy/tests').glob('*.test.mjs')):
if run('model-proxy-'+file.stem,['node','--test',str(file)]):raise SystemExit(1)
readers=json.loads((BASE/'r2-reader-files.json').read_text())
for name in readers:
if name.endswith('/federation-acceptance.test.mjs'):
if run('cli-federation-acceptance-runner',['bash',str(REPO/'scripts/test-federation-acceptance.sh')],600):raise SystemExit(1)
else:
f=pathlib.Path(name)
if run(f.parts[1]+'-'+f.stem,['node','--test',str(REPO/f)]):raise SystemExit(1)
if run('test-config.sh',['bash',str(REPO/'scripts/test-config.sh')],600):raise SystemExit(1)
print('Round2 gate complete.',flush=True)
@@ -0,0 +1,622 @@
command: ["timeout", "-k", "10", "1800", "node", "--test", "/home/jwoltje/.t3/worktrees/mosaic-stack/magica-row329/packages/model-proxy/tests/management-key-encoding.test.mjs"]
TMPDIR: /mnt/storage/scratch/tmp/wfREQX
nice: 19
✖ proxy-key-invalid: Latin-1 leaves complete config/data inventories unchanged (17.65513ms)
✖ proxy-key-invalid: leading space leaves complete config/data inventories unchanged (4.343871ms)
✖ proxy-key-invalid: trailing space leaves complete config/data inventories unchanged (2.557103ms)
✖ proxy-key-invalid: internal space leaves complete config/data inventories unchanged (3.2301ms)
✔ printable non-space ASCII control initializes and authenticates with unchanged existing files (10.212034ms)
ℹ tests 5
ℹ suites 0
ℹ pass 1
ℹ fail 4
ℹ cancelled 0
ℹ skipped 0
ℹ todo 0
ℹ duration_ms 106.39976
✖ failing tests:
test at packages/model-proxy/tests/management-key-encoding.test.mjs:53:3
✖ proxy-key-invalid: Latin-1 leaves complete config/data inventories unchanged (17.65513ms)
AssertionError [ERR_ASSERTION]: Expected values to be strictly deep-equal:
+ actual - expected
... Skipped lines
{
+ refusal: null,
- refusal: 'proxy-key-invalid',
trees: {
config: [
{
+ changed: '1792877317880267062',
- changed: '1792877317869266954',
device: '66305',
gid: '1000',
inode: '35585306',
kind: 'directory',
mode: '700',
+ modified: '1792877317880267062',
- modified: '1792877317869266954',
path: '.',
uid: '1000'
},
{
changed: '1792877317869266954',
...
{
+ changed: '1792877317879267052',
- changed: '1792877317869266954',
device: '66305',
gid: '1000',
+ inode: '35585385',
+ kind: 'file',
+ mode: '600',
+ modified: '1792877317879267052',
+ path: 'proxy.json',
+ sha256: 'eae788102d628764ed2632c51a0c7aa190a7170cdfd163fec91a19f3b54d18b2',
+ size: '128',
+ uid: '1000'
+ },
+ {
+ changed: '1792877317879267052',
+ device: '66305',
+ gid: '1000',
inode: '35854617',
kind: 'directory',
mode: '700',
+ modified: '1792877317879267052',
- modified: '1792877317869266954',
path: 'secrets',
uid: '1000'
},
{
changed: '1792877317869266954',
...
},
+ {
+ changed: '1792877317879267052',
+ device: '66305',
+ gid: '1000',
+ inode: '35854619',
+ kind: 'file',
+ mode: '600',
+ modified: '1792877317879267052',
+ path: 'secrets/proxy-management.key',
+ sha256: '361442f92cff70a5a8a7516c5f7fcf00c41f8dd603b1a68e35705762ed0c5204',
+ size: '11',
+ uid: '1000'
+ }
],
data: [
{
+ changed: '1792877317878267042',
- changed: '1792877317869266954',
device: '66305',
gid: '1000',
inode: '35985487',
kind: 'directory',
mode: '700',
+ modified: '1792877317878267042',
- modified: '1792877317869266954',
path: '.',
uid: '1000'
},
{
changed: '1792877317869266954',
...
},
+ {
+ changed: '1792877317879267052',
+ device: '66305',
+ gid: '1000',
+ inode: '37276524',
+ kind: 'directory',
+ mode: '700',
+ modified: '1792877317879267052',
+ path: 'proxy',
+ uid: '1000'
+ },
+ {
+ changed: '1792877317878267042',
+ device: '66305',
+ gid: '1000',
+ inode: '37406254',
+ kind: 'directory',
+ mode: '700',
+ modified: '1792877317878267042',
+ path: 'proxy/auth',
+ uid: '1000'
+ },
+ {
+ changed: '1792877317879267052',
+ device: '66305',
+ gid: '1000',
+ inode: '37276525',
+ kind: 'file',
+ mode: '600',
+ modified: '1792877317879267052',
+ path: 'proxy/config.yaml',
+ sha256: '913357d615bc20d3e116cc86e1bc9121d422193eb59d6b53e3460a905089a0c2',
+ size: '714',
+ uid: '1000'
+ },
+ {
+ changed: '1792877317879267052',
+ device: '66305',
+ gid: '1000',
+ inode: '37558552',
+ kind: 'directory',
+ mode: '700',
+ modified: '1792877317879267052',
+ path: 'proxy/logs',
+ uid: '1000'
+ }
]
}
}
at TestContext.<anonymous> (file:///home/jwoltje/.t3/worktrees/mosaic-stack/magica-row329/packages/model-proxy/tests/management-key-encoding.test.mjs:56:12)
at process.processTicksAndRejections (node:internal/process/task_queues:104:5)
at async Test.run (node:internal/test_runner/test:1409:7)
at async startSubtestAfterBootstrap (node:internal/test_runner/harness:387:3) {
generatedMessage: true,
code: 'ERR_ASSERTION',
actual: { refusal: null, trees: { config: [Array], data: [Array] } },
expected: { refusal: 'proxy-key-invalid', trees: { config: [Array], data: [Array] } },
operator: 'deepStrictEqual',
diff: 'simple'
}
test at packages/model-proxy/tests/management-key-encoding.test.mjs:53:3
✖ proxy-key-invalid: leading space leaves complete config/data inventories unchanged (4.343871ms)
AssertionError [ERR_ASSERTION]: Expected values to be strictly deep-equal:
+ actual - expected
... Skipped lines
{
+ refusal: null,
- refusal: 'proxy-key-invalid',
trees: {
config: [
{
+ changed: '1792877317887267130',
- changed: '1792877317885267111',
device: '66305',
gid: '1000',
inode: '35585306',
kind: 'directory',
mode: '700',
+ modified: '1792877317887267130',
- modified: '1792877317885267111',
path: '.',
uid: '1000'
},
{
changed: '1792877317885267111',
...
{
+ changed: '1792877317887267130',
- changed: '1792877317885267111',
device: '66305',
gid: '1000',
+ inode: '35585385',
+ kind: 'file',
+ mode: '600',
+ modified: '1792877317887267130',
+ path: 'proxy.json',
+ sha256: '44fd676f556fbb60af0a2d2c08bbc19d652401d89004a01b8c1fd6ab699d3069',
+ size: '128',
+ uid: '1000'
+ },
+ {
+ changed: '1792877317886267120',
+ device: '66305',
+ gid: '1000',
inode: '35854617',
kind: 'directory',
mode: '700',
+ modified: '1792877317886267120',
- modified: '1792877317885267111',
path: 'secrets',
uid: '1000'
},
{
changed: '1792877317885267111',
...
},
+ {
+ changed: '1792877317886267120',
+ device: '66305',
+ gid: '1000',
+ inode: '35854619',
+ kind: 'file',
+ mode: '600',
+ modified: '1792877317886267120',
+ path: 'secrets/proxy-management.key',
+ sha256: '12f158329015f5fa117a4be5b3380d6e989bd9d1e699af4b1555284e6c53811e',
+ size: '12',
+ uid: '1000'
+ }
],
data: [
{
+ changed: '1792877317886267120',
- changed: '1792877317885267111',
device: '66305',
gid: '1000',
inode: '35985487',
kind: 'directory',
mode: '700',
+ modified: '1792877317886267120',
- modified: '1792877317885267111',
path: '.',
uid: '1000'
},
{
changed: '1792877317885267111',
...
},
+ {
+ changed: '1792877317886267120',
+ device: '66305',
+ gid: '1000',
+ inode: '37276524',
+ kind: 'directory',
+ mode: '700',
+ modified: '1792877317886267120',
+ path: 'proxy',
+ uid: '1000'
+ },
+ {
+ changed: '1792877317886267120',
+ device: '66305',
+ gid: '1000',
+ inode: '37406254',
+ kind: 'directory',
+ mode: '700',
+ modified: '1792877317886267120',
+ path: 'proxy/auth',
+ uid: '1000'
+ },
+ {
+ changed: '1792877317886267120',
+ device: '66305',
+ gid: '1000',
+ inode: '37276525',
+ kind: 'file',
+ mode: '600',
+ modified: '1792877317886267120',
+ path: 'proxy/config.yaml',
+ sha256: '0056450ab396dc65c0b35b3e62c38909d3f5ae88ae3e1557edf0d36aeae57ab4',
+ size: '715',
+ uid: '1000'
+ },
+ {
+ changed: '1792877317886267120',
+ device: '66305',
+ gid: '1000',
+ inode: '37558552',
+ kind: 'directory',
+ mode: '700',
+ modified: '1792877317886267120',
+ path: 'proxy/logs',
+ uid: '1000'
+ }
]
}
}
at TestContext.<anonymous> (file:///home/jwoltje/.t3/worktrees/mosaic-stack/magica-row329/packages/model-proxy/tests/management-key-encoding.test.mjs:56:12)
at process.processTicksAndRejections (node:internal/process/task_queues:104:5)
at async Test.run (node:internal/test_runner/test:1409:7)
at async Test.processPendingSubtests (node:internal/test_runner/test:974:7) {
generatedMessage: true,
code: 'ERR_ASSERTION',
actual: { refusal: null, trees: { config: [Array], data: [Array] } },
expected: { refusal: 'proxy-key-invalid', trees: { config: [Array], data: [Array] } },
operator: 'deepStrictEqual',
diff: 'simple'
}
test at packages/model-proxy/tests/management-key-encoding.test.mjs:53:3
✖ proxy-key-invalid: trailing space leaves complete config/data inventories unchanged (2.557103ms)
AssertionError [ERR_ASSERTION]: Expected values to be strictly deep-equal:
+ actual - expected
... Skipped lines
{
+ refusal: null,
- refusal: 'proxy-key-invalid',
trees: {
config: [
{
+ changed: '1792877317890267159',
- changed: '1792877317889388572',
device: '66305',
gid: '1000',
inode: '35585306',
kind: 'directory',
mode: '700',
+ modified: '1792877317890267159',
- modified: '1792877317889388572',
path: '.',
uid: '1000'
},
{
changed: '1792877317889388572',
...
{
+ changed: '1792877317890267159',
- changed: '1792877317889388572',
device: '66305',
gid: '1000',
+ inode: '35585385',
+ kind: 'file',
+ mode: '600',
+ modified: '1792877317890267159',
+ path: 'proxy.json',
+ sha256: '5a88bb4a05eeb2dccabc528085d552425331f947f7a310876018b8f4d98c1f4c',
+ size: '128',
+ uid: '1000'
+ },
+ {
+ changed: '1792877317890267159',
+ device: '66305',
+ gid: '1000',
inode: '35854617',
kind: 'directory',
mode: '700',
+ modified: '1792877317890267159',
- modified: '1792877317889388572',
path: 'secrets',
uid: '1000'
},
{
changed: '1792877317889388572',
...
},
+ {
+ changed: '1792877317890267159',
+ device: '66305',
+ gid: '1000',
+ inode: '35854619',
+ kind: 'file',
+ mode: '600',
+ modified: '1792877317890267159',
+ path: 'secrets/proxy-management.key',
+ sha256: '679ceb45ea1307ef138dec7d9b8f1dbe01928a486cd451cc03f9387118486fb8',
+ size: '12',
+ uid: '1000'
+ }
],
data: [
{
+ changed: '1792877317890267159',
- changed: '1792877317889388572',
device: '66305',
gid: '1000',
inode: '35985487',
kind: 'directory',
mode: '700',
+ modified: '1792877317890267159',
- modified: '1792877317889388572',
path: '.',
uid: '1000'
},
{
changed: '1792877317889388572',
...
},
+ {
+ changed: '1792877317890267159',
+ device: '66305',
+ gid: '1000',
+ inode: '37276524',
+ kind: 'directory',
+ mode: '700',
+ modified: '1792877317890267159',
+ path: 'proxy',
+ uid: '1000'
+ },
+ {
+ changed: '1792877317890267159',
+ device: '66305',
+ gid: '1000',
+ inode: '37406254',
+ kind: 'directory',
+ mode: '700',
+ modified: '1792877317890267159',
+ path: 'proxy/auth',
+ uid: '1000'
+ },
+ {
+ changed: '1792877317890267159',
+ device: '66305',
+ gid: '1000',
+ inode: '37276525',
+ kind: 'file',
+ mode: '600',
+ modified: '1792877317890267159',
+ path: 'proxy/config.yaml',
+ sha256: '74995e5bd516dfa85c4d9d1e94a9bd6f456caf9670cb15afc159e394191caf3e',
+ size: '715',
+ uid: '1000'
+ },
+ {
+ changed: '1792877317890267159',
+ device: '66305',
+ gid: '1000',
+ inode: '37558552',
+ kind: 'directory',
+ mode: '700',
+ modified: '1792877317890267159',
+ path: 'proxy/logs',
+ uid: '1000'
+ }
]
}
}
at TestContext.<anonymous> (file:///home/jwoltje/.t3/worktrees/mosaic-stack/magica-row329/packages/model-proxy/tests/management-key-encoding.test.mjs:56:12)
at process.processTicksAndRejections (node:internal/process/task_queues:104:5)
at async Test.run (node:internal/test_runner/test:1409:7)
at async Test.processPendingSubtests (node:internal/test_runner/test:974:7) {
generatedMessage: true,
code: 'ERR_ASSERTION',
actual: { refusal: null, trees: { config: [Array], data: [Array] } },
expected: { refusal: 'proxy-key-invalid', trees: { config: [Array], data: [Array] } },
operator: 'deepStrictEqual',
diff: 'simple'
}
test at packages/model-proxy/tests/management-key-encoding.test.mjs:53:3
✖ proxy-key-invalid: internal space leaves complete config/data inventories unchanged (3.2301ms)
AssertionError [ERR_ASSERTION]: Expected values to be strictly deep-equal:
+ actual - expected
... Skipped lines
{
+ refusal: null,
- refusal: 'proxy-key-invalid',
trees: {
config: [
{
+ changed: '1792877317893267189',
- changed: '1792877317892267179',
device: '66305',
gid: '1000',
inode: '35585306',
kind: 'directory',
mode: '700',
+ modified: '1792877317893267189',
- modified: '1792877317892267179',
path: '.',
uid: '1000'
},
{
changed: '1792877317892267179',
...
{
+ changed: '1792877317893210462',
- changed: '1792877317892267179',
device: '66305',
gid: '1000',
+ inode: '35585385',
+ kind: 'file',
+ mode: '600',
+ modified: '1792877317893210462',
+ path: 'proxy.json',
+ sha256: '835d57f852a1f6534d8e8c3ba4b9e0e9dbc959fd52dd0b3ab37e665ff71a7919',
+ size: '128',
+ uid: '1000'
+ },
+ {
+ changed: '1792877317892893590',
+ device: '66305',
+ gid: '1000',
inode: '35854617',
kind: 'directory',
mode: '700',
+ modified: '1792877317892893590',
- modified: '1792877317892267179',
path: 'secrets',
uid: '1000'
},
{
changed: '1792877317892267179',
...
},
+ {
+ changed: '1792877317892893590',
+ device: '66305',
+ gid: '1000',
+ inode: '35854619',
+ kind: 'file',
+ mode: '600',
+ modified: '1792877317892893590',
+ path: 'secrets/proxy-management.key',
+ sha256: '387f480c5b52b6bfdd2b37db75106545b5d3bbbc68a840949f37d99f5bf75c46',
+ size: '11',
+ uid: '1000'
+ }
],
data: [
{
+ changed: '1792877317892893590',
- changed: '1792877317892267179',
device: '66305',
gid: '1000',
inode: '35985487',
kind: 'directory',
mode: '700',
+ modified: '1792877317892893590',
- modified: '1792877317892267179',
path: '.',
uid: '1000'
},
{
changed: '1792877317892267179',
...
},
+ {
+ changed: '1792877317892893590',
+ device: '66305',
+ gid: '1000',
+ inode: '37276524',
+ kind: 'directory',
+ mode: '700',
+ modified: '1792877317892893590',
+ path: 'proxy',
+ uid: '1000'
+ },
+ {
+ changed: '1792877317892893590',
+ device: '66305',
+ gid: '1000',
+ inode: '37406254',
+ kind: 'directory',
+ mode: '700',
+ modified: '1792877317892893590',
+ path: 'proxy/auth',
+ uid: '1000'
+ },
+ {
+ changed: '1792877317892893590',
+ device: '66305',
+ gid: '1000',
+ inode: '37276525',
+ kind: 'file',
+ mode: '600',
+ modified: '1792877317892893590',
+ path: 'proxy/config.yaml',
+ sha256: 'cffd56c62767ae2470f81322c1f201e4b77d078801cbebaab264669b643a7920',
+ size: '714',
+ uid: '1000'
+ },
+ {
+ changed: '1792877317892893590',
+ device: '66305',
+ gid: '1000',
+ inode: '37558552',
+ kind: 'directory',
+ mode: '700',
+ modified: '1792877317892893590',
+ path: 'proxy/logs',
+ uid: '1000'
+ }
]
}
}
at TestContext.<anonymous> (file:///home/jwoltje/.t3/worktrees/mosaic-stack/magica-row329/packages/model-proxy/tests/management-key-encoding.test.mjs:56:12)
at process.processTicksAndRejections (node:internal/process/task_queues:104:5)
at async Test.run (node:internal/test_runner/test:1409:7)
at async Test.processPendingSubtests (node:internal/test_runner/test:974:7) {
generatedMessage: true,
code: 'ERR_ASSERTION',
actual: { refusal: null, trees: { config: [Array], data: [Array] } },
expected: { refusal: 'proxy-key-invalid', trees: { config: [Array], data: [Array] } },
operator: 'deepStrictEqual',
diff: 'simple'
}
@@ -0,0 +1 @@
{"utc": "2026-10-24T21:31:13.135+00:00", "load1": "2.97"}
@@ -0,0 +1,22 @@
command: ["timeout", "-k", "10", "1800", "node", "--test", "/home/jwoltje/.t3/worktrees/mosaic-stack/magica-row329/packages/bus/tests/access-revoke.test.mjs"]
TMPDIR: /mnt/storage/scratch/tmp/GHeQEZ
begin: {"utc": "2026-10-24T21:31:13.135+00:00", "load1": "2.97"}
launch nice: 19
✔ R4: the timer sweep after a hand edit ends only the lost user's run; its next call refuses thread-revoked (34.547237ms)
✔ R4: an expiry with no write and no request ends the run at the next timer sweep (24.609266ms)
✔ R4: a downgrade to viewer is a loss (22.279316ms)
✔ R4: another user's request after a hand edit ends the lost user's run, and its own run stays (24.741291ms)
✔ R4: a request reads the access file only when its stamp changed, once per change (22.355965ms)
✔ R4: access.reload ends the lost runs at once for the human; the tester, a reader, an agent and a user are refused (27.346334ms)
✔ R4: threadsState marks revoked: true on the lost user's thread only, a pending message included (18.726202ms)
✔ R4: threadsState after an expiry with no write and no sweep ends the claim before it marks the row revoked (23.973845ms)
✔ R4: a new run of a revoked thread refuses thread-revoked at bind and at claim; a rebind is allowed (20.679959ms)
✔ R4 runtime: a hand edit ends the run at the first timer period, intervalMs is checked, and close stops the timer (60.782175ms)
ℹ tests 10
ℹ suites 0
ℹ pass 10
ℹ fail 0
ℹ cancelled 0
ℹ skipped 0
ℹ todo 0
ℹ duration_ms 428.488475
@@ -0,0 +1,3 @@
{"utc": "2026-10-24T21:31:13.595+00:00", "load1": "2.97"}
{"utc": "2026-10-24T21:31:14.595+00:00", "load1": "2.97"}
{"utc": "2026-10-24T21:31:15.595+00:00", "load1": "2.97"}
@@ -0,0 +1,63 @@
command: ["timeout", "-k", "10", "1800", "node", "--test", "/home/jwoltje/.t3/worktrees/mosaic-stack/magica-row329/packages/bus/tests/chief-of-staff.test.mjs"]
TMPDIR: /mnt/storage/scratch/tmp/70lNbE
begin: {"utc": "2026-10-24T21:31:13.594+00:00", "load1": "2.97"}
launch nice: 19
organization: {"event":"reload-needs-restart","business":"demo"}
organization: {"event":"reload-needs-restart","business":"demo"}
organization: {"event":"reload-needs-restart","business":"demo"}
organization: {"event":"reload-needs-restart","business":"demo"}
organization: {"event":"reload-needs-restart","business":"demo"}
organization: {"event":"reload-needs-restart","business":"demo"}
organization: {"event":"reload-needs-restart","business":"demo"}
organization: {"event":"reload-needs-restart","business":"demo"}
organization: {"event":"reload-needs-restart","business":"demo"}
✔ REQ-COS-1, REQ-ROLE-2: the chief of staff ends a run with a reason and no decision, and the reason is logged (32.021419ms)
✔ REQ-ROLE-2: a role without role.end still needs a resolved decision to revoke (29.430214ms)
✔ REQ-ROLE-2: storage accepts a revoke with a reason or a decision and aborts one with neither (22.167041ms)
✔ REQ-ROLE-2: the chief of staff may still cite a decision, and a decision alone is the old path (20.510415ms)
✔ REQ-ROLE-2: a role without role.end still ends a run through a resolved decision, which is recorded and has no reason (23.797427ms)
✔ REQ-ROLE-2: a reason is required, bounded, and never sent with a decision (24.437699ms)
✔ REQ-COS-1: the chief of staff cannot end its own run; its end of the assistant stops the assistant's thread run (25.396808ms)
✔ REQ-LIMIT-1, REQ-COS-1: organization.set from the chief of staff reaches the shared writer, named as the actor (21.135644ms)
✔ REQ-LIMIT-1, REQ-COS-1: a refused organization.set logs action.refused and no action.allowed, like a refused limits.set (27.488015ms)
✔ REQ-LIMIT-1: organization.set is refused for every caller whose role file lacks organization.change (29.388334ms)
✔ REQ-LIMIT-1: the chief of staff is logged as allowed, and organization.set takes only the human's keys (31.937354ms)
✔ REQ-COS-1: organization.revision answers the revision alone to the chief of staff and spends nothing (25.437066ms)
✔ REQ-COS-1, REQ-LIMIT-1: organization.revision is refused for every caller whose role file lacks organization.change (28.407913ms)
✔ REQ-ROLE-3, REQ-LIMIT-1: a chief-of-staff change is validated, written and logged like a human's; an invalid one is refused (92.275578ms)
✔ REQ-COS-1: the chief of staff reads the revision, changes the file with it, and reads again after a stale one is refused (74.273995ms)
✔ Q169: the chief of staff's change of the assistant is validated, written and logged; a stale or protection-stripping one is refused (77.219759ms)
✔ row 65, Q169: the chief's change of the assistant's route runs the routing checks, and a valid one saves as the chief (55.095178ms)
✔ REQ-ROLE-2, REQ-COS-1: the 3c→3d migration lets the chief of staff end a held role with a reason; neither is still refused (78.434398ms)
✔ row 194 T10: the chief's reason end of a kept instance refuses instance-kept, holds the claim and spends nothing (20.449537ms)
✔ row 194 T10 (Q2): a role.revoke citing a decision the human resolved still ends a kept run (21.621577ms)
✔ row 194 T10 (B7): the chief's organization.set of a kept instance's model refuses before the writer; the human's limits.set does not (21.57776ms)
✔ row 194 T13: organization.set and limits.set refuse the launch, retired, keep and noHire keys before the writer (25.01784ms)
✔ row 194 T18 (D2.4): from a chief session veto.set and instances.set refuse, and nothing reaches the writer (25.455708ms)
✔ row 194 T8: the chief hires with a reason and no decision, the writer gets the reason as context, and the log names it (21.549484ms)
✔ row 194 T11: on a bus with two businesses, the chief of one hires and fires only in its own (18.659657ms)
✔ row 194 T8: hire and fire need a reason of 1 to 500 characters and refuse a decision key (29.724146ms)
✔ row 194 T8 (sage-1471): only the chief hires or fires; every other role refuses role-not-chief, even one granted the actions (28.129345ms)
✔ row 194 T8 (sage-1471): a chief whose authority lacks role.hire or role.fire refuses decision-required before the writer (45.085341ms)
✔ row 194 T8a: a re-hire of a fired name goes to the writer like a hire, and the writer's refusals pass through by name (24.800287ms)
✔ row 194 T8b: a definition is hireable only when every action is on HIRE_ALLOWED, it is version 2, the chief lists it and noHire doesn't (726.025645ms)
✔ row 194 T8b: a hire without the role files configured refuses not-configured (21.67094ms)
✔ row 194 T9: a fire revokes the claim, cancels open requests, asks the launcher to kill the runs, then delists and logs (26.357778ms)
✔ row 194 T9a (bus): a fire end's done writes lifecycle.end.killed and lifecycle.end.alive with run and pid, and an unknown stop's reason; a terminate's done or a bad stop refuses (27.528345ms)
✔ row 194 T9: fire refusals come before step A and leave the claim, the requests and the file alone (24.445362ms)
✔ row 194 T9c: a writer failure at B leaves the instance firing, and the repeat delists and logs once (27.637943ms)
✔ row 194 T9c: a failure at C leaves the fire unlogged and the instance firing, and the repeat logs it (27.876778ms)
✔ row 194 W-N1: a fire.done before a later fire.stopped of the same instance leaves it firing; another instance's done does not end it (24.108346ms)
✔ row 194 T10: a hire or fire of a kept name refuses instance-kept before the writer (21.547644ms)
✔ row 194 T10: a fire the writer's check refuses from the file stops nothing and leaves the instance launchable (22.276176ms)
✔ row 194 T18: hire and fire take only their own keys, and a refused call writes nothing (29.326917ms)
✔ row 194 T8, T9, T18: through the runtime the chief hires and fires with the real writer, the receipt carries the reason, and a refusal leaves the file alone (81.364182ms)
✔ row 194 W-N1: the launcher's take of a launch or regenerate of a firing instance closes it as instance-firing (33.602482ms)
ℹ tests 42
ℹ suites 0
ℹ pass 42
ℹ fail 0
ℹ cancelled 0
ℹ skipped 0
ℹ todo 0
ℹ duration_ms 2242.04646
@@ -0,0 +1 @@
{"utc": "2026-10-24T21:31:15.866+00:00", "load1": "3.13"}
@@ -0,0 +1,13 @@
command: ["timeout", "-k", "10", "1800", "node", "--test", "/home/jwoltje/.t3/worktrees/mosaic-stack/magica-row329/packages/bus/tests/citation-runtime.test.mjs"]
TMPDIR: /mnt/storage/scratch/tmp/d7EDzc
begin: {"utc": "2026-10-24T21:31:15.866+00:00", "load1": "3.13"}
launch nice: 19
✔ C2-06 runtime reads changed and unreadable reply limits without restarting (134.953106ms)
ℹ tests 1
ℹ suites 0
ℹ pass 1
ℹ fail 0
ℹ cancelled 0
ℹ skipped 0
ℹ todo 0
ℹ duration_ms 259.04482
@@ -0,0 +1 @@
{"utc": "2026-10-24T21:31:16.156+00:00", "load1": "3.13"}
@@ -0,0 +1,18 @@
command: ["timeout", "-k", "10", "1800", "node", "--test", "/home/jwoltje/.t3/worktrees/mosaic-stack/magica-row329/packages/bus/tests/creative.test.mjs"]
TMPDIR: /mnt/storage/scratch/tmp/pn1E2D
begin: {"utc": "2026-10-24T21:31:16.156+00:00", "load1": "3.13"}
launch nice: 19
organization: {"event":"reload-needs-restart","business":"demo"}
organization: {"event":"reload-needs-restart","business":"demo"}
✔ M6: a creative raise refuses decision-not-allowed, cited or not, and no decision row appears; the assistant still raises (46.048691ms)
✔ a creative instance sends only to the user and hears only from the user (45.129155ms)
✔ M10 through the broker: the chief and the tester are refused on bean, the human's limits.set of its models key works (80.733759ms)
✔ row 256 T6 the human deletes a creative instance through the broker; the chief and the tester are refused at the verb (61.471711ms)
ℹ tests 4
ℹ suites 0
ℹ pass 4
ℹ fail 0
ℹ cancelled 0
ℹ skipped 0
ℹ todo 0
ℹ duration_ms 352.789199
@@ -0,0 +1 @@
{"utc": "2026-10-24T21:31:16.542+00:00", "load1": "3.13"}
@@ -0,0 +1,14 @@
command: ["timeout", "-k", "10", "1800", "node", "--test", "/home/jwoltje/.t3/worktrees/mosaic-stack/magica-row329/packages/bus/tests/credential-verbs.test.mjs"]
TMPDIR: /mnt/storage/scratch/tmp/9f3var
begin: {"utc": "2026-10-24T21:31:16.542+00:00", "load1": "3.13"}
launch nice: 19
✔ row 199: the lifecycle verbs refuse every session but the human, and the tester revokes only (45.718129ms)
✔ T5: issue, rotate, revoke and delete are live, rewrite the business file and leave one receipt each, with no value anywhere (88.032128ms)
ℹ tests 2
ℹ suites 0
ℹ pass 2
ℹ fail 0
ℹ cancelled 0
ℹ skipped 0
ℹ todo 0
ℹ duration_ms 260.103045
@@ -0,0 +1 @@
{"utc": "2026-10-24T21:31:16.834+00:00", "load1": "3.13"}
@@ -0,0 +1,20 @@
command: ["timeout", "-k", "10", "1800", "node", "--test", "/home/jwoltje/.t3/worktrees/mosaic-stack/magica-row329/packages/bus/tests/daily-quota-runtime.test.mjs"]
TMPDIR: /mnt/storage/scratch/tmp/qkIeTC
begin: {"utc": "2026-10-24T21:31:16.834+00:00", "load1": "3.13"}
launch nice: 19
limits: {"event":"limit-reached","business":"demo","check":"daily-quota","export":"mayLaunch","subject":{"instance":"coder","provider":"anthropic","model":"opus","account":"jason-max"},"path":["tokens","daily","jason-max"],"limit":0,"count":0,"unknownTurns":0}
usage: {"event":"usage-unknown","business":"demo","run":"run1","instance":"coder","turn":"3ae70253-ee58-4761-9325-6571fc8fdf45","source":"@none","code":"baseline-unknown"}
limits: {"event":"limit-reached","business":"demo","check":"daily-quota","export":"mustStop","subject":{"instance":"coder","provider":"anthropic","model":"opus","account":"jason-max"},"path":["tokens","daily","jason-max"],"limit":0,"count":0,"unknownTurns":1}
usage: {"event":"usage-unknown","business":"demo","run":"run1","instance":"coder","turn":"23bd6b9e-8fdd-4ca9-8920-100618a0b70c","source":"@none","code":"baseline-unknown"}
✔ REQ-LIMIT-2 runtime: limits counts the daily quota, and mayLaunch refuses only the account at it (134.844885ms)
✔ REQ-LIMIT-4 runtime: a run bound with the account writes it on its usage records and stops at the quota (51.014958ms)
✔ REQ-LIMIT-4 runtime: a run bound without an account records null and the daily quota never stops it (45.081133ms)
✔ REQ-LIMIT-4 bindLaunch keeps the account off session.launched, refuses one that is not an identifier, and takes null as none (13.457066ms)
ℹ tests 4
ℹ suites 0
ℹ pass 4
ℹ fail 0
ℹ cancelled 0
ℹ skipped 0
ℹ todo 0
ℹ duration_ms 326.259933
@@ -0,0 +1 @@
{"utc": "2026-10-24T21:31:17.192+00:00", "load1": "3.13"}
@@ -0,0 +1,14 @@
command: ["timeout", "-k", "10", "1800", "node", "--test", "/home/jwoltje/.t3/worktrees/mosaic-stack/magica-row329/packages/bus/tests/grant-scope-runtime.test.mjs"]
TMPDIR: /mnt/storage/scratch/tmp/vvhrW2
begin: {"utc": "2026-10-24T21:31:17.192+00:00", "load1": "3.13"}
launch nice: 19
organization: {"event":"reload-needs-restart","business":"demo"}
✔ row 298 runtime: human scope approval writes the file and organization history at the supplied revision (71.674696ms)
ℹ tests 1
ℹ suites 0
ℹ pass 1
ℹ fail 0
ℹ cancelled 0
ℹ skipped 0
ℹ todo 0
ℹ duration_ms 196.005015
@@ -0,0 +1,15 @@
{"utc": "2026-10-24T21:31:17.418+00:00", "load1": "3.13"}
{"utc": "2026-10-24T21:31:18.418+00:00", "load1": "3.13"}
{"utc": "2026-10-24T21:31:19.418+00:00", "load1": "3.13"}
{"utc": "2026-10-24T21:31:20.419+00:00", "load1": "3.13"}
{"utc": "2026-10-24T21:31:21.419+00:00", "load1": "3.04"}
{"utc": "2026-10-24T21:31:22.419+00:00", "load1": "3.04"}
{"utc": "2026-10-24T21:31:23.419+00:00", "load1": "3.04"}
{"utc": "2026-10-24T21:31:24.420+00:00", "load1": "3.04"}
{"utc": "2026-10-24T21:31:25.420+00:00", "load1": "3.04"}
{"utc": "2026-10-24T21:31:26.420+00:00", "load1": "2.96"}
{"utc": "2026-10-24T21:31:27.421+00:00", "load1": "2.96"}
{"utc": "2026-10-24T21:31:28.421+00:00", "load1": "2.96"}
{"utc": "2026-10-24T21:31:29.421+00:00", "load1": "2.96"}
{"utc": "2026-10-24T21:31:30.421+00:00", "load1": "2.96"}
{"utc": "2026-10-24T21:31:31.422+00:00", "load1": "2.80"}
@@ -0,0 +1,38 @@
command: ["timeout", "-k", "10", "1800", "node", "--test", "/home/jwoltje/.t3/worktrees/mosaic-stack/magica-row329/packages/bus/tests/host-run.test.mjs"]
TMPDIR: /mnt/storage/scratch/tmp/BU48EX
begin: {"utc": "2026-10-24T21:31:17.417+00:00", "load1": "3.13"}
launch nice: 19
✔ row 280: an occupied TCP port is attempted, refused, and retried with our sshd (89.115057ms)
✔ row 280: every injected picker sample is unprivileged and outside the ephemeral range (0.359153ms)
✔ the executor tests need sshd, ssh, ssh-agent, ssh-add, ssh-keygen and setpriv: a missing one fails, never skips (0.105538ms)
✔ T3: organization.set, limits.set and instances.set refuse hosts, and the writer never runs (24.679622ms)
✔ T4: the value check takes one unencrypted ed25519 key and nothing else (201.007963ms)
✔ T5 to T8: registry, grant, argv shape and allowlist refusals (516.394575ms)
✔ T9: under 1.7 every call needs a decision bound to its host, argv and stdin, spent once (294.797122ms)
✔ T10, T11: argv reaches sudo unchanged after sudo -n -- (274.701348ms)
✔ T12, T13: exit code passes through, the timeout kills the group, output is capped (1499.581177ms)
✔ T14: a host key not in the registry refuses and nothing runs (174.485366ms)
✔ G18: hosts.check with a wrong pin refuses host-key-mismatch and runs nothing on the host (317.456396ms)
✔ N3: a remote exit 255 that prints the pin refusal text is the command result, and an ssh failure keeps its message (303.375045ms)
✔ T15: ssh reads no config file and no user known_hosts (270.405711ms)
✔ T16, T17: key material in output or stdin refuses credential-leak, and no event holds it (655.718535ms)
✔ T18, T19, T20: one call at a time, no key in any argv or env, and nothing left after (4652.92337ms)
✔ T21: revoke kills the call in flight, and the next call refuses (305.97951ms)
✔ T22: events carry host, address, user and argv in clear, and sizes and hashes only (261.929802ms)
✔ T24: no literal gitea and vikunja kind list outside vocabulary.mjs, and the credential use sites are known (41.423166ms)
✔ T25: no role definition lists host.sudo while it is a hard wait (0.5194ms)
✔ T27: the bus child dying takes ssh and ssh-agent with it (316.803066ms)
✔ T27: ssh-add -t drops the key from an agent the test keeps alive (3556.902707ms)
✔ N2: a hung ssh-add is killed at its limit or on abort, and nothing is left running (429.649056ms)
✔ T27: the start sweep keeps a live bus dir and kills only a matching live process (26.892106ms)
✔ T27: the bus start sweeps <configDir>/secrets/run before it listens, and a stray entry stops the start (52.911346ms)
✔ M3: host.run refuses host-not-granted unless the grant record has an approved, spent host grant (149.417261ms)
✔ M3: a host_grants record gives Credentials a store reference at start, and a restart reads its key (112.967845ms)
ℹ tests 26
ℹ suites 0
ℹ pass 26
ℹ fail 0
ℹ cancelled 0
ℹ skipped 0
ℹ todo 0
ℹ duration_ms 14657.505831
@@ -0,0 +1 @@
{"utc": "2026-10-24T21:31:32.106+00:00", "load1": "2.80"}
@@ -0,0 +1,17 @@
command: ["timeout", "-k", "10", "1800", "node", "--test", "/home/jwoltje/.t3/worktrees/mosaic-stack/magica-row329/packages/bus/tests/instances-verb.test.mjs"]
TMPDIR: /mnt/storage/scratch/tmp/XknzTf
begin: {"utc": "2026-10-24T21:31:32.105+00:00", "load1": "2.80"}
launch nice: 19
organization: {"event":"reload-needs-restart","business":"demo"}
organization: {"event":"reload-needs-restart","business":"demo"}
✔ row 165: instances and instances.set refuse every non-human session but the tester, the chief of staff included, and pass the verified actor (34.201963ms)
✔ row 165 runtime: an add and a change reach the organization file with the human as actor; each refusal keeps the bytes and logs nothing (127.501097ms)
✔ row 194 T12: agent and reader sessions refuse veto.set; the tester gets add and change but not delete or veto.set; the human passes the hook for each listed verb (23.409986ms)
ℹ tests 3
ℹ suites 0
ℹ pass 3
ℹ fail 0
ℹ cancelled 0
ℹ skipped 0
ℹ todo 0
ℹ duration_ms 270.80968
@@ -0,0 +1,2 @@
{"utc": "2026-10-24T21:31:32.408+00:00", "load1": "2.80"}
{"utc": "2026-10-24T21:31:33.408+00:00", "load1": "2.80"}
@@ -0,0 +1,18 @@
command: ["timeout", "-k", "10", "1800", "node", "--test", "/home/jwoltje/.t3/worktrees/mosaic-stack/magica-row329/packages/bus/tests/library-credential.test.mjs"]
TMPDIR: /mnt/storage/scratch/tmp/HpiYQK
begin: {"utc": "2026-10-24T21:31:32.407+00:00", "load1": "2.80"}
launch nice: 19
✔ C2-03b T6: the slot before any chief evidence, then the listed chief's live grant (28.054219ms)
✔ C2-03b T7: a chief revoked through grants.revoke or fired through instance.fire refuses, and the fallback stays ended (307.68609ms)
✔ C2-03b T7 choice checks: delisted, a fire under way and held each refuse; a rehire lists the chief again (34.476977ms)
✔ C2-03b T8: a chief grant on another project ends the fallback, and two listed chiefs refuse library-fetch-no-grant (31.887252ms)
✔ C2-03b departure (sage-2928): with no chief entry, any Gitea grant evidence refuses (15.585277ms)
✔ C2-03b T9 runtime: the chief's store file and user, then a real revoke that runs no git with the slot at 0000 (820.372398ms)
ℹ tests 6
ℹ suites 0
ℹ pass 6
ℹ fail 0
ℹ cancelled 0
ℹ skipped 0
ℹ todo 0
ℹ duration_ms 1371.218558
@@ -0,0 +1,2 @@
{"utc": "2026-10-24T21:31:33.809+00:00", "load1": "2.80"}
{"utc": "2026-10-24T21:31:34.809+00:00", "load1": "2.80"}
@@ -0,0 +1,23 @@
command: ["timeout", "-k", "10", "1800", "node", "--test", "/home/jwoltje/.t3/worktrees/mosaic-stack/magica-row329/packages/bus/tests/library-lookups.test.mjs"]
TMPDIR: /mnt/storage/scratch/tmp/PQlDGA
begin: {"utc": "2026-10-24T21:31:33.808+00:00", "load1": "2.80"}
launch nice: 19
✔ all five agent verbs read the configured served commit through real queries (125.157994ms)
✔ each verb refuses missing universe and unknown keys before host work (70.852251ms)
✔ no library, missing host adapter and undeclared project refuse library-not-configured (141.630635ms)
✔ reads need the current holder on each call; human/tester/reader are not agents (79.13119ms)
✔ releasing a claim during an async lookup fences the response (41.255849ms)
✔ a business library removed during an async read cannot leak its result (41.789212ms)
✔ freshness boundary, unknown last fetch and failed fetch still use immutable served state (120.61006ms)
✔ an unreadable sync state fails closed; a busy sync keeps serving the existing pin (78.195399ms)
✔ a stale lookup sees the commit published by its sync, not the prior served commit (83.110874ms)
✔ real socket awaits lookup results and rechecks rejected query arguments (91.960122ms)
✔ runtime actually injects the lookup adapter, without exposing human library.file (128.599922ms)
ℹ tests 11
ℹ suites 0
ℹ pass 11
ℹ fail 0
ℹ cancelled 0
ℹ skipped 0
ℹ todo 0
ℹ duration_ms 1134.147984
@@ -0,0 +1,7 @@
{"utc": "2026-10-24T21:31:34.973+00:00", "load1": "2.80"}
{"utc": "2026-10-24T21:31:35.973+00:00", "load1": "2.82"}
{"utc": "2026-10-24T21:31:36.974+00:00", "load1": "2.82"}
{"utc": "2026-10-24T21:31:37.974+00:00", "load1": "2.82"}
{"utc": "2026-10-24T21:31:38.974+00:00", "load1": "2.82"}
{"utc": "2026-10-24T21:31:39.975+00:00", "load1": "2.82"}
{"utc": "2026-10-24T21:31:40.975+00:00", "load1": "2.75"}
@@ -0,0 +1,18 @@
command: ["timeout", "-k", "10", "1800", "node", "--test", "/home/jwoltje/.t3/worktrees/mosaic-stack/magica-row329/packages/bus/tests/library-sync.test.mjs"]
TMPDIR: /mnt/storage/scratch/tmp/eFLzOZ
begin: {"utc": "2026-10-24T21:31:34.973+00:00", "load1": "2.80"}
launch nice: 19
✔ C2-03a library.sync: every agent, the tester and a reader are refused before the adapter runs (20.247501ms)
✔ C2-03a library.sync: the human fetches, accept passes through, and a held sync is a recorded refusal (17.293576ms)
✔ C2-03a library.sync: a LibraryError keeps its code and a host without sync is not configured (24.911909ms)
✔ C2-03a runtime: a librarySync from a boot config, with no function, is refused (1.434915ms)
✔ C2-03a runtime: the timer syncs each entry with a user at start and on each tick, logs codes only, and stops on close (588.887085ms)
✔ row 254 human-cli: library.sync outlasts the 5 s client default, and library.status does not (6085.908124ms)
ℹ tests 6
ℹ suites 0
ℹ pass 6
ℹ fail 0
ℹ cancelled 0
ℹ skipped 0
ℹ todo 0
ℹ duration_ms 6865.274376
@@ -0,0 +1 @@
{"utc": "2026-10-24T21:31:41.872+00:00", "load1": "2.75"}
@@ -0,0 +1,18 @@
command: ["timeout", "-k", "10", "1800", "node", "--test", "/home/jwoltje/.t3/worktrees/mosaic-stack/magica-row329/packages/bus/tests/library.test.mjs"]
TMPDIR: /mnt/storage/scratch/tmp/kPxN9l
begin: {"utc": "2026-10-24T21:31:41.871+00:00", "load1": "2.75"}
launch nice: 19
✔ C2-04 M4: both verbs reject every agent before arguments or adapter access (36.647527ms)
✔ C2-04 bus: human reads validate keys and return adapter results without path leakage (14.843231ms)
✔ C2-04 socket: each async library verb resolves its result rather than serializing {} (86.740094ms)
✔ C2-04 runtime: protectedRoots skips library but retains real code-root credential protection (109.591766ms)
✔ C2-04 runtime: unsafe existing mirror refuses boot and never publishes a socket (25.806937ms)
✔ C2-04 runtime: real library adapters reach the socket and lock waits leave other bus reads responsive (216.451154ms)
ℹ tests 6
ℹ suites 0
ℹ pass 6
ℹ fail 0
ℹ cancelled 0
ℹ skipped 0
ℹ todo 0
ℹ duration_ms 609.203457
@@ -0,0 +1 @@
{"utc": "2026-10-24T21:31:42.510+00:00", "load1": "2.75"}
@@ -0,0 +1,21 @@
command: ["timeout", "-k", "10", "1800", "node", "--test", "/home/jwoltje/.t3/worktrees/mosaic-stack/magica-row329/packages/bus/tests/lifecycle-revoke.test.mjs"]
TMPDIR: /mnt/storage/scratch/tmp/hvc49a
begin: {"utc": "2026-10-24T21:31:42.510+00:00", "load1": "2.75"}
launch nice: 19
organization: {"event":"reload-needs-restart","business":"demo"}
✔ T20 fire: a revoke that fails stops the fire with the file unchanged; one that succeeds revokes, keeps the directory and names the services outside the store (90.451286ms)
✔ T20 fire: an instance already delisted still has its tokens revoked and the file is left alone (53.068194ms)
✔ T20 fire: with no entry in the running bus, a token on disk refuses and an empty store goes on (59.543932ms)
✔ T20 delete: a revoke that fails keeps the file; one that succeeds clears the store, deletes, and names the tracker bot (67.413534ms)
✔ T20 delete: with no entry in the running bus, a token file is cleared and the delete goes on; a file reference refuses (68.957837ms)
✔ T21 delete: a write between the raise and the take makes the delete refuse revision-conflict before it revokes anything (70.80302ms)
✔ row 281 T1 fire: a host.<id> or granted gitea file in the store refuses step B credential-revoke-failed, file unchanged (67.163664ms)
✔ row 281 T1 start: a host grant record whose key file is gone starts and reads not-issued (54.306204ms)
ℹ tests 8
ℹ suites 0
ℹ pass 8
ℹ fail 0
ℹ cancelled 0
ℹ skipped 0
ℹ todo 0
ℹ duration_ms 659.873199
@@ -0,0 +1 @@
{"utc": "2026-10-24T21:31:43.202+00:00", "load1": "2.75"}
@@ -0,0 +1,25 @@
command: ["timeout", "-k", "10", "1800", "node", "--test", "/home/jwoltje/.t3/worktrees/mosaic-stack/magica-row329/packages/bus/tests/lifecycle-verbs.test.mjs"]
TMPDIR: /mnt/storage/scratch/tmp/Ab3xx3
begin: {"utc": "2026-10-24T21:31:43.202+00:00", "load1": "2.75"}
launch nice: 19
✔ row 194 T12: agent and reader sessions refuse the lifecycle verbs before any effect; the tester gets launch, end and the request read, never regenerate (41.086566ms)
✔ row 194 V2 and V4 at the verb: the request is open, by the human, with a human.input; thread, retired, unknown and revoked refuse with no event (20.977879ms)
✔ row 194 D1.1 take: a request is taken once, closes once, and lifecycleRequests lists only what is not closed (15.147322ms)
✔ row 194 D1.1 take: a launch.revoke after the request closes it launch-revoked, and a request past 60 s closes request-expired (18.334348ms)
✔ row 194 T15 (bus): while halted, launch and regenerate refuse processing-halted at the verb and at the take, hire and fire refuse, terminate goes; an unreadable switch refuses with its code (27.882799ms)
✔ row 194 T12a: the tester launches and ends on its own business with actor tester; bus.tester off in the file refuses the call and the take tester-off (22.12436ms)
✔ row 194 V3 terminate: claims revoked, open requests cancelled, bound runs named, taken requests listed; nothing at all answers not-held (28.710526ms)
✔ row 194 V3 terminate of a thread instance: the human ends every thread, the tester only its own (21.663071ms)
✔ row 194 T6 V5 order at the verb: the writer's named refusals, then instance-running, instance-starting, the last-listed refusal and the revision (32.552ms)
✔ row 194 V5: an open launch past its 60 s is not starting, as it can only close request-expired (12.399681ms)
✔ row 194 V5 after the take: lifecycleDelete re-checks running and starting, then commits through the writer with the human as actor (21.272711ms)
✔ row 194 V5 retry: a retired name deletes again only after workspace-rename-failed, and that request commits nothing (19.587509ms)
✔ row 194 V5 runtime: a delete request, the take and lifecycleDelete commit the file with retired, log the human and reload so the name no longer binds (134.310711ms)
ℹ tests 13
ℹ suites 0
ℹ pass 13
ℹ fail 0
ℹ cancelled 0
ℹ skipped 0
ℹ todo 0
ℹ duration_ms 498.238226
@@ -0,0 +1 @@
{"utc": "2026-10-24T21:31:43.731+00:00", "load1": "2.75"}
@@ -0,0 +1,28 @@
command: ["timeout", "-k", "10", "1800", "node", "--test", "/home/jwoltje/.t3/worktrees/mosaic-stack/magica-row329/packages/bus/tests/limit-checks.test.mjs"]
TMPDIR: /mnt/storage/scratch/tmp/ktbbpy
begin: {"utc": "2026-10-24T21:31:43.731+00:00", "load1": "2.75"}
launch nice: 19
✔ REQ-LIMIT-3 limitLeaves finds every limit object and skips the agent numbers (1.227604ms)
✔ REQ-LIMIT-3 limitLeaves takes token limits at schema depth only, whatever their names (0.203119ms)
✔ REQ-LIMIT-3 with no check switched on a launch is allowed, a turn never stops, and every limit is not enforced (15.274045ms)
✔ REQ-LIMIT-3 a fixture check that refuses refuses the launch and stops the turn, logged with the limit and the count (16.142197ms)
✔ REQ-LIMIT-3 a report that omits a limit shows it not enforced; a counted entry and a reason come through (12.350569ms)
✔ REQ-LIMIT-4 each check gets the business, a copy of the limits, the subject, the records and the time (14.448872ms)
✔ REQ-LIMIT-4 fail closed: a throw refuses, stops and fails the report, naming the check and the code (12.504145ms)
✔ REQ-LIMIT-4 fail closed: a malformed answer, a promise, a rejected promise, a non-boolean or a bad hit is malformed-answer (15.749577ms)
✔ REQ-LIMIT-4 fail closed: a check switched on but not loaded refuses, stops and fails every limit as not-loaded (11.742781ms)
✔ REQ-LIMIT-4 state(), never-loaded case: before any load the report shows not enforced, or not-loaded for a switched-on check (9.845775ms)
✔ REQ-LIMIT-4 state(), first-load-refused case: a check refused on its first load is not-loaded in mayLaunch, mustStop and report (10.825798ms)
✔ REQ-LIMIT-4 fail closed: an unreadable organization file refuses and stops with check null; the report throws (11.336846ms)
✔ REQ-LIMIT-4 fail closed: unreadable records refuse and stop with check null and fail the report (0.471683ms)
✔ REQ-LIMIT-3 the shipped token-limit, through the real loader, counts known records only since the limit was set (16.868788ms)
✔ REQ-LIMIT-3 a token limit for a provider named limit is counted and refuses, beside an agent limit of the same name (10.047416ms)
✔ REQ-LIMIT-3 core reaches limit checks only through the plug-in loader (1.124657ms)
ℹ tests 16
ℹ suites 0
ℹ pass 16
ℹ fail 0
ℹ cancelled 0
ℹ skipped 0
ℹ todo 0
ℹ duration_ms 245.243109
@@ -0,0 +1 @@
{"utc": "2026-10-24T21:31:44.006+00:00", "load1": "2.75"}
@@ -0,0 +1,23 @@
command: ["timeout", "-k", "10", "1800", "node", "--test", "/home/jwoltje/.t3/worktrees/mosaic-stack/magica-row329/packages/bus/tests/limits-runtime.test.mjs"]
TMPDIR: /mnt/storage/scratch/tmp/OgZo41
begin: {"utc": "2026-10-24T21:31:44.006+00:00", "load1": "2.75"}
launch nice: 19
limits: {"event":"limit-reached","business":"demo","check":"token-limit","export":"mayLaunch","subject":{"instance":"coder","provider":"zai","model":"glm-5.3-flash","account":null},"path":["tokens","instances","coder"],"limit":0,"count":0,"unknownTurns":0}
organization: {"event":"reload-needs-restart","business":"demo"}
usage: {"event":"usage-unknown","business":"demo","run":"run1","instance":"coder","turn":"818eea2a-0f09-4cb7-b7a2-2d1f8b8c3b25","source":"@none","code":"baseline-unknown"}
limits: {"event":"limit-reached","business":"demo","check":"token-limit","export":"mustStop","subject":{"instance":"coder","provider":"zai","model":"glm-5.3-flash","account":null},"path":["tokens","instances","coder"],"limit":0,"count":0,"unknownTurns":1}
usage: {"event":"usage-unknown","business":"demo","run":"run1","instance":"coder","turn":"4faae581-280f-452b-9504-d8341a7db84b","source":"@none","code":"baseline-unknown"}
organization: {"event":"reload-needs-restart","business":"demo"}
✔ REQ-LIMIT-3 REQ-LIMIT-4 runtime: limits carries the token count, mayLaunch refuses at the limit, a reset moves since (141.15311ms)
✔ REQ-LIMIT-3 runtime: with no limit check switched on, the limit shows not enforced and every launch is allowed (37.022098ms)
✔ REQ-LIMIT-4 runtime: the broker asks the shipped token-limit after a turn, and the run at its limit stops on its next receive (50.145968ms)
✔ REQ-LIMIT-4 runtime: with no usage source a turn is unknown, counts zero and stops nothing under a limit of 1 (48.51093ms)
✔ REQ-LIMIT-3 runtime: switching a limit check on with plugins.set loads it without a launch or a turn (66.483892ms)
ℹ tests 5
ℹ suites 0
ℹ pass 5
ℹ fail 0
ℹ cancelled 0
ℹ skipped 0
ℹ todo 0
ℹ duration_ms 388.497466
@@ -0,0 +1 @@
{"utc": "2026-10-24T21:31:44.429+00:00", "load1": "2.75"}
@@ -0,0 +1,17 @@
command: ["timeout", "-k", "10", "1800", "node", "--test", "/home/jwoltje/.t3/worktrees/mosaic-stack/magica-row329/packages/bus/tests/limits.test.mjs"]
TMPDIR: /mnt/storage/scratch/tmp/ZE3dMq
begin: {"utc": "2026-10-24T21:31:44.428+00:00", "load1": "2.75"}
launch nice: 19
organization: {"event":"reload-needs-restart","business":"demo"}
organization: {"event":"reload-needs-restart","business":"demo"}
✔ limits binds actor from human proof and rejects role, reader, a tester set and forged actor (23.316925ms)
✔ runtime wires verified human settings to the actual shared file writer and actor receipt (103.246822ms)
✔ uncertain organization receipts leave bus startup and reads alone but refuse writes until reconciled (54.340151ms)
ℹ tests 3
ℹ suites 0
ℹ pass 3
ℹ fail 0
ℹ cancelled 0
ℹ skipped 0
ℹ todo 0
ℹ duration_ms 268.397954
@@ -0,0 +1 @@
{"utc": "2026-10-24T21:31:44.731+00:00", "load1": "2.75"}
@@ -0,0 +1,20 @@
command: ["timeout", "-k", "10", "1800", "node", "--test", "/home/jwoltje/.t3/worktrees/mosaic-stack/magica-row329/packages/bus/tests/model-proxy.test.mjs"]
TMPDIR: /mnt/storage/scratch/tmp/760xBV
begin: {"utc": "2026-10-24T21:31:44.731+00:00", "load1": "2.75"}
launch nice: 19
✔ proxy.init only accepts path-bound outside-agent human; refuses agent/tester/reader (19.800473ms)
✔ proxy.init proxy-key-invalid (11.627925ms)
✔ proxy.init proxy-config-invalid (11.729362ms)
✔ proxy.init invalid-request (11.484904ms)
✔ proxy.init not-configured (11.155878ms)
✔ proxy.init callback error redacts key and maps outcome to named refusal (11.150132ms)
✔ socket awaits proxy.init and does not return a Promise object or retain human cap (30.330962ms)
✔ proxy-init-failed: extra callback fields cannot return a management key (11.376302ms)
ℹ tests 8
ℹ suites 0
ℹ pass 8
ℹ fail 0
ℹ cancelled 0
ℹ skipped 0
ℹ todo 0
ℹ duration_ms 194.169461
@@ -0,0 +1 @@
{"utc": "2026-10-24T21:31:44.956+00:00", "load1": "2.75"}
@@ -0,0 +1,19 @@
command: ["timeout", "-k", "10", "1800", "node", "--test", "/home/jwoltje/.t3/worktrees/mosaic-stack/magica-row329/packages/bus/tests/plugins-verb.test.mjs"]
TMPDIR: /mnt/storage/scratch/tmp/mpe9C4
begin: {"utc": "2026-10-24T21:31:44.956+00:00", "load1": "2.75"}
launch nice: 19
organization: {"event":"reload-needs-restart","business":"demo"}
organization: {"event":"reload-needs-restart","business":"demo"}
organization: {"event":"reload-needs-restart","business":"demo"}
organization: {"event":"reload-needs-restart","business":"demo"}
✔ plugins and plugins.set refuse every non-human session and a forged actor, and pass only the patch with the verified actor (24.151474ms)
✔ runtime: the switch changes the organization file, the receipt carries the actor, and a bad shape, an unknown module and a stale revision are refused with nothing written (112.999458ms)
✔ vikunja:19/309 through the broker, a patch switches the kinds it names and keeps the rest; null removes one kind and is trailed (51.178757ms)
ℹ tests 3
ℹ suites 0
ℹ pass 3
ℹ fail 0
ℹ cancelled 0
ℹ skipped 0
ℹ todo 0
ℹ duration_ms 271.351814
@@ -0,0 +1 @@
{"utc": "2026-10-24T21:31:45.258+00:00", "load1": "2.75"}
@@ -0,0 +1,14 @@
command: ["timeout", "-k", "10", "1800", "node", "--test", "/home/jwoltje/.t3/worktrees/mosaic-stack/magica-row329/packages/bus/tests/processing-runtime.test.mjs"]
TMPDIR: /mnt/storage/scratch/tmp/t8w0GP
begin: {"utc": "2026-10-24T21:31:45.258+00:00", "load1": "2.75"}
launch nice: 19
✔ real runtime injects the coordinator, stops its workload and mirrors stable stop events across restart (166.197323ms)
✔ invalid state still starts the control bus and human halt then resume repairs it (68.762038ms)
ℹ tests 2
ℹ suites 0
ℹ pass 2
ℹ fail 0
ℹ cancelled 0
ℹ skipped 0
ℹ todo 0
ℹ duration_ms 354.939079
@@ -0,0 +1 @@
{"utc": "2026-10-24T21:31:45.644+00:00", "load1": "2.75"}
@@ -0,0 +1,15 @@
command: ["timeout", "-k", "10", "1800", "node", "--test", "/home/jwoltje/.t3/worktrees/mosaic-stack/magica-row329/packages/bus/tests/project-runtime.test.mjs"]
TMPDIR: /mnt/storage/scratch/tmp/9wld3a
begin: {"utc": "2026-10-24T21:31:45.644+00:00", "load1": "2.75"}
launch nice: 19
✔ Broker keeps the sandbox client import closure: only the listed imports, no lazy project import (2.320439ms)
✔ without a trusted project adapter all three async paths refuse project-not-configured (41.769061ms)
✔ real startBroker injects the project adapter for socket reads and bound-author record writes (209.297382ms)
ℹ tests 3
ℹ suites 0
ℹ pass 3
ℹ fail 0
ℹ cancelled 0
ℹ skipped 0
ℹ todo 0
ℹ duration_ms 374.13406
@@ -0,0 +1 @@
{"utc": "2026-10-24T21:31:46.050+00:00", "load1": "3.01"}
@@ -0,0 +1,25 @@
command: ["timeout", "-k", "10", "1800", "node", "--test", "/home/jwoltje/.t3/worktrees/mosaic-stack/magica-row329/packages/bus/tests/publish.test.mjs"]
TMPDIR: /mnt/storage/scratch/tmp/zvt8PG
begin: {"utc": "2026-10-24T21:31:46.049+00:00", "load1": "3.01"}
launch nice: 19
✔ a raise with no recorded push refuses no-push; a raise binds the latest push and shows it (39.954889ms)
✔ happy path: the fork is the upstream repo under the agent's own user, the destination is host-built (24.465558ms)
✔ a hard wait: no decision refuses, and a decision for another task refuses (22.323233ms)
✔ r4 B4: approve while the latest push is A, push B, publish refuses decision-mismatch (47.890439ms)
✔ grant and fork refusals (45.239458ms)
✔ remote-not-fork, compared without case, and remote-host-mismatch, at push (84.933944ms)
✔ two agents granted one project each get their own fork (43.980907ms)
✔ the request cannot name the fork, the user or the destination (21.038529ms)
✔ one decision, one open publish: a second ticket refuses publish-busy, whatever its branch (50.040628ms)
✔ publishRefused files the code on the task's trail and drops the ticket (21.106502ms)
✔ git.push.remote is in neither ROUTED list and no shipped role grants it (0.703397ms)
✔ runtime: withGitea keys from the open ticket only, and the store root is the organization dir (102.132736ms)
✔ the bus process answers the publish ops from their own lines, not launch-op-refused (158.414563ms)
ℹ tests 13
ℹ suites 0
ℹ pass 13
ℹ fail 0
ℹ cancelled 0
ℹ skipped 0
ℹ todo 0
ℹ duration_ms 755.676522
@@ -0,0 +1 @@
{"utc": "2026-10-24T21:31:46.835+00:00", "load1": "3.01"}
@@ -0,0 +1,31 @@
command: ["timeout", "-k", "10", "1800", "node", "--test", "/home/jwoltje/.t3/worktrees/mosaic-stack/magica-row329/packages/bus/tests/reload.test.mjs"]
TMPDIR: /mnt/storage/scratch/tmp/aU0j0Y
begin: {"utc": "2026-10-24T21:31:46.835+00:00", "load1": "3.01"}
launch nice: 19
organization: {"event":"reload-needs-restart","business":"demo"}
organization: {"event":"reload-needs-restart","business":"demo"}
✔ T14 a create goes live with no restart: the new instance binds at once and the answer says restart false (82.481371ms)
organization: {"event":"reload-needs-restart","business":"demo"}
organization: {"event":"reload-needs-restart","business":"demo"}
organization: {"event":"reload-needs-restart","business":"demo"}
organization: {"event":"reload-needs-restart","business":"demo"}
organization: {"event":"reload-needs-restart","business":"demo"}
organization: {"event":"reload-needs-restart","business":"demo"}
✔ T14 every committed verb reloads once, limits.set, routes.set, plugins.set and veto.set included, and a refused one does not (83.757771ms)
✔ T14 a definition change on a running instance refuses instance-running; a vars change still goes live (63.590141ms)
✔ T14 a file whose credential references differ from the boot copy is not reloaded and the write answers restart true (46.393843ms)
✔ T14 a date-only change to a credential reference still reloads: row 199 issue rewrites the date outside the reload (44.909934ms)
✔ T19 a credentialed create answers restart true; issue works only after a restart, and a later vars change goes live (101.304479ms)
✔ T14 after a refused reload veto.set, instance.hire and instance.fire answer restart true, and a fire of a name kept since refuses before step A (102.926844ms)
✔ T14 a file whose project root differs from the boot copy is not reloaded, because the Credentials store protects the boot roots (44.678556ms)
organization: {"event":"reload-needs-restart","business":"demo"}
✔ T14 a file whose library mapping differs from the boot copy is not reloaded, because the mirror is ensured at start (195.348573ms)
✔ T14 reloadBusiness refuses an unknown business, a changed human and a document the boot check refuses (10.201371ms)
ℹ tests 10
ℹ suites 0
ℹ pass 10
ℹ fail 0
ℹ cancelled 0
ℹ skipped 0
ℹ todo 0
ℹ duration_ms 894.882982
@@ -0,0 +1 @@
{"utc": "2026-10-24T21:31:47.762+00:00", "load1": "3.01"}
@@ -0,0 +1,17 @@
command: ["timeout", "-k", "10", "1800", "node", "--test", "/home/jwoltje/.t3/worktrees/mosaic-stack/magica-row329/packages/bus/tests/routes-verb.test.mjs"]
TMPDIR: /mnt/storage/scratch/tmp/P5dNVU
begin: {"utc": "2026-10-24T21:31:47.762+00:00", "load1": "3.01"}
launch nice: 19
organization: {"event":"reload-needs-restart","business":"demo"}
✔ row 65: routes and routes.set refuse every non-human session, the chief of staff included, the tester may read and set, and each passes the verified actor (41.28339ms)
✔ row 65: a new launch binds only on a switched-on harness with a module name, and a run an earlier broker bound binds again after its harness is switched off (22.333596ms)
✔ row 65 runtime: harnessLevels answers each module in the tree, and null for a name with no module (42.976423ms)
✔ row 65 runtime: routes and routes.set reach the organization file with the human as actor, a new bind reads plugins.harness, and each refusal keeps the bytes and logs nothing (82.367379ms)
ℹ tests 4
ℹ suites 0
ℹ pass 4
ℹ fail 0
ℹ cancelled 0
ℹ skipped 0
ℹ todo 0
ℹ duration_ms 269.840758
@@ -0,0 +1 @@
{"utc": "2026-10-24T21:31:48.062+00:00", "load1": "3.01"}
@@ -0,0 +1,21 @@
command: ["timeout", "-k", "10", "1800", "node", "--test", "/home/jwoltje/.t3/worktrees/mosaic-stack/magica-row329/packages/bus/tests/tasks.test.mjs"]
TMPDIR: /mnt/storage/scratch/tmp/doktEQ
begin: {"utc": "2026-10-24T21:31:48.062+00:00", "load1": "3.01"}
launch nice: 19
✔ recordTask keeps sync reads and a role write apart (37.162839ms)
✔ read_at must be one canonical UTC format, so the projection compares strings safely (10.13001ms)
✔ a bad entry refuses the whole record (10.028908ms)
✔ taskView reads the projection for one business (12.612171ms)
✔ requestTask hands only a holder and a task verb to the handler, and records refusals (21.951896ms)
✔ the server sends task verbs to the adapter with its own timeout; other verbs stay synchronous (304.584857ms)
✔ without an adapter the server refuses every task verb (41.415383ms)
✔ the runtime refuses an invalid adapter and closes a valid one (55.013588ms)
✔ the process loads the S3 adapter from plain-data trackers (294.887599ms)
ℹ tests 9
ℹ suites 0
ℹ pass 9
ℹ fail 0
ℹ cancelled 0
ℹ skipped 0
ℹ todo 0
ℹ duration_ms 901.467179
@@ -0,0 +1 @@
{"utc": "2026-10-24T21:31:48.994+00:00", "load1": "3.01"}
@@ -0,0 +1,25 @@
command: ["timeout", "-k", "10", "1800", "node", "--test", "/home/jwoltje/.t3/worktrees/mosaic-stack/magica-row329/packages/bus/tests/tester-writes.test.mjs"]
TMPDIR: /mnt/storage/scratch/tmp/1vStHK
begin: {"utc": "2026-10-24T21:31:48.994+00:00", "load1": "3.01"}
launch nice: 19
organization: {"event":"reload-needs-restart","business":"demo"}
organization: {"event":"reload-needs-restart","business":"demo"}
organization: {"event":"reload-needs-restart","business":"demo"}
organization: {"event":"reload-needs-restart","business":"demo"}
organization: {"event":"reload-needs-restart","business":"demo"}
✔ row 175: TESTER_VERBS and the organization branch tester set are pinned (1.017466ms)
✔ row 175: each of the six reads as the tester deep-equals the human read (80.79752ms)
✔ row 175: W1-W3 as the tester land with receipt actor tester; the human still logs the human (69.467976ms)
✔ row 175: W2 as the tester refuses credentials, protected definitions, human, tester and bus.tester, and changes nothing (61.482015ms)
✔ row 175: the human-only actions refuse a tester tester-refused, and the file and store stay as they were (59.878967ms)
✔ row 175: W4 as the tester writes by tester and keeps every name check (18.111019ms)
✔ row 175: W6 as the tester records created_by tester; the human records the human (13.376818ms)
✔ row 175: with bus.tester unset or not exactly true no tester binds, so no read or write runs (49.180862ms)
ℹ tests 8
ℹ suites 0
ℹ pass 8
ℹ fail 0
ℹ cancelled 0
ℹ skipped 0
ℹ todo 0
ℹ duration_ms 473.7727
@@ -0,0 +1,2 @@
{"utc": "2026-10-24T21:31:49.499+00:00", "load1": "3.01"}
{"utc": "2026-10-24T21:31:50.500+00:00", "load1": "3.01"}
@@ -0,0 +1,26 @@
command: ["timeout", "-k", "10", "1800", "node", "--test", "/home/jwoltje/.t3/worktrees/mosaic-stack/magica-row329/packages/bus/tests/tester.test.mjs"]
TMPDIR: /mnt/storage/scratch/tmp/lFZZCF
begin: {"utc": "2026-10-24T21:31:49.499+00:00", "load1": "3.01"}
launch nice: 19
✔ the tester binds only when the business sets bus.tester to exactly true (88.757294ms)
✔ a business may not name a role tester, so the tester address is never a role (23.769068ms)
✔ every verb outside the tester list refuses tester-refused and is recorded against the tester (41.483976ms)
✔ a tester message is from tester, needs no prefix, and writes no human.input or authority (18.827772ms)
✔ a tester message to a role no run holds refuses tester-target-not-running and stores nothing (12.713865ms)
✔ a tester message is refused while the run is only launched, and routes once it claims (16.183489ms)
✔ a human message to a role no run holds still waits and tells launch.by (13.743888ms)
✔ a role answers a tester only in reply to a tester message, and the answer never reaches the human (24.830137ms)
✔ the tester reads the human views a reader reads (28.289052ms)
✔ tester proof binds its own CLI, start time and nonce, refuses a managed run and allows an agent (1.13514ms)
✔ neither CLI's nonce proves the other: each proof is bound to its own CLI and nonce variable (0.339972ms)
✔ testerNonce reads only the tester's variable and gives null on any read error (0.179056ms)
✔ an envelope carries exactly one of cap, human and tester; no tester authenticator refuses (93.221215ms)
✔ tester-cli.mjs binds through the runtime when the switch is on, and refuses off or under a run marker (1045.993666ms)
ℹ tests 14
ℹ suites 0
ℹ pass 14
ℹ fail 0
ℹ cancelled 0
ℹ skipped 0
ℹ todo 0
ℹ duration_ms 1530.19706
@@ -0,0 +1 @@
{"utc": "2026-10-24T21:31:51.060+00:00", "load1": "2.77"}
@@ -0,0 +1,13 @@
command: ["timeout", "-k", "10", "1800", "node", "--test", "/home/jwoltje/.t3/worktrees/mosaic-stack/magica-row329/packages/bus/tests/usage-runtime.test.mjs"]
TMPDIR: /mnt/storage/scratch/tmp/1VEYZH
begin: {"utc": "2026-10-24T21:31:51.060+00:00", "load1": "2.77"}
launch nice: 19
✔ REQ-PLUG-1 runtime reaches transcript only through loader, over the real bus socket (69.113179ms)
ℹ tests 1
ℹ suites 0
ℹ pass 1
ℹ fail 0
ℹ cancelled 0
ℹ skipped 0
ℹ todo 0
ℹ duration_ms 188.443021
@@ -0,0 +1,2 @@
{"utc": "2026-10-24T21:31:51.279+00:00", "load1": "2.77"}
{"utc": "2026-10-24T21:31:52.280+00:00", "load1": "2.77"}
@@ -0,0 +1,31 @@
command: ["timeout", "-k", "10", "1800", "node", "--test", "/home/jwoltje/.t3/worktrees/mosaic-stack/magica-row329/packages/bus/tests/web.test.mjs"]
TMPDIR: /mnt/storage/scratch/tmp/BWvWeH
begin: {"utc": "2026-10-24T21:31:51.279+00:00", "load1": "2.77"}
launch nice: 19
✔ web.search: a granted role gets labelled results, and the call is trailed with role, run, verb and query (22.397513ms)
✔ web.fetch: a granted role gets the page as labelled text, and the call is trailed with the url (28.030362ms)
✔ a role without the grant is refused, the refusal is logged with the verb, and nothing is fetched (19.857784ms)
✔ a broker with no web service refuses a granted role (14.84118ms)
✔ bad requests are refused: unknown verb, extra or missing argument, not a string, a human or reader session (18.067065ms)
✔ a session that is not the role holder is refused (13.023035ms)
✔ web.mjs's fences hold on the broker side: refusals are normal results with the fixed reason (39.913102ms)
✔ web.search with no search source configured is a refused result, not an error (14.422159ms)
✔ a search source that fails with its own refusal, or that throws, is handled (18.276761ms)
✔ a slow search source ends in a refusal at the deadline (65.055292ms)
✔ a secret in the arguments is refused before anything is trailed or fetched (13.916963ms)
✔ over the socket: the server routes web verbs to the service; other roles are refused; no service is web-not-configured (69.694453ms)
✔ busBusiness: the web grant comes from "web" in the resolved tool limit (0.282283ms)
✔ webServices: the business's search-source plug-in and web.searxng var make web.search work; without either it is refused as not configured (55.50822ms)
✔ an ungranted call is refused at once: no admission, no wait, nothing touched (17.707781ms)
✔ over the socket an ungranted caller is dropped by the server timeout and a granted one gets the longer wait (339.602135ms)
✔ a search that never answers is aborted at the deadline, the module sees the signal, and the call is trailed as refused (timeout) (74.739872ms)
✔ a fetch that stalls is cut off at the deadline: the request is destroyed, not left running (97.228728ms)
✔ one query limit: over SEARCH_MAX_QUERY_CHARS or empty is refused with the same reason before any backend, and the tool schema carries the same number (19.007701ms)
ℹ tests 19
ℹ suites 0
ℹ pass 19
ℹ fail 0
ℹ cancelled 0
ℹ skipped 0
ℹ todo 0
ℹ duration_ms 1042.857687
@@ -0,0 +1 @@
{"utc": "2026-10-24T21:31:52.353+00:00", "load1": "2.77"}
@@ -0,0 +1,16 @@
command: ["timeout", "-k", "10", "1800", "node", "--test", "/home/jwoltje/.t3/worktrees/mosaic-stack/magica-row329/packages/cli/tests/access-boot.test.mjs"]
TMPDIR: /mnt/storage/scratch/tmp/N0QlMo
begin: {"utc": "2026-10-24T21:31:52.353+00:00", "load1": "2.77"}
launch nice: 19
✔ R6 a configured peer id validates as a user's home and an unconfigured one refuses (13.025604ms)
✔ R6 B1 a boot with access.json binds a granted user, whose home is a configured peer (75.092362ms)
✔ R6 B2 a boot without access.json has no access and binds no user (63.980667ms)
✔ R6 B3 a boot with a file R1's loader refuses still boots, binds no user and says so once (188.774406ms)
ℹ tests 4
ℹ suites 0
ℹ pass 4
ℹ fail 0
ℹ cancelled 0
ℹ skipped 0
ℹ todo 0
ℹ duration_ms 473.694186
@@ -0,0 +1,7 @@
{"utc": "2026-10-24T21:31:52.860+00:00", "load1": "2.77"}
{"utc": "2026-10-24T21:31:53.860+00:00", "load1": "2.77"}
{"utc": "2026-10-24T21:31:54.860+00:00", "load1": "2.77"}
{"utc": "2026-10-24T21:31:55.860+00:00", "load1": "2.71"}
{"utc": "2026-10-24T21:31:56.861+00:00", "load1": "2.71"}
{"utc": "2026-10-24T21:31:57.861+00:00", "load1": "2.71"}
{"utc": "2026-10-24T21:31:58.861+00:00", "load1": "2.71"}
@@ -0,0 +1,46 @@
command: ["timeout", "-k", "10", "1800", "node", "--test", "/home/jwoltje/.t3/worktrees/mosaic-stack/magica-row329/packages/cli/tests/access.test.mjs"]
TMPDIR: /mnt/storage/scratch/tmp/s4G6iY
begin: {"utc": "2026-10-24T21:31:52.859+00:00", "load1": "2.77"}
launch nice: 19
✔ list prints the revision and the users (30.884889ms)
✔ grant writes one revision up, a receipt line, and the id in the file (53.432378ms)
✔ a viewer grant writes the viewer level, one revision up (49.096379ms)
✔ a second write appends a second receipt and leaves the first intact (101.603945ms)
✔ a stale revision refuses with revision-conflict and writes nothing (83.940791ms)
✔ a live holder's lock refuses and leaves the file and the lock alone (26.646541ms)
✔ an empty or unreadable lock refuses, since its holder may still be writing (48.38942ms)
✔ a lock left by a dead pid refuses, names the pid, and is not reclaimed (44.806221ms)
✔ a failed rename leaves the old bytes, removes the temp file, and writes no receipt (27.622276ms)
✔ a group-writable access file refuses with exit 3, names the file, and changes nothing (25.675821ms)
✔ an agent or tester caller is refused before the context or the access file is read (1.123585ms)
✔ the lock is mode 0600 while held and removed after a refused write (25.901843ms)
✔ a grant naming an unknown instance is refused before any write (28.872833ms)
✔ a project name resolves to its id at grant time (70.593649ms)
✔ an unknown project name refuses before any write (27.132406ms)
✔ revoke removes the user's grants and leaves a revision behind (102.987012ms)
✔ revoke of a user with no grant refuses and writes nothing (26.453788ms)
✔ an agent caller is refused before the bus is asked (0.841163ms)
✔ --tester is refused on every verb before the bus is asked (0.974632ms)
✔ a bus that refuses the human proof blocks the write (29.972291ms)
✔ the context reads console.sso subjects and the business files, and peers stay empty (7.670929ms)
✔ the real human-cli, run from agent ancestry, refuses and writes nothing (5144.734757ms)
✔ T1 user add writes the user one revision up, prints it and appends a user.add receipt (30.211574ms)
✔ T2 a bad user add refuses before any write (330.199967ms)
✔ T3 user remove of a user with no grant drops them one revision up, with a user.remove receipt (25.778981ms)
✔ T4 user remove refuses with user-has-grants while the user holds a grant, and writes nothing (75.914593ms)
✔ T5 user remove of an id not in the file refuses and writes nothing (24.019065ms)
✔ T6 a stale revision refuses both user verbs with revision-conflict (50.984347ms)
✔ T7 --tester and an agent caller are refused on both user verbs before the bus is asked (1.193819ms)
✔ T8 a user verb of the wrong shape prints the help (0.907517ms)
✔ T9 a bus that refuses the human proof blocks both user verbs (51.964775ms)
✔ R4 grant and revoke call access.reload after the write, and nothing else does (149.163477ms)
✔ R4 a refused access.reload after a good write exits 0, stdout reports the write, stderr names the code and the 30 s timer (49.394655ms)
✔ R4 the help keeps the provider-removal order and says what a refused reload means (0.831348ms)
ℹ tests 34
ℹ suites 0
ℹ pass 34
ℹ fail 0
ℹ cancelled 0
ℹ skipped 0
ℹ todo 0
ℹ duration_ms 6879.396434
@@ -0,0 +1,14 @@
{"utc": "2026-10-24T21:31:59.769+00:00", "load1": "2.71"}
{"utc": "2026-10-24T21:32:00.769+00:00", "load1": "2.65"}
{"utc": "2026-10-24T21:32:01.770+00:00", "load1": "2.65"}
{"utc": "2026-10-24T21:32:02.770+00:00", "load1": "2.65"}
{"utc": "2026-10-24T21:32:03.770+00:00", "load1": "2.65"}
{"utc": "2026-10-24T21:32:04.771+00:00", "load1": "2.65"}
{"utc": "2026-10-24T21:32:05.771+00:00", "load1": "2.52"}
{"utc": "2026-10-24T21:32:06.771+00:00", "load1": "2.52"}
{"utc": "2026-10-24T21:32:07.772+00:00", "load1": "2.52"}
{"utc": "2026-10-24T21:32:08.772+00:00", "load1": "2.52"}
{"utc": "2026-10-24T21:32:09.772+00:00", "load1": "2.52"}
{"utc": "2026-10-24T21:32:10.772+00:00", "load1": "2.80"}
{"utc": "2026-10-24T21:32:11.773+00:00", "load1": "2.80"}
{"utc": "2026-10-24T21:32:12.773+00:00", "load1": "2.80"}
@@ -0,0 +1,42 @@
command: ["timeout", "-k", "10", "1800", "node", "--test", "/home/jwoltje/.t3/worktrees/mosaic-stack/magica-row329/packages/cli/tests/app.test.mjs"]
TMPDIR: /mnt/storage/scratch/tmp/U6qOPP
begin: {"utc": "2026-10-24T21:31:59.769+00:00", "load1": "2.71"}
launch nice: 19
✔ every screen and overlay fits 120x36, 80x24 and the narrow layout, row for row (1224.912228ms)
✔ width counts terminal cells: wide CJK and emoji 2, U+FE0F after a one-cell base 1, marks 0 (73.876093ms)
✔ broker text is shown, never interpreted: no raw control character or bidi override reaches the terminal (167.944667ms)
✔ NO_COLOR: no escape codes, except reverse video on the selected row (241.262125ms)
✔ 1-9 shows the decide flow's own lines and question; only y resolves (62.873408ms)
✔ the app shows the same decide text as mosaic decide (26.093158ms)
✔ any key but y or Y at the question answers No; nothing is sent (240.102338ms)
✔ below 40x10 the question is hidden, so every key answers it No, y included (Filbert R3) (82.118908ms)
✔ under 40 columns a tall terminal shows the too-small screen even where the decide box would fit; y sends nothing (Filbert N10) (300.553917ms)
✔ a hidden decide box names the way out, and the status line under it does not promise y (Filbert N12) (39.00805ms)
✔ a throw while answering the question goes to crash, sends nothing and leaves no job pending (25.873787ms)
✔ type-ahead never answers the question: a paste, keys typed before it is drawn, keys inside askMs (420.085983ms)
✔ quitting at the question answers No and sends nothing, armed or not (41.123021ms)
✔ a timer tick reads nothing under an overlay, never answers the question, and keeps a resolved status (34.803698ms)
✔ a long question is cut inside the question; the action, target, choice and prompt stay (Dewey B1) (51.229868ms)
✔ a decide box too big for the terminal says so, and every key answers it No, y included (Dewey B1, round 3) (323.780942ms)
✔ at every size the decide box shows each line y depends on, or says it is hidden (8904.284861ms)
✔ outcome unknown: the CLI's sentence, no retry, then the trail or a re-read (81.601431ms)
✔ refused and failed reads keep the last list, marked stale; a refused decide says refused (43.391107ms)
✔ help or a detail box cut to fit keeps its last line, Esc included (Dewey) (23.34607ms)
✔ keys: views, moving, trail of a selection, the command line, help and quit (112.096983ms)
✔ one option: the status line says Press 1, not 1-1 (30.684776ms)
✔ no business: the app says so and :business picks one (16.471692ms)
✔ mosaic with no argument: exit 3 in an agent run, exit 4 with the usage off a terminal, the app on one (2.33531ms)
✔ scripts/mosaic with no argument reaches the app entry; the seat usage it printed before has not drifted (256.7972ms)
✔ strings to keep exactly live once, in the decide flow and the transport; the app does not restate them (0.474305ms)
✔ decide with --note still asks; a No sends nothing (16.390037ms)
✔ the app's business comes from a live bus host only (1.067195ms)
✔ runApp leaves the terminal as it found it on q, end of input, SIGTERM, SIGINT, SIGHUP and an error, the first frame's included (9.300013ms)
✔ draw is pure: same state, same frame (0.832206ms)
ℹ tests 30
ℹ suites 0
ℹ pass 30
ℹ fail 0
ℹ cancelled 0
ℹ skipped 0
ℹ todo 0
ℹ duration_ms 12998.139292
@@ -0,0 +1,2 @@
{"utc": "2026-10-24T21:32:12.801+00:00", "load1": "2.80"}
{"utc": "2026-10-24T21:32:13.801+00:00", "load1": "2.80"}
@@ -0,0 +1,15 @@
command: ["timeout", "-k", "10", "1800", "node", "--test", "/home/jwoltje/.t3/worktrees/mosaic-stack/magica-row329/packages/cli/tests/boot-status.test.mjs"]
TMPDIR: /mnt/storage/scratch/tmp/6FraTr
begin: {"utc": "2026-10-24T21:32:12.800+00:00", "load1": "2.80"}
launch nice: 19
✔ recordBootRefused keeps the last good load across refusals; recordBootOk clears the refusal (3.133345ms)
✔ an unknown key and a JSON syntax error each leave the bus down with the reason and path in the status (704.520106ms)
✔ a missing file is recorded too, and a valid file clears the status on the next start (494.63809ms)
ℹ tests 3
ℹ suites 0
ℹ pass 3
ℹ fail 0
ℹ cancelled 0
ℹ skipped 0
ℹ todo 0
ℹ duration_ms 1315.733167
@@ -0,0 +1,248 @@
{"utc": "2026-10-24T21:32:14.150+00:00", "load1": "2.80"}
{"utc": "2026-10-24T21:32:15.150+00:00", "load1": "2.80"}
{"utc": "2026-10-24T21:32:16.151+00:00", "load1": "2.89"}
{"utc": "2026-10-24T21:32:17.151+00:00", "load1": "2.89"}
{"utc": "2026-10-24T21:32:18.151+00:00", "load1": "2.89"}
{"utc": "2026-10-24T21:32:19.151+00:00", "load1": "2.89"}
{"utc": "2026-10-24T21:32:20.152+00:00", "load1": "2.89"}
{"utc": "2026-10-24T21:32:21.152+00:00", "load1": "2.74"}
{"utc": "2026-10-24T21:32:22.152+00:00", "load1": "2.74"}
{"utc": "2026-10-24T21:32:23.153+00:00", "load1": "2.74"}
{"utc": "2026-10-24T21:32:24.153+00:00", "load1": "2.74"}
{"utc": "2026-10-24T21:32:25.153+00:00", "load1": "2.74"}
{"utc": "2026-10-24T21:32:26.153+00:00", "load1": "3.32"}
{"utc": "2026-10-24T21:32:27.154+00:00", "load1": "3.32"}
{"utc": "2026-10-24T21:32:28.154+00:00", "load1": "3.32"}
{"utc": "2026-10-24T21:32:29.154+00:00", "load1": "3.32"}
{"utc": "2026-10-24T21:32:30.154+00:00", "load1": "3.32"}
{"utc": "2026-10-24T21:32:31.155+00:00", "load1": "3.54"}
{"utc": "2026-10-24T21:32:32.155+00:00", "load1": "3.54"}
{"utc": "2026-10-24T21:32:33.156+00:00", "load1": "3.54"}
{"utc": "2026-10-24T21:32:34.156+00:00", "load1": "3.54"}
{"utc": "2026-10-24T21:32:35.156+00:00", "load1": "3.54"}
{"utc": "2026-10-24T21:32:36.156+00:00", "load1": "3.42"}
{"utc": "2026-10-24T21:32:37.157+00:00", "load1": "3.42"}
{"utc": "2026-10-24T21:32:38.157+00:00", "load1": "3.42"}
{"utc": "2026-10-24T21:32:39.157+00:00", "load1": "3.42"}
{"utc": "2026-10-24T21:32:40.158+00:00", "load1": "3.42"}
{"utc": "2026-10-24T21:32:41.158+00:00", "load1": "3.54"}
{"utc": "2026-10-24T21:32:42.158+00:00", "load1": "3.54"}
{"utc": "2026-10-24T21:32:43.158+00:00", "load1": "3.54"}
{"utc": "2026-10-24T21:32:44.159+00:00", "load1": "3.54"}
{"utc": "2026-10-24T21:32:45.159+00:00", "load1": "3.54"}
{"utc": "2026-10-24T21:32:46.159+00:00", "load1": "3.58"}
{"utc": "2026-10-24T21:32:47.159+00:00", "load1": "3.58"}
{"utc": "2026-10-24T21:32:48.160+00:00", "load1": "3.58"}
{"utc": "2026-10-24T21:32:49.160+00:00", "load1": "3.58"}
{"utc": "2026-10-24T21:32:50.160+00:00", "load1": "3.58"}
{"utc": "2026-10-24T21:32:51.161+00:00", "load1": "3.45"}
{"utc": "2026-10-24T21:32:52.161+00:00", "load1": "3.45"}
{"utc": "2026-10-24T21:32:53.161+00:00", "load1": "3.45"}
{"utc": "2026-10-24T21:32:54.161+00:00", "load1": "3.45"}
{"utc": "2026-10-24T21:32:55.162+00:00", "load1": "3.45"}
{"utc": "2026-10-24T21:32:56.162+00:00", "load1": "3.50"}
{"utc": "2026-10-24T21:32:57.162+00:00", "load1": "3.50"}
{"utc": "2026-10-24T21:32:58.162+00:00", "load1": "3.50"}
{"utc": "2026-10-24T21:32:59.163+00:00", "load1": "3.50"}
{"utc": "2026-10-24T21:33:00.163+00:00", "load1": "3.50"}
{"utc": "2026-10-24T21:33:01.163+00:00", "load1": "3.30"}
{"utc": "2026-10-24T21:33:02.164+00:00", "load1": "3.30"}
{"utc": "2026-10-24T21:33:03.164+00:00", "load1": "3.30"}
{"utc": "2026-10-24T21:33:04.164+00:00", "load1": "3.30"}
{"utc": "2026-10-24T21:33:05.164+00:00", "load1": "3.30"}
{"utc": "2026-10-24T21:33:06.165+00:00", "load1": "3.03"}
{"utc": "2026-10-24T21:33:07.165+00:00", "load1": "3.03"}
{"utc": "2026-10-24T21:33:08.165+00:00", "load1": "3.03"}
{"utc": "2026-10-24T21:33:09.166+00:00", "load1": "3.03"}
{"utc": "2026-10-24T21:33:10.166+00:00", "load1": "3.03"}
{"utc": "2026-10-24T21:33:11.166+00:00", "load1": "2.87"}
{"utc": "2026-10-24T21:33:12.167+00:00", "load1": "2.87"}
{"utc": "2026-10-24T21:33:13.167+00:00", "load1": "2.87"}
{"utc": "2026-10-24T21:33:14.167+00:00", "load1": "2.87"}
{"utc": "2026-10-24T21:33:15.167+00:00", "load1": "2.87"}
{"utc": "2026-10-24T21:33:16.168+00:00", "load1": "2.72"}
{"utc": "2026-10-24T21:33:17.168+00:00", "load1": "2.72"}
{"utc": "2026-10-24T21:33:18.168+00:00", "load1": "2.72"}
{"utc": "2026-10-24T21:33:19.169+00:00", "load1": "2.72"}
{"utc": "2026-10-24T21:33:20.169+00:00", "load1": "2.72"}
{"utc": "2026-10-24T21:33:21.169+00:00", "load1": "2.50"}
{"utc": "2026-10-24T21:33:22.169+00:00", "load1": "2.50"}
{"utc": "2026-10-24T21:33:23.170+00:00", "load1": "2.50"}
{"utc": "2026-10-24T21:33:24.170+00:00", "load1": "2.50"}
{"utc": "2026-10-24T21:33:25.170+00:00", "load1": "2.50"}
{"utc": "2026-10-24T21:33:26.170+00:00", "load1": "2.70"}
{"utc": "2026-10-24T21:33:27.171+00:00", "load1": "2.70"}
{"utc": "2026-10-24T21:33:28.171+00:00", "load1": "2.70"}
{"utc": "2026-10-24T21:33:29.171+00:00", "load1": "2.70"}
{"utc": "2026-10-24T21:33:30.172+00:00", "load1": "2.70"}
{"utc": "2026-10-24T21:33:31.172+00:00", "load1": "2.48"}
{"utc": "2026-10-24T21:33:32.172+00:00", "load1": "2.48"}
{"utc": "2026-10-24T21:33:33.172+00:00", "load1": "2.48"}
{"utc": "2026-10-24T21:33:34.173+00:00", "load1": "2.48"}
{"utc": "2026-10-24T21:33:35.173+00:00", "load1": "2.48"}
{"utc": "2026-10-24T21:33:36.173+00:00", "load1": "2.45"}
{"utc": "2026-10-24T21:33:37.174+00:00", "load1": "2.45"}
{"utc": "2026-10-24T21:33:38.174+00:00", "load1": "2.45"}
{"utc": "2026-10-24T21:33:39.174+00:00", "load1": "2.45"}
{"utc": "2026-10-24T21:33:40.174+00:00", "load1": "2.45"}
{"utc": "2026-10-24T21:33:41.175+00:00", "load1": "2.25"}
{"utc": "2026-10-24T21:33:42.175+00:00", "load1": "2.25"}
{"utc": "2026-10-24T21:33:43.175+00:00", "load1": "2.25"}
{"utc": "2026-10-24T21:33:44.176+00:00", "load1": "2.25"}
{"utc": "2026-10-24T21:33:45.176+00:00", "load1": "2.25"}
{"utc": "2026-10-24T21:33:46.176+00:00", "load1": "2.47"}
{"utc": "2026-10-24T21:33:47.177+00:00", "load1": "2.47"}
{"utc": "2026-10-24T21:33:48.177+00:00", "load1": "2.47"}
{"utc": "2026-10-24T21:33:49.177+00:00", "load1": "2.47"}
{"utc": "2026-10-24T21:33:50.177+00:00", "load1": "2.47"}
{"utc": "2026-10-24T21:33:51.178+00:00", "load1": "2.43"}
{"utc": "2026-10-24T21:33:52.178+00:00", "load1": "2.43"}
{"utc": "2026-10-24T21:33:53.178+00:00", "load1": "2.43"}
{"utc": "2026-10-24T21:33:54.178+00:00", "load1": "2.43"}
{"utc": "2026-10-24T21:33:55.179+00:00", "load1": "2.43"}
{"utc": "2026-10-24T21:33:56.179+00:00", "load1": "2.56"}
{"utc": "2026-10-24T21:33:57.179+00:00", "load1": "2.56"}
{"utc": "2026-10-24T21:33:58.180+00:00", "load1": "2.56"}
{"utc": "2026-10-24T21:33:59.180+00:00", "load1": "2.56"}
{"utc": "2026-10-24T21:34:00.180+00:00", "load1": "2.56"}
{"utc": "2026-10-24T21:34:01.181+00:00", "load1": "2.59"}
{"utc": "2026-10-24T21:34:02.181+00:00", "load1": "2.59"}
{"utc": "2026-10-24T21:34:03.181+00:00", "load1": "2.59"}
{"utc": "2026-10-24T21:34:04.181+00:00", "load1": "2.59"}
{"utc": "2026-10-24T21:34:05.182+00:00", "load1": "2.59"}
{"utc": "2026-10-24T21:34:06.182+00:00", "load1": "2.63"}
{"utc": "2026-10-24T21:34:07.182+00:00", "load1": "2.63"}
{"utc": "2026-10-24T21:34:08.183+00:00", "load1": "2.63"}
{"utc": "2026-10-24T21:34:09.183+00:00", "load1": "2.63"}
{"utc": "2026-10-24T21:34:10.183+00:00", "load1": "2.63"}
{"utc": "2026-10-24T21:34:11.183+00:00", "load1": "2.58"}
{"utc": "2026-10-24T21:34:12.184+00:00", "load1": "2.58"}
{"utc": "2026-10-24T21:34:13.184+00:00", "load1": "2.58"}
{"utc": "2026-10-24T21:34:14.184+00:00", "load1": "2.58"}
{"utc": "2026-10-24T21:34:15.185+00:00", "load1": "2.58"}
{"utc": "2026-10-24T21:34:16.185+00:00", "load1": "2.69"}
{"utc": "2026-10-24T21:34:17.185+00:00", "load1": "2.69"}
{"utc": "2026-10-24T21:34:18.185+00:00", "load1": "2.69"}
{"utc": "2026-10-24T21:34:19.186+00:00", "load1": "2.69"}
{"utc": "2026-10-24T21:34:20.186+00:00", "load1": "2.69"}
{"utc": "2026-10-24T21:34:21.186+00:00", "load1": "2.72"}
{"utc": "2026-10-24T21:34:22.186+00:00", "load1": "2.72"}
{"utc": "2026-10-24T21:34:23.187+00:00", "load1": "2.72"}
{"utc": "2026-10-24T21:34:24.187+00:00", "load1": "2.72"}
{"utc": "2026-10-24T21:34:25.187+00:00", "load1": "2.72"}
{"utc": "2026-10-24T21:34:26.188+00:00", "load1": "2.58"}
{"utc": "2026-10-24T21:34:27.188+00:00", "load1": "2.58"}
{"utc": "2026-10-24T21:34:28.188+00:00", "load1": "2.58"}
{"utc": "2026-10-24T21:34:29.188+00:00", "load1": "2.58"}
{"utc": "2026-10-24T21:34:30.189+00:00", "load1": "2.58"}
{"utc": "2026-10-24T21:34:31.189+00:00", "load1": "2.45"}
{"utc": "2026-10-24T21:34:32.189+00:00", "load1": "2.45"}
{"utc": "2026-10-24T21:34:33.189+00:00", "load1": "2.45"}
{"utc": "2026-10-24T21:34:34.190+00:00", "load1": "2.45"}
{"utc": "2026-10-24T21:34:35.190+00:00", "load1": "2.45"}
{"utc": "2026-10-24T21:34:36.190+00:00", "load1": "2.41"}
{"utc": "2026-10-24T21:34:37.191+00:00", "load1": "2.41"}
{"utc": "2026-10-24T21:34:38.191+00:00", "load1": "2.41"}
{"utc": "2026-10-24T21:34:39.191+00:00", "load1": "2.41"}
{"utc": "2026-10-24T21:34:40.191+00:00", "load1": "2.41"}
{"utc": "2026-10-24T21:34:41.192+00:00", "load1": "2.54"}
{"utc": "2026-10-24T21:34:42.192+00:00", "load1": "2.54"}
{"utc": "2026-10-24T21:34:43.192+00:00", "load1": "2.54"}
{"utc": "2026-10-24T21:34:44.193+00:00", "load1": "2.54"}
{"utc": "2026-10-24T21:34:45.193+00:00", "load1": "2.54"}
{"utc": "2026-10-24T21:34:46.193+00:00", "load1": "2.42"}
{"utc": "2026-10-24T21:34:47.193+00:00", "load1": "2.42"}
{"utc": "2026-10-24T21:34:48.194+00:00", "load1": "2.42"}
{"utc": "2026-10-24T21:34:49.194+00:00", "load1": "2.42"}
{"utc": "2026-10-24T21:34:50.194+00:00", "load1": "2.42"}
{"utc": "2026-10-24T21:34:51.195+00:00", "load1": "2.30"}
{"utc": "2026-10-24T21:34:52.195+00:00", "load1": "2.30"}
{"utc": "2026-10-24T21:34:53.195+00:00", "load1": "2.30"}
{"utc": "2026-10-24T21:34:54.195+00:00", "load1": "2.30"}
{"utc": "2026-10-24T21:34:55.196+00:00", "load1": "2.30"}
{"utc": "2026-10-24T21:34:56.196+00:00", "load1": "2.36"}
{"utc": "2026-10-24T21:34:57.196+00:00", "load1": "2.36"}
{"utc": "2026-10-24T21:34:58.196+00:00", "load1": "2.36"}
{"utc": "2026-10-24T21:34:59.197+00:00", "load1": "2.36"}
{"utc": "2026-10-24T21:35:00.197+00:00", "load1": "2.36"}
{"utc": "2026-10-24T21:35:01.197+00:00", "load1": "2.33"}
{"utc": "2026-10-24T21:35:02.197+00:00", "load1": "2.33"}
{"utc": "2026-10-24T21:35:03.198+00:00", "load1": "2.33"}
{"utc": "2026-10-24T21:35:04.198+00:00", "load1": "2.33"}
{"utc": "2026-10-24T21:35:05.198+00:00", "load1": "2.33"}
{"utc": "2026-10-24T21:35:06.199+00:00", "load1": "2.55"}
{"utc": "2026-10-24T21:35:07.199+00:00", "load1": "2.55"}
{"utc": "2026-10-24T21:35:08.199+00:00", "load1": "2.55"}
{"utc": "2026-10-24T21:35:09.200+00:00", "load1": "2.55"}
{"utc": "2026-10-24T21:35:10.200+00:00", "load1": "2.55"}
{"utc": "2026-10-24T21:35:11.200+00:00", "load1": "2.58"}
{"utc": "2026-10-24T21:35:12.200+00:00", "load1": "2.58"}
{"utc": "2026-10-24T21:35:13.201+00:00", "load1": "2.58"}
{"utc": "2026-10-24T21:35:14.201+00:00", "load1": "2.58"}
{"utc": "2026-10-24T21:35:15.201+00:00", "load1": "2.58"}
{"utc": "2026-10-24T21:35:16.202+00:00", "load1": "2.62"}
{"utc": "2026-10-24T21:35:17.202+00:00", "load1": "2.62"}
{"utc": "2026-10-24T21:35:18.202+00:00", "load1": "2.62"}
{"utc": "2026-10-24T21:35:19.202+00:00", "load1": "2.62"}
{"utc": "2026-10-24T21:35:20.203+00:00", "load1": "2.62"}
{"utc": "2026-10-24T21:35:21.203+00:00", "load1": "2.49"}
{"utc": "2026-10-24T21:35:22.203+00:00", "load1": "2.49"}
{"utc": "2026-10-24T21:35:23.203+00:00", "load1": "2.49"}
{"utc": "2026-10-24T21:35:24.204+00:00", "load1": "2.49"}
{"utc": "2026-10-24T21:35:25.204+00:00", "load1": "2.49"}
{"utc": "2026-10-24T21:35:26.204+00:00", "load1": "2.45"}
{"utc": "2026-10-24T21:35:27.205+00:00", "load1": "2.45"}
{"utc": "2026-10-24T21:35:28.205+00:00", "load1": "2.45"}
{"utc": "2026-10-24T21:35:29.205+00:00", "load1": "2.45"}
{"utc": "2026-10-24T21:35:30.205+00:00", "load1": "2.45"}
{"utc": "2026-10-24T21:35:31.206+00:00", "load1": "2.33"}
{"utc": "2026-10-24T21:35:32.206+00:00", "load1": "2.33"}
{"utc": "2026-10-24T21:35:33.206+00:00", "load1": "2.33"}
{"utc": "2026-10-24T21:35:34.207+00:00", "load1": "2.33"}
{"utc": "2026-10-24T21:35:35.207+00:00", "load1": "2.33"}
{"utc": "2026-10-24T21:35:36.207+00:00", "load1": "2.38"}
{"utc": "2026-10-24T21:35:37.207+00:00", "load1": "2.38"}
{"utc": "2026-10-24T21:35:38.208+00:00", "load1": "2.38"}
{"utc": "2026-10-24T21:35:39.208+00:00", "load1": "2.38"}
{"utc": "2026-10-24T21:35:40.208+00:00", "load1": "2.38"}
{"utc": "2026-10-24T21:35:41.208+00:00", "load1": "2.51"}
{"utc": "2026-10-24T21:35:42.209+00:00", "load1": "2.51"}
{"utc": "2026-10-24T21:35:43.209+00:00", "load1": "2.51"}
{"utc": "2026-10-24T21:35:44.209+00:00", "load1": "2.51"}
{"utc": "2026-10-24T21:35:45.210+00:00", "load1": "2.51"}
{"utc": "2026-10-24T21:35:46.210+00:00", "load1": "2.55"}
{"utc": "2026-10-24T21:35:47.210+00:00", "load1": "2.55"}
{"utc": "2026-10-24T21:35:48.210+00:00", "load1": "2.55"}
{"utc": "2026-10-24T21:35:49.211+00:00", "load1": "2.55"}
{"utc": "2026-10-24T21:35:50.211+00:00", "load1": "2.55"}
{"utc": "2026-10-24T21:35:51.211+00:00", "load1": "2.43"}
{"utc": "2026-10-24T21:35:52.211+00:00", "load1": "2.43"}
{"utc": "2026-10-24T21:35:53.212+00:00", "load1": "2.43"}
{"utc": "2026-10-24T21:35:54.212+00:00", "load1": "2.43"}
{"utc": "2026-10-24T21:35:55.212+00:00", "load1": "2.43"}
{"utc": "2026-10-24T21:35:56.213+00:00", "load1": "2.63"}
{"utc": "2026-10-24T21:35:57.213+00:00", "load1": "2.63"}
{"utc": "2026-10-24T21:35:58.213+00:00", "load1": "2.63"}
{"utc": "2026-10-24T21:35:59.213+00:00", "load1": "2.63"}
{"utc": "2026-10-24T21:36:00.214+00:00", "load1": "2.63"}
{"utc": "2026-10-24T21:36:01.214+00:00", "load1": "2.74"}
{"utc": "2026-10-24T21:36:02.214+00:00", "load1": "2.74"}
{"utc": "2026-10-24T21:36:03.214+00:00", "load1": "2.74"}
{"utc": "2026-10-24T21:36:04.215+00:00", "load1": "2.74"}
{"utc": "2026-10-24T21:36:05.215+00:00", "load1": "2.74"}
{"utc": "2026-10-24T21:36:06.215+00:00", "load1": "2.68"}
{"utc": "2026-10-24T21:36:07.215+00:00", "load1": "2.68"}
{"utc": "2026-10-24T21:36:08.216+00:00", "load1": "2.68"}
{"utc": "2026-10-24T21:36:09.216+00:00", "load1": "2.68"}
{"utc": "2026-10-24T21:36:10.216+00:00", "load1": "2.68"}
{"utc": "2026-10-24T21:36:11.216+00:00", "load1": "2.71"}
{"utc": "2026-10-24T21:36:12.217+00:00", "load1": "2.71"}
{"utc": "2026-10-24T21:36:13.217+00:00", "load1": "2.71"}
{"utc": "2026-10-24T21:36:14.217+00:00", "load1": "2.71"}
{"utc": "2026-10-24T21:36:15.217+00:00", "load1": "2.71"}
{"utc": "2026-10-24T21:36:16.218+00:00", "load1": "2.57"}
{"utc": "2026-10-24T21:36:17.218+00:00", "load1": "2.57"}
{"utc": "2026-10-24T21:36:18.218+00:00", "load1": "2.57"}
{"utc": "2026-10-24T21:36:19.218+00:00", "load1": "2.57"}
{"utc": "2026-10-24T21:36:20.219+00:00", "load1": "2.57"}
{"utc": "2026-10-24T21:36:21.219+00:00", "load1": "2.61"}
@@ -0,0 +1,69 @@
command: ["timeout", "-k", "10", "1800", "node", "--test", "/home/jwoltje/.t3/worktrees/mosaic-stack/magica-row329/packages/cli/tests/case1-accept.test.mjs"]
TMPDIR: /mnt/storage/scratch/tmp/4hkmqC
begin: {"utc": "2026-10-24T21:32:14.150+00:00", "load1": "2.80"}
launch nice: 19
✔ row253 socket observation uses configured root, metadata and the Console peer without sending bytes (1960.356704ms)
✔ row253 P10 refuses unsafe metadata, wrong peers and an unsafe Python without claiming closure (31523.168546ms)
✔ row253 acceptance rejects bad config and unsupported copies before talk (1608.957115ms)
✔ row253 stalled peer observation ends within its bound without leaving a reader (4091.038228ms)
✔ row253 P8 refuses both retired TCP and board listeners (4091.75545ms)
✔ row253 C4 acceptance query inner reason holds under both sudo models (10728.245166ms)
✔ row253 C4 acceptance query outer reason discards stdout and names residual cleanup (14184.707703ms)
✔ row253 C4 acceptance query overflow is output-limit in both models (493.199949ms)
✔ row299 P10 timing copy preserves shipped bytes and isolates observer variables (0.80358ms)
✔ row299 P10 observers preserve stdout stderr status and the EXIT trap (3.241033ms)
✔ row299 P10 observer records are complete and ordered (0.504478ms)
✔ row253 C4 P10 inner reason holds under both sudo models (11959.59679ms)
ℹ {"fault":"inner","mode":"exec","baselineSeconds":1.9036348169999984,"faultSeconds":4.010790880999994,"probeSeconds":2.26}
ℹ {"fault":"inner","mode":"hop","baselineSeconds":1.9435518369999918,"faultSeconds":4.031400961999999,"probeSeconds":2.27}
✔ row253 C4 P10 outer reason holds under both sudo models (15931.349562ms)
ℹ {"fault":"outer","mode":"exec","baselineSeconds":1.98829056400001,"faultSeconds":6.028815054999999,"probeSeconds":4}
ℹ {"fault":"outer","mode":"hop","baselineSeconds":2.0725973720000037,"faultSeconds":5.780351015000007,"probeSeconds":4}
✔ row253 C4 P10 overflow reason holds under both sudo models (3932.276708ms)
✔ row 195 accept: every check passing exits 0, with each P mark and counts that match the lines (1928.173192ms)
✔ row 195 accept: exits 1 with each F check failing alone, and its line names it (22366.284111ms)
✔ row 195 accept: F3 fails on exit 0 with no reply line, and its evidence takes talk's error (4114.398413ms)
✔ row 195 accept: F1 fails on a unit that isn't active or isn't User=mosaic (3733.156512ms)
✔ row 195 accept: F2 fails when healthz doesn't answer and when another pid holds the port (4162.352286ms)
✔ row 195 accept: F5 fails on unpriv_bwrap (enforce), on complain and on a trailing space (9123.643619ms)
✔ row 195 accept: F5 fails with no bwrap of mosaic's, and passes on comm alone (4303.746275ms)
✔ row 195 accept: F6 fails on a stub that prints nothing, on a path outside claude-<pin> and on a .. segment (5474.241375ms)
✔ row 195 accept: F7 fails on two live PM launches, one for another business, and no launch.by (5689.107516ms)
✔ row 195 accept: F8 fails on 0640, on another owner and on a symlink, and never prints the credential (5694.505601ms)
✔ row 195 accept: F9 fails on another owner, a group-writable mode and a number for the flag (5645.749568ms)
✔ row 195 accept: F9 won't run --node as root off the pin path or with a writable directory above it (5429.202162ms)
✔ row 195 accept: F11 fails on one *.json under discord/ and passes on an empty directory (3904.643992ms)
✔ row 195 accept: each P check reports unnamed on its fault, and the exit stays 0 (17012.065018ms)
✔ row 195 accept: P2 is unnamed with a supplementary group, and P5 names docker (3843.096445ms)
✔ row 195 accept: P5 is closed with no jarvis account, and P2 with an empty authorized_keys (1889.164737ms)
✔ row 195 accept: P9 is unnamed once for each item missing (9852.59853ms)
✔ row253 accept: P10 fails its observation with another peer; P11 with the unit disabled (3798.554361ms)
✔ row 195 accept: every P check unnamed together still exits 0 (1716.202322ms)
✔ row 195 accept: a bad args file refuses with exit 2 before any check, each for its own reason (107.810303ms)
✔ row 195 accept: usage errors and a run without --root as a user exit 2 (11.260865ms)
✔ row 195 accept: every in-instance call goes through sudo -u mosaic -H env PATH=<node dir>:... (1994.240033ms)
✔ row 195 accept: the host check runs with --check and never --enforce (1906.316952ms)
✔ row276 legacy call inventory pins every production bound and the conversation contract (0.385187ms)
✔ row276 talk legacy inner timeout cleans both sudo models (1706.010988ms)
✔ row276 precheck legacy inner timeout cleans both sudo models (1707.72986ms)
✔ row276 claude-version legacy inner timeout cleans both sudo models (1692.026352ms)
✔ row276 pm-list legacy inner timeout cleans both sudo models (1728.892564ms)
✔ row276 node-version legacy inner timeout cleans both sudo models (1729.708664ms)
✔ row276 legacy streams and display status preserve failures without granting success (2666.06474ms)
✔ row276 trailer grammar cannot make supervisor failure pass (2098.166571ms)
✔ row276 earlier forged trailer and appended zero remain failures (520.211343ms)
✔ row276 precheck outer bound discards success status and fixture cleans residual (2178.89884ms)
✔ row276 case1 capture and legacy tools refuse unsafe system tools (76.621263ms)
✔ row276 stderr retention is bounded and keeps the final diagnostic (265.053132ms)
✔ row276 version and PM checks refuse successful-looking stdout on supervisor failure (16.981773ms)
✔ row276 full acceptance keeps all five healthy calls in both sudo models (3844.210125ms)
✔ row276 vanished pid stat read returns 3 with empty stderr in both scripts (12.994631ms)
✔ row276 legacy stdout snapshot preserves exact bytes on success and command failure (3256.206249ms)
ℹ tests 53
ℹ suites 0
ℹ pass 53
ℹ fail 0
ℹ cancelled 0
ℹ skipped 0
ℹ todo 0
ℹ duration_ms 247834.235231
@@ -0,0 +1,72 @@
{"utc": "2026-10-24T21:36:22.014+00:00", "load1": "2.61"}
{"utc": "2026-10-24T21:36:23.015+00:00", "load1": "2.61"}
{"utc": "2026-10-24T21:36:24.015+00:00", "load1": "2.61"}
{"utc": "2026-10-24T21:36:25.015+00:00", "load1": "2.61"}
{"utc": "2026-10-24T21:36:26.015+00:00", "load1": "2.56"}
{"utc": "2026-10-24T21:36:27.016+00:00", "load1": "2.56"}
{"utc": "2026-10-24T21:36:28.016+00:00", "load1": "2.56"}
{"utc": "2026-10-24T21:36:29.016+00:00", "load1": "2.56"}
{"utc": "2026-10-24T21:36:30.016+00:00", "load1": "2.56"}
{"utc": "2026-10-24T21:36:31.017+00:00", "load1": "2.35"}
{"utc": "2026-10-24T21:36:32.017+00:00", "load1": "2.35"}
{"utc": "2026-10-24T21:36:33.017+00:00", "load1": "2.35"}
{"utc": "2026-10-24T21:36:34.018+00:00", "load1": "2.35"}
{"utc": "2026-10-24T21:36:35.018+00:00", "load1": "2.35"}
{"utc": "2026-10-24T21:36:36.018+00:00", "load1": "2.41"}
{"utc": "2026-10-24T21:36:37.018+00:00", "load1": "2.41"}
{"utc": "2026-10-24T21:36:38.019+00:00", "load1": "2.41"}
{"utc": "2026-10-24T21:36:39.019+00:00", "load1": "2.41"}
{"utc": "2026-10-24T21:36:40.019+00:00", "load1": "2.41"}
{"utc": "2026-10-24T21:36:41.019+00:00", "load1": "2.21"}
{"utc": "2026-10-24T21:36:42.020+00:00", "load1": "2.21"}
{"utc": "2026-10-24T21:36:43.020+00:00", "load1": "2.21"}
{"utc": "2026-10-24T21:36:44.020+00:00", "load1": "2.21"}
{"utc": "2026-10-24T21:36:45.020+00:00", "load1": "2.21"}
{"utc": "2026-10-24T21:36:46.021+00:00", "load1": "2.04"}
{"utc": "2026-10-24T21:36:47.021+00:00", "load1": "2.04"}
{"utc": "2026-10-24T21:36:48.021+00:00", "load1": "2.04"}
{"utc": "2026-10-24T21:36:49.022+00:00", "load1": "2.04"}
{"utc": "2026-10-24T21:36:50.022+00:00", "load1": "2.04"}
{"utc": "2026-10-24T21:36:51.022+00:00", "load1": "1.95"}
{"utc": "2026-10-24T21:36:52.022+00:00", "load1": "1.95"}
{"utc": "2026-10-24T21:36:53.023+00:00", "load1": "1.95"}
{"utc": "2026-10-24T21:36:54.023+00:00", "load1": "1.95"}
{"utc": "2026-10-24T21:36:55.023+00:00", "load1": "1.95"}
{"utc": "2026-10-24T21:36:56.023+00:00", "load1": "1.80"}
{"utc": "2026-10-24T21:36:57.024+00:00", "load1": "1.80"}
{"utc": "2026-10-24T21:36:58.024+00:00", "load1": "1.80"}
{"utc": "2026-10-24T21:36:59.024+00:00", "load1": "1.80"}
{"utc": "2026-10-24T21:37:00.025+00:00", "load1": "1.80"}
{"utc": "2026-10-24T21:37:01.025+00:00", "load1": "1.65"}
{"utc": "2026-10-24T21:37:02.025+00:00", "load1": "1.65"}
{"utc": "2026-10-24T21:37:03.025+00:00", "load1": "1.65"}
{"utc": "2026-10-24T21:37:04.026+00:00", "load1": "1.65"}
{"utc": "2026-10-24T21:37:05.026+00:00", "load1": "1.65"}
{"utc": "2026-10-24T21:37:06.026+00:00", "load1": "1.60"}
{"utc": "2026-10-24T21:37:07.026+00:00", "load1": "1.60"}
{"utc": "2026-10-24T21:37:08.027+00:00", "load1": "1.60"}
{"utc": "2026-10-24T21:37:09.027+00:00", "load1": "1.60"}
{"utc": "2026-10-24T21:37:10.027+00:00", "load1": "1.60"}
{"utc": "2026-10-24T21:37:11.028+00:00", "load1": "1.55"}
{"utc": "2026-10-24T21:37:12.028+00:00", "load1": "1.55"}
{"utc": "2026-10-24T21:37:13.028+00:00", "load1": "1.55"}
{"utc": "2026-10-24T21:37:14.028+00:00", "load1": "1.55"}
{"utc": "2026-10-24T21:37:15.029+00:00", "load1": "1.55"}
{"utc": "2026-10-24T21:37:16.029+00:00", "load1": "1.59"}
{"utc": "2026-10-24T21:37:17.029+00:00", "load1": "1.59"}
{"utc": "2026-10-24T21:37:18.030+00:00", "load1": "1.59"}
{"utc": "2026-10-24T21:37:19.030+00:00", "load1": "1.59"}
{"utc": "2026-10-24T21:37:20.030+00:00", "load1": "1.59"}
{"utc": "2026-10-24T21:37:21.030+00:00", "load1": "1.62"}
{"utc": "2026-10-24T21:37:22.031+00:00", "load1": "1.62"}
{"utc": "2026-10-24T21:37:23.031+00:00", "load1": "1.62"}
{"utc": "2026-10-24T21:37:24.031+00:00", "load1": "1.62"}
{"utc": "2026-10-24T21:37:25.031+00:00", "load1": "1.62"}
{"utc": "2026-10-24T21:37:26.032+00:00", "load1": "1.81"}
{"utc": "2026-10-24T21:37:27.032+00:00", "load1": "1.81"}
{"utc": "2026-10-24T21:37:28.032+00:00", "load1": "1.81"}
{"utc": "2026-10-24T21:37:29.033+00:00", "load1": "1.81"}
{"utc": "2026-10-24T21:37:30.033+00:00", "load1": "1.81"}
{"utc": "2026-10-24T21:37:31.033+00:00", "load1": "1.99"}
{"utc": "2026-10-24T21:37:32.033+00:00", "load1": "1.99"}
{"utc": "2026-10-24T21:37:33.034+00:00", "load1": "1.99"}
@@ -0,0 +1,59 @@
command: ["timeout", "-k", "10", "1800", "node", "--test", "/home/jwoltje/.t3/worktrees/mosaic-stack/magica-row329/packages/cli/tests/case2-unit.test.mjs"]
TMPDIR: /mnt/storage/scratch/tmp/gR7UqU
begin: {"utc": "2026-10-24T21:36:22.014+00:00", "load1": "2.61"}
launch nice: 19
✔ row253 factory socket uses actual config and target-uid query without widening hardening (287.769221ms)
✔ row253 installer refuses unsafe location and query facts before unit writes (2952.033973ms)
✔ row253 query timeout kills its process group and leaves no running child (7049.441396ms)
✔ row253 protected homes refuse before any filesystem access (9.243689ms)
✔ row253 C4 sleep query has exact inner reason and cleans all members (10619.671823ms)
✔ row253 C4 signals query has exact inner reason and cleans all members (10633.185983ms)
✔ row253 C4 member query has exact inner reason and cleans all members (10660.129866ms)
✔ row253 C4 overflow is output-limit in both sudo modes (415.481406ms)
✔ row253 C4 stalled supervisor uses the outer reason and explicit residual cleanup (14139.910506ms)
✔ row253 C4 inline supervisor is byte-identical in both host scripts (0.372799ms)
✔ row253 C4 cleanup budget starts after inventory pass one (35.879883ms)
✔ row253 query reaps its group even when a child closes stdout before the query returns (135.647727ms)
✔ row253 config parser is strict (9.070617ms)
✔ a clean library render writes both units 0644 with the fixed lines, and enables both then starts the bus then the Console (116.979068ms)
✔ PATH starts with the --node directory, for a node outside the default list and for /usr/bin/node (100.651476ms)
✔ a failed bus start refuses with the Console not started (98.302898ms)
✔ the script never links a unit file (0.209818ms)
✔ factory renders --pm once and one MOSAIC_CLAUDE_BIN line, and without them both tokens render empty (571.733629ms)
✔ a re-install over running units says they are still on the old copy and must restart together, never that it started them (430.153701ms)
✔ a re-install to another copy re-renders both units, and an edited installed unit refuses (1012.601903ms)
✔ a template with a namespace, user or system call restriction refuses (267.81373ms)
✔ the bus template's EnvironmentFile line must be there and point at the session env, and the Console template must have none (187.479704ms)
✔ a template holding an unknown token, PermissionsStartOnly or a privileged Exec prefix refuses (144.593982ms)
✔ a symlink at either unit path refuses (171.314939ms)
✔ a --node that is relative, not root-owned or under <home> refuses (20.568809ms)
✔ a re-install with a different --node or different serve flags refuses (476.505695ms)
✔ an installed pair whose units name different copies refuses (251.165921ms)
✔ a copy id that is short, uppercase, holds / or .., or names no directory refuses (28.351371ms)
✔ library refuses a privileged-floor miss, a bad proof pair and every flag outside its set (279.45758ms)
✔ library refuses a proof file not owned by <user>'s uid (16.569874ms)
✔ factory refuses duplicate socket, a missing --port or --business, and each proxy flag (190.376182ms)
✔ row253 factory refuses retired TCP and a value after the socket marker (29.179493ms)
✔ factory refuses a --claude that is relative, not root-owned or under <home>, and a re-install with another --pm or --claude (1216.351215ms)
✔ the precheck passes on a good host and prints free memory, without the key (155.224252ms)
✔ the precheck refuses each failed host check (1376.005723ms)
✔ the precheck refuses a user missing from passwd, a business file that does not load, and a symlinked run root (827.837783ms)
✔ a bwrap that fails refuses and prints the sysctl and where bwrap is (173.444688ms)
✔ an unprivileged port floor at or below the Console's port refuses, and so does a missing Console unit (796.745889ms)
✔ bus.tester: library refuses it on, factory needs it on, and factory refuses a library business (636.054732ms)
✔ the claude check runs only for a claude-code instance, and refuses a claude that appends or answers wrong (1232.205906ms)
✔ the claude check runs the bus unit's MOSAIC_CLAUDE_BIN over claude on PATH (386.51322ms)
✔ the session env file refuses when missing, open to others, a symlink, empty, or emptied by a later line (998.59502ms)
✔ inside a session's sandbox a bind below 1024 fails with EACCES, and a bind on a free high port succeeds (96.393482ms)
✔ Vikunja 614 factory: scoped @anthropic-ai Claude path renders and passes installed read-back (755.560041ms)
✔ Vikunja 614 factory: plain paths still refuse every named unsafe character (92.291991ms)
✔ Vikunja 614 precheck: explicit null and named notifier decisions pass (322.558298ms)
✔ Vikunja 614 precheck: notifier config refuses missing, public, malformed and extra-key decisions (1265.433106ms)
ℹ tests 47
ℹ suites 0
ℹ pass 47
ℹ fail 0
ℹ cancelled 0
ℹ skipped 0
ℹ todo 0
ℹ duration_ms 71797.272786
@@ -0,0 +1 @@
{"utc": "2026-10-24T21:37:33.844+00:00", "load1": "1.99"}
@@ -0,0 +1,14 @@
command: ["timeout", "-k", "10", "1800", "node", "--test", "/home/jwoltje/.t3/worktrees/mosaic-stack/magica-row329/packages/cli/tests/channel-cli.test.mjs"]
TMPDIR: /mnt/storage/scratch/tmp/CVVva9
begin: {"utc": "2026-10-24T21:37:33.844+00:00", "load1": "1.99"}
launch nice: 19
✔ CLI off, absent and other-only channel selections refuse every project/thread flow before any effect (11.900237ms)
✔ CLI enabled project/thread lists dispatch through selection without changing output (1.430684ms)
ℹ tests 2
ℹ suites 0
ℹ pass 2
ℹ fail 0
ℹ cancelled 0
ℹ skipped 0
ℹ todo 0
ℹ duration_ms 145.826507
@@ -0,0 +1 @@
{"utc": "2026-10-24T21:37:34.021+00:00", "load1": "1.99"}
@@ -0,0 +1,24 @@
command: ["timeout", "-k", "10", "1800", "node", "--test", "/home/jwoltje/.t3/worktrees/mosaic-stack/magica-row329/packages/cli/tests/cli.test.mjs"]
TMPDIR: /mnt/storage/scratch/tmp/w29Ytc
begin: {"utc": "2026-10-24T21:37:34.021+00:00", "load1": "1.99"}
launch nice: 19
✔ inbox lists only decisions routed to the human, with what approving authorizes and how to decide (26.130084ms)
✔ decide resolves by id prefix with --yes, and the trail shows it in broker order with the task to follow (19.097415ms)
✔ decide refuses without a terminal or --yes, on an unknown option and on a short reference (15.679428ms)
✔ decide prints a declining choice as declining (15.1631ms)
✔ an unknown outcome is reported once and never resent (13.13373ms)
✔ a decision closed before the answer arrives exits 2 and points at its trail (13.974559ms)
✔ a prefix that matches two open decisions exits 2 and resolves neither (14.135485ms)
✔ without --business a command uses the live host's business, and a stale host.json is not a host (12.56568ms)
✔ every human command refuses inside an agent run before it touches the bus (14.190702ms)
✔ usage errors exit 4; no business and no host is a usage error (13.837284ms)
✔ agents and tasks print through the broker (13.010733ms)
✔ notify.json: missing, loose, malformed and extra keys refuse; a binding or null passes (1.133336ms)
ℹ tests 12
ℹ suites 0
ℹ pass 12
ℹ fail 0
ℹ cancelled 0
ℹ skipped 0
ℹ todo 0
ℹ duration_ms 316.076071
@@ -0,0 +1,15 @@
{"utc": "2026-10-24T21:37:34.368+00:00", "load1": "1.99"}
{"utc": "2026-10-24T21:37:35.368+00:00", "load1": "1.99"}
{"utc": "2026-10-24T21:37:36.368+00:00", "load1": "1.99"}
{"utc": "2026-10-24T21:37:37.369+00:00", "load1": "1.99"}
{"utc": "2026-10-24T21:37:38.369+00:00", "load1": "1.99"}
{"utc": "2026-10-24T21:37:39.369+00:00", "load1": "1.99"}
{"utc": "2026-10-24T21:37:40.369+00:00", "load1": "1.99"}
{"utc": "2026-10-24T21:37:41.370+00:00", "load1": "1.99"}
{"utc": "2026-10-24T21:37:42.370+00:00", "load1": "1.99"}
{"utc": "2026-10-24T21:37:43.370+00:00", "load1": "1.99"}
{"utc": "2026-10-24T21:37:44.370+00:00", "load1": "1.99"}
{"utc": "2026-10-24T21:37:45.371+00:00", "load1": "1.99"}
{"utc": "2026-10-24T21:37:46.371+00:00", "load1": "2.07"}
{"utc": "2026-10-24T21:37:47.371+00:00", "load1": "2.07"}
{"utc": "2026-10-24T21:37:48.372+00:00", "load1": "2.07"}
@@ -0,0 +1,26 @@
command: ["timeout", "-k", "10", "1800", "node", "--test", "/home/jwoltje/.t3/worktrees/mosaic-stack/magica-row329/packages/cli/tests/compactions-launch.test.mjs"]
TMPDIR: /mnt/storage/scratch/tmp/a02guB
begin: {"utc": "2026-10-24T21:37:34.367+00:00", "load1": "1.99"}
launch nice: 19
usage: {"event":"usage-unknown","business":"acme","run":"rded1c04f89fc","instance":"assistant","turn":"59869855-1373-4592-a210-291741bf371a","source":"@none","code":"baseline-unknown"}
usage: {"event":"usage-unknown","business":"acme","run":"r5059dcc0af5f","instance":"assistant","turn":"9aa1cc47-e4a3-48ee-93d1-902e91267b51","source":"@none","code":"baseline-unknown"}
✔ REQ-THREAD-2 T3 a run collects compactions at its start and its end, and the count holds across a resume and a host restart (3008.702661ms)
usage: {"event":"usage-unknown","business":"acme","run":"r8e0dce92d2e1","instance":"assistant","turn":"af796965-7867-4860-b070-ce0f1a32a24d","source":"@none","code":"baseline-unknown"}
usage: {"event":"usage-unknown","business":"acme","run":"rc3a363415a8c","instance":"assistant","turn":"dc211ce5-e2a9-43f1-8856-8c248b21c248","source":"@none","code":"baseline-unknown"}
✔ REQ-THREAD-2 T3 a collection that fails is logged and recorded store-unreadable, and the run ends as one whose collections count (2805.636266ms)
usage: {"event":"usage-unknown","business":"acme","run":"r1a7cb574a62a","instance":"assistant","turn":"7d8ef53b-a9e5-41d1-ad97-3d4698517bd8","source":"@none","code":"baseline-unknown"}
usage: {"event":"usage-unknown","business":"acme","run":"rc90955795474","instance":"assistant","turn":"e3fe9692-bece-46d2-889b-70c2e4d4f61a","source":"@none","code":"baseline-unknown"}
✔ REQ-THREAD-2 T3 the read budget is the system config's compactionReadBytes, and a bad value takes the default (2911.277071ms)
usage: {"event":"usage-unknown","business":"acme","run":"r7e6799438566","instance":"assistant","turn":"b70d0e52-ac78-404f-8aa7-72e9bf570785","source":"@none","code":"baseline-unknown"}
usage: {"event":"usage-unknown","business":"acme","run":"rd2b1761c0eae","instance":"assistant","turn":"fb0c8e91-63d5-467e-ad72-3b716c7d6f6e","source":"@none","code":"baseline-unknown"}
✔ REQ-THREAD-2 T3 the stream cap is the system config's compactionStreams, and a bad value takes the default (2919.605295ms)
usage: {"event":"usage-unknown","business":"acme","run":"rb3d76f04dcc0","instance":"assistant","turn":"8be864a2-afa9-4df6-b9df-4c30411a1b3b","source":"@none","code":"baseline-unknown"}
✔ REQ-THREAD-2 T3 T4 a clear leaves the retired session's count as it was, its successor counts from 0, and a legacy session reads the thread's ledger (2857.129015ms)
ℹ tests 5
ℹ suites 0
ℹ pass 5
ℹ fail 0
ℹ cancelled 0
ℹ skipped 0
ℹ todo 0
ℹ duration_ms 14649.004674
@@ -0,0 +1 @@
{"utc": "2026-10-24T21:37:49.050+00:00", "load1": "2.07"}
@@ -0,0 +1,19 @@
command: ["timeout", "-k", "10", "1800", "node", "--test", "/home/jwoltje/.t3/worktrees/mosaic-stack/magica-row329/packages/cli/tests/config.test.mjs"]
TMPDIR: /mnt/storage/scratch/tmp/AhpJsG
begin: {"utc": "2026-10-24T21:37:49.050+00:00", "load1": "2.07"}
launch nice: 19
✔ bootConfig builds the broker's boot message for one business, with no trackers key when no project names one (37.903912ms)
✔ trackers come from the tracker.* variables of the one project that names a tracker project (56.939287ms)
✔ with two projects, the one that sets tracker.project supplies the tracker and the other is no conflict (31.896299ms)
✔ two projects that each name a tracker project refuse, since the boot shape holds one (38.254474ms)
✔ a business without tracker.baseUrl gets no trackers entry (30.020788ms)
✔ an unknown business and a broken system config refuse with exit 3 (52.889786ms)
✔ Row 252 (Webby N1): every console.sso subject reaches the boot as a console owner, and no sso means no consoleOwners key (31.743894ms)
ℹ tests 7
ℹ suites 0
ℹ pass 7
ℹ fail 0
ℹ cancelled 0
ℹ skipped 0
ℹ todo 0
ℹ duration_ms 384.52979
@@ -0,0 +1 @@
{"utc": "2026-10-24T21:37:49.465+00:00", "load1": "2.07"}
@@ -0,0 +1,17 @@
command: ["timeout", "-k", "10", "1800", "node", "--test", "/home/jwoltje/.t3/worktrees/mosaic-stack/magica-row329/packages/cli/tests/credentials.test.mjs"]
TMPDIR: /mnt/storage/scratch/tmp/QKugz7
begin: {"utc": "2026-10-24T21:37:49.465+00:00", "load1": "2.07"}
launch nice: 19
✔ row 199: issue and rotate send the stdin token once to credentials.issue and print no value (6.272429ms)
✔ row 199: rotate goes ahead on each held state, rotation-due included, and refuses not-issued, revoked and an unknown entry (2.347592ms)
✔ row 199: status, revoke and delete; the tester runs status and revoke only (2.020675ms)
✔ row 210: issue of a host.<id> kind prints public material only (1.162585ms)
✔ row 199: scripts/mosaic sends credentials to packages/cli, not the seat CLI (90.322241ms)
ℹ tests 5
ℹ suites 0
ℹ pass 5
ℹ fail 0
ℹ cancelled 0
ℹ skipped 0
ℹ todo 0
ℹ duration_ms 233.30329
@@ -0,0 +1,4 @@
{"utc": "2026-10-24T21:37:49.731+00:00", "load1": "2.07"}
{"utc": "2026-10-24T21:37:50.732+00:00", "load1": "2.07"}
{"utc": "2026-10-24T21:37:51.732+00:00", "load1": "1.98"}
{"utc": "2026-10-24T21:37:52.732+00:00", "load1": "1.98"}
@@ -0,0 +1,14 @@
command: ["timeout", "-k", "10", "600", "bash", "/home/jwoltje/.t3/worktrees/mosaic-stack/magica-row329/scripts/test-federation-acceptance.sh"]
TMPDIR: /mnt/storage/scratch/tmp/AgdZo8
begin: {"utc": "2026-10-24T21:37:49.731+00:00", "load1": "2.07"}
launch nice: 19
✔ FED R7 scratch two-instance acceptance (3619.624966ms)
ℹ tests 1
ℹ suites 0
ℹ pass 1
ℹ fail 0
ℹ cancelled 0
ℹ skipped 0
ℹ todo 0
ℹ duration_ms 3703.783284
R7 cleanup: no child groups, ports or sockets remain; no units created
@@ -0,0 +1 @@
{"utc": "2026-10-24T21:37:53.730+00:00", "load1": "1.98"}
@@ -0,0 +1,18 @@
command: ["timeout", "-k", "10", "1800", "node", "--test", "/home/jwoltje/.t3/worktrees/mosaic-stack/magica-row329/packages/cli/tests/follow.test.mjs"]
TMPDIR: /mnt/storage/scratch/tmp/LGEnHH
begin: {"utc": "2026-10-24T21:37:53.730+00:00", "load1": "1.98"}
launch nice: 19
✔ follow prints an unsolicited message after plain talk returned (34.022105ms)
✔ talk --follow continues after reply and prints a later unsolicited message (31.471249ms)
✔ inbox lists all unread human messages under decisions, does not deliver or read them (286.892998ms)
✔ follow refuses agent context and bad arguments (13.818714ms)
✔ follow Ctrl-C wakes the poll sleep and removes its handler; transport errors also clean up (13.053576ms)
✔ plain talk leaves the process SIGINT handlers unchanged (15.230394ms)
ℹ tests 6
ℹ suites 0
ℹ pass 6
ℹ fail 0
ℹ cancelled 0
ℹ skipped 0
ℹ todo 0
ℹ duration_ms 537.013614
@@ -0,0 +1,16 @@
{"utc": "2026-10-24T21:37:54.317+00:00", "load1": "1.98"}
{"utc": "2026-10-24T21:37:55.318+00:00", "load1": "1.98"}
{"utc": "2026-10-24T21:37:56.318+00:00", "load1": "1.91"}
{"utc": "2026-10-24T21:37:57.318+00:00", "load1": "1.91"}
{"utc": "2026-10-24T21:37:58.319+00:00", "load1": "1.91"}
{"utc": "2026-10-24T21:37:59.319+00:00", "load1": "1.91"}
{"utc": "2026-10-24T21:38:00.319+00:00", "load1": "1.91"}
{"utc": "2026-10-24T21:38:01.319+00:00", "load1": "1.91"}
{"utc": "2026-10-24T21:38:02.320+00:00", "load1": "1.91"}
{"utc": "2026-10-24T21:38:03.320+00:00", "load1": "1.91"}
{"utc": "2026-10-24T21:38:04.320+00:00", "load1": "1.91"}
{"utc": "2026-10-24T21:38:05.321+00:00", "load1": "1.91"}
{"utc": "2026-10-24T21:38:06.321+00:00", "load1": "2.32"}
{"utc": "2026-10-24T21:38:07.321+00:00", "load1": "2.32"}
{"utc": "2026-10-24T21:38:08.321+00:00", "load1": "2.32"}
{"utc": "2026-10-24T21:38:09.322+00:00", "load1": "2.32"}
@@ -0,0 +1,36 @@
command: ["timeout", "-k", "10", "1800", "node", "--test", "/home/jwoltje/.t3/worktrees/mosaic-stack/magica-row329/packages/cli/tests/git-socket.test.mjs"]
TMPDIR: /mnt/storage/scratch/tmp/iFrMGb
begin: {"utc": "2026-10-24T21:37:54.317+00:00", "load1": "1.98"}
launch nice: 19
✔ the review loop: the coder pushes and asks, the reviewer fetches and approves, and the task's trail holds each step (948.726025ms)
✔ refusals: no action, non-fast-forward, an unknown commit or request, and a push for another task moves only that task's ref (892.307037ms)
✔ the size cap refuses a push before any byte (260.843152ms)
✔ a fetch over the cap refuses before any byte reaches the reviewer (838.288816ms)
✔ the socket refuses a request with no capability, an unknown one, and a bad request line (343.849524ms)
✔ a rigged clone runs nothing: hooks, fsmonitor, a filter, a gitlink and a symlinked .git/config leave no marker (696.858007ms)
✔ an identity with no role, or of another business, refuses not-a-role and moves no ref (479.392283ms)
✔ a review of a project the business no longer has refuses unknown-project (553.558367ms)
✔ past maxActive connections the socket refuses git-busy, and a hung-up connection frees its slot (233.108448ms)
✔ close() answers host-closing to a connection still sending its request line (231.82802ms)
✔ a bundle that trickles in refuses body-timeout at its deadline and frees its slot (646.038563ms)
✔ a reviewer gone before its bundle was sent is filed fetch-aborted, not as the host's fault (774.916799ms)
✔ a reviewer that hangs up the moment it has the whole bundle was served, not aborted (1632.517351ms)
✔ send: a close after every byte left is served; one that fails a queued write is fetch-aborted (41.781458ms)
✔ a bundle with no bytes for bodyIdle refuses body-timeout long before its deadline (550.86348ms)
✔ send: a close once the loop is past its last chunk is served, and a failed write there is fetch-aborted (45.414425ms)
✔ letGo waits for an answer to leave for at most its cap, then destroys the socket (301.453805ms)
✔ a record that fails and can't be undone refuses rollback-failed, which the host logs (620.475051ms)
✔ land: the squash runs the gate in its own worktree, then main moves and the broker records it (769.144327ms)
✔ land: an arbiter-resolved landing's squash says the arbiter resolved it through the broker (890.64254ms)
✔ land: refusals before the gate answer the role at once and leave main and no worktree (829.029513ms)
✔ land: a failed gate is refused gate-failed with its step, told to the role, and main stays (834.782654ms)
✔ land: a record the broker refuses moves main back, and the landing is refused with the broker's code (826.770095ms)
✔ land: a second landing while one runs refuses land-busy, and close() stops the gate and refuses host-closing (857.551689ms)
ℹ tests 24
ℹ suites 0
ℹ pass 24
ℹ fail 0
ℹ cancelled 0
ℹ skipped 0
ℹ todo 0
ℹ duration_ms 15207.710964
@@ -0,0 +1 @@
{"utc": "2026-10-24T21:38:09.558+00:00", "load1": "2.32"}
@@ -0,0 +1,16 @@
command: ["timeout", "-k", "10", "1800", "node", "--test", "/home/jwoltje/.t3/worktrees/mosaic-stack/magica-row329/packages/cli/tests/grants-scope.test.mjs"]
TMPDIR: /mnt/storage/scratch/tmp/hH0rQA
begin: {"utc": "2026-10-24T21:38:09.558+00:00", "load1": "2.32"}
launch nice: 19
✔ row 298 CLI: scope reads and scope set sends JSON and the observed revision (4.438238ms)
✔ row 298 CLI: every access agent marker refuses scope set before transport (2.370474ms)
✔ row 298 CLI: --tester cannot read or change the scope (0.550906ms)
✔ row 298 CLI: missing revision and empty, invalid or oversized JSON refuse without a call (2.267236ms)
ℹ tests 4
ℹ suites 0
ℹ pass 4
ℹ fail 0
ℹ cancelled 0
ℹ skipped 0
ℹ todo 0
ℹ duration_ms 139.309495
@@ -0,0 +1 @@
{"utc": "2026-10-24T21:38:09.728+00:00", "load1": "2.32"}
@@ -0,0 +1,18 @@
command: ["timeout", "-k", "10", "1800", "node", "--test", "/home/jwoltje/.t3/worktrees/mosaic-stack/magica-row329/packages/cli/tests/grants.test.mjs"]
TMPDIR: /mnt/storage/scratch/tmp/kKFjXU
begin: {"utc": "2026-10-24T21:38:09.727+00:00", "load1": "2.32"}
launch nice: 19
✔ row 236: grants status prints one line per entry, and --json the answer (2.915616ms)
✔ row 236: run, revoke, sweep and admin rotate and remove send their args (0.642198ms)
✔ row 236: admin set sends the stdin token once to grants.admin.set and prints no value (3.572576ms)
✔ row 236: a malformed grants command is a usage error and calls nothing (4.43179ms)
✔ row 236: a bus refusal exits 2 with its code (0.316869ms)
✔ row 236: scripts/mosaic sends grants to packages/cli, not the seat CLI (93.239944ms)
ℹ tests 6
ℹ suites 0
ℹ pass 6
ℹ fail 0
ℹ cancelled 0
ℹ skipped 0
ℹ todo 0
ℹ duration_ms 239.975657
Loaded 100 of 195 files, more files were not shown because too many files have changed in this diff. Show more