Compare commits

...
Author SHA1 Message Date
jason.woltje d9a564e6d2 docs(proxy): record scoped Gladstone PASS and remaining review gates 2026-10-25 02:59:35 -05:00
jason.woltje a45c6c9ce5 docs(proxy): record verified Gladstone first-review handoff 2026-10-25 02:56:37 -05:00
jason.woltje b47ee2c0ef fix(proxy): normalize absent provider GET after regression RED and pinned acceptance 2026-10-25 02:50:29 -05:00
jason.woltje e7438743ff test(proxy): prepare empty-provider 404 regressions before normalization 2026-10-25 02:39:25 -05:00
jason.woltje c93df1608a docs(proxy): record empty-provider 404 and scoped normalization proposal 2026-10-25 02:34:33 -05:00
jason.woltje f2986b9ead diagnostic(proxy): retain safe HTTP status on empty-provider errors 2026-10-25 01:48:06 -05:00
jason.woltje 3df440d076 diagnostic(proxy): inspect empty provider response types and counts only 2026-10-25 01:47:31 -05:00
jason.woltje 1aac8bcd7a docs(proxy): record focused passes and initial account refusal 2026-10-25 01:42:58 -05:00
jason.woltje 69811540ce fix(proxy): give offline broker Store its existing fixture data root 2026-10-25 01:16:36 -05:00
jason.woltje 9e94575c5e docs(proxy): record single staged acceptance reproduction 2026-10-25 01:15:05 -05:00
jason.woltje a5251007bd diagnostic(proxy): observe own process scheduling policies 2026-10-25 01:10:05 -05:00
jason.woltje 4a2745a9da diagnostic(proxy): record isolated acceptance stages and observed priorities 2026-10-25 00:45:42 -05:00
jason.woltje 542b970d25 fix(proxy): confirm priority writes and record focused gate boundary 2026-10-25 00:43:07 -05:00
jason.woltje 48c7c3283a test(proxy): prepare focused gate, browser checks and upgrade acceptance 2026-10-24 23:42:42 -05:00
jason.woltje 40dcbabcbb feat(proxy): prepare native Console page candidate and RED evidence 2026-10-24 23:35:17 -05:00
jason.woltje 78b69e1e68 docs: Vikunja 633 (P7 proxy startup refreshes) and 634 (row 284 N1) per mos-1647. DEFERRED entries, BUILD-LOG line, filing receipt. 2026-10-24 19:18:35 -05:00
jason.woltje 48b89db33b docs: row 284 landed ce0b6ed41 (#1789). BUILD-LOG and SESSIONS lines, DEFERRED Webby N1 (library read path). 2026-10-24 19:15:48 -05:00
jason.woltje 7c8dc20335 queue: revs 4065-4072. Row 284 round 2: Della reopen 4065, in-review 4066, request outcome 4067 (Della's); Sage request posted c31653 (4068-4069); Webby approve c31654 (4070, Webby's). Row 284 landed ce0b6ed41: note 4071, done 4072. 2026-10-24 19:15:41 -05:00
jason.woltje ce0b6ed411 row284: record row329 landed-base rebase pending CLEAR 2026-10-24 18:40:35 -05:00
jason.woltje 97cb9a7630 row284: record import-list passes and nine killed mutants 2026-10-24 18:40:23 -05:00
jason.woltje e908f7ffee row284: record stale queue brief pin and exact import example 2026-10-24 18:40:23 -05:00
jason.woltje 92df71a982 row284: record landed-base rebase and import-derived run plan 2026-10-24 18:40:23 -05:00
jason.woltje 0abec5d2e8 row284: cover absent supporting prefix directly (unrun) 2026-10-24 18:40:23 -05:00
jason.woltje 20996ecd66 row284: supporting lookup scope and served blob IDs (unrun) 2026-10-24 18:40:22 -05:00
jason.woltje 78b932feb6 row284: migrate playground get tests under mos-1330 (unrun) 2026-10-24 18:40:22 -05:00
162 changed files with 15603 additions and 51 deletions

No files matched your search

+10
View File
@@ -5583,3 +5583,13 @@ claim. Receipts and limitations in agents/lena/work/queue-296/BUILD.md and run-r
2026-10-24 — Magica row329 R2 (#1827): B1 ASCII-only management key fix verified with complete-tree refusals and positive auth control; package66/66,30bus readers261/261,49CLI readers726/726,config55/55, no required skip/failure. N1 corrects R1 bus total to1019; N3 stale-lock guidance and N4 34-code inventory corrected. Two over-selected file runs are recorded separately, with no F7 inference; cause unknown/Vikunja625. Old502 test/helper files byte-identical, slot returned to Sage. Evidence agents/magica/work/queue-329/BUILD.md.
2026-10-24T23:37:46Z | Sage | Row 329 (#1827, P1 pinned model proxy, Magica) LANDED 61ebf2c34, pushed 23:31:27Z 10-24. Before: refactor at 669cdf42c. After: Magica's 4 commits (94cde633e, c65fb34ee, d1f6f2b19, 61ebf2c34) cherry-picked onto 669cdf42c, diff vs the gated tree limited to drift paths, range-diff in scratch. Gate: one unchanged full landing gate in /mnt/storage/scratch/sage-r329l/wt (gate.sh 8b4978887 c8a9bcf94), started 23:08:12Z at load 14.35, GATE GREEN 23:29:14Z at load 8.67, no rerun, no test or timeout edit (mos-1634). Host note: two Codex workers cleaned T3 worktrees from about 23:14Z (mos-1639, Vikunja 632). Approvals: Dewey r2 c31643 rev 4047, Boyd r2 c31642 rev 4048. #1827 comment 31650, closed. Vikunja 237 comment 1109 (stays open for P2-P7); C4 P10 red filed as Vikunja 631. Queue: note rev 4063, done rev 4064, committed b24d917ec. DEFERRED: N2 and R2-N1 bound to row 331, N1 bound to P7. Overlap: row 284 (packages/bus/src/broker.mjs) and row 157 (scripts/mosaic-config.mjs) rebase onto 61ebf2c34 before their gates.
2026-10-25T00:15:48Z | Sage | Row 284 (#1789, C2-05c library.get scope, Della) LANDED ce0b6ed41, pushed 00:09:52Z 10-25. Before: refactor at 9e2689dff (row 329 landing docs). After: fast-forward to Della's 7 rebased commits 78b932feb..ce0b6ed41; 8 paths, manifest-r4 de505cfd matches the landed tree. Gate: one unchanged full landing gate in /mnt/storage/scratch/sage-r284l/wt (the 329 gate.sh with D and the compose project renamed), started 23:51:19Z at load 1.62, GATE GREEN 00:09:04Z at load 5.20, no rerun, no test or timeout edit. Counts: bus 1020/0, business 283/0, cli 999 pass 1 allowed skip (FED R7), harness 177/0, library 156/0, seat 218/0, webui 458/0, every scripts/test-*.sh rc 0; queue 34 and task 87/93 skips are the standing ones. Della's whole-file runs on ce0b6ed41: library-lookups 12/0, library-tools 5/0, query 34/0. Approval: Webby round 2 delta c31654 rev 4070 (round 1 rev 4062). Overlap sweep: rows 13, 157, 309, gyro/row310 and fethry/row332-p1 clean. #1789 comment 31655, closed. No Vikunja task for the row. Queue: note rev 4071, done rev 4072, committed 7c8dc2033. DEFERRED: Webby N1 (whole-tree listing per get) bound to the next library read-path row; N2 needs nothing; N3 is this gate.
2026-10-25T00:18:35Z | Sage | Follow-up tasks for mos-1647 item 3 (Q109): Vikunja 633 (P7 cutover, CLIProxyAPI 8.0.42 startup Grok-npm and antigravity version refreshes, from row 332 isolated runs) and 634 (row 284 Webby N1, library get lists the whole tree). DEFERRED gains the 633 entry and the 634 number for row 284 N1. Filing script and receipt in agents/sage/work/vikunja-setup/.
2026-10-24 Poe — row 330 / #1828 start: native Console proxy page and human-only bus verbs per Q250. Before: P1 client/config landed, no native page. Intended evidence: fake-management security/refusal tests, four named mutants, pinned offline upgrade acceptance, Gladstone/Filbert review. Tests remain held pending Sage CLEAR; P2 rebase required before gate. Notes: agents/poe/work/queue-330/BUILD.md.
2026-10-25 Poe — row330 / #1828 focused block: first account RED6pass/4expected; source-only fixes; eight new files88/88 green, no skips. Offline PIN8.0.42 acceptance then exited1 before initial-account checkpoint and reported nice16 despite19 wrapper. Stopped at first unexpected red, returned slot to Sage, no rerun or mutants. Root cause unresolved; no full-gate or landing claim. Evidence: agents/poe/work/queue-330/BUILD.md and green-*.txt / upgrade-8.0.42.txt.
2026-10-25 Poe — row330 focused retry per sage-4446: all8 files88/88 green again; uptime per step retained. After Store fixture correction, offline PIN8.0.42 acceptance reached broker-bound but refused proxy-down at initial-accounts (load5.98/15.98/16.44). Stopped, returned slot, no rerun or mutants. See agents/poe/work/queue-330/block2-* and BUILD.md. No full-gate or completion claim.
2026-10-25 Poe — row330 sage-4469 block: approved fixed GET provider404 normalization after exact RED2fail/9pass; GREEN10whole files99/99, pinned8.0.42 offline acceptance passed (both priority read-backs), four named mutants killed/restored with all controls green. No retries, old assertions or timeout changes. Slot returned. Evidence agents/poe/work/queue-330/404-* and BUILD.md. P2 integration/full global gate/Q246 reviews still pending; no landing claim.
+934
View File
@@ -0,0 +1,934 @@
# Row284 C2-05c — supporting scope and served-tree blob (#1789)
Owner Della; reviewer Dewey; gate Sage. Build start sage-3658/3660 (10-23).
Branch della/row284. Original prerequisite base Honker28346bad7ea3;
merge fc05bcbc3 carries22423816cf28 and2164f3fbc25a intact. Only conflict was
CLI thread-launch's added footer tests: retained both full test bodies and
assertions. No prerequisite code copied. Every prerequisite needs its own
review/mutants/landing under mos1351; rebase after283 lands.
## Execution status
UNTESTED. No Node, node--check, test or mutant run before Sage CLEAR. First
own commit is the authorized old-test migration; the implementation follows.
Sage authorizes an immediate untested push. No queue write or shared-log edit.
224 stays first;284 is critical to Bubba288. T4 for224 is not a CLEAR yet.
## Binding readings
Brief C2-05c at94c33a43c:1737-1789, Q226, sage2918 and mos1330 item3.
get defaults canon; explicit playground/supporting opt-in; mismatch null.
Sort full outgoing/incoming lists supporting, playground, canon before paging,
keep cross-scope links and universe filter. Manuscript stays canon/playground.
No all/array scope, write tool, guard, mapping or creative-name-count change.
## mos-1330 old-test migration (separate commit)
All paths below are packages/library/tests/query.test.mjs. Baseline file at
fc05bcbc3 matches216's file. Source assertions retained; negative calls receive
explicit scope too, so universe isolation cannot pass on default-scope denial.
Call/assertion 348 -> 348:
```js
// OLD
const rin = await get(s, { universe: 'idea', path: 'Drafts/New World/Characters/Rin.md' });
// NEW
const rin = await get(s, { universe: 'idea', path: 'Drafts/New World/Characters/Rin.md', scope: 'playground' });
```
Call/assertion 350 -> 350:
```js
// OLD
assert.equal(await get(s, { universe: 'harbor', path: 'Drafts/New World/Characters/Rin.md' }), null);
// NEW
assert.equal(await get(s, { universe: 'harbor', path: 'Drafts/New World/Characters/Rin.md', scope: 'playground' }), null);
```
Call/assertion 366 -> 366:
```js
// OLD
assert.equal(await get(src(ref, mapping(WITH_BLEND)), { universe: 'blend', path }), null);
// NEW
assert.equal(await get(src(ref, mapping(WITH_BLEND)), { universe: 'blend', path, scope: 'playground' }), null);
```
Call/assertion 367 -> 367:
```js
// OLD
const own = await get(src(ref), { universe: 'harbor', path });
// NEW
const own = await get(src(ref), { universe: 'harbor', path, scope: 'playground' });
```
Assertion 349 retained, OLD == NEW:
```js
assert.equal(rin.scope, 'playground');
```
Assertion 368 retained, OLD == NEW:
```js
assert.equal(own.scope, 'playground');
```
The null assertions at350 and366 are the complete OLD/NEW expressions above:
expectation remains null. Added one separate no-scope playground-get -> null
behavior test. It is unrun and expected to expose old get behavior until the
new scope implementation lands. This migration is authorized by mos1330 under
mos1272; no check removed or weakened. Dewey checks this list in manifest review.
## 283 surface and blob choice
Inspected actual46bad7ea3: optional editor.user is present. reader's parsed
file records and index entries still discard tree oid. In owned query.mjs use
the existing bounded listTree(repo, servedCommit) to obtain exact path oid,
not HEAD and not a user-supplied revision expression. No reader/index edit.
Tradeoff: one additional bounded tree listing per get; latency unmeasured.
Recheck after rebasing to283's actual landing.
## Intended owned paths
query.mjs; broker.mjs lookup branch; tools.mjs lookup schemas/descriptions;
library query.test.mjs/query-fixture.mjs; bus library-lookups.test.mjs;
harness library-tools.test.mjs; this BUILD.md. Other files are prerequisites.
## Gate
Dewey manifest approval, whole library/bus/harness suites and every
scripts/test-*.sh on Sage gate. Before review grep all package tests for enum
pins and canon/playground pairs. Keep shared logs out; send receipts to Sage.
No test or mutant evidence claimed. Manifest/digest follows complete code.
## Implementation head (UNTESTED, sage-3658)
- query scope accepts supporting for find/search/get. get defaults canon,
mismatch null. Manuscript passes a separate two-value scope allowlist.
- get returns blob from listTree(source.repo,index.commit) after scope/universe
filtering. The same index.commit supplies the text; source HEAD is irrelevant.
- Full outgoing and incoming link lists are stably sorted by supporting,
playground,canon before combining/paging. All visible cross-scope links stay;
universe/hybrid visibility still applies. Scope metadata isn't added to links.
- Broker only adds optional scope to library.get's strict fields. No new verbs.
- Typed scope expands find/search/get only; manuscript retains its own two-value
enum. Names/M3 counts remain the row224 six/eight, no write tools added.
- New tests: book/universe/draft supporting find/search/get; defaults/mismatch;
absent supporting prefix; source HEAD advances but each scope's blob equals
served:path; 300 outgoing plus300 incoming links ordered across bounded pages,
retaining cross-scope links and dropping other-universe links; hybrid source
stays canon-only; no all/array scope; manuscript rejects supporting; broker
scope/blob forwarding; typed enums and unchanged names. All unrun.
## Additional old assertion pin (brief Gate)
harness/tests/library-tools.test.mjs:49 at23816cf28 (line49, unchanged in this head):
OLD find scope enum ['canon','playground']; NEW ['canon','playground','supporting'].
This is the exact scope-enum pin the brief directs updating. Existing six/eight
name snapshots and TYPES equality assertion are unchanged. The new manuscript
pin intentionally remains ['canon','playground']. No other two-scope test pin
was found by rg over packages/*/tests at this build's prerequisite merge.
## Proposed mutation evidence (reviewer confirms final set)
All unrun. Require assertion failures with whole-file runs and pristine restore:
M1 remove supporting from query SCOPES -> supporting lookup cases.
M2 drop get's requested-scope comparison -> default/mismatch null cases.
M3 use source HEAD for blob lookup -> served-tree/advanced-HEAD equality case.
M4 remove link rank sort -> multi-page outgoing/incoming expected order.
M5 restrict links to requested scope -> cross-scope link counts/order case.
M6 drop sees() from visible/link filtering -> second-universe/hybrid cases.
M7 allow supporting in manuscript validator -> manuscript refusal case.
M8 omit get scope from broker fields -> real broker supporting get case.
M9 widen typed manuscript enum -> typed-scope separation case.
## Inspection and pending gate
No production imports change in broker/tools, so no new sandbox closure file
or mount. query.mjs is host library code and adds existing reader.listTree;
no new package/export/copy-path file. rg found the one old find scope pin plus
the intentional new manuscript two-scope pin. Whole library/bus/harness and
shell gates remain required. CLI integration/merge context is prerequisite224/
219, not this row's source delta; any changed gate expectation goes to Sage.
Node checks, tests, mutants and elapsed-time evidence remain absent pending
CLEAR. The first test-migration commit and this implementation are distinct.
Sage sweep receipt: Della row284 builds on28346bad7ea3 plus intact224 merge;
mos1330 old-test migration separate, supporting scope/blob implementation and
fixtures authored, completely UNTESTED. No shared-log/queue write or live action.
## Current assertion anchors after implementation imports
The separate migration commit0ed4fbab9 retains its complete OLD/NEW text
above. Adding only the fs/path imports in the implementation shifts anchors:
query.test.mjs:130: `const blendCh2 = await get(src(ref, mapping(WITH_BLEND)), { universe: 'blend', path: 'Book One/Chapters/Chapter 02.md' });`
query.test.mjs:350: `const rin = await get(s, { universe: 'idea', path: 'Drafts/New World/Characters/Rin.md', scope: 'playground' });`
query.test.mjs:351: `assert.equal(rin.scope, 'playground');`
query.test.mjs:352: `assert.equal(await get(s, { universe: 'harbor', path: 'Drafts/New World/Characters/Rin.md', scope: 'playground' }), null);`
query.test.mjs:368: `assert.equal(await get(src(ref, mapping(WITH_BLEND)), { universe: 'blend', path, scope: 'playground' }), null);`
query.test.mjs:369: `const own = await get(src(ref), { universe: 'harbor', path, scope: 'playground' });`
query.test.mjs:370: `assert.equal(own.scope, 'playground');`
No result/null assertion changed; scope arguments carry the explicit opt-in.
## Dewey dewey-0941 static review — round2
Static scope fc05bcbc3..47db04eba CLEAN; not a final verdict or test evidence.
M1-M9 accepted as the final set. Optional M10 not added to this gate.
N2 taken: keep the existing canon-path supporting-scope mismatch assertion,
and ADD get(Book One/Support/Notes/Helper.md,scope:supporting) -> null under
the default mapping with no supporting prefix. The supporting-positive test
already returns this same path under withSupporting, so the added probe
pins the missing-prefix case directly. No assertion removed or weakened;
mos1330's separate migration commit and its retained assertions unchanged.
N1 proposed DEFERRED/follow-up for Sage: retain each tree oid in reader/index
entries so get can return blob without cat-file/whole ls-tree -r -l per page.
Current get's result is pinned correctly, but per-page cost grows with the
library. No performance measurement yet. This optimization needs reader/index
ownership and separate acceptance/performance evidence; do not silently expand
284's manifest or change its served-snapshot contract for it.
No Node, tests, mutants or syntax checks run in this round; hold still applies.
## sage-4281 — rebase onto landed 224/283, 2026-10-24
New worktree /mnt/storage/scratch/della-row284-r2, branch della/row284-r2,
base refactor 95d4991d20a4ef291c824d37c886eaeaa9be7062. Cherry-picked only
284-owned 0ed4fbab9, 47db04eba, 5d587a552. Range-diff: all three equal, no
conflicts. The separate mos-1330 migration remains its own commit. No 216,
224 or 283 prerequisite commits copied. Old della/row284 remains unchanged.
mos-1584 fixture check: new tests add no businessDoc() with a library. The
harness role() uses landed 224's gitea reference for bean; the library-enabled
CLI chief fixture fix is also upstream. New broker test uses the direct
Broker fixture (no businessDoc/bootConfig), not a new validated organization.
No new made-up credential values are introduced in this row; existing short
fixture references are reused, so no new credential reaches 24 characters.
No credential values were inspected or printed. No fixture edit necessary.
No Node, npm, syntax check, service, test, mutant or install run in this worktree.
No canonical node_modules link. Dependency installation remains a separately
cleared local npm ci if needed; tests wait for Sage CLEAR. For future runs use
shell mktemp -d /mnt/storage/scratch/tmp/XXXXXX and per-child absolute nice 19.
Shared logs unchanged; Sage owns landing receipts.
## Import-derived whole-file run plan (mos-1612)
Walked relative static import/re-export edges and literal dynamic imports
transitively, from each packages/*/tests/**/*.test.mjs to changed query.mjs,
broker.mjs, tools.mjs or query-fixture.mjs. This follows source import edges,
not textual mentions. Example CLI/thread-launch -> Broker; CLI/helpers ->
Broker; webui/serve -> webui/bus -> Broker; harness/bundle -> tools.
Evidence generator and per-test import chains are in
/mnt/storage/scratch/della-row284-r2-evidence/import-run-list.py and .json.
The import-derived set has 260 files; union with the brief's whole library,
bus and harness suites adds files that use subprocesses/source reads instead
of direct imports. Excluded case1-accept.test.mjs by sage-4281. Any dynamic
nonliteral loading or external shell gate is not claimed covered by import
tracing; mandatory package suites and Sage's full script gate remain required.
First focused whole files: library/query.test.mjs; bus/library-lookups.test.mjs;
harness/library-tools.test.mjs. Then the full import-derived/mandatory union
below, each file whole (duplicates need not repeat without a change). This
is a proposed run list for Sage's CLEAR, not authorization to run now.
M1-M9 retain Dewey's agreed specification above; no mutant executed.
Whole-file union:
```text
packages/bus/tests/access-revoke.test.mjs
packages/bus/tests/account-migration.test.mjs
packages/bus/tests/address.test.mjs
packages/bus/tests/agents.test.mjs
packages/bus/tests/approval-binding.test.mjs
packages/bus/tests/broker.test.mjs
packages/bus/tests/business.test.mjs
packages/bus/tests/channel-proof.test.mjs
packages/bus/tests/chief-of-staff.test.mjs
packages/bus/tests/citation-availability.test.mjs
packages/bus/tests/citation-guard.test.mjs
packages/bus/tests/citation-runtime.test.mjs
packages/bus/tests/comment-cursors.test.mjs
packages/bus/tests/comment-migration.test.mjs
packages/bus/tests/console-decide.test.mjs
packages/bus/tests/creative.test.mjs
packages/bus/tests/credential-claim.test.mjs
packages/bus/tests/credential-status.test.mjs
packages/bus/tests/credential-store.test.mjs
packages/bus/tests/credential-verbs.test.mjs
packages/bus/tests/credentials.test.mjs
packages/bus/tests/csuite-messaging.test.mjs
packages/bus/tests/daily-quota-runtime.test.mjs
packages/bus/tests/decision-close.test.mjs
packages/bus/tests/decision-route.test.mjs
packages/bus/tests/decisions.test.mjs
packages/bus/tests/end-launch.test.mjs
packages/bus/tests/fire-revokes-grants.test.mjs
packages/bus/tests/gitea-grant-docker.test.mjs
packages/bus/tests/gitea-grant.test.mjs
packages/bus/tests/gitea-migration.test.mjs
packages/bus/tests/grant-enroll.test.mjs
packages/bus/tests/grant-executor.test.mjs
packages/bus/tests/grant-host.test.mjs
packages/bus/tests/grant-migration.test.mjs
packages/bus/tests/grant-scope-runtime.test.mjs
packages/bus/tests/grant-scope.test.mjs
packages/bus/tests/hard-waits.test.mjs
packages/bus/tests/host-run.test.mjs
packages/bus/tests/host-tools.test.mjs
packages/bus/tests/human.test.mjs
packages/bus/tests/instances-verb.test.mjs
packages/bus/tests/interpreter.test.mjs
packages/bus/tests/land.test.mjs
packages/bus/tests/launch-notice.test.mjs
packages/bus/tests/launcher-released.test.mjs
packages/bus/tests/library-credential.test.mjs
packages/bus/tests/library-lookups.test.mjs
packages/bus/tests/library-sync.test.mjs
packages/bus/tests/library.test.mjs
packages/bus/tests/lifecycle-revoke.test.mjs
packages/bus/tests/lifecycle-verbs.test.mjs
packages/bus/tests/limit-checks.test.mjs
packages/bus/tests/limit-stop.test.mjs
packages/bus/tests/limits-runtime.test.mjs
packages/bus/tests/limits.test.mjs
packages/bus/tests/message-citation.test.mjs
packages/bus/tests/message-filter.test.mjs
packages/bus/tests/messages.test.mjs
packages/bus/tests/messaging.test.mjs
packages/bus/tests/name-migration.test.mjs
packages/bus/tests/names.test.mjs
packages/bus/tests/peer-transport.test.mjs
packages/bus/tests/peercred.test.mjs
packages/bus/tests/plugins-verb.test.mjs
packages/bus/tests/principal.test.mjs
packages/bus/tests/process.test.mjs
packages/bus/tests/processing-runtime.test.mjs
packages/bus/tests/processing-timeout.test.mjs
packages/bus/tests/processing-web.test.mjs
packages/bus/tests/processing.test.mjs
packages/bus/tests/project-await.test.mjs
packages/bus/tests/project-files.test.mjs
packages/bus/tests/project-runtime.test.mjs
packages/bus/tests/publish.test.mjs
packages/bus/tests/reload.test.mjs
packages/bus/tests/replies.test.mjs
packages/bus/tests/requirements.test.mjs
packages/bus/tests/review.test.mjs
packages/bus/tests/revoke-window.test.mjs
packages/bus/tests/room-check.test.mjs
packages/bus/tests/rooms.test.mjs
packages/bus/tests/routes-verb.test.mjs
packages/bus/tests/schema.test.mjs
packages/bus/tests/session-clear.test.mjs
packages/bus/tests/session-compactions.test.mjs
packages/bus/tests/sessions.test.mjs
packages/bus/tests/single-use.test.mjs
packages/bus/tests/spec-migration.test.mjs
packages/bus/tests/spec-review.test.mjs
packages/bus/tests/spec-socket.test.mjs
packages/bus/tests/spec.test.mjs
packages/bus/tests/staff-request.test.mjs
packages/bus/tests/state.test.mjs
packages/bus/tests/store.test.mjs
packages/bus/tests/task-page.test.mjs
packages/bus/tests/task-read.test.mjs
packages/bus/tests/tasks.test.mjs
packages/bus/tests/tester-threads.test.mjs
packages/bus/tests/tester-writes.test.mjs
packages/bus/tests/tester.test.mjs
packages/bus/tests/thread-claims.test.mjs
packages/bus/tests/thread-migration.test.mjs
packages/bus/tests/thread-shares.test.mjs
packages/bus/tests/threads.test.mjs
packages/bus/tests/transport.test.mjs
packages/bus/tests/usage-broker.test.mjs
packages/bus/tests/usage-migration.test.mjs
packages/bus/tests/usage-runtime.test.mjs
packages/bus/tests/usage.test.mjs
packages/bus/tests/user-principal.test.mjs
packages/bus/tests/viewer.test.mjs
packages/bus/tests/web.test.mjs
packages/bus/tests/workflow-roles.test.mjs
packages/business/tests/case1-business-file.test.mjs
packages/business/tests/launch-settings.test.mjs
packages/cli/tests/access-boot.test.mjs
packages/cli/tests/access.test.mjs
packages/cli/tests/app.test.mjs
packages/cli/tests/boot-status.test.mjs
packages/cli/tests/case1-hostcheck.test.mjs
packages/cli/tests/case2-install.test.mjs
packages/cli/tests/case2-persona-import.test.mjs
packages/cli/tests/case2-unit.test.mjs
packages/cli/tests/channel-cli.test.mjs
packages/cli/tests/channel-recovery.test.mjs
packages/cli/tests/cli.test.mjs
packages/cli/tests/compactions-launch.test.mjs
packages/cli/tests/config.test.mjs
packages/cli/tests/credentials.test.mjs
packages/cli/tests/federation-acceptance.test.mjs
packages/cli/tests/follow.test.mjs
packages/cli/tests/git-socket.test.mjs
packages/cli/tests/grants-scope.test.mjs
packages/cli/tests/grants.test.mjs
packages/cli/tests/host.test.mjs
packages/cli/tests/hosts.test.mjs
packages/cli/tests/idle-stop-race.test.mjs
packages/cli/tests/instances.test.mjs
packages/cli/tests/launch-account.test.mjs
packages/cli/tests/launch-limit-checks.test.mjs
packages/cli/tests/launch-limits.test.mjs
packages/cli/tests/launch-routes.test.mjs
packages/cli/tests/launcher.test.mjs
packages/cli/tests/lifecycle.test.mjs
packages/cli/tests/limits-tokens.test.mjs
packages/cli/tests/limits.test.mjs
packages/cli/tests/mark-read.test.mjs
packages/cli/tests/names.test.mjs
packages/cli/tests/notifier.test.mjs
packages/cli/tests/optional-tracker.test.mjs
packages/cli/tests/other-tree.test.mjs
packages/cli/tests/processing-cli.test.mjs
packages/cli/tests/project-name-repo.test.mjs
packages/cli/tests/project.test.mjs
packages/cli/tests/publish-socket.test.mjs
packages/cli/tests/reply-limits.test.mjs
packages/cli/tests/revoke-window.test.mjs
packages/cli/tests/session-clear.test.mjs
packages/cli/tests/session-cli.test.mjs
packages/cli/tests/session-launch.test.mjs
packages/cli/tests/stack-copy.test.mjs
packages/cli/tests/stack-instances.test.mjs
packages/cli/tests/tester-http.test.mjs
packages/cli/tests/tester-reads.test.mjs
packages/cli/tests/tester-threads.test.mjs
packages/cli/tests/tester.test.mjs
packages/cli/tests/thread-cli.test.mjs
packages/cli/tests/thread-launch.test.mjs
packages/cli/tests/thread-revoke.test.mjs
packages/cli/tests/trackers-boot.test.mjs
packages/cli/tests/transport.test.mjs
packages/cli/tests/usage.test.mjs
packages/cli/tests/verbs.test.mjs
packages/harness/tests/bundle.test.mjs
packages/harness/tests/citation-runner.test.mjs
packages/harness/tests/claude-gate.test.mjs
packages/harness/tests/claude-session.test.mjs
packages/harness/tests/creative.test.mjs
packages/harness/tests/gate.test.mjs
packages/harness/tests/git-tools.test.mjs
packages/harness/tests/library-tools.test.mjs
packages/harness/tests/mcp-server.test.mjs
packages/harness/tests/pi-session.test.mjs
packages/harness/tests/raise-domain.test.mjs
packages/harness/tests/runner.test.mjs
packages/harness/tests/skills.test.mjs
packages/harness/tests/spec-tools.test.mjs
packages/harness/tests/tools.test.mjs
packages/library/tests/guard.test.mjs
packages/library/tests/index-build.test.mjs
packages/library/tests/links.test.mjs
packages/library/tests/mapping.test.mjs
packages/library/tests/mirror.test.mjs
packages/library/tests/query.test.mjs
packages/library/tests/reader.test.mjs
packages/library/tests/render.test.mjs
packages/library/tests/scope.test.mjs
packages/library/tests/supporting.test.mjs
packages/library/tests/survey.test.mjs
packages/library/tests/sync.test.mjs
packages/processing-control/tests/task.test.mjs
packages/seat/tests/sandbox.test.mjs
packages/seat/tests/session.test.mjs
packages/tasks/tests/adapter.test.mjs
packages/tasks/tests/comment-restart.test.mjs
packages/tasks/tests/fields.test.mjs
packages/tasks/tests/processing.test.mjs
packages/tasks/tests/shapes.test.mjs
packages/tasks/tests/startup.test.mjs
packages/tasks/tests/sync.test.mjs
packages/tasks/tests/tree.test.mjs
packages/tasks/tests/verbs.test.mjs
packages/webui/tests/agents-browser.test.mjs
packages/webui/tests/agents.test.mjs
packages/webui/tests/assistant.test.mjs
packages/webui/tests/board-held.test.mjs
packages/webui/tests/browser-edge.test.mjs
packages/webui/tests/browser.test.mjs
packages/webui/tests/bus-browser.test.mjs
packages/webui/tests/bus.test.mjs
packages/webui/tests/channel-chat.test.mjs
packages/webui/tests/chat-browser.test.mjs
packages/webui/tests/chat-instances.test.mjs
packages/webui/tests/chat-replies-browser.test.mjs
packages/webui/tests/chat-sessions-access.test.mjs
packages/webui/tests/chat.test.mjs
packages/webui/tests/conversation.test.mjs
packages/webui/tests/decide-browser.test.mjs
packages/webui/tests/decide-sso.test.mjs
packages/webui/tests/decision-http.test.mjs
packages/webui/tests/discord.test.mjs
packages/webui/tests/docs-browser.test.mjs
packages/webui/tests/editor-browser.test.mjs
packages/webui/tests/editor.test.mjs
packages/webui/tests/granted-user.test.mjs
packages/webui/tests/history-return-flow.test.mjs
packages/webui/tests/instances-browser.test.mjs
packages/webui/tests/instances.test.mjs
packages/webui/tests/library-cli.test.mjs
packages/webui/tests/library-routes.test.mjs
packages/webui/tests/library-status.test.mjs
packages/webui/tests/limits-browser.test.mjs
packages/webui/tests/limits-route.test.mjs
packages/webui/tests/messages.test.mjs
packages/webui/tests/pinned-copy.test.mjs
packages/webui/tests/preview.test.mjs
packages/webui/tests/processing-browser.test.mjs
packages/webui/tests/processing.test.mjs
packages/webui/tests/project-file.test.mjs
packages/webui/tests/project-name-repo.test.mjs
packages/webui/tests/proof-cli.test.mjs
packages/webui/tests/proof.test.mjs
packages/webui/tests/reads.test.mjs
packages/webui/tests/relaunch.test.mjs
packages/webui/tests/return-flow.test.mjs
packages/webui/tests/room-browser.test.mjs
packages/webui/tests/room-http.test.mjs
packages/webui/tests/routes-browser.test.mjs
packages/webui/tests/routes.test.mjs
packages/webui/tests/send-browser.test.mjs
packages/webui/tests/send.test.mjs
packages/webui/tests/serve.test.mjs
packages/webui/tests/settings-form.test.mjs
packages/webui/tests/settings-write.test.mjs
packages/webui/tests/shell.test.mjs
packages/webui/tests/sso-browser.test.mjs
packages/webui/tests/sso.test.mjs
packages/webui/tests/tester-browser.test.mjs
packages/webui/tests/tester-cli.test.mjs
packages/webui/tests/tester-listener.test.mjs
packages/webui/tests/tester-socket.test.mjs
packages/webui/tests/thread-claims-browser.test.mjs
packages/webui/tests/thread-claims.test.mjs
packages/webui/tests/thread-sharing.test.mjs
packages/webui/tests/usage-browser.test.mjs
packages/webui/tests/usage.test.mjs
packages/webui/tests/user-option-swap.test.mjs
packages/webui/tests/views.test.mjs
```
Queue next on 2026-10-24 names row284 but reports the whole brief differs
from its queue pin and asks the lead to re-pin. Sage-4281 names 5e8a720b and
says the section is unchanged; awaiting lead resolution of the queue pin
before the start move. No queue policy refusal is bypassed.
## sage-4289 lane B — completed verification, 2026-10-24
Current reviewer is Webby under mos-1614 / sage-4284, replacing Dewey.
Dewey's earlier static readings and agreed M1-M9 remain historical evidence.
Row284 claimed in-progress rev4038, op della-284-start-1 after lead re-pin.
Candidate tested: 2f1a6bd93e5fc602c46ee5f770d19adecde5fc11. No code,
fixture or assertion change during verification. Local npm ci used the exact
lockfile, ignore-scripts/no-audit/no-fund, rc0,128 packages; no canonical
node_modules link. Installer receipt and log are in the evidence directory.
Run list sent in full to Sage before starting (della-0058); source is the
import walk documented above, union mandatory package suites,279 whole files.
Three targeted files first, then M1-M9 with byte-exact restore after each,
then remaining276 whole files. Already-passed unchanged targeted files are
not repeated. Every Node invocation used fresh shell gXXX TMPDIR,29 bytes,
absolute nice19 set in the child before exec, timeout -k10 (900-second cap,
shortened automatically near23:45Z hardstop). All timeout nice observations
were19. Normal run total1067.962s; mutant total19.485s. Completed22:34Z.
| Package | Whole files | Pass | Fail | Skip |
| --- | ---: | ---: | ---: | ---: |
| bus | 114 | 1012 | 0 | 0 |
| business | 2 | 25 | 0 | 0 |
| cli | 58 | 610 | 0 | 1 |
| harness | 15 | 177 | 0 | 0 |
| library | 12 | 156 | 0 | 0 |
| processing-control | 1 | 7 | 0 | 0 |
| seat | 2 | 23 | 0 | 0 |
| tasks | 9 | 95 | 0 | 0 |
| webui | 66 | 396 | 0 | 0 |
Totals:279 whole files,2501 passed,0 failed,1 skipped,0 cancelled.
Sole skip: packages/cli/tests/federation-acceptance.test.mjs,
FED R7 scratch two-instance acceptance, directs running
scripts/test-federation-acceptance.sh. That acceptance was not exercised;
Sage's full shell landing gate is separate. case1-accept.test.mjs excluded
as ordered. No unlisted run or extra mutant. Targeted counts: query34/34,
broker12/12,typed tools5/5,zero skips.
M1-M9 all killed with exit1, no syntax/setup failures. M1 and M8 are expected
behavior errors when a required capability is removed; the others fail
assertions/refusal checks. Killing named tests are recorded below. Each
restored original bytes in finally; git diff --stat and status --porcelain
empty after every mutant and again after all normal runs, before receipts.
No extra post-restore test rerun.
| Mutant | Killing behavior oracle | Restored |
| --- | --- | --- |
| M1 | supporting find/search/get | byte-exact, clean |
| M2 | get without scope returns null | byte-exact, clean |
| M3 | each get blob equals its served tree object | byte-exact, clean |
| M4 | full outgoing and incoming links stay in scope order | byte-exact, clean |
| M5 | full outgoing and incoming links stay in scope order | byte-exact, clean |
| M6 | full outgoing and incoming links stay in scope order | byte-exact, clean |
| M7 | manuscript still refuses supporting | byte-exact, clean |
| M8 | broker forwards supporting scope | byte-exact, clean |
| M9 | scope schemas expand only find/search/get | byte-exact, clean |
Post-run sweep: current OS user's executable names node/nodejs/chromium/
chrome, matching cwd or argv paths under this worktree or any run TMPDIR.
Checked289 unique roots;0 matching live processes. No signals sent, no
other seat's process inspected beyond process identity/path matching.
No full argv, environment or credential values printed. Slot returned to
Sage in della-0059 at22:34Z. No further tests.
Evidence: /mnt/storage/scratch/della-row284-r2-evidence/run-4289 contains
install receipt, exact commands, stdout/stderr per whole-file run, mutant
edits/restores, summaries and hashed logs. The following plain-text ledger
freezes commands and results; raw logs remain available for reviewer checks.
Each normal test path below was run whole; hashes are SHA256 of raw logs.
```text
{"label":"target-query","command":["timeout","-k","10","900","node","--test","packages/library/tests/query.test.mjs"],"TMPDIR":"/mnt/storage/scratch/tmp/gUgw","start_nice":19,"observed_timeout_nice":19,"exit":0,"seconds":2.889,"mutant":false,"tests":34,"pass":34,"fail":0,"cancelled":0,"skipped":0,"todo":0,"log_sha256":"dc2575e2c597b099c94b7cf254b0cb4d009a0ddb14c0cbd572f93e5ad15f8f72"}
{"label":"target-broker","command":["timeout","-k","10","900","node","--test","packages/bus/tests/library-lookups.test.mjs"],"TMPDIR":"/mnt/storage/scratch/tmp/gDd2","start_nice":19,"observed_timeout_nice":19,"exit":0,"seconds":1.431,"mutant":false,"tests":12,"pass":12,"fail":0,"cancelled":0,"skipped":0,"todo":0,"log_sha256":"6729e92f2241a2c2d0b725cb9c6ed4fe4d8b50352fd179cf30f905182eac9160"}
{"label":"target-tools","command":["timeout","-k","10","900","node","--test","packages/harness/tests/library-tools.test.mjs"],"TMPDIR":"/mnt/storage/scratch/tmp/gmPG","start_nice":19,"observed_timeout_nice":19,"exit":0,"seconds":0.169,"mutant":false,"tests":5,"pass":5,"fail":0,"cancelled":0,"skipped":0,"todo":0,"log_sha256":"532de351eef39478011d7f84b3b506711c3bafc71676716f623fa29573fc4dec"}
{"label":"M1","command":["timeout","-k","10","900","node","--test","packages/library/tests/query.test.mjs"],"TMPDIR":"/mnt/storage/scratch/tmp/gIGt","start_nice":19,"observed_timeout_nice":19,"exit":1,"seconds":2.683,"mutant":true,"tests":34,"pass":30,"fail":4,"cancelled":0,"skipped":0,"todo":0,"log_sha256":"ec36434e918ee16c7639ec0ec4259be66e0381e2684bac7c6ee5755756bded78"}
{"label":"M2","command":["timeout","-k","10","900","node","--test","packages/library/tests/query.test.mjs"],"TMPDIR":"/mnt/storage/scratch/tmp/geid","start_nice":19,"observed_timeout_nice":19,"exit":1,"seconds":2.587,"mutant":true,"tests":34,"pass":31,"fail":3,"cancelled":0,"skipped":0,"todo":0,"log_sha256":"e08eadfd606fc685faed21edb06b1d7d00fd11e7942051fddc0b48b83c6bef90"}
{"label":"M3","command":["timeout","-k","10","900","node","--test","packages/library/tests/query.test.mjs"],"TMPDIR":"/mnt/storage/scratch/tmp/gs4j","start_nice":19,"observed_timeout_nice":19,"exit":1,"seconds":2.538,"mutant":true,"tests":34,"pass":33,"fail":1,"cancelled":0,"skipped":0,"todo":0,"log_sha256":"8abb79847deb7a05940c7b48d5407dde6baaf394fef31334f6ac266d65b3c02f"}
{"label":"M4","command":["timeout","-k","10","900","node","--test","packages/library/tests/query.test.mjs"],"TMPDIR":"/mnt/storage/scratch/tmp/gvmZ","start_nice":19,"observed_timeout_nice":19,"exit":1,"seconds":2.674,"mutant":true,"tests":34,"pass":33,"fail":1,"cancelled":0,"skipped":0,"todo":0,"log_sha256":"8b8386b876fb85e12335be27216dc5c6a8d5c311c03db0bf49ffbe0639a8693c"}
{"label":"M5","command":["timeout","-k","10","900","node","--test","packages/library/tests/query.test.mjs"],"TMPDIR":"/mnt/storage/scratch/tmp/gG6o","start_nice":19,"observed_timeout_nice":19,"exit":1,"seconds":2.633,"mutant":true,"tests":34,"pass":32,"fail":2,"cancelled":0,"skipped":0,"todo":0,"log_sha256":"08ff976a29e42f593dce3262e596e75c43da2ae2e3dfe48945989fe98c3061cf"}
{"label":"M6","command":["timeout","-k","10","900","node","--test","packages/library/tests/query.test.mjs"],"TMPDIR":"/mnt/storage/scratch/tmp/gWpu","start_nice":19,"observed_timeout_nice":19,"exit":1,"seconds":2.347,"mutant":true,"tests":34,"pass":23,"fail":11,"cancelled":0,"skipped":0,"todo":0,"log_sha256":"4cd149d0f74e402d2294c2d9ef05aac440ec4c3dc379acad7b9624b7402528bb"}
{"label":"M7","command":["timeout","-k","10","900","node","--test","packages/library/tests/query.test.mjs"],"TMPDIR":"/mnt/storage/scratch/tmp/g65B","start_nice":19,"observed_timeout_nice":19,"exit":1,"seconds":2.403,"mutant":true,"tests":34,"pass":33,"fail":1,"cancelled":0,"skipped":0,"todo":0,"log_sha256":"541100f0937dd2e592ed9bee7c48f27ae4e13634d3c0dcf53fc3e8b2f632a000"}
{"label":"M8","command":["timeout","-k","10","900","node","--test","packages/bus/tests/library-lookups.test.mjs"],"TMPDIR":"/mnt/storage/scratch/tmp/gtX5","start_nice":19,"observed_timeout_nice":19,"exit":1,"seconds":1.421,"mutant":true,"tests":12,"pass":11,"fail":1,"cancelled":0,"skipped":0,"todo":0,"log_sha256":"2adc93e5aaa663621caa9fd762faded3a975f62de918d7c46a1b5b0469001955"}
{"label":"M9","command":["timeout","-k","10","900","node","--test","packages/harness/tests/library-tools.test.mjs"],"TMPDIR":"/mnt/storage/scratch/tmp/gMtM","start_nice":19,"observed_timeout_nice":19,"exit":1,"seconds":0.199,"mutant":true,"tests":5,"pass":4,"fail":1,"cancelled":0,"skipped":0,"todo":0,"log_sha256":"da8c8c2094732b36526dc803e567d4bce18ff964bf70ff406e1981bb7dd313de"}
{"label":"import-001","command":["timeout","-k","10","900","node","--test","packages/bus/tests/access-revoke.test.mjs"],"TMPDIR":"/mnt/storage/scratch/tmp/gGcs","start_nice":19,"observed_timeout_nice":19,"exit":0,"seconds":0.728,"mutant":false,"tests":10,"pass":10,"fail":0,"cancelled":0,"skipped":0,"todo":0,"log_sha256":"ee78177b9385025df0b0ce154e9f92f3d84a01920da94eb2b95df7aee533721a"}
{"label":"import-002","command":["timeout","-k","10","900","node","--test","packages/bus/tests/account-migration.test.mjs"],"TMPDIR":"/mnt/storage/scratch/tmp/giJX","start_nice":19,"observed_timeout_nice":19,"exit":0,"seconds":0.456,"mutant":false,"tests":3,"pass":3,"fail":0,"cancelled":0,"skipped":0,"todo":0,"log_sha256":"04456ac702b53d59e127eb7ae2d9828b79acbbcc99c8845cc226e88e4569ffb2"}
{"label":"import-003","command":["timeout","-k","10","900","node","--test","packages/bus/tests/address.test.mjs"],"TMPDIR":"/mnt/storage/scratch/tmp/gLUL","start_nice":19,"observed_timeout_nice":19,"exit":0,"seconds":0.102,"mutant":false,"tests":15,"pass":15,"fail":0,"cancelled":0,"skipped":0,"todo":0,"log_sha256":"c4ff31db588ac88b6492416d3850b123492e29dbd7c6b2aa283dd736e6caa8cc"}
{"label":"import-004","command":["timeout","-k","10","900","node","--test","packages/bus/tests/agents.test.mjs"],"TMPDIR":"/mnt/storage/scratch/tmp/gDuh","start_nice":19,"observed_timeout_nice":19,"exit":0,"seconds":0.493,"mutant":false,"tests":11,"pass":11,"fail":0,"cancelled":0,"skipped":0,"todo":0,"log_sha256":"424001894b865c63405976f7facc9a9c93c2ac018b6c97f17ebf87001d071d52"}
{"label":"import-005","command":["timeout","-k","10","900","node","--test","packages/bus/tests/approval-binding.test.mjs"],"TMPDIR":"/mnt/storage/scratch/tmp/gsfL","start_nice":19,"observed_timeout_nice":19,"exit":0,"seconds":0.305,"mutant":false,"tests":6,"pass":6,"fail":0,"cancelled":0,"skipped":0,"todo":0,"log_sha256":"f8029477d12d0acbd774ec6fa82d9af47ae93c575e0ada16c31130248280431d"}
{"label":"import-006","command":["timeout","-k","10","900","node","--test","packages/bus/tests/broker.test.mjs"],"TMPDIR":"/mnt/storage/scratch/tmp/gwdO","start_nice":19,"observed_timeout_nice":19,"exit":0,"seconds":0.532,"mutant":false,"tests":16,"pass":16,"fail":0,"cancelled":0,"skipped":0,"todo":0,"log_sha256":"b02528f749bc8367149451f2118cf612f7d46ee6269ad05d9a894d6ef893b727"}
{"label":"import-007","command":["timeout","-k","10","900","node","--test","packages/bus/tests/business.test.mjs"],"TMPDIR":"/mnt/storage/scratch/tmp/gX5H","start_nice":19,"observed_timeout_nice":19,"exit":0,"seconds":0.102,"mutant":false,"tests":1,"pass":1,"fail":0,"cancelled":0,"skipped":0,"todo":0,"log_sha256":"3246c77a5431fda5ee0ef798b9850ee8bf05297c7afa272fc88d148582dc14d8"}
{"label":"import-008","command":["timeout","-k","10","900","node","--test","packages/bus/tests/channel-proof.test.mjs"],"TMPDIR":"/mnt/storage/scratch/tmp/g0t2","start_nice":19,"observed_timeout_nice":19,"exit":0,"seconds":0.644,"mutant":false,"tests":2,"pass":2,"fail":0,"cancelled":0,"skipped":0,"todo":0,"log_sha256":"d3dc7af8bd80c5cd391a42468cec38fa2cdf4d7bb8d758e84094a255cf2e8626"}
{"label":"import-009","command":["timeout","-k","10","900","node","--test","packages/bus/tests/chief-of-staff.test.mjs"],"TMPDIR":"/mnt/storage/scratch/tmp/gAXk","start_nice":19,"observed_timeout_nice":19,"exit":0,"seconds":2.744,"mutant":false,"tests":42,"pass":42,"fail":0,"cancelled":0,"skipped":0,"todo":0,"log_sha256":"6e355388daee3b3cfe0251abd3f1f1fc56744e26354b8489d8113e4cb4033847"}
{"label":"import-010","command":["timeout","-k","10","900","node","--test","packages/bus/tests/citation-availability.test.mjs"],"TMPDIR":"/mnt/storage/scratch/tmp/gNQV","start_nice":19,"observed_timeout_nice":19,"exit":0,"seconds":5.391,"mutant":false,"tests":3,"pass":3,"fail":0,"cancelled":0,"skipped":0,"todo":0,"log_sha256":"fe32f9423c7317c53d0946d6422fb4ea58bcbb0795730b80cba7b5daae47b8ef"}
{"label":"import-011","command":["timeout","-k","10","900","node","--test","packages/bus/tests/citation-guard.test.mjs"],"TMPDIR":"/mnt/storage/scratch/tmp/gilj","start_nice":19,"observed_timeout_nice":19,"exit":0,"seconds":1.258,"mutant":false,"tests":13,"pass":13,"fail":0,"cancelled":0,"skipped":0,"todo":0,"log_sha256":"1f6c35c535a407a121ec4ee9bb4e9acdc12b5e16e3f8ccf75bcb94a66511b820"}
{"label":"import-012","command":["timeout","-k","10","900","node","--test","packages/bus/tests/citation-runtime.test.mjs"],"TMPDIR":"/mnt/storage/scratch/tmp/gjTW","start_nice":19,"observed_timeout_nice":19,"exit":0,"seconds":0.331,"mutant":false,"tests":1,"pass":1,"fail":0,"cancelled":0,"skipped":0,"todo":0,"log_sha256":"9cb0ab5a64b667f563c827239c242ee77475acb8744e515d8472d839d7190e2e"}
{"label":"import-013","command":["timeout","-k","10","900","node","--test","packages/bus/tests/comment-cursors.test.mjs"],"TMPDIR":"/mnt/storage/scratch/tmp/gQvO","start_nice":19,"observed_timeout_nice":19,"exit":0,"seconds":0.162,"mutant":false,"tests":2,"pass":2,"fail":0,"cancelled":0,"skipped":0,"todo":0,"log_sha256":"898a7bcc0f68f8a54748a9da6c75b702738b07230a48ff4f939206b1c2dccfdf"}
{"label":"import-014","command":["timeout","-k","10","900","node","--test","packages/bus/tests/comment-migration.test.mjs"],"TMPDIR":"/mnt/storage/scratch/tmp/g4nL","start_nice":19,"observed_timeout_nice":19,"exit":0,"seconds":0.609,"mutant":false,"tests":5,"pass":5,"fail":0,"cancelled":0,"skipped":0,"todo":0,"log_sha256":"ade667dca625e36750417b46f3156be89ec5d40fff78511722c3fa671f3bcd25"}
{"label":"import-015","command":["timeout","-k","10","900","node","--test","packages/bus/tests/console-decide.test.mjs"],"TMPDIR":"/mnt/storage/scratch/tmp/girM","start_nice":19,"observed_timeout_nice":19,"exit":0,"seconds":0.893,"mutant":false,"tests":12,"pass":12,"fail":0,"cancelled":0,"skipped":0,"todo":0,"log_sha256":"11a0ac7147f0164542442a9fc6e9224e5d36305cd3e999fc03733e289dfc8f4e"}
{"label":"import-016","command":["timeout","-k","10","900","node","--test","packages/bus/tests/creative.test.mjs"],"TMPDIR":"/mnt/storage/scratch/tmp/gXAL","start_nice":19,"observed_timeout_nice":19,"exit":0,"seconds":0.447,"mutant":false,"tests":4,"pass":4,"fail":0,"cancelled":0,"skipped":0,"todo":0,"log_sha256":"13b107465c7ddecb4fba573b58d4ff42f8807221d1956325b2a0e54eec4581d2"}
{"label":"import-017","command":["timeout","-k","10","900","node","--test","packages/bus/tests/credential-claim.test.mjs"],"TMPDIR":"/mnt/storage/scratch/tmp/g8Cy","start_nice":19,"observed_timeout_nice":19,"exit":0,"seconds":0.157,"mutant":false,"tests":8,"pass":8,"fail":0,"cancelled":0,"skipped":0,"todo":0,"log_sha256":"a66956b56367cb240de84571fc79e4297bf4bf49c06ce92ac3dd9c5d155b26a5"}
{"label":"import-018","command":["timeout","-k","10","900","node","--test","packages/bus/tests/credential-status.test.mjs"],"TMPDIR":"/mnt/storage/scratch/tmp/gEDT","start_nice":19,"observed_timeout_nice":19,"exit":0,"seconds":0.401,"mutant":false,"tests":4,"pass":4,"fail":0,"cancelled":0,"skipped":0,"todo":0,"log_sha256":"8812b6b0962c7b15e437a9c9b5741d502ab81001d9e17c9b5b14729db8f6033d"}
{"label":"import-019","command":["timeout","-k","10","900","node","--test","packages/bus/tests/credential-store.test.mjs"],"TMPDIR":"/mnt/storage/scratch/tmp/gPQx","start_nice":19,"observed_timeout_nice":19,"exit":0,"seconds":0.158,"mutant":false,"tests":12,"pass":12,"fail":0,"cancelled":0,"skipped":0,"todo":0,"log_sha256":"2ead3ac9725024e493121f7aaa8e7cf71a35616ffd57c901d3f425ac50b4a8b7"}
{"label":"import-020","command":["timeout","-k","10","900","node","--test","packages/bus/tests/credential-verbs.test.mjs"],"TMPDIR":"/mnt/storage/scratch/tmp/g1Wz","start_nice":19,"observed_timeout_nice":19,"exit":0,"seconds":0.328,"mutant":false,"tests":2,"pass":2,"fail":0,"cancelled":0,"skipped":0,"todo":0,"log_sha256":"bf447a8e6566816992f48a92e6821441ec1acd86960251aeee4b03b6e4b6dee3"}
{"label":"import-021","command":["timeout","-k","10","900","node","--test","packages/bus/tests/credentials.test.mjs"],"TMPDIR":"/mnt/storage/scratch/tmp/grcF","start_nice":19,"observed_timeout_nice":19,"exit":0,"seconds":0.105,"mutant":false,"tests":5,"pass":5,"fail":0,"cancelled":0,"skipped":0,"todo":0,"log_sha256":"f3f807e470c8ec40f6c1aea188308a1ca183c8f0e98a0eaea996c96577ab471a"}
{"label":"import-022","command":["timeout","-k","10","900","node","--test","packages/bus/tests/csuite-messaging.test.mjs"],"TMPDIR":"/mnt/storage/scratch/tmp/gFHk","start_nice":19,"observed_timeout_nice":19,"exit":0,"seconds":0.779,"mutant":false,"tests":16,"pass":16,"fail":0,"cancelled":0,"skipped":0,"todo":0,"log_sha256":"1034823ca51c040db2f0bb18416c67761580ed55df0e60636883bc217878afd5"}
{"label":"import-023","command":["timeout","-k","10","900","node","--test","packages/bus/tests/daily-quota-runtime.test.mjs"],"TMPDIR":"/mnt/storage/scratch/tmp/gl0H","start_nice":19,"observed_timeout_nice":19,"exit":0,"seconds":0.401,"mutant":false,"tests":4,"pass":4,"fail":0,"cancelled":0,"skipped":0,"todo":0,"log_sha256":"95472c3d6b012d38f3db4c790fdd48b710535beee03274c0ea44a2cbd97ed095"}
{"label":"import-024","command":["timeout","-k","10","900","node","--test","packages/bus/tests/decision-close.test.mjs"],"TMPDIR":"/mnt/storage/scratch/tmp/g2Iz","start_nice":19,"observed_timeout_nice":19,"exit":0,"seconds":0.34,"mutant":false,"tests":8,"pass":8,"fail":0,"cancelled":0,"skipped":0,"todo":0,"log_sha256":"5c855717b19f203797db5b4f2789dd8f8df7d49cbdfee62ae0ffa220e4ed1a4a"}
{"label":"import-025","command":["timeout","-k","10","900","node","--test","packages/bus/tests/decision-route.test.mjs"],"TMPDIR":"/mnt/storage/scratch/tmp/gDI5","start_nice":19,"observed_timeout_nice":19,"exit":0,"seconds":0.286,"mutant":false,"tests":5,"pass":5,"fail":0,"cancelled":0,"skipped":0,"todo":0,"log_sha256":"485577231e6e797c256db8a832d98aca4bf856e47459e0c30a1940598c60b8aa"}
{"label":"import-026","command":["timeout","-k","10","900","node","--test","packages/bus/tests/decisions.test.mjs"],"TMPDIR":"/mnt/storage/scratch/tmp/geqP","start_nice":19,"observed_timeout_nice":19,"exit":0,"seconds":0.474,"mutant":false,"tests":7,"pass":7,"fail":0,"cancelled":0,"skipped":0,"todo":0,"log_sha256":"aa887a5b2b30390fab4906cbd2f6ffa4ec37cc9e794478b18e7cd47eb354063b"}
{"label":"import-027","command":["timeout","-k","10","900","node","--test","packages/bus/tests/end-launch.test.mjs"],"TMPDIR":"/mnt/storage/scratch/tmp/g5u4","start_nice":19,"observed_timeout_nice":19,"exit":0,"seconds":0.414,"mutant":false,"tests":7,"pass":7,"fail":0,"cancelled":0,"skipped":0,"todo":0,"log_sha256":"e3aced744c09beda07405cba691c54a8c8dca973b7718285f67612cbfdad4ac1"}
{"label":"import-028","command":["timeout","-k","10","900","node","--test","packages/bus/tests/fire-revokes-grants.test.mjs"],"TMPDIR":"/mnt/storage/scratch/tmp/gD7b","start_nice":19,"observed_timeout_nice":19,"exit":0,"seconds":4.034,"mutant":false,"tests":24,"pass":24,"fail":0,"cancelled":0,"skipped":0,"todo":0,"log_sha256":"0e79b5a7c00f0701c84b76f3e9fd73f1bac2c9343594039df1e8a667e42d6ea4"}
{"label":"import-029","command":["timeout","-k","10","900","node","--test","packages/bus/tests/gitea-grant-docker.test.mjs"],"TMPDIR":"/mnt/storage/scratch/tmp/gcCX","start_nice":19,"observed_timeout_nice":19,"exit":0,"seconds":25.371,"mutant":false,"tests":2,"pass":2,"fail":0,"cancelled":0,"skipped":0,"todo":0,"log_sha256":"5720e4fc3d58350dc4192c7ceb5dff76aba9bf1aff1ac917e016e7295380b325"}
{"label":"import-030","command":["timeout","-k","10","900","node","--test","packages/bus/tests/gitea-grant.test.mjs"],"TMPDIR":"/mnt/storage/scratch/tmp/gIPd","start_nice":19,"observed_timeout_nice":19,"exit":0,"seconds":12.386,"mutant":false,"tests":66,"pass":66,"fail":0,"cancelled":0,"skipped":0,"todo":0,"log_sha256":"142962fbea6f3602701e4bcc5e0248cb06b98a2fad8bfafb92143a593e535ee6"}
{"label":"import-031","command":["timeout","-k","10","900","node","--test","packages/bus/tests/gitea-migration.test.mjs"],"TMPDIR":"/mnt/storage/scratch/tmp/gPFr","start_nice":19,"observed_timeout_nice":19,"exit":0,"seconds":0.443,"mutant":false,"tests":5,"pass":5,"fail":0,"cancelled":0,"skipped":0,"todo":0,"log_sha256":"2a3d38fa696805a193460d33bfec2461778463b7087e368b738700c583ad23c3"}
{"label":"import-032","command":["timeout","-k","10","900","node","--test","packages/bus/tests/grant-enroll.test.mjs"],"TMPDIR":"/mnt/storage/scratch/tmp/gAeL","start_nice":19,"observed_timeout_nice":19,"exit":0,"seconds":1.838,"mutant":false,"tests":24,"pass":24,"fail":0,"cancelled":0,"skipped":0,"todo":0,"log_sha256":"fc5d1d86af5c0689eb5a92d94ee1dc7a0143299523fc010d4a119c34b30ff768"}
{"label":"import-033","command":["timeout","-k","10","900","node","--test","packages/bus/tests/grant-executor.test.mjs"],"TMPDIR":"/mnt/storage/scratch/tmp/gEJ1","start_nice":19,"observed_timeout_nice":19,"exit":0,"seconds":22.682,"mutant":false,"tests":42,"pass":42,"fail":0,"cancelled":0,"skipped":0,"todo":0,"log_sha256":"97a66205b109952a7704ff9d5d63efbb0277922a0bf1510a677284f9ccbc9831"}
{"label":"import-034","command":["timeout","-k","10","900","node","--test","packages/bus/tests/grant-host.test.mjs"],"TMPDIR":"/mnt/storage/scratch/tmp/gYeV","start_nice":19,"observed_timeout_nice":19,"exit":0,"seconds":0.433,"mutant":false,"tests":10,"pass":10,"fail":0,"cancelled":0,"skipped":0,"todo":0,"log_sha256":"0ab7ed5613f9c353c5e6f786ceffc6112c4f851debb799cf60ff73ae2f2bf65d"}
{"label":"import-035","command":["timeout","-k","10","900","node","--test","packages/bus/tests/grant-migration.test.mjs"],"TMPDIR":"/mnt/storage/scratch/tmp/gcHz","start_nice":19,"observed_timeout_nice":19,"exit":0,"seconds":0.495,"mutant":false,"tests":6,"pass":6,"fail":0,"cancelled":0,"skipped":0,"todo":0,"log_sha256":"690a9c67e3426b8f6dc94c34f1b34ae5e502c0f8fb9ce67c5beab7cf5122557e"}
{"label":"import-036","command":["timeout","-k","10","900","node","--test","packages/bus/tests/grant-scope-runtime.test.mjs"],"TMPDIR":"/mnt/storage/scratch/tmp/gVjH","start_nice":19,"observed_timeout_nice":19,"exit":0,"seconds":0.228,"mutant":false,"tests":1,"pass":1,"fail":0,"cancelled":0,"skipped":0,"todo":0,"log_sha256":"c013731042ef37735fe6648ec299831b127d3ddb351c613d95efd4bc610d6ff2"}
{"label":"import-037","command":["timeout","-k","10","900","node","--test","packages/bus/tests/grant-scope.test.mjs"],"TMPDIR":"/mnt/storage/scratch/tmp/gwvw","start_nice":19,"observed_timeout_nice":19,"exit":0,"seconds":1.35,"mutant":false,"tests":14,"pass":14,"fail":0,"cancelled":0,"skipped":0,"todo":0,"log_sha256":"1b48fba6570d0dcef4666725bde8b8c8f95e75eb8abb517d15b226a6ae5b0ea4"}
{"label":"import-038","command":["timeout","-k","10","900","node","--test","packages/bus/tests/hard-waits.test.mjs"],"TMPDIR":"/mnt/storage/scratch/tmp/gM7r","start_nice":19,"observed_timeout_nice":19,"exit":0,"seconds":1.464,"mutant":false,"tests":13,"pass":13,"fail":0,"cancelled":0,"skipped":0,"todo":0,"log_sha256":"41d7bdf1b5276a7205b6b3e61ff4ac2f7982d60f5f190c3475e75c1ff4cebefd"}
{"label":"import-039","command":["timeout","-k","10","900","node","--test","packages/bus/tests/host-run.test.mjs"],"TMPDIR":"/mnt/storage/scratch/tmp/gfCB","start_nice":19,"observed_timeout_nice":19,"exit":0,"seconds":15.268,"mutant":false,"tests":26,"pass":26,"fail":0,"cancelled":0,"skipped":0,"todo":0,"log_sha256":"7f5c5ab5e5f654c1826e84369739616606de89763879d96ffaa9cc196db05d72"}
{"label":"import-040","command":["timeout","-k","10","900","node","--test","packages/bus/tests/host-tools.test.mjs"],"TMPDIR":"/mnt/storage/scratch/tmp/gbtM","start_nice":19,"observed_timeout_nice":19,"exit":0,"seconds":4.726,"mutant":false,"tests":6,"pass":6,"fail":0,"cancelled":0,"skipped":0,"todo":0,"log_sha256":"dfd0a799f300925eb291c8047adc0f9359bf05927f0b1c129c6b420fcf0bfcc0"}
{"label":"import-041","command":["timeout","-k","10","900","node","--test","packages/bus/tests/human.test.mjs"],"TMPDIR":"/mnt/storage/scratch/tmp/gnLK","start_nice":19,"observed_timeout_nice":19,"exit":0,"seconds":0.102,"mutant":false,"tests":4,"pass":4,"fail":0,"cancelled":0,"skipped":0,"todo":0,"log_sha256":"09791081c562afc5c9fa6da5b6df4e37935797147fc6d4c3f4cd8be2dd3d56ae"}
{"label":"import-042","command":["timeout","-k","10","900","node","--test","packages/bus/tests/instances-verb.test.mjs"],"TMPDIR":"/mnt/storage/scratch/tmp/g46h","start_nice":19,"observed_timeout_nice":19,"exit":0,"seconds":0.305,"mutant":false,"tests":3,"pass":3,"fail":0,"cancelled":0,"skipped":0,"todo":0,"log_sha256":"d41d14dd33492e34f21452550fed8d0ca0d3b1847cca0fb86c53ad13f8cb4fb7"}
{"label":"import-043","command":["timeout","-k","10","900","node","--test","packages/bus/tests/interpreter.test.mjs"],"TMPDIR":"/mnt/storage/scratch/tmp/gTjS","start_nice":19,"observed_timeout_nice":19,"exit":0,"seconds":0.178,"mutant":false,"tests":5,"pass":5,"fail":0,"cancelled":0,"skipped":0,"todo":0,"log_sha256":"c3be5eace9c994767d451fcd0d99ddfff2a647a8f7e74f21306c95ac503c229c"}
{"label":"import-044","command":["timeout","-k","10","900","node","--test","packages/bus/tests/land.test.mjs"],"TMPDIR":"/mnt/storage/scratch/tmp/gOEa","start_nice":19,"observed_timeout_nice":19,"exit":0,"seconds":1.156,"mutant":false,"tests":18,"pass":18,"fail":0,"cancelled":0,"skipped":0,"todo":0,"log_sha256":"b59e6b60f597b4b1d02d4ced63344dbcb820946148a11a4ddd8e29ac422ef0f8"}
{"label":"import-045","command":["timeout","-k","10","900","node","--test","packages/bus/tests/launch-notice.test.mjs"],"TMPDIR":"/mnt/storage/scratch/tmp/gv3V","start_nice":19,"observed_timeout_nice":19,"exit":0,"seconds":0.543,"mutant":false,"tests":8,"pass":8,"fail":0,"cancelled":0,"skipped":0,"todo":0,"log_sha256":"4979af0184d2b8fe0cfc7048da37828e2f58a8bb433b589399be4d8a7798371d"}
{"label":"import-046","command":["timeout","-k","10","900","node","--test","packages/bus/tests/launcher-released.test.mjs"],"TMPDIR":"/mnt/storage/scratch/tmp/gEQl","start_nice":19,"observed_timeout_nice":19,"exit":0,"seconds":0.365,"mutant":false,"tests":3,"pass":3,"fail":0,"cancelled":0,"skipped":0,"todo":0,"log_sha256":"9e4890aeaa7e21398fb140c469c606cb8a5cec2b564826232ade66f171fed937"}
{"label":"import-047","command":["timeout","-k","10","900","node","--test","packages/bus/tests/library-credential.test.mjs"],"TMPDIR":"/mnt/storage/scratch/tmp/gJlk","start_nice":19,"observed_timeout_nice":19,"exit":0,"seconds":3.11,"mutant":false,"tests":6,"pass":6,"fail":0,"cancelled":0,"skipped":0,"todo":0,"log_sha256":"ca7c89d815a3bc281b406089a04dbaf94d04927c0b6b0ae840cae34cd8e858f5"}
{"label":"import-049","command":["timeout","-k","10","900","node","--test","packages/bus/tests/library-sync.test.mjs"],"TMPDIR":"/mnt/storage/scratch/tmp/geyX","start_nice":19,"observed_timeout_nice":19,"exit":0,"seconds":7.525,"mutant":false,"tests":6,"pass":6,"fail":0,"cancelled":0,"skipped":0,"todo":0,"log_sha256":"835bea6e1730fb67ab7d7ef02701ace657b0b3a839d300713ca16d0a32713828"}
{"label":"import-050","command":["timeout","-k","10","900","node","--test","packages/bus/tests/library.test.mjs"],"TMPDIR":"/mnt/storage/scratch/tmp/gejb","start_nice":19,"observed_timeout_nice":19,"exit":0,"seconds":0.736,"mutant":false,"tests":6,"pass":6,"fail":0,"cancelled":0,"skipped":0,"todo":0,"log_sha256":"70633e1f2e5662e511239ada1bb47e1dc197b79e2c9ecf005308b270f713a41c"}
{"label":"import-051","command":["timeout","-k","10","900","node","--test","packages/bus/tests/lifecycle-revoke.test.mjs"],"TMPDIR":"/mnt/storage/scratch/tmp/gA7g","start_nice":19,"observed_timeout_nice":19,"exit":0,"seconds":0.815,"mutant":false,"tests":8,"pass":8,"fail":0,"cancelled":0,"skipped":0,"todo":0,"log_sha256":"190fd253cefb4d669245531043a93225d37ae66ba694635a3e8bffd86c9e4264"}
{"label":"import-052","command":["timeout","-k","10","900","node","--test","packages/bus/tests/lifecycle-verbs.test.mjs"],"TMPDIR":"/mnt/storage/scratch/tmp/gYLp","start_nice":19,"observed_timeout_nice":19,"exit":0,"seconds":0.62,"mutant":false,"tests":13,"pass":13,"fail":0,"cancelled":0,"skipped":0,"todo":0,"log_sha256":"071bed270aff7f251d954b557e090230ee6e224535938b85b93e8f885d3fb944"}
{"label":"import-053","command":["timeout","-k","10","900","node","--test","packages/bus/tests/limit-checks.test.mjs"],"TMPDIR":"/mnt/storage/scratch/tmp/gt3p","start_nice":19,"observed_timeout_nice":19,"exit":0,"seconds":0.347,"mutant":false,"tests":16,"pass":16,"fail":0,"cancelled":0,"skipped":0,"todo":0,"log_sha256":"cb634a9e2819a161ec128a250586e4086591696309f00c9e6a62d7c54c6b9382"}
{"label":"import-054","command":["timeout","-k","10","900","node","--test","packages/bus/tests/limit-stop.test.mjs"],"TMPDIR":"/mnt/storage/scratch/tmp/g1Vs","start_nice":19,"observed_timeout_nice":19,"exit":0,"seconds":0.362,"mutant":false,"tests":5,"pass":5,"fail":0,"cancelled":0,"skipped":0,"todo":0,"log_sha256":"93504cdb3c5a9e5295bd72b8224ec69c43bbd344529a97538376c5a09e47328e"}
{"label":"import-055","command":["timeout","-k","10","900","node","--test","packages/bus/tests/limits-runtime.test.mjs"],"TMPDIR":"/mnt/storage/scratch/tmp/giXl","start_nice":19,"observed_timeout_nice":19,"exit":0,"seconds":0.454,"mutant":false,"tests":5,"pass":5,"fail":0,"cancelled":0,"skipped":0,"todo":0,"log_sha256":"a18ac489d4eaa62e0bdb40444d70722379b0f4dc172f28e71f8600307ce7c3b6"}
{"label":"import-056","command":["timeout","-k","10","900","node","--test","packages/bus/tests/limits.test.mjs"],"TMPDIR":"/mnt/storage/scratch/tmp/gZog","start_nice":19,"observed_timeout_nice":19,"exit":0,"seconds":0.424,"mutant":false,"tests":3,"pass":3,"fail":0,"cancelled":0,"skipped":0,"todo":0,"log_sha256":"072dfdd9f45f609d52910d3619d4253bd05b54ec36e1a8599db17e17b472e99a"}
{"label":"import-057","command":["timeout","-k","10","900","node","--test","packages/bus/tests/message-citation.test.mjs"],"TMPDIR":"/mnt/storage/scratch/tmp/gCEq","start_nice":19,"observed_timeout_nice":19,"exit":0,"seconds":0.244,"mutant":false,"tests":3,"pass":3,"fail":0,"cancelled":0,"skipped":0,"todo":0,"log_sha256":"d53489b437b4adc8ac10bc52d0f1e6557b6fd187786008a6ad13a264207be034"}
{"label":"import-058","command":["timeout","-k","10","900","node","--test","packages/bus/tests/message-filter.test.mjs"],"TMPDIR":"/mnt/storage/scratch/tmp/gsfe","start_nice":19,"observed_timeout_nice":19,"exit":0,"seconds":0.58,"mutant":false,"tests":6,"pass":6,"fail":0,"cancelled":0,"skipped":0,"todo":0,"log_sha256":"6038a839d1b12b29d8cdbc0ea341ae22197e19444be5743ca327cb188cd1af59"}
{"label":"import-059","command":["timeout","-k","10","900","node","--test","packages/bus/tests/messages.test.mjs"],"TMPDIR":"/mnt/storage/scratch/tmp/gkz2","start_nice":19,"observed_timeout_nice":19,"exit":0,"seconds":0.501,"mutant":false,"tests":4,"pass":4,"fail":0,"cancelled":0,"skipped":0,"todo":0,"log_sha256":"e507905469453069f469a1366bd4cbd446c6b7e2e8ba5234c3d0bee83d1172ba"}
{"label":"import-060","command":["timeout","-k","10","900","node","--test","packages/bus/tests/messaging.test.mjs"],"TMPDIR":"/mnt/storage/scratch/tmp/gPZR","start_nice":19,"observed_timeout_nice":19,"exit":0,"seconds":0.502,"mutant":false,"tests":13,"pass":13,"fail":0,"cancelled":0,"skipped":0,"todo":0,"log_sha256":"434390031617151891ecb63a788da353c0d43051a4ea60db2e5727b149c9de4e"}
{"label":"import-061","command":["timeout","-k","10","900","node","--test","packages/bus/tests/name-migration.test.mjs"],"TMPDIR":"/mnt/storage/scratch/tmp/gsLH","start_nice":19,"observed_timeout_nice":19,"exit":0,"seconds":0.192,"mutant":false,"tests":1,"pass":1,"fail":0,"cancelled":0,"skipped":0,"todo":0,"log_sha256":"1979f0b1dd32162d42acace08a4b4306249e1096f5bbadb47038681af6b375d5"}
{"label":"import-062","command":["timeout","-k","10","900","node","--test","packages/bus/tests/names.test.mjs"],"TMPDIR":"/mnt/storage/scratch/tmp/grPm","start_nice":19,"observed_timeout_nice":19,"exit":0,"seconds":0.313,"mutant":false,"tests":7,"pass":7,"fail":0,"cancelled":0,"skipped":0,"todo":0,"log_sha256":"1d35ce65a08ec74388a7a65af8bfb7a87d341fab5795360fd553e65aa10d4999"}
{"label":"import-063","command":["timeout","-k","10","900","node","--test","packages/bus/tests/peer-transport.test.mjs"],"TMPDIR":"/mnt/storage/scratch/tmp/g2ja","start_nice":19,"observed_timeout_nice":19,"exit":0,"seconds":0.194,"mutant":false,"tests":4,"pass":4,"fail":0,"cancelled":0,"skipped":0,"todo":0,"log_sha256":"579cce4a4581e991e6cad80666cd40bfb10d1346699f1233a44dab5d17ee1583"}
{"label":"import-064","command":["timeout","-k","10","900","node","--test","packages/bus/tests/peercred.test.mjs"],"TMPDIR":"/mnt/storage/scratch/tmp/g35b","start_nice":19,"observed_timeout_nice":19,"exit":0,"seconds":0.499,"mutant":false,"tests":5,"pass":5,"fail":0,"cancelled":0,"skipped":0,"todo":0,"log_sha256":"c6d9c4a534f8aab5c73e6920346674eb243a19439eaaa09436ff4c2bc9b68fd7"}
{"label":"import-065","command":["timeout","-k","10","900","node","--test","packages/bus/tests/plugins-verb.test.mjs"],"TMPDIR":"/mnt/storage/scratch/tmp/gGrj","start_nice":19,"observed_timeout_nice":19,"exit":0,"seconds":0.331,"mutant":false,"tests":3,"pass":3,"fail":0,"cancelled":0,"skipped":0,"todo":0,"log_sha256":"4677c69292a7fe1961239e40ecd5848b1e9355e6d9326f1c935dd077605cc36b"}
{"label":"import-066","command":["timeout","-k","10","900","node","--test","packages/bus/tests/principal.test.mjs"],"TMPDIR":"/mnt/storage/scratch/tmp/g5U9","start_nice":19,"observed_timeout_nice":19,"exit":0,"seconds":0.102,"mutant":false,"tests":5,"pass":5,"fail":0,"cancelled":0,"skipped":0,"todo":0,"log_sha256":"efac2a82f133ae63ba26543832b6704df573f345c7699b48b928d4329467f03e"}
{"label":"import-067","command":["timeout","-k","10","900","node","--test","packages/bus/tests/process.test.mjs"],"TMPDIR":"/mnt/storage/scratch/tmp/go8U","start_nice":19,"observed_timeout_nice":19,"exit":0,"seconds":1.448,"mutant":false,"tests":8,"pass":8,"fail":0,"cancelled":0,"skipped":0,"todo":0,"log_sha256":"e26c9f5eb045dd7f651f453875fc1daac5dafa5f2060a69c3edcf37c79433e24"}
{"label":"import-068","command":["timeout","-k","10","900","node","--test","packages/bus/tests/processing-runtime.test.mjs"],"TMPDIR":"/mnt/storage/scratch/tmp/gmrO","start_nice":19,"observed_timeout_nice":19,"exit":0,"seconds":0.392,"mutant":false,"tests":2,"pass":2,"fail":0,"cancelled":0,"skipped":0,"todo":0,"log_sha256":"624f60b78329dbf8db5b5ce17e9f218148f7e417a46bcace45666b10193ea4c4"}
{"label":"import-069","command":["timeout","-k","10","900","node","--test","packages/bus/tests/processing-timeout.test.mjs"],"TMPDIR":"/mnt/storage/scratch/tmp/gt14","start_nice":19,"observed_timeout_nice":19,"exit":0,"seconds":0.263,"mutant":false,"tests":1,"pass":1,"fail":0,"cancelled":0,"skipped":0,"todo":0,"log_sha256":"30a4c425941c5732bb0afa09ff8cf2229f11ec6031c7cd3ae26932cf55dc2552"}
{"label":"import-070","command":["timeout","-k","10","900","node","--test","packages/bus/tests/processing-web.test.mjs"],"TMPDIR":"/mnt/storage/scratch/tmp/gWj9","start_nice":19,"observed_timeout_nice":19,"exit":0,"seconds":0.126,"mutant":false,"tests":1,"pass":1,"fail":0,"cancelled":0,"skipped":0,"todo":0,"log_sha256":"dbe9bc036efc99fc38b2dea8824cb7a64fc39e49fcd3a1ef07c60298b0d8e69f"}
{"label":"import-071","command":["timeout","-k","10","900","node","--test","packages/bus/tests/processing.test.mjs"],"TMPDIR":"/mnt/storage/scratch/tmp/gP4m","start_nice":19,"observed_timeout_nice":19,"exit":0,"seconds":0.381,"mutant":false,"tests":14,"pass":14,"fail":0,"cancelled":0,"skipped":0,"todo":0,"log_sha256":"d2204029f1dbc5836a759b43d421f2790ca32b97a1cc1fc6cb3f098fa4d7ab5d"}
{"label":"import-072","command":["timeout","-k","10","900","node","--test","packages/bus/tests/project-await.test.mjs"],"TMPDIR":"/mnt/storage/scratch/tmp/grrE","start_nice":19,"observed_timeout_nice":19,"exit":0,"seconds":0.177,"mutant":false,"tests":4,"pass":4,"fail":0,"cancelled":0,"skipped":0,"todo":0,"log_sha256":"55cb0e215ff4f1e3265322c3336b3861d37fc3ba3cac53a31aa3dcc9ee0cab46"}
{"label":"import-073","command":["timeout","-k","10","900","node","--test","packages/bus/tests/project-files.test.mjs"],"TMPDIR":"/mnt/storage/scratch/tmp/gZZ4","start_nice":19,"observed_timeout_nice":19,"exit":0,"seconds":0.894,"mutant":false,"tests":8,"pass":8,"fail":0,"cancelled":0,"skipped":0,"todo":0,"log_sha256":"b3395652052ccd06de8df2a1ce1aaac185dab50e854fb712a33aef8319d17fdc"}
{"label":"import-074","command":["timeout","-k","10","900","node","--test","packages/bus/tests/project-runtime.test.mjs"],"TMPDIR":"/mnt/storage/scratch/tmp/gYyK","start_nice":19,"observed_timeout_nice":19,"exit":0,"seconds":0.404,"mutant":false,"tests":3,"pass":3,"fail":0,"cancelled":0,"skipped":0,"todo":0,"log_sha256":"b139c3c9cea5fc9bd86ac64f33c4af23f568bee13f9271fef40a07d76ed51cf2"}
{"label":"import-075","command":["timeout","-k","10","900","node","--test","packages/bus/tests/publish.test.mjs"],"TMPDIR":"/mnt/storage/scratch/tmp/gUl2","start_nice":19,"observed_timeout_nice":19,"exit":0,"seconds":0.831,"mutant":false,"tests":13,"pass":13,"fail":0,"cancelled":0,"skipped":0,"todo":0,"log_sha256":"0adf717babd8ac6229a115e1c796071fd68c1524f140d4596c9f1ee8c528b69f"}
{"label":"import-076","command":["timeout","-k","10","900","node","--test","packages/bus/tests/reload.test.mjs"],"TMPDIR":"/mnt/storage/scratch/tmp/gZPr","start_nice":19,"observed_timeout_nice":19,"exit":0,"seconds":1.003,"mutant":false,"tests":10,"pass":10,"fail":0,"cancelled":0,"skipped":0,"todo":0,"log_sha256":"2ce6a9bd3ea3eeccf1689e1b6335b72bba2d440ae27feeec3dc727567fa140ff"}
{"label":"import-077","command":["timeout","-k","10","900","node","--test","packages/bus/tests/replies.test.mjs"],"TMPDIR":"/mnt/storage/scratch/tmp/gbjz","start_nice":19,"observed_timeout_nice":19,"exit":0,"seconds":0.374,"mutant":false,"tests":7,"pass":7,"fail":0,"cancelled":0,"skipped":0,"todo":0,"log_sha256":"6db5c1588c83f2df4be469f06857569df7f4cfc47c18b15a8f9e741d4d739c4f"}
{"label":"import-078","command":["timeout","-k","10","900","node","--test","packages/bus/tests/requirements.test.mjs"],"TMPDIR":"/mnt/storage/scratch/tmp/g1jX","start_nice":19,"observed_timeout_nice":19,"exit":0,"seconds":0.192,"mutant":false,"tests":3,"pass":3,"fail":0,"cancelled":0,"skipped":0,"todo":0,"log_sha256":"32b876110fc8a35246f6ab16343dae9ea6da42ef556a99e1e5356e077474a96f"}
{"label":"import-079","command":["timeout","-k","10","900","node","--test","packages/bus/tests/review.test.mjs"],"TMPDIR":"/mnt/storage/scratch/tmp/gVJz","start_nice":19,"observed_timeout_nice":19,"exit":0,"seconds":0.427,"mutant":false,"tests":8,"pass":8,"fail":0,"cancelled":0,"skipped":0,"todo":0,"log_sha256":"333b7d84cf72b95ba2cdb1d3824bcb8043623c5f0810c68ed22738210977c297"}
{"label":"import-080","command":["timeout","-k","10","900","node","--test","packages/bus/tests/revoke-window.test.mjs"],"TMPDIR":"/mnt/storage/scratch/tmp/gRZs","start_nice":19,"observed_timeout_nice":19,"exit":0,"seconds":0.305,"mutant":false,"tests":3,"pass":3,"fail":0,"cancelled":0,"skipped":0,"todo":0,"log_sha256":"7e759b3330537c0c566b55b2c405adc6f5f48c3b229c4450d938aaec3280fc09"}
{"label":"import-081","command":["timeout","-k","10","900","node","--test","packages/bus/tests/room-check.test.mjs"],"TMPDIR":"/mnt/storage/scratch/tmp/gzW9","start_nice":19,"observed_timeout_nice":19,"exit":0,"seconds":0.225,"mutant":false,"tests":2,"pass":2,"fail":0,"cancelled":0,"skipped":0,"todo":0,"log_sha256":"300f1ea96ccfa38c9405ef163e531cfeec3c7eb8f46986f077669ca95b8f72f3"}
{"label":"import-082","command":["timeout","-k","10","900","node","--test","packages/bus/tests/rooms.test.mjs"],"TMPDIR":"/mnt/storage/scratch/tmp/gEx0","start_nice":19,"observed_timeout_nice":19,"exit":0,"seconds":1.033,"mutant":false,"tests":18,"pass":18,"fail":0,"cancelled":0,"skipped":0,"todo":0,"log_sha256":"fbcac36a4495da1def5dd650d8aea5758bf25d3e7473148a2b8961bb97b57239"}
{"label":"import-083","command":["timeout","-k","10","900","node","--test","packages/bus/tests/routes-verb.test.mjs"],"TMPDIR":"/mnt/storage/scratch/tmp/g0LO","start_nice":19,"observed_timeout_nice":19,"exit":0,"seconds":0.292,"mutant":false,"tests":4,"pass":4,"fail":0,"cancelled":0,"skipped":0,"todo":0,"log_sha256":"4fef276b76a79518faa03b81d119962ab8880af3010fa33ead93f393dca89f02"}
{"label":"import-084","command":["timeout","-k","10","900","node","--test","packages/bus/tests/schema.test.mjs"],"TMPDIR":"/mnt/storage/scratch/tmp/gZFQ","start_nice":19,"observed_timeout_nice":19,"exit":0,"seconds":0.169,"mutant":false,"tests":1,"pass":1,"fail":0,"cancelled":0,"skipped":0,"todo":0,"log_sha256":"e71271414564fa851dbf25a155b44dcf481770c7f3d4dafe5ce44a09c49526b1"}
{"label":"import-085","command":["timeout","-k","10","900","node","--test","packages/bus/tests/session-clear.test.mjs"],"TMPDIR":"/mnt/storage/scratch/tmp/gfrg","start_nice":19,"observed_timeout_nice":19,"exit":0,"seconds":0.773,"mutant":false,"tests":19,"pass":19,"fail":0,"cancelled":0,"skipped":0,"todo":0,"log_sha256":"c8097880d5e9a396fb907bc1f35f342821971b545fea7f1e4ddcb2b9f2fb322a"}
{"label":"import-086","command":["timeout","-k","10","900","node","--test","packages/bus/tests/session-compactions.test.mjs"],"TMPDIR":"/mnt/storage/scratch/tmp/gfRL","start_nice":19,"observed_timeout_nice":19,"exit":0,"seconds":0.179,"mutant":false,"tests":4,"pass":4,"fail":0,"cancelled":0,"skipped":0,"todo":0,"log_sha256":"0a2f0ef4d7f6588e2aaeb5a5d8e200650ae573c4468640130140eb83430261b3"}
{"label":"import-087","command":["timeout","-k","10","900","node","--test","packages/bus/tests/sessions.test.mjs"],"TMPDIR":"/mnt/storage/scratch/tmp/gaNb","start_nice":19,"observed_timeout_nice":19,"exit":0,"seconds":0.654,"mutant":false,"tests":7,"pass":7,"fail":0,"cancelled":0,"skipped":0,"todo":0,"log_sha256":"11f26dc0d082b49ce7839d22aca75067dcc2f978d6c319da3d2800adcc0a9ffc"}
{"label":"import-088","command":["timeout","-k","10","900","node","--test","packages/bus/tests/single-use.test.mjs"],"TMPDIR":"/mnt/storage/scratch/tmp/gSe3","start_nice":19,"observed_timeout_nice":19,"exit":0,"seconds":0.416,"mutant":false,"tests":12,"pass":12,"fail":0,"cancelled":0,"skipped":0,"todo":0,"log_sha256":"7a0e2e7a4a6ab79b85462ad1a39955c5402dab8a9236534c857cef88d08ecc87"}
{"label":"import-089","command":["timeout","-k","10","900","node","--test","packages/bus/tests/spec-migration.test.mjs"],"TMPDIR":"/mnt/storage/scratch/tmp/gPmw","start_nice":19,"observed_timeout_nice":19,"exit":0,"seconds":0.215,"mutant":false,"tests":1,"pass":1,"fail":0,"cancelled":0,"skipped":0,"todo":0,"log_sha256":"b9831356a0d65a037796a66764dcf7dcc267d8512e70087b364cbe390a8c85dc"}
{"label":"import-090","command":["timeout","-k","10","900","node","--test","packages/bus/tests/spec-review.test.mjs"],"TMPDIR":"/mnt/storage/scratch/tmp/gqKv","start_nice":19,"observed_timeout_nice":19,"exit":0,"seconds":2.034,"mutant":false,"tests":12,"pass":12,"fail":0,"cancelled":0,"skipped":0,"todo":0,"log_sha256":"8a70a550b2b056c35f2e85bdd4a155bf7d02332d89596aeed40e16bec765221c"}
{"label":"import-091","command":["timeout","-k","10","900","node","--test","packages/bus/tests/spec-socket.test.mjs"],"TMPDIR":"/mnt/storage/scratch/tmp/gY6G","start_nice":19,"observed_timeout_nice":19,"exit":0,"seconds":0.787,"mutant":false,"tests":6,"pass":6,"fail":0,"cancelled":0,"skipped":0,"todo":0,"log_sha256":"d58670526310fa5106ab9b3d724d817910283b76cfa8bd79278b0428e42b73c3"}
{"label":"import-092","command":["timeout","-k","10","900","node","--test","packages/bus/tests/spec.test.mjs"],"TMPDIR":"/mnt/storage/scratch/tmp/gnTM","start_nice":19,"observed_timeout_nice":19,"exit":0,"seconds":0.538,"mutant":false,"tests":4,"pass":4,"fail":0,"cancelled":0,"skipped":0,"todo":0,"log_sha256":"d04ac45ad25906322cbbd50b703c316c4eeefad1d40f901eeaf2c34224fc5958"}
{"label":"import-093","command":["timeout","-k","10","900","node","--test","packages/bus/tests/staff-request.test.mjs"],"TMPDIR":"/mnt/storage/scratch/tmp/g07B","start_nice":19,"observed_timeout_nice":19,"exit":0,"seconds":0.544,"mutant":false,"tests":10,"pass":10,"fail":0,"cancelled":0,"skipped":0,"todo":0,"log_sha256":"e0e379d2e0871ecbbae9a5e92ee7217342dc31cf69c80373aeef72f78ea27fd9"}
{"label":"import-094","command":["timeout","-k","10","900","node","--test","packages/bus/tests/state.test.mjs"],"TMPDIR":"/mnt/storage/scratch/tmp/gx6m","start_nice":19,"observed_timeout_nice":19,"exit":0,"seconds":0.289,"mutant":false,"tests":8,"pass":8,"fail":0,"cancelled":0,"skipped":0,"todo":0,"log_sha256":"63ac32064c6220c89204a8c34f13ce45ebb76f65a6e10e4173608740e1b54887"}
{"label":"import-095","command":["timeout","-k","10","900","node","--test","packages/bus/tests/store.test.mjs"],"TMPDIR":"/mnt/storage/scratch/tmp/g5mj","start_nice":19,"observed_timeout_nice":19,"exit":0,"seconds":0.286,"mutant":false,"tests":7,"pass":7,"fail":0,"cancelled":0,"skipped":0,"todo":0,"log_sha256":"329377b361787f86ffb5bda9210559d3d073e8ed9cfacc43e341156de63af707"}
{"label":"import-096","command":["timeout","-k","10","900","node","--test","packages/bus/tests/task-page.test.mjs"],"TMPDIR":"/mnt/storage/scratch/tmp/gErK","start_nice":19,"observed_timeout_nice":19,"exit":0,"seconds":1.203,"mutant":false,"tests":6,"pass":6,"fail":0,"cancelled":0,"skipped":0,"todo":0,"log_sha256":"0e48322586d18073df7d9efbc0700b7f9e2e45a7a61eb32ffa13ab9d9695de54"}
{"label":"import-097","command":["timeout","-k","10","900","node","--test","packages/bus/tests/task-read.test.mjs"],"TMPDIR":"/mnt/storage/scratch/tmp/g7B0","start_nice":19,"observed_timeout_nice":19,"exit":0,"seconds":0.237,"mutant":false,"tests":3,"pass":3,"fail":0,"cancelled":0,"skipped":0,"todo":0,"log_sha256":"3aa73723d9410d5c6851352f6b3d9c0f671f9b008b8a2355021488f2a071c22b"}
{"label":"import-098","command":["timeout","-k","10","900","node","--test","packages/bus/tests/tasks.test.mjs"],"TMPDIR":"/mnt/storage/scratch/tmp/gqcQ","start_nice":19,"observed_timeout_nice":19,"exit":0,"seconds":1.037,"mutant":false,"tests":9,"pass":9,"fail":0,"cancelled":0,"skipped":0,"todo":0,"log_sha256":"60e43ca791f0ee0e5a91c0a112ad0d971f38d28e18d6feb7a2d33132aec934fe"}
{"label":"import-099","command":["timeout","-k","10","900","node","--test","packages/bus/tests/tester-threads.test.mjs"],"TMPDIR":"/mnt/storage/scratch/tmp/gbPX","start_nice":19,"observed_timeout_nice":19,"exit":0,"seconds":0.486,"mutant":false,"tests":15,"pass":15,"fail":0,"cancelled":0,"skipped":0,"todo":0,"log_sha256":"101fcf483990278f3a997ed1cff44b6191b1766147083ddf21341a4480eb602b"}
{"label":"import-100","command":["timeout","-k","10","900","node","--test","packages/bus/tests/tester-writes.test.mjs"],"TMPDIR":"/mnt/storage/scratch/tmp/gMT4","start_nice":19,"observed_timeout_nice":19,"exit":0,"seconds":0.609,"mutant":false,"tests":8,"pass":8,"fail":0,"cancelled":0,"skipped":0,"todo":0,"log_sha256":"d5618314574cf7e64ac877e29787712f5fd68903228e6e1001c37cdd9b54a9e4"}
{"label":"import-101","command":["timeout","-k","10","900","node","--test","packages/bus/tests/tester.test.mjs"],"TMPDIR":"/mnt/storage/scratch/tmp/gl5m","start_nice":19,"observed_timeout_nice":19,"exit":0,"seconds":2.337,"mutant":false,"tests":14,"pass":14,"fail":0,"cancelled":0,"skipped":0,"todo":0,"log_sha256":"c44885e9d43e6ed5969af2f87ecc17fe00e1f1895435d86f5ddbe399c945642e"}
{"label":"import-102","command":["timeout","-k","10","900","node","--test","packages/bus/tests/thread-claims.test.mjs"],"TMPDIR":"/mnt/storage/scratch/tmp/gmfF","start_nice":19,"observed_timeout_nice":19,"exit":0,"seconds":0.354,"mutant":false,"tests":6,"pass":6,"fail":0,"cancelled":0,"skipped":0,"todo":0,"log_sha256":"bd053d20e52d1859ea6ed13f316e7ed27dac3ba3a8f1be5b3b7adef2fa15e356"}
{"label":"import-103","command":["timeout","-k","10","900","node","--test","packages/bus/tests/thread-migration.test.mjs"],"TMPDIR":"/mnt/storage/scratch/tmp/gUt3","start_nice":19,"observed_timeout_nice":19,"exit":0,"seconds":0.513,"mutant":false,"tests":3,"pass":3,"fail":0,"cancelled":0,"skipped":0,"todo":0,"log_sha256":"ee94081c476ab12b1c1b73eb2efb6138c22deee6dda92aa015fd2b2cc4cc405e"}
{"label":"import-104","command":["timeout","-k","10","900","node","--test","packages/bus/tests/thread-shares.test.mjs"],"TMPDIR":"/mnt/storage/scratch/tmp/g6KY","start_nice":19,"observed_timeout_nice":19,"exit":0,"seconds":0.966,"mutant":false,"tests":16,"pass":16,"fail":0,"cancelled":0,"skipped":0,"todo":0,"log_sha256":"e2c37691510cc5acfecfcd6d5be612b701fa72a06c544c265b027a381eb577ae"}
{"label":"import-105","command":["timeout","-k","10","900","node","--test","packages/bus/tests/threads.test.mjs"],"TMPDIR":"/mnt/storage/scratch/tmp/gqdT","start_nice":19,"observed_timeout_nice":19,"exit":0,"seconds":1.848,"mutant":false,"tests":20,"pass":20,"fail":0,"cancelled":0,"skipped":0,"todo":0,"log_sha256":"0e25845dfd5e6c68c206ef19b6ab74b5e00d01cf2ce6cd8843b7f0abe4229d60"}
{"label":"import-106","command":["timeout","-k","10","900","node","--test","packages/bus/tests/transport.test.mjs"],"TMPDIR":"/mnt/storage/scratch/tmp/gG0Z","start_nice":19,"observed_timeout_nice":19,"exit":0,"seconds":0.355,"mutant":false,"tests":5,"pass":5,"fail":0,"cancelled":0,"skipped":0,"todo":0,"log_sha256":"177ad5f143bb47dc7d65ef89785b19170ed7f5a25d1dd78079c73367b7d34bb5"}
{"label":"import-107","command":["timeout","-k","10","900","node","--test","packages/bus/tests/usage-broker.test.mjs"],"TMPDIR":"/mnt/storage/scratch/tmp/gYVM","start_nice":19,"observed_timeout_nice":19,"exit":0,"seconds":0.179,"mutant":false,"tests":1,"pass":1,"fail":0,"cancelled":0,"skipped":0,"todo":0,"log_sha256":"91d3b9ff3e854f2afb6d635a0994a4b2d1af482804067c2e6f78930babf25378"}
{"label":"import-108","command":["timeout","-k","10","900","node","--test","packages/bus/tests/usage-migration.test.mjs"],"TMPDIR":"/mnt/storage/scratch/tmp/gJIX","start_nice":19,"observed_timeout_nice":19,"exit":0,"seconds":0.232,"mutant":false,"tests":1,"pass":1,"fail":0,"cancelled":0,"skipped":0,"todo":0,"log_sha256":"35dae9048409bf16982b1554b0d3bf53de51293c012b428cfa95e3876c353d1b"}
{"label":"import-109","command":["timeout","-k","10","900","node","--test","packages/bus/tests/usage-runtime.test.mjs"],"TMPDIR":"/mnt/storage/scratch/tmp/gzcI","start_nice":19,"observed_timeout_nice":19,"exit":0,"seconds":0.3,"mutant":false,"tests":1,"pass":1,"fail":0,"cancelled":0,"skipped":0,"todo":0,"log_sha256":"1b260c414d98caf272852cc1c6a0928a79f84b05baad356f954fabb8befed9f4"}
{"label":"import-110","command":["timeout","-k","10","900","node","--test","packages/bus/tests/usage.test.mjs"],"TMPDIR":"/mnt/storage/scratch/tmp/g9hD","start_nice":19,"observed_timeout_nice":19,"exit":0,"seconds":0.341,"mutant":false,"tests":15,"pass":15,"fail":0,"cancelled":0,"skipped":0,"todo":0,"log_sha256":"4b7a7719685b54f0bafcd0d6ca0eff8da3c35e8c438b69fb63826120c444646d"}
{"label":"import-111","command":["timeout","-k","10","900","node","--test","packages/bus/tests/user-principal.test.mjs"],"TMPDIR":"/mnt/storage/scratch/tmp/gCyo","start_nice":19,"observed_timeout_nice":19,"exit":0,"seconds":0.843,"mutant":false,"tests":24,"pass":24,"fail":0,"cancelled":0,"skipped":0,"todo":0,"log_sha256":"7e5d8e391b6d683905f7654276e74e56cd2e0bb3019d8882fb51f5e96e8bb4e2"}
{"label":"import-112","command":["timeout","-k","10","900","node","--test","packages/bus/tests/viewer.test.mjs"],"TMPDIR":"/mnt/storage/scratch/tmp/gckq","start_nice":19,"observed_timeout_nice":19,"exit":0,"seconds":0.495,"mutant":false,"tests":7,"pass":7,"fail":0,"cancelled":0,"skipped":0,"todo":0,"log_sha256":"0088c69c83ad21b0c09c5b74986f7d1b5609f6155d40d6230cb755914506b209"}
{"label":"import-113","command":["timeout","-k","10","900","node","--test","packages/bus/tests/web.test.mjs"],"TMPDIR":"/mnt/storage/scratch/tmp/gr8J","start_nice":19,"observed_timeout_nice":19,"exit":0,"seconds":1.209,"mutant":false,"tests":19,"pass":19,"fail":0,"cancelled":0,"skipped":0,"todo":0,"log_sha256":"81db5367857555ba39abf0d45a2b4837a60c796109af4039b43f3dceaaf9a3e4"}
{"label":"import-114","command":["timeout","-k","10","900","node","--test","packages/bus/tests/workflow-roles.test.mjs"],"TMPDIR":"/mnt/storage/scratch/tmp/gObE","start_nice":19,"observed_timeout_nice":19,"exit":0,"seconds":0.265,"mutant":false,"tests":4,"pass":4,"fail":0,"cancelled":0,"skipped":0,"todo":0,"log_sha256":"4a3d911233067a9623aacbe0f856296e7c80d616d1099a30a9ce253506791bb2"}
{"label":"import-115","command":["timeout","-k","10","900","node","--test","packages/business/tests/case1-business-file.test.mjs"],"TMPDIR":"/mnt/storage/scratch/tmp/gKGR","start_nice":19,"observed_timeout_nice":19,"exit":0,"seconds":0.839,"mutant":false,"tests":7,"pass":7,"fail":0,"cancelled":0,"skipped":0,"todo":0,"log_sha256":"2dd7e08774e88449fc90beffa7a1097772a4b04906e62548cd34b31f1cf541b3"}
{"label":"import-116","command":["timeout","-k","10","900","node","--test","packages/business/tests/launch-settings.test.mjs"],"TMPDIR":"/mnt/storage/scratch/tmp/gaiJ","start_nice":19,"observed_timeout_nice":19,"exit":0,"seconds":0.451,"mutant":false,"tests":18,"pass":18,"fail":0,"cancelled":0,"skipped":0,"todo":0,"log_sha256":"849eeebfaaf47c96f22db45752fb5f00143663fb4ed0aa2d22d74f8af9ea3905"}
{"label":"import-117","command":["timeout","-k","10","900","node","--test","packages/cli/tests/access-boot.test.mjs"],"TMPDIR":"/mnt/storage/scratch/tmp/gU7B","start_nice":19,"observed_timeout_nice":19,"exit":0,"seconds":0.64,"mutant":false,"tests":4,"pass":4,"fail":0,"cancelled":0,"skipped":0,"todo":0,"log_sha256":"1698f3f93b14d11b330e559f19a580edae78b4182042df0e7da1cc9d4cbb53be"}
{"label":"import-118","command":["timeout","-k","10","900","node","--test","packages/cli/tests/access.test.mjs"],"TMPDIR":"/mnt/storage/scratch/tmp/gHaW","start_nice":19,"observed_timeout_nice":19,"exit":0,"seconds":7.364,"mutant":false,"tests":34,"pass":34,"fail":0,"cancelled":0,"skipped":0,"todo":0,"log_sha256":"e42f5491e4db8370ad6f6c2f09a8008c9559ecd572f0985f766f0ca11b1d7b60"}
{"label":"import-119","command":["timeout","-k","10","900","node","--test","packages/cli/tests/app.test.mjs"],"TMPDIR":"/mnt/storage/scratch/tmp/gmHw","start_nice":19,"observed_timeout_nice":19,"exit":0,"seconds":16.086,"mutant":false,"tests":30,"pass":30,"fail":0,"cancelled":0,"skipped":0,"todo":0,"log_sha256":"d65043a7cf3a1d67b99bb47de8efa029c44b90b9fcc0cc7cb8d8ed54403bba81"}
{"label":"import-120","command":["timeout","-k","10","900","node","--test","packages/cli/tests/boot-status.test.mjs"],"TMPDIR":"/mnt/storage/scratch/tmp/gYv3","start_nice":19,"observed_timeout_nice":19,"exit":0,"seconds":1.916,"mutant":false,"tests":3,"pass":3,"fail":0,"cancelled":0,"skipped":0,"todo":0,"log_sha256":"f6753a454d658737099bb6da76219aeb3c6e92bce76b78c53f2d9dae29f5d777"}
{"label":"import-121","command":["timeout","-k","10","900","node","--test","packages/cli/tests/case1-hostcheck.test.mjs"],"TMPDIR":"/mnt/storage/scratch/tmp/gvaK","start_nice":19,"observed_timeout_nice":19,"exit":0,"seconds":3.735,"mutant":false,"tests":19,"pass":19,"fail":0,"cancelled":0,"skipped":0,"todo":0,"log_sha256":"aeb1e23bf951d5859d7adb54fe8f3c6464ba4bf368e9316dce8e5142e097565c"}
{"label":"import-122","command":["timeout","-k","10","900","node","--test","packages/cli/tests/case2-install.test.mjs"],"TMPDIR":"/mnt/storage/scratch/tmp/gLWb","start_nice":19,"observed_timeout_nice":19,"exit":0,"seconds":11.37,"mutant":false,"tests":27,"pass":27,"fail":0,"cancelled":0,"skipped":0,"todo":0,"log_sha256":"06166332e80fd57cd9ae5e5ef2f167260adb413cd6c799b9c1834255cbf3ed63"}
{"label":"import-123","command":["timeout","-k","10","900","node","--test","packages/cli/tests/case2-persona-import.test.mjs"],"TMPDIR":"/mnt/storage/scratch/tmp/g955","start_nice":19,"observed_timeout_nice":19,"exit":0,"seconds":3.606,"mutant":false,"tests":14,"pass":14,"fail":0,"cancelled":0,"skipped":0,"todo":0,"log_sha256":"6005b321161cba438dc94ee6f58a05a05919e099da0d5b43b16b0438214b128e"}
{"label":"import-124","command":["timeout","-k","10","900","node","--test","packages/cli/tests/case2-unit.test.mjs"],"TMPDIR":"/mnt/storage/scratch/tmp/gPC5","start_nice":19,"observed_timeout_nice":19,"exit":0,"seconds":104.569,"mutant":false,"tests":47,"pass":47,"fail":0,"cancelled":0,"skipped":0,"todo":0,"log_sha256":"b9c64e1eea4e389dfc10b9e1ddf88e47d903c7abb1f175b0f73b0a6adf5e8a3b"}
{"label":"import-125","command":["timeout","-k","10","900","node","--test","packages/cli/tests/channel-cli.test.mjs"],"TMPDIR":"/mnt/storage/scratch/tmp/gCxf","start_nice":19,"observed_timeout_nice":19,"exit":0,"seconds":0.604,"mutant":false,"tests":2,"pass":2,"fail":0,"cancelled":0,"skipped":0,"todo":0,"log_sha256":"69ae3003d282a5f998613498ca1a696b684a9e4c03f5b006409d1fb15402c3c6"}
{"label":"import-126","command":["timeout","-k","10","900","node","--test","packages/cli/tests/channel-recovery.test.mjs"],"TMPDIR":"/mnt/storage/scratch/tmp/gy7b","start_nice":19,"observed_timeout_nice":19,"exit":0,"seconds":7.039,"mutant":false,"tests":1,"pass":1,"fail":0,"cancelled":0,"skipped":0,"todo":0,"log_sha256":"0df2d0dce24f2c7e9e70c1db3da115d848ee778a3b77c30f50db5fa5b70b15a8"}
{"label":"import-127","command":["timeout","-k","10","900","node","--test","packages/cli/tests/cli.test.mjs"],"TMPDIR":"/mnt/storage/scratch/tmp/g4YA","start_nice":19,"observed_timeout_nice":19,"exit":0,"seconds":0.986,"mutant":false,"tests":12,"pass":12,"fail":0,"cancelled":0,"skipped":0,"todo":0,"log_sha256":"9e9f75b810bdce44a7e288a0f03572a824642a0e615c3912113d8882fba57f20"}
{"label":"import-128","command":["timeout","-k","10","900","node","--test","packages/cli/tests/compactions-launch.test.mjs"],"TMPDIR":"/mnt/storage/scratch/tmp/gH0o","start_nice":19,"observed_timeout_nice":19,"exit":0,"seconds":18.141,"mutant":false,"tests":5,"pass":5,"fail":0,"cancelled":0,"skipped":0,"todo":0,"log_sha256":"7ab789f5de01f4d9fb2c2933fc906d657bb3c867ebb7e8545b4ae8b2f07e348b"}
{"label":"import-129","command":["timeout","-k","10","900","node","--test","packages/cli/tests/config.test.mjs"],"TMPDIR":"/mnt/storage/scratch/tmp/gvdv","start_nice":19,"observed_timeout_nice":19,"exit":0,"seconds":0.989,"mutant":false,"tests":7,"pass":7,"fail":0,"cancelled":0,"skipped":0,"todo":0,"log_sha256":"46976c51d867431031baeb7dfb03518e111f88327f99f24fafa727c987037710"}
{"label":"import-130","command":["timeout","-k","10","900","node","--test","packages/cli/tests/credentials.test.mjs"],"TMPDIR":"/mnt/storage/scratch/tmp/gW4m","start_nice":19,"observed_timeout_nice":19,"exit":0,"seconds":0.558,"mutant":false,"tests":5,"pass":5,"fail":0,"cancelled":0,"skipped":0,"todo":0,"log_sha256":"1633748b05e927193646fd8eaeb9cc64092553734a972a33ac9b26baee4390e1"}
{"label":"import-131","command":["timeout","-k","10","900","node","--test","packages/cli/tests/federation-acceptance.test.mjs"],"TMPDIR":"/mnt/storage/scratch/tmp/gEeW","start_nice":19,"observed_timeout_nice":19,"exit":0,"seconds":0.281,"mutant":false,"tests":1,"pass":0,"fail":0,"cancelled":0,"skipped":1,"todo":0,"log_sha256":"76dec3f040a21cad59757b69487247ebb3b6a8b27b015f0615585b3be477942a"}
{"label":"import-132","command":["timeout","-k","10","900","node","--test","packages/cli/tests/follow.test.mjs"],"TMPDIR":"/mnt/storage/scratch/tmp/gxPz","start_nice":19,"observed_timeout_nice":19,"exit":0,"seconds":1.084,"mutant":false,"tests":6,"pass":6,"fail":0,"cancelled":0,"skipped":0,"todo":0,"log_sha256":"db3463b8998634a487878c02c81b31eb196077dc45ac102de56f6f06a7bd26ee"}
{"label":"import-133","command":["timeout","-k","10","900","node","--test","packages/cli/tests/git-socket.test.mjs"],"TMPDIR":"/mnt/storage/scratch/tmp/gcHM","start_nice":19,"observed_timeout_nice":19,"exit":0,"seconds":27.936,"mutant":false,"tests":24,"pass":24,"fail":0,"cancelled":0,"skipped":0,"todo":0,"log_sha256":"c1a6247751b05dcaad81d9a42e93c923200f2971ef17622924d00a07c8292735"}
{"label":"import-134","command":["timeout","-k","10","900","node","--test","packages/cli/tests/grants-scope.test.mjs"],"TMPDIR":"/mnt/storage/scratch/tmp/gRr9","start_nice":19,"observed_timeout_nice":19,"exit":0,"seconds":0.298,"mutant":false,"tests":4,"pass":4,"fail":0,"cancelled":0,"skipped":0,"todo":0,"log_sha256":"2f9222ce2ac41443cb24c69bffea46fd96c53af469670f642dcc2319d162ffc5"}
{"label":"import-135","command":["timeout","-k","10","900","node","--test","packages/cli/tests/grants.test.mjs"],"TMPDIR":"/mnt/storage/scratch/tmp/gbr2","start_nice":19,"observed_timeout_nice":19,"exit":0,"seconds":0.418,"mutant":false,"tests":6,"pass":6,"fail":0,"cancelled":0,"skipped":0,"todo":0,"log_sha256":"018fba785221ec997b369739f1fa39ff927f7144b6276f071338a64ba331e555"}
{"label":"import-136","command":["timeout","-k","10","900","node","--test","packages/cli/tests/host.test.mjs"],"TMPDIR":"/mnt/storage/scratch/tmp/gIQc","start_nice":19,"observed_timeout_nice":19,"exit":0,"seconds":20.522,"mutant":false,"tests":43,"pass":43,"fail":0,"cancelled":0,"skipped":0,"todo":0,"log_sha256":"98d2bb8ac91e143fd16fb02b29d877b2df4397a1d8857687707d0bfebb3459be"}
{"label":"import-137","command":["timeout","-k","10","900","node","--test","packages/cli/tests/hosts.test.mjs"],"TMPDIR":"/mnt/storage/scratch/tmp/gB9t","start_nice":19,"observed_timeout_nice":19,"exit":0,"seconds":0.5,"mutant":false,"tests":8,"pass":8,"fail":0,"cancelled":0,"skipped":0,"todo":0,"log_sha256":"376d8a698c39bc25b9e43ee63f762718ab2d2d2dbfab36da61971e3982f98353"}
{"label":"import-138","command":["timeout","-k","10","900","node","--test","packages/cli/tests/idle-stop-race.test.mjs"],"TMPDIR":"/mnt/storage/scratch/tmp/gt4N","start_nice":19,"observed_timeout_nice":19,"exit":0,"seconds":2.246,"mutant":false,"tests":1,"pass":1,"fail":0,"cancelled":0,"skipped":0,"todo":0,"log_sha256":"4ee49db59177a6cedcc98642ad2b4215e1489c8720e3ab27c88a1d3513b4384f"}
{"label":"import-139","command":["timeout","-k","10","900","node","--test","packages/cli/tests/instances.test.mjs"],"TMPDIR":"/mnt/storage/scratch/tmp/ga2n","start_nice":19,"observed_timeout_nice":19,"exit":0,"seconds":4.158,"mutant":false,"tests":15,"pass":15,"fail":0,"cancelled":0,"skipped":0,"todo":0,"log_sha256":"125780e39af442913bf056f71a57b663c954d8eb5a96fb245db8063237ccb1e1"}
{"label":"import-140","command":["timeout","-k","10","900","node","--test","packages/cli/tests/launch-account.test.mjs"],"TMPDIR":"/mnt/storage/scratch/tmp/gEgp","start_nice":19,"observed_timeout_nice":19,"exit":0,"seconds":0.427,"mutant":false,"tests":7,"pass":7,"fail":0,"cancelled":0,"skipped":0,"todo":0,"log_sha256":"1a2de9540358023f6acb51ab8cdfe0f56e21331cca06ecef672fe7e9b1e0b43a"}
{"label":"import-141","command":["timeout","-k","10","900","node","--test","packages/cli/tests/launch-limit-checks.test.mjs"],"TMPDIR":"/mnt/storage/scratch/tmp/gxqf","start_nice":19,"observed_timeout_nice":19,"exit":0,"seconds":0.398,"mutant":false,"tests":5,"pass":5,"fail":0,"cancelled":0,"skipped":0,"todo":0,"log_sha256":"027fb83eb3ef68f01fde4e1a272faf569516372f194e3e8404973756f9ffb974"}
{"label":"import-142","command":["timeout","-k","10","900","node","--test","packages/cli/tests/launch-limits.test.mjs"],"TMPDIR":"/mnt/storage/scratch/tmp/g5N5","start_nice":19,"observed_timeout_nice":19,"exit":0,"seconds":0.255,"mutant":false,"tests":1,"pass":1,"fail":0,"cancelled":0,"skipped":0,"todo":0,"log_sha256":"a3c26a3f092d8e7dd96fe1addfcd77b89d726d027e9f988340a1442823644c3c"}
{"label":"import-143","command":["timeout","-k","10","900","node","--test","packages/cli/tests/launch-routes.test.mjs"],"TMPDIR":"/mnt/storage/scratch/tmp/gMhQ","start_nice":19,"observed_timeout_nice":19,"exit":0,"seconds":0.514,"mutant":false,"tests":9,"pass":9,"fail":0,"cancelled":0,"skipped":0,"todo":0,"log_sha256":"ba0335e2efd7de694b51ca89b427ffb06b652f6d9757df1997f9c1c7703ac74a"}
{"label":"import-144","command":["timeout","-k","10","900","node","--test","packages/cli/tests/launcher.test.mjs"],"TMPDIR":"/mnt/storage/scratch/tmp/gqhv","start_nice":19,"observed_timeout_nice":19,"exit":0,"seconds":45.769,"mutant":false,"tests":34,"pass":34,"fail":0,"cancelled":0,"skipped":0,"todo":0,"log_sha256":"5e5374884901f29432961198070f3ede2f87fcc41a818423c3cb90c919dfd7d0"}
{"label":"import-145","command":["timeout","-k","10","900","node","--test","packages/cli/tests/lifecycle.test.mjs"],"TMPDIR":"/mnt/storage/scratch/tmp/g76b","start_nice":19,"observed_timeout_nice":19,"exit":0,"seconds":16.885,"mutant":false,"tests":24,"pass":24,"fail":0,"cancelled":0,"skipped":0,"todo":0,"log_sha256":"37c3dcc1555bc527fe0f853c1a08bae993bd541143c3b6f7edc360c0c3c26d8d"}
{"label":"import-146","command":["timeout","-k","10","900","node","--test","packages/cli/tests/limits-tokens.test.mjs"],"TMPDIR":"/mnt/storage/scratch/tmp/g7dV","start_nice":19,"observed_timeout_nice":19,"exit":0,"seconds":0.224,"mutant":false,"tests":5,"pass":5,"fail":0,"cancelled":0,"skipped":0,"todo":0,"log_sha256":"6dae4cd3607f44b07df6a5e6764276a2ef152b892f050340d6defd14a83b731e"}
{"label":"import-147","command":["timeout","-k","10","900","node","--test","packages/cli/tests/limits.test.mjs"],"TMPDIR":"/mnt/storage/scratch/tmp/gLVw","start_nice":19,"observed_timeout_nice":19,"exit":0,"seconds":0.442,"mutant":false,"tests":5,"pass":5,"fail":0,"cancelled":0,"skipped":0,"todo":0,"log_sha256":"efe051216bb6347423f556f8951c6b6c4adf9c266d8fde6fedfbebb3e678c17f"}
{"label":"import-148","command":["timeout","-k","10","900","node","--test","packages/cli/tests/mark-read.test.mjs"],"TMPDIR":"/mnt/storage/scratch/tmp/gVQ4","start_nice":19,"observed_timeout_nice":19,"exit":0,"seconds":1.266,"mutant":false,"tests":6,"pass":6,"fail":0,"cancelled":0,"skipped":0,"todo":0,"log_sha256":"b90e024010c9a6fbded17306d01b78b2f5748167f9dd4fee20bc5775ef72de81"}
{"label":"import-149","command":["timeout","-k","10","900","node","--test","packages/cli/tests/names.test.mjs"],"TMPDIR":"/mnt/storage/scratch/tmp/gJL7","start_nice":19,"observed_timeout_nice":19,"exit":0,"seconds":0.297,"mutant":false,"tests":2,"pass":2,"fail":0,"cancelled":0,"skipped":0,"todo":0,"log_sha256":"b8d4005cb4e0f1acbe89bc6427b952459b2b876f54c1ed031a558789b535e87e"}
{"label":"import-150","command":["timeout","-k","10","900","node","--test","packages/cli/tests/notifier.test.mjs"],"TMPDIR":"/mnt/storage/scratch/tmp/gSos","start_nice":19,"observed_timeout_nice":19,"exit":0,"seconds":1.033,"mutant":false,"tests":27,"pass":27,"fail":0,"cancelled":0,"skipped":0,"todo":0,"log_sha256":"c7156a9c99f99c3b51da2c73b728349f348dac6a0b0530bda96212a848014f7c"}
{"label":"import-151","command":["timeout","-k","10","900","node","--test","packages/cli/tests/optional-tracker.test.mjs"],"TMPDIR":"/mnt/storage/scratch/tmp/ggn7","start_nice":19,"observed_timeout_nice":19,"exit":0,"seconds":0.413,"mutant":false,"tests":4,"pass":4,"fail":0,"cancelled":0,"skipped":0,"todo":0,"log_sha256":"d09457d3034c683bc98639f04d83d5348815571d46d5c30cbe055aed5ceef3a7"}
{"label":"import-152","command":["timeout","-k","10","900","node","--test","packages/cli/tests/other-tree.test.mjs"],"TMPDIR":"/mnt/storage/scratch/tmp/gclm","start_nice":19,"observed_timeout_nice":19,"exit":0,"seconds":0.3,"mutant":false,"tests":4,"pass":4,"fail":0,"cancelled":0,"skipped":0,"todo":0,"log_sha256":"aa7be88cd823a44c8743159006f1d9b61072ebaa04935339d4a875d0997f903e"}
{"label":"import-153","command":["timeout","-k","10","900","node","--test","packages/cli/tests/processing-cli.test.mjs"],"TMPDIR":"/mnt/storage/scratch/tmp/gvyI","start_nice":19,"observed_timeout_nice":19,"exit":0,"seconds":0.367,"mutant":false,"tests":4,"pass":4,"fail":0,"cancelled":0,"skipped":0,"todo":0,"log_sha256":"55d67187192edfd5c929713af6a8f40025259429f36a444eb886fd26013a3135"}
{"label":"import-154","command":["timeout","-k","10","900","node","--test","packages/cli/tests/project-name-repo.test.mjs"],"TMPDIR":"/mnt/storage/scratch/tmp/g3qR","start_nice":19,"observed_timeout_nice":19,"exit":0,"seconds":0.431,"mutant":false,"tests":2,"pass":2,"fail":0,"cancelled":0,"skipped":0,"todo":0,"log_sha256":"9e8364d68d732dbcb9e518ff8dc1cb957d0d254c0a3821711df20e34f6427f07"}
{"label":"import-155","command":["timeout","-k","10","900","node","--test","packages/cli/tests/project.test.mjs"],"TMPDIR":"/mnt/storage/scratch/tmp/gJK9","start_nice":19,"observed_timeout_nice":19,"exit":0,"seconds":0.908,"mutant":false,"tests":4,"pass":4,"fail":0,"cancelled":0,"skipped":0,"todo":0,"log_sha256":"7014e206c70053c2eaeb89fa59b38781802e65d2982fee3855772dd9721285a6"}
{"label":"import-156","command":["timeout","-k","10","900","node","--test","packages/cli/tests/publish-socket.test.mjs"],"TMPDIR":"/mnt/storage/scratch/tmp/gQ5m","start_nice":19,"observed_timeout_nice":19,"exit":0,"seconds":11.807,"mutant":false,"tests":9,"pass":9,"fail":0,"cancelled":0,"skipped":0,"todo":0,"log_sha256":"e20a380f9e0e0070d2598bd3ae85679f70f59c92e6f8cf1c7c840a0975c253b7"}
{"label":"import-157","command":["timeout","-k","10","900","node","--test","packages/cli/tests/reply-limits.test.mjs"],"TMPDIR":"/mnt/storage/scratch/tmp/gR4L","start_nice":19,"observed_timeout_nice":19,"exit":0,"seconds":0.167,"mutant":false,"tests":2,"pass":2,"fail":0,"cancelled":0,"skipped":0,"todo":0,"log_sha256":"9339298bbd5ebfb0e033d2b992c69f62c168e124e741bfc0de500c35b8ffc092"}
{"label":"import-158","command":["timeout","-k","10","900","node","--test","packages/cli/tests/revoke-window.test.mjs"],"TMPDIR":"/mnt/storage/scratch/tmp/gHpa","start_nice":19,"observed_timeout_nice":19,"exit":0,"seconds":1.868,"mutant":false,"tests":1,"pass":1,"fail":0,"cancelled":0,"skipped":0,"todo":0,"log_sha256":"774c1211e7dadeab526d34d50b143c1141ee9f85e3799b644734eeb78c8e9b6f"}
{"label":"import-159","command":["timeout","-k","10","900","node","--test","packages/cli/tests/session-clear.test.mjs"],"TMPDIR":"/mnt/storage/scratch/tmp/gd9q","start_nice":19,"observed_timeout_nice":19,"exit":0,"seconds":13.609,"mutant":false,"tests":5,"pass":5,"fail":0,"cancelled":0,"skipped":0,"todo":0,"log_sha256":"a47caf45da848c1bf1a8456eb89c213df981229dc0765362573ec82e6701b11c"}
{"label":"import-160","command":["timeout","-k","10","900","node","--test","packages/cli/tests/session-cli.test.mjs"],"TMPDIR":"/mnt/storage/scratch/tmp/gXLB","start_nice":19,"observed_timeout_nice":19,"exit":0,"seconds":0.323,"mutant":false,"tests":14,"pass":14,"fail":0,"cancelled":0,"skipped":0,"todo":0,"log_sha256":"3d260701a0c4afd1d21effb5ca1db6cdb47803281bde2536853926f56a236955"}
{"label":"import-161","command":["timeout","-k","10","900","node","--test","packages/cli/tests/session-launch.test.mjs"],"TMPDIR":"/mnt/storage/scratch/tmp/gPoX","start_nice":19,"observed_timeout_nice":19,"exit":0,"seconds":12.34,"mutant":false,"tests":8,"pass":8,"fail":0,"cancelled":0,"skipped":0,"todo":0,"log_sha256":"9d077d5e2956b1f40de6abba79ebed6504cc61a3821754526a032231e8697271"}
{"label":"import-162","command":["timeout","-k","10","900","node","--test","packages/cli/tests/stack-copy.test.mjs"],"TMPDIR":"/mnt/storage/scratch/tmp/gb3j","start_nice":19,"observed_timeout_nice":19,"exit":0,"seconds":32.255,"mutant":false,"tests":18,"pass":18,"fail":0,"cancelled":0,"skipped":0,"todo":0,"log_sha256":"a31fda44310b53fcbfbfb5ca037db8bf9209a0235ed951a911358c61c5f4d13b"}
{"label":"import-163","command":["timeout","-k","10","900","node","--test","packages/cli/tests/stack-instances.test.mjs"],"TMPDIR":"/mnt/storage/scratch/tmp/gVU0","start_nice":19,"observed_timeout_nice":19,"exit":0,"seconds":5.223,"mutant":false,"tests":24,"pass":24,"fail":0,"cancelled":0,"skipped":0,"todo":0,"log_sha256":"baf388164839b10a5ea8c3e019d6b5095d7951657ee638784701848b69a160cd"}
{"label":"import-164","command":["timeout","-k","10","900","node","--test","packages/cli/tests/tester-http.test.mjs"],"TMPDIR":"/mnt/storage/scratch/tmp/geku","start_nice":19,"observed_timeout_nice":19,"exit":0,"seconds":0.28,"mutant":false,"tests":2,"pass":2,"fail":0,"cancelled":0,"skipped":0,"todo":0,"log_sha256":"d06f4abf2476d898d85533318fee23bdfe3fdc6012c40e809ae4f21e1d6e74bb"}
{"label":"import-165","command":["timeout","-k","10","900","node","--test","packages/cli/tests/tester-reads.test.mjs"],"TMPDIR":"/mnt/storage/scratch/tmp/g7PM","start_nice":19,"observed_timeout_nice":19,"exit":0,"seconds":5.141,"mutant":false,"tests":6,"pass":6,"fail":0,"cancelled":0,"skipped":0,"todo":0,"log_sha256":"2f293f7b23b679733870b5d5d2f666570b56fa1335d5b94590046447433225c8"}
{"label":"import-166","command":["timeout","-k","10","900","node","--test","packages/cli/tests/tester-threads.test.mjs"],"TMPDIR":"/mnt/storage/scratch/tmp/gAdD","start_nice":19,"observed_timeout_nice":19,"exit":0,"seconds":12.373,"mutant":false,"tests":5,"pass":5,"fail":0,"cancelled":0,"skipped":0,"todo":0,"log_sha256":"6505ae90432cfcf6c2b74ed4c22ebe6ee1b26055b41f3fdada4e40c54e1124f9"}
{"label":"import-167","command":["timeout","-k","10","900","node","--test","packages/cli/tests/tester.test.mjs"],"TMPDIR":"/mnt/storage/scratch/tmp/gx0E","start_nice":19,"observed_timeout_nice":19,"exit":0,"seconds":1.628,"mutant":false,"tests":11,"pass":11,"fail":0,"cancelled":0,"skipped":0,"todo":0,"log_sha256":"abadf2326205ea5ba1e617fd174018995de824d1552f308815e2bc9c3f71e4bc"}
{"label":"import-168","command":["timeout","-k","10","900","node","--test","packages/cli/tests/thread-cli.test.mjs"],"TMPDIR":"/mnt/storage/scratch/tmp/gbFa","start_nice":19,"observed_timeout_nice":19,"exit":0,"seconds":5.076,"mutant":false,"tests":11,"pass":11,"fail":0,"cancelled":0,"skipped":0,"todo":0,"log_sha256":"fc7f5fadded9b52bcebcf80af32a54bfcb85c2a58608e261d839e8c91d473ce4"}
{"label":"import-169","command":["timeout","-k","10","900","node","--test","packages/cli/tests/thread-launch.test.mjs"],"TMPDIR":"/mnt/storage/scratch/tmp/gQNn","start_nice":19,"observed_timeout_nice":19,"exit":0,"seconds":36.824,"mutant":false,"tests":15,"pass":15,"fail":0,"cancelled":0,"skipped":0,"todo":0,"log_sha256":"f4052bf907e300dae2a7d44f3e8b370849e879abf1de9f84e0c74138f41f2640"}
{"label":"import-170","command":["timeout","-k","10","900","node","--test","packages/cli/tests/thread-revoke.test.mjs"],"TMPDIR":"/mnt/storage/scratch/tmp/gNtT","start_nice":19,"observed_timeout_nice":19,"exit":0,"seconds":1.273,"mutant":false,"tests":3,"pass":3,"fail":0,"cancelled":0,"skipped":0,"todo":0,"log_sha256":"2f66b678922916e9856a6ade3a4524c420d981f39548a6687df77cb95c660d40"}
{"label":"import-171","command":["timeout","-k","10","900","node","--test","packages/cli/tests/trackers-boot.test.mjs"],"TMPDIR":"/mnt/storage/scratch/tmp/giDk","start_nice":19,"observed_timeout_nice":19,"exit":0,"seconds":1.097,"mutant":false,"tests":2,"pass":2,"fail":0,"cancelled":0,"skipped":0,"todo":0,"log_sha256":"dbb78cab0545fe2d18089c4510092562aa5bc16cdc3f1f95784719d8e2dda241"}
{"label":"import-172","command":["timeout","-k","10","900","node","--test","packages/cli/tests/transport.test.mjs"],"TMPDIR":"/mnt/storage/scratch/tmp/g6h3","start_nice":19,"observed_timeout_nice":19,"exit":0,"seconds":2.447,"mutant":false,"tests":3,"pass":3,"fail":0,"cancelled":0,"skipped":0,"todo":0,"log_sha256":"7b7a41c111670e869d5156d3714a33c7a4e7a675893cff4767c505b658ac0dc8"}
{"label":"import-173","command":["timeout","-k","10","900","node","--test","packages/cli/tests/usage.test.mjs"],"TMPDIR":"/mnt/storage/scratch/tmp/gERb","start_nice":19,"observed_timeout_nice":19,"exit":0,"seconds":0.44,"mutant":false,"tests":2,"pass":2,"fail":0,"cancelled":0,"skipped":0,"todo":0,"log_sha256":"d39ae2e64f3e78a0d4bd7fc8d4c6f8f087ac80f0ba47d5dbd199d627d826e86f"}
{"label":"import-174","command":["timeout","-k","10","900","node","--test","packages/cli/tests/verbs.test.mjs"],"TMPDIR":"/mnt/storage/scratch/tmp/gaL4","start_nice":19,"observed_timeout_nice":19,"exit":0,"seconds":3.562,"mutant":false,"tests":9,"pass":9,"fail":0,"cancelled":0,"skipped":0,"todo":0,"log_sha256":"6eafbcea30d6c03a2f8dd925ca6b801fb7f2a8475f3b70715ad8a5060f47f0f0"}
{"label":"import-175","command":["timeout","-k","10","900","node","--test","packages/harness/tests/bundle.test.mjs"],"TMPDIR":"/mnt/storage/scratch/tmp/g8v2","start_nice":19,"observed_timeout_nice":19,"exit":0,"seconds":0.276,"mutant":false,"tests":22,"pass":22,"fail":0,"cancelled":0,"skipped":0,"todo":0,"log_sha256":"232cba86e5cf956c07e7ac3bce916899fd288db2ef252bf33041c54fa29f6e1b"}
{"label":"import-176","command":["timeout","-k","10","900","node","--test","packages/harness/tests/citation-runner.test.mjs"],"TMPDIR":"/mnt/storage/scratch/tmp/g6h4","start_nice":19,"observed_timeout_nice":19,"exit":0,"seconds":6.327,"mutant":false,"tests":21,"pass":21,"fail":0,"cancelled":0,"skipped":0,"todo":0,"log_sha256":"ef0a3e5f582524e0f03a3a39b518356af2d180cefcaa64439c828dbfc9ab0555"}
{"label":"import-177","command":["timeout","-k","10","900","node","--test","packages/harness/tests/claude-gate.test.mjs"],"TMPDIR":"/mnt/storage/scratch/tmp/gmnt","start_nice":19,"observed_timeout_nice":19,"exit":0,"seconds":1.62,"mutant":false,"tests":3,"pass":3,"fail":0,"cancelled":0,"skipped":0,"todo":0,"log_sha256":"2b7867d549382bd5943f9f828f7132743abd724b9d6a26f7e7647e5deac1086c"}
{"label":"import-178","command":["timeout","-k","10","900","node","--test","packages/harness/tests/claude-session.test.mjs"],"TMPDIR":"/mnt/storage/scratch/tmp/gWex","start_nice":19,"observed_timeout_nice":19,"exit":0,"seconds":8.983,"mutant":false,"tests":10,"pass":10,"fail":0,"cancelled":0,"skipped":0,"todo":0,"log_sha256":"e97d2c71fb63346d736d85b37e1bae38708041a7e09b15cc5d64f44d5f87e592"}
{"label":"import-179","command":["timeout","-k","10","900","node","--test","packages/harness/tests/creative.test.mjs"],"TMPDIR":"/mnt/storage/scratch/tmp/g7fD","start_nice":19,"observed_timeout_nice":19,"exit":0,"seconds":0.349,"mutant":false,"tests":7,"pass":7,"fail":0,"cancelled":0,"skipped":0,"todo":0,"log_sha256":"0a08749c464113ccbc5207cc63ad3cb33ccd7d7af3ebdcb614106f14a38fa8af"}
{"label":"import-180","command":["timeout","-k","10","900","node","--test","packages/harness/tests/gate.test.mjs"],"TMPDIR":"/mnt/storage/scratch/tmp/gLqE","start_nice":19,"observed_timeout_nice":19,"exit":0,"seconds":0.177,"mutant":false,"tests":12,"pass":12,"fail":0,"cancelled":0,"skipped":0,"todo":0,"log_sha256":"8d3cf0837ecb7d8c5be2a02c67fbe1fb1fbf0a7d75b8e79029a6a3530870353f"}
{"label":"import-181","command":["timeout","-k","10","900","node","--test","packages/harness/tests/git-tools.test.mjs"],"TMPDIR":"/mnt/storage/scratch/tmp/gcPM","start_nice":19,"observed_timeout_nice":19,"exit":0,"seconds":2.824,"mutant":false,"tests":5,"pass":5,"fail":0,"cancelled":0,"skipped":0,"todo":0,"log_sha256":"170299b738f35a5cbce8336dbf37ddd340045c9f12b0d86716dc9764ce692656"}
{"label":"import-183","command":["timeout","-k","10","900","node","--test","packages/harness/tests/mcp-server.test.mjs"],"TMPDIR":"/mnt/storage/scratch/tmp/gruQ","start_nice":19,"observed_timeout_nice":19,"exit":0,"seconds":0.352,"mutant":false,"tests":5,"pass":5,"fail":0,"cancelled":0,"skipped":0,"todo":0,"log_sha256":"fcbb8ff07441b7458fad73e8f0d2e8c81a37a184244403c46f0db51bcb579d6c"}
{"label":"import-184","command":["timeout","-k","10","900","node","--test","packages/harness/tests/pi-session.test.mjs"],"TMPDIR":"/mnt/storage/scratch/tmp/gQR8","start_nice":19,"observed_timeout_nice":19,"exit":0,"seconds":7.664,"mutant":false,"tests":10,"pass":10,"fail":0,"cancelled":0,"skipped":0,"todo":0,"log_sha256":"21ef864f6c0608e398001beed596c711eaa16df9830be6e9948d23adaf7ae19b"}
{"label":"import-185","command":["timeout","-k","10","900","node","--test","packages/harness/tests/raise-domain.test.mjs"],"TMPDIR":"/mnt/storage/scratch/tmp/gkno","start_nice":19,"observed_timeout_nice":19,"exit":0,"seconds":0.289,"mutant":false,"tests":2,"pass":2,"fail":0,"cancelled":0,"skipped":0,"todo":0,"log_sha256":"258b03d95708255aaf9c53af130e80349d3fb7a15c412f5e99a552d38d273cf4"}
{"label":"import-186","command":["timeout","-k","10","900","node","--test","packages/harness/tests/runner.test.mjs"],"TMPDIR":"/mnt/storage/scratch/tmp/gHpN","start_nice":19,"observed_timeout_nice":19,"exit":0,"seconds":14.264,"mutant":false,"tests":40,"pass":40,"fail":0,"cancelled":0,"skipped":0,"todo":0,"log_sha256":"6b2ed91f2cc0af529b15da7dd1ca38fc4f9024b8838f1ae948bb9fb61f52b1d4"}
{"label":"import-187","command":["timeout","-k","10","900","node","--test","packages/harness/tests/skills.test.mjs"],"TMPDIR":"/mnt/storage/scratch/tmp/ge6l","start_nice":19,"observed_timeout_nice":19,"exit":0,"seconds":0.322,"mutant":false,"tests":10,"pass":10,"fail":0,"cancelled":0,"skipped":0,"todo":0,"log_sha256":"a5eb44bb14feab35f8afff44467dd1ab4b6ccd95f0c20e99bd8165e02ab11e94"}
{"label":"import-188","command":["timeout","-k","10","900","node","--test","packages/harness/tests/spec-tools.test.mjs"],"TMPDIR":"/mnt/storage/scratch/tmp/gqeF","start_nice":19,"observed_timeout_nice":19,"exit":0,"seconds":0.392,"mutant":false,"tests":2,"pass":2,"fail":0,"cancelled":0,"skipped":0,"todo":0,"log_sha256":"25bef2391ffce43b2ad8c6159fb801bf371064b48998f5212b45043b78a65ab4"}
{"label":"import-189","command":["timeout","-k","10","900","node","--test","packages/harness/tests/tools.test.mjs"],"TMPDIR":"/mnt/storage/scratch/tmp/gh6I","start_nice":19,"observed_timeout_nice":19,"exit":0,"seconds":0.254,"mutant":false,"tests":23,"pass":23,"fail":0,"cancelled":0,"skipped":0,"todo":0,"log_sha256":"032cd4df77581f65cc3d1e3487b542cc2568e40461f34cf345c9e3ccf224d2c0"}
{"label":"import-190","command":["timeout","-k","10","900","node","--test","packages/library/tests/guard.test.mjs"],"TMPDIR":"/mnt/storage/scratch/tmp/gX5T","start_nice":19,"observed_timeout_nice":19,"exit":0,"seconds":0.7,"mutant":false,"tests":11,"pass":11,"fail":0,"cancelled":0,"skipped":0,"todo":0,"log_sha256":"c5c5e1daabdcbc4830da5472dc584f3095874effa6ed00a5d752ef5a792f433a"}
{"label":"import-191","command":["timeout","-k","10","900","node","--test","packages/library/tests/index-build.test.mjs"],"TMPDIR":"/mnt/storage/scratch/tmp/gDCo","start_nice":19,"observed_timeout_nice":19,"exit":0,"seconds":4.794,"mutant":false,"tests":6,"pass":6,"fail":0,"cancelled":0,"skipped":0,"todo":0,"log_sha256":"6122712a2a10cd4fc7ad0f29e7581dc27e6d1e5daddb92dc3b9831ccd26c06b5"}
{"label":"import-192","command":["timeout","-k","10","900","node","--test","packages/library/tests/links.test.mjs"],"TMPDIR":"/mnt/storage/scratch/tmp/gNyj","start_nice":19,"observed_timeout_nice":19,"exit":0,"seconds":0.128,"mutant":false,"tests":7,"pass":7,"fail":0,"cancelled":0,"skipped":0,"todo":0,"log_sha256":"933818b92437600be0591b784675887f9240915167a6218d9bd5546737c0de1d"}
{"label":"import-193","command":["timeout","-k","10","900","node","--test","packages/library/tests/mapping.test.mjs"],"TMPDIR":"/mnt/storage/scratch/tmp/gBnG","start_nice":19,"observed_timeout_nice":19,"exit":0,"seconds":0.16,"mutant":false,"tests":16,"pass":16,"fail":0,"cancelled":0,"skipped":0,"todo":0,"log_sha256":"b97b350865814827ad8998f9a24ea1f65749b882dd10531eb79052268769f9d0"}
{"label":"import-194","command":["timeout","-k","10","900","node","--test","packages/library/tests/mirror.test.mjs"],"TMPDIR":"/mnt/storage/scratch/tmp/gfP9","start_nice":19,"observed_timeout_nice":19,"exit":0,"seconds":6.763,"mutant":false,"tests":16,"pass":16,"fail":0,"cancelled":0,"skipped":0,"todo":0,"log_sha256":"ba91652dd7daa182d771e5f8d093769fa009494d0f4080fd697a423b8c8aff4c"}
{"label":"import-196","command":["timeout","-k","10","900","node","--test","packages/library/tests/reader.test.mjs"],"TMPDIR":"/mnt/storage/scratch/tmp/gvmz","start_nice":19,"observed_timeout_nice":19,"exit":0,"seconds":1.028,"mutant":false,"tests":14,"pass":14,"fail":0,"cancelled":0,"skipped":0,"todo":0,"log_sha256":"5b335d4472ccc9aead596840a67909ccf96270c7ccf88e4ad2141eb5953de74c"}
{"label":"import-197","command":["timeout","-k","10","900","node","--test","packages/library/tests/render.test.mjs"],"TMPDIR":"/mnt/storage/scratch/tmp/gfUA","start_nice":19,"observed_timeout_nice":19,"exit":0,"seconds":0.211,"mutant":false,"tests":9,"pass":9,"fail":0,"cancelled":0,"skipped":0,"todo":0,"log_sha256":"f95a831fa8ef95d90f50861d7ebf05fdedc4d3d68d1ea3dec1e17e9392befab9"}
{"label":"import-198","command":["timeout","-k","10","900","node","--test","packages/library/tests/scope.test.mjs"],"TMPDIR":"/mnt/storage/scratch/tmp/gxAY","start_nice":19,"observed_timeout_nice":19,"exit":0,"seconds":0.368,"mutant":false,"tests":6,"pass":6,"fail":0,"cancelled":0,"skipped":0,"todo":0,"log_sha256":"3935e31b852d0be272395f8d2af9816e8b8ee3bf75a088be39559e413d58fd1e"}
{"label":"import-199","command":["timeout","-k","10","900","node","--test","packages/library/tests/supporting.test.mjs"],"TMPDIR":"/mnt/storage/scratch/tmp/gT0U","start_nice":19,"observed_timeout_nice":19,"exit":0,"seconds":0.25,"mutant":false,"tests":6,"pass":6,"fail":0,"cancelled":0,"skipped":0,"todo":0,"log_sha256":"cfd46a3aaa0167b3adda75bb69095f6328de4cfd43bdb26ae4952e6867c6bf81"}
{"label":"import-200","command":["timeout","-k","10","900","node","--test","packages/library/tests/survey.test.mjs"],"TMPDIR":"/mnt/storage/scratch/tmp/gQVP","start_nice":19,"observed_timeout_nice":19,"exit":0,"seconds":0.764,"mutant":false,"tests":7,"pass":7,"fail":0,"cancelled":0,"skipped":0,"todo":0,"log_sha256":"a20f9ea4cd570def995d73d389f0610621f0198499e60c8f27ada2e952b22bb8"}
{"label":"import-201","command":["timeout","-k","10","900","node","--test","packages/library/tests/sync.test.mjs"],"TMPDIR":"/mnt/storage/scratch/tmp/gGSr","start_nice":19,"observed_timeout_nice":19,"exit":0,"seconds":6.838,"mutant":false,"tests":24,"pass":24,"fail":0,"cancelled":0,"skipped":0,"todo":0,"log_sha256":"683e7b2ec581c2d72a6a3edc68913a7092a49c3ac5c15fe9dfa3062fc3d59fe9"}
{"label":"import-202","command":["timeout","-k","10","900","node","--test","packages/processing-control/tests/task.test.mjs"],"TMPDIR":"/mnt/storage/scratch/tmp/gAOM","start_nice":19,"observed_timeout_nice":19,"exit":0,"seconds":1.776,"mutant":false,"tests":7,"pass":7,"fail":0,"cancelled":0,"skipped":0,"todo":0,"log_sha256":"a9c5e79fa8bddcd222359c6b5fb5634ad170ad56babfe3971f22d8f1fbcaceb9"}
{"label":"import-203","command":["timeout","-k","10","900","node","--test","packages/seat/tests/sandbox.test.mjs"],"TMPDIR":"/mnt/storage/scratch/tmp/gcfc","start_nice":19,"observed_timeout_nice":19,"exit":0,"seconds":7.076,"mutant":false,"tests":10,"pass":10,"fail":0,"cancelled":0,"skipped":0,"todo":0,"log_sha256":"9d9e237b00482d14c1173fcdf2ba0770d87c2e77e0a2d7f8b3631531d1fa5da2"}
{"label":"import-204","command":["timeout","-k","10","900","node","--test","packages/seat/tests/session.test.mjs"],"TMPDIR":"/mnt/storage/scratch/tmp/gpBq","start_nice":19,"observed_timeout_nice":19,"exit":0,"seconds":0.478,"mutant":false,"tests":13,"pass":13,"fail":0,"cancelled":0,"skipped":0,"todo":0,"log_sha256":"2ffb0ee5961f4611d6afde99fd99270dee783b7abde51c9038ee2087dc426c22"}
{"label":"import-205","command":["timeout","-k","10","900","node","--test","packages/tasks/tests/adapter.test.mjs"],"TMPDIR":"/mnt/storage/scratch/tmp/guN4","start_nice":19,"observed_timeout_nice":19,"exit":0,"seconds":0.512,"mutant":false,"tests":8,"pass":8,"fail":0,"cancelled":0,"skipped":0,"todo":0,"log_sha256":"b0441401e2ab0e9593e6d55cca661366e7ee8b51850ac934bfca23de45d2a35a"}
{"label":"import-206","command":["timeout","-k","10","900","node","--test","packages/tasks/tests/comment-restart.test.mjs"],"TMPDIR":"/mnt/storage/scratch/tmp/gyAw","start_nice":19,"observed_timeout_nice":19,"exit":0,"seconds":0.45,"mutant":false,"tests":5,"pass":5,"fail":0,"cancelled":0,"skipped":0,"todo":0,"log_sha256":"599ad621c9d89dc1f200ad0e87eb1573e5ae7bfcc6ff9cddb9048855a9f8613f"}
{"label":"import-207","command":["timeout","-k","10","900","node","--test","packages/tasks/tests/fields.test.mjs"],"TMPDIR":"/mnt/storage/scratch/tmp/gOij","start_nice":19,"observed_timeout_nice":19,"exit":0,"seconds":0.617,"mutant":false,"tests":5,"pass":5,"fail":0,"cancelled":0,"skipped":0,"todo":0,"log_sha256":"2d83b920f5f716537a69555f6bead6b99be1b3c64751305ec8de1a71cadeb56f"}
{"label":"import-208","command":["timeout","-k","10","900","node","--test","packages/tasks/tests/processing.test.mjs"],"TMPDIR":"/mnt/storage/scratch/tmp/g72u","start_nice":19,"observed_timeout_nice":19,"exit":0,"seconds":0.32,"mutant":false,"tests":3,"pass":3,"fail":0,"cancelled":0,"skipped":0,"todo":0,"log_sha256":"5d740844a654055345b9e7c69ed4d2a247cd932ad2a5a6fcf329c7801cbd0ad7"}
{"label":"import-209","command":["timeout","-k","10","900","node","--test","packages/tasks/tests/shapes.test.mjs"],"TMPDIR":"/mnt/storage/scratch/tmp/gJAm","start_nice":19,"observed_timeout_nice":19,"exit":0,"seconds":0.518,"mutant":false,"tests":4,"pass":4,"fail":0,"cancelled":0,"skipped":0,"todo":0,"log_sha256":"3811bcc866161d152d9460cb8bfef2faa9cd3e533de96f1b3f014403dd7fb51e"}
{"label":"import-210","command":["timeout","-k","10","900","node","--test","packages/tasks/tests/startup.test.mjs"],"TMPDIR":"/mnt/storage/scratch/tmp/gGTN","start_nice":19,"observed_timeout_nice":19,"exit":0,"seconds":0.541,"mutant":false,"tests":9,"pass":9,"fail":0,"cancelled":0,"skipped":0,"todo":0,"log_sha256":"b2c08b276e60a676346a7a7a96423939fc50fece24e84f7d31a141414ae9c65e"}
{"label":"import-211","command":["timeout","-k","10","900","node","--test","packages/tasks/tests/sync.test.mjs"],"TMPDIR":"/mnt/storage/scratch/tmp/gccq","start_nice":19,"observed_timeout_nice":19,"exit":0,"seconds":0.994,"mutant":false,"tests":11,"pass":11,"fail":0,"cancelled":0,"skipped":0,"todo":0,"log_sha256":"7521b57b037d5dfd35e4e7f8b3e0f772e6f09e9a7f218eaa55a95b40798fb3cb"}
{"label":"import-212","command":["timeout","-k","10","900","node","--test","packages/tasks/tests/tree.test.mjs"],"TMPDIR":"/mnt/storage/scratch/tmp/gKai","start_nice":19,"observed_timeout_nice":19,"exit":0,"seconds":1.129,"mutant":false,"tests":19,"pass":19,"fail":0,"cancelled":0,"skipped":0,"todo":0,"log_sha256":"035eba7993242c2797c236e2c7f5d41f9248d872984cbfd785bb596bd323721f"}
{"label":"import-213","command":["timeout","-k","10","900","node","--test","packages/tasks/tests/verbs.test.mjs"],"TMPDIR":"/mnt/storage/scratch/tmp/gcgn","start_nice":19,"observed_timeout_nice":19,"exit":0,"seconds":1.767,"mutant":false,"tests":31,"pass":31,"fail":0,"cancelled":0,"skipped":0,"todo":0,"log_sha256":"27cd7e0bb4607ec39ededdc89e4afcb363698eee6dd31ddd5d5a6b2cbabd847b"}
{"label":"import-214","command":["timeout","-k","10","900","node","--test","packages/webui/tests/agents-browser.test.mjs"],"TMPDIR":"/mnt/storage/scratch/tmp/gtNR","start_nice":19,"observed_timeout_nice":19,"exit":0,"seconds":17.433,"mutant":false,"tests":2,"pass":2,"fail":0,"cancelled":0,"skipped":0,"todo":0,"log_sha256":"e2c213130dbf80c125011ba8d45c016bfb347ebe1d21f1c64d1756e0db82d6f9"}
{"label":"import-215","command":["timeout","-k","10","900","node","--test","packages/webui/tests/agents.test.mjs"],"TMPDIR":"/mnt/storage/scratch/tmp/gQRO","start_nice":19,"observed_timeout_nice":19,"exit":0,"seconds":0.233,"mutant":false,"tests":9,"pass":9,"fail":0,"cancelled":0,"skipped":0,"todo":0,"log_sha256":"c94baa2f42b463dee93e00cf1f3b1e60b287f109debf3a5a5133a8363b992d3a"}
{"label":"import-216","command":["timeout","-k","10","900","node","--test","packages/webui/tests/assistant.test.mjs"],"TMPDIR":"/mnt/storage/scratch/tmp/gCyc","start_nice":19,"observed_timeout_nice":19,"exit":0,"seconds":0.233,"mutant":false,"tests":6,"pass":6,"fail":0,"cancelled":0,"skipped":0,"todo":0,"log_sha256":"1a32bdca8137c6aff24e9eee5c19dcadfef1e3a5f0aab5a45c600cf39c29e56e"}
{"label":"import-217","command":["timeout","-k","10","900","node","--test","packages/webui/tests/board-held.test.mjs"],"TMPDIR":"/mnt/storage/scratch/tmp/gPDU","start_nice":19,"observed_timeout_nice":19,"exit":0,"seconds":10.78,"mutant":false,"tests":3,"pass":3,"fail":0,"cancelled":0,"skipped":0,"todo":0,"log_sha256":"fb532481a6401e7097d1b7fd8c858885988e37529779c7e989885dd0de21f7e9"}
{"label":"import-218","command":["timeout","-k","10","900","node","--test","packages/webui/tests/browser-edge.test.mjs"],"TMPDIR":"/mnt/storage/scratch/tmp/gw0B","start_nice":19,"observed_timeout_nice":19,"exit":0,"seconds":1.748,"mutant":false,"tests":1,"pass":1,"fail":0,"cancelled":0,"skipped":0,"todo":0,"log_sha256":"f23507b59a89ff056564e71cda5e73b275ebc4de3130956b9cf69615af5aebe0"}
{"label":"import-219","command":["timeout","-k","10","900","node","--test","packages/webui/tests/browser.test.mjs"],"TMPDIR":"/mnt/storage/scratch/tmp/gZfS","start_nice":19,"observed_timeout_nice":19,"exit":0,"seconds":2.398,"mutant":false,"tests":1,"pass":1,"fail":0,"cancelled":0,"skipped":0,"todo":0,"log_sha256":"08f605ea6cfe1ec7b0f9d1a951a359e2e0106892dc56567152ed569548bff757"}
{"label":"import-220","command":["timeout","-k","10","900","node","--test","packages/webui/tests/bus-browser.test.mjs"],"TMPDIR":"/mnt/storage/scratch/tmp/gjO2","start_nice":19,"observed_timeout_nice":19,"exit":0,"seconds":3.795,"mutant":false,"tests":2,"pass":2,"fail":0,"cancelled":0,"skipped":0,"todo":0,"log_sha256":"c03e5eaab52ea76d3b5ac1ccfbae6c25a2fab9f592aa45cd29bc6e22f3f45c3f"}
{"label":"import-221","command":["timeout","-k","10","900","node","--test","packages/webui/tests/bus.test.mjs"],"TMPDIR":"/mnt/storage/scratch/tmp/g766","start_nice":19,"observed_timeout_nice":19,"exit":0,"seconds":4.937,"mutant":false,"tests":10,"pass":10,"fail":0,"cancelled":0,"skipped":0,"todo":0,"log_sha256":"703208aaab3751971784b6266b335c54f41048735650e92f40b6e8bd37ea9a6a"}
{"label":"import-222","command":["timeout","-k","10","900","node","--test","packages/webui/tests/channel-chat.test.mjs"],"TMPDIR":"/mnt/storage/scratch/tmp/gyou","start_nice":19,"observed_timeout_nice":19,"exit":0,"seconds":0.526,"mutant":false,"tests":3,"pass":3,"fail":0,"cancelled":0,"skipped":0,"todo":0,"log_sha256":"9dd425b57cb427c25265f7e1b4266cc9d9d09892d2de5ddf4c916635b66515c1"}
{"label":"import-223","command":["timeout","-k","10","900","node","--test","packages/webui/tests/chat-browser.test.mjs"],"TMPDIR":"/mnt/storage/scratch/tmp/g5ri","start_nice":19,"observed_timeout_nice":19,"exit":0,"seconds":40.593,"mutant":false,"tests":19,"pass":19,"fail":0,"cancelled":0,"skipped":0,"todo":0,"log_sha256":"4a751781c8e1b9c4e1bbe9e1767d5d897c3cbb09ac4db39ea25d13c276e947cd"}
{"label":"import-224","command":["timeout","-k","10","900","node","--test","packages/webui/tests/chat-instances.test.mjs"],"TMPDIR":"/mnt/storage/scratch/tmp/gypj","start_nice":19,"observed_timeout_nice":19,"exit":0,"seconds":0.248,"mutant":false,"tests":4,"pass":4,"fail":0,"cancelled":0,"skipped":0,"todo":0,"log_sha256":"c43f61b93bbf092d23c0bfe9c6e85b76e4ded17b18d973c4a37832764df71f72"}
{"label":"import-225","command":["timeout","-k","10","900","node","--test","packages/webui/tests/chat-replies-browser.test.mjs"],"TMPDIR":"/mnt/storage/scratch/tmp/gDNY","start_nice":19,"observed_timeout_nice":19,"exit":0,"seconds":8.751,"mutant":false,"tests":11,"pass":11,"fail":0,"cancelled":0,"skipped":0,"todo":0,"log_sha256":"f919fe31839c0bc40d4860c4f4412480a1016267c00b292fead32b36098031d5"}
{"label":"import-226","command":["timeout","-k","10","900","node","--test","packages/webui/tests/chat-sessions-access.test.mjs"],"TMPDIR":"/mnt/storage/scratch/tmp/g9LK","start_nice":19,"observed_timeout_nice":19,"exit":0,"seconds":4.741,"mutant":false,"tests":7,"pass":7,"fail":0,"cancelled":0,"skipped":0,"todo":0,"log_sha256":"a4c4116cfd2a752d7efd2897430a9b2b052b6acf868c1ca8ce26b81ba9585812"}
{"label":"import-227","command":["timeout","-k","10","900","node","--test","packages/webui/tests/chat.test.mjs"],"TMPDIR":"/mnt/storage/scratch/tmp/go2w","start_nice":19,"observed_timeout_nice":19,"exit":0,"seconds":0.849,"mutant":false,"tests":30,"pass":30,"fail":0,"cancelled":0,"skipped":0,"todo":0,"log_sha256":"77d6c675d0a4534e84f4b2ce4eddf2135908dc5014469e74b87b6fdd3f63c130"}
{"label":"import-228","command":["timeout","-k","10","900","node","--test","packages/webui/tests/conversation.test.mjs"],"TMPDIR":"/mnt/storage/scratch/tmp/ga85","start_nice":19,"observed_timeout_nice":19,"exit":0,"seconds":4.852,"mutant":false,"tests":4,"pass":4,"fail":0,"cancelled":0,"skipped":0,"todo":0,"log_sha256":"35d962e50a5a143e4dd8b816414c3044096d8907e807f50ca72eef81df9531ee"}
{"label":"import-229","command":["timeout","-k","10","900","node","--test","packages/webui/tests/decide-browser.test.mjs"],"TMPDIR":"/mnt/storage/scratch/tmp/gd1n","start_nice":19,"observed_timeout_nice":19,"exit":0,"seconds":12.017,"mutant":false,"tests":3,"pass":3,"fail":0,"cancelled":0,"skipped":0,"todo":0,"log_sha256":"559586deeaa79f7f28185318bf29e7ea28b4536c60bddbfdcdd337850104820a"}
{"label":"import-230","command":["timeout","-k","10","900","node","--test","packages/webui/tests/decide-sso.test.mjs"],"TMPDIR":"/mnt/storage/scratch/tmp/gTYk","start_nice":19,"observed_timeout_nice":19,"exit":0,"seconds":0.998,"mutant":false,"tests":5,"pass":5,"fail":0,"cancelled":0,"skipped":0,"todo":0,"log_sha256":"f277b7937f563610c111f75d55917ba1a6474b0cbf7edcc417f66ca1db9e77a8"}
{"label":"import-231","command":["timeout","-k","10","900","node","--test","packages/webui/tests/decision-http.test.mjs"],"TMPDIR":"/mnt/storage/scratch/tmp/gesP","start_nice":19,"observed_timeout_nice":19,"exit":0,"seconds":0.149,"mutant":false,"tests":9,"pass":9,"fail":0,"cancelled":0,"skipped":0,"todo":0,"log_sha256":"1ae4314867f3da3d96bb8bd99bb9e4bb120610e4b4f76f266a4394d2c4cdac3d"}
{"label":"import-232","command":["timeout","-k","10","900","node","--test","packages/webui/tests/discord.test.mjs"],"TMPDIR":"/mnt/storage/scratch/tmp/gROh","start_nice":19,"observed_timeout_nice":19,"exit":0,"seconds":1.126,"mutant":false,"tests":1,"pass":1,"fail":0,"cancelled":0,"skipped":0,"todo":0,"log_sha256":"d1da3a8a99ae68e4e2c704b993c9f4fac1502f60dc21502abadad75584e212f1"}
{"label":"import-233","command":["timeout","-k","10","900","node","--test","packages/webui/tests/docs-browser.test.mjs"],"TMPDIR":"/mnt/storage/scratch/tmp/gZtM","start_nice":19,"observed_timeout_nice":19,"exit":0,"seconds":1.892,"mutant":false,"tests":1,"pass":1,"fail":0,"cancelled":0,"skipped":0,"todo":0,"log_sha256":"b126c48278cbe8276b5a1459b14cf00d1047ec686a80a82dfe509169e4d8aa7c"}
{"label":"import-234","command":["timeout","-k","10","900","node","--test","packages/webui/tests/editor-browser.test.mjs"],"TMPDIR":"/mnt/storage/scratch/tmp/gJnO","start_nice":19,"observed_timeout_nice":19,"exit":0,"seconds":23.444,"mutant":false,"tests":16,"pass":16,"fail":0,"cancelled":0,"skipped":0,"todo":0,"log_sha256":"1053f032713f4a82d05003347cb02c6db54f6c554d3d549608615e3dcc835c83"}
{"label":"import-235","command":["timeout","-k","10","900","node","--test","packages/webui/tests/editor.test.mjs"],"TMPDIR":"/mnt/storage/scratch/tmp/gLje","start_nice":19,"observed_timeout_nice":19,"exit":0,"seconds":6.017,"mutant":false,"tests":5,"pass":5,"fail":0,"cancelled":0,"skipped":0,"todo":0,"log_sha256":"a1b78738684b0e0049cc5731f55b67cc21d83c0bd117a20ee094efcefbc926b9"}
{"label":"import-236","command":["timeout","-k","10","900","node","--test","packages/webui/tests/granted-user.test.mjs"],"TMPDIR":"/mnt/storage/scratch/tmp/gH8T","start_nice":19,"observed_timeout_nice":19,"exit":0,"seconds":6.001,"mutant":false,"tests":19,"pass":19,"fail":0,"cancelled":0,"skipped":0,"todo":0,"log_sha256":"7e778058c0b4dfc5a44b1c95d146e3628f1401f18e5ca68d0eb5a2af2357fe16"}
{"label":"import-237","command":["timeout","-k","10","900","node","--test","packages/webui/tests/history-return-flow.test.mjs"],"TMPDIR":"/mnt/storage/scratch/tmp/gOZs","start_nice":19,"observed_timeout_nice":19,"exit":0,"seconds":56.725,"mutant":false,"tests":1,"pass":1,"fail":0,"cancelled":0,"skipped":0,"todo":0,"log_sha256":"1e74c166baa23c019edac72a0ce2735e7804112369ef6f6d12b4b30e0ed1a7a1"}
{"label":"import-238","command":["timeout","-k","10","900","node","--test","packages/webui/tests/instances-browser.test.mjs"],"TMPDIR":"/mnt/storage/scratch/tmp/goix","start_nice":19,"observed_timeout_nice":19,"exit":0,"seconds":3.608,"mutant":false,"tests":1,"pass":1,"fail":0,"cancelled":0,"skipped":0,"todo":0,"log_sha256":"20da30c92fc5b9149e84cd2547aceac366f5509e8efbeb346b700d6f8cacc18b"}
{"label":"import-239","command":["timeout","-k","10","900","node","--test","packages/webui/tests/instances.test.mjs"],"TMPDIR":"/mnt/storage/scratch/tmp/gr2y","start_nice":19,"observed_timeout_nice":19,"exit":0,"seconds":1.265,"mutant":false,"tests":5,"pass":5,"fail":0,"cancelled":0,"skipped":0,"todo":0,"log_sha256":"0b0782580df886f98f4428ad6f94d33fa2d37d89c58d12c152964b26786d48fe"}
{"label":"import-240","command":["timeout","-k","10","900","node","--test","packages/webui/tests/library-cli.test.mjs"],"TMPDIR":"/mnt/storage/scratch/tmp/gGV8","start_nice":19,"observed_timeout_nice":19,"exit":0,"seconds":0.868,"mutant":false,"tests":1,"pass":1,"fail":0,"cancelled":0,"skipped":0,"todo":0,"log_sha256":"1e3617d918b4d7474e1acf9b5ad32732305aa86f8ad3044d488aac21f551cb4e"}
{"label":"import-241","command":["timeout","-k","10","900","node","--test","packages/webui/tests/library-routes.test.mjs"],"TMPDIR":"/mnt/storage/scratch/tmp/gWxL","start_nice":19,"observed_timeout_nice":19,"exit":0,"seconds":0.532,"mutant":false,"tests":13,"pass":13,"fail":0,"cancelled":0,"skipped":0,"todo":0,"log_sha256":"d9729aef19f819e8190e6fdc9dbb1d7c4061f2311598f3785678cc81fbaea30e"}
{"label":"import-242","command":["timeout","-k","10","900","node","--test","packages/webui/tests/library-status.test.mjs"],"TMPDIR":"/mnt/storage/scratch/tmp/gurC","start_nice":19,"observed_timeout_nice":19,"exit":0,"seconds":0.265,"mutant":false,"tests":1,"pass":1,"fail":0,"cancelled":0,"skipped":0,"todo":0,"log_sha256":"99e68ba123769f5df8b60d9d12546d113f9f1f18f27b26a82738f4ac670fc18f"}
{"label":"import-243","command":["timeout","-k","10","900","node","--test","packages/webui/tests/limits-browser.test.mjs"],"TMPDIR":"/mnt/storage/scratch/tmp/gq0e","start_nice":19,"observed_timeout_nice":19,"exit":0,"seconds":4.598,"mutant":false,"tests":2,"pass":2,"fail":0,"cancelled":0,"skipped":0,"todo":0,"log_sha256":"4d3b961b33557106779e969bdfb9aa959e01462a521d5368d9e7e560a4bab19b"}
{"label":"import-244","command":["timeout","-k","10","900","node","--test","packages/webui/tests/limits-route.test.mjs"],"TMPDIR":"/mnt/storage/scratch/tmp/gK8P","start_nice":19,"observed_timeout_nice":19,"exit":0,"seconds":0.561,"mutant":false,"tests":4,"pass":4,"fail":0,"cancelled":0,"skipped":0,"todo":0,"log_sha256":"2283f78868a29c6ebf37b0aaabc2fdfd84d0a381b3fd046d27902adf2710bfae"}
{"label":"import-245","command":["timeout","-k","10","900","node","--test","packages/webui/tests/messages.test.mjs"],"TMPDIR":"/mnt/storage/scratch/tmp/gaaW","start_nice":19,"observed_timeout_nice":19,"exit":0,"seconds":6.474,"mutant":false,"tests":3,"pass":3,"fail":0,"cancelled":0,"skipped":0,"todo":0,"log_sha256":"c2e137bf0cc8d12832a07cdb1f70f95dd3cc8ce34a500e6b0479f9d94bf4b300"}
{"label":"import-246","command":["timeout","-k","10","900","node","--test","packages/webui/tests/pinned-copy.test.mjs"],"TMPDIR":"/mnt/storage/scratch/tmp/gG1M","start_nice":19,"observed_timeout_nice":19,"exit":0,"seconds":7.925,"mutant":false,"tests":10,"pass":10,"fail":0,"cancelled":0,"skipped":0,"todo":0,"log_sha256":"ebeca41fa26f042b9e877ddc3315254a60f98b947fb3eb9ccf098c4d455117b4"}
{"label":"import-247","command":["timeout","-k","10","900","node","--test","packages/webui/tests/preview.test.mjs"],"TMPDIR":"/mnt/storage/scratch/tmp/gHU1","start_nice":19,"observed_timeout_nice":19,"exit":0,"seconds":1.186,"mutant":false,"tests":11,"pass":11,"fail":0,"cancelled":0,"skipped":0,"todo":0,"log_sha256":"4f0064f793bb36dbdf294fe77d67530afc0aea22f01b847aa1d00c3844469119"}
{"label":"import-248","command":["timeout","-k","10","900","node","--test","packages/webui/tests/processing-browser.test.mjs"],"TMPDIR":"/mnt/storage/scratch/tmp/gkgO","start_nice":19,"observed_timeout_nice":19,"exit":0,"seconds":8.863,"mutant":false,"tests":9,"pass":9,"fail":0,"cancelled":0,"skipped":0,"todo":0,"log_sha256":"816a885bb9c45578982d7e43326cb77215e8cb29f557aa06e0efc39a26297e05"}
{"label":"import-249","command":["timeout","-k","10","900","node","--test","packages/webui/tests/processing.test.mjs"],"TMPDIR":"/mnt/storage/scratch/tmp/gMEO","start_nice":19,"observed_timeout_nice":19,"exit":0,"seconds":0.36,"mutant":false,"tests":6,"pass":6,"fail":0,"cancelled":0,"skipped":0,"todo":0,"log_sha256":"d0d8b5325152e1919b5838bfd1b83c4551b52d69c60f07d0921eb95af6391222"}
{"label":"import-250","command":["timeout","-k","10","900","node","--test","packages/webui/tests/project-file.test.mjs"],"TMPDIR":"/mnt/storage/scratch/tmp/g0K1","start_nice":19,"observed_timeout_nice":19,"exit":0,"seconds":0.316,"mutant":false,"tests":10,"pass":10,"fail":0,"cancelled":0,"skipped":0,"todo":0,"log_sha256":"52754ce30568e4d818370c3558342ab23d1292a67f692c1ded6a4d4b4121a029"}
{"label":"import-251","command":["timeout","-k","10","900","node","--test","packages/webui/tests/project-name-repo.test.mjs"],"TMPDIR":"/mnt/storage/scratch/tmp/gRNU","start_nice":19,"observed_timeout_nice":19,"exit":0,"seconds":0.132,"mutant":false,"tests":1,"pass":1,"fail":0,"cancelled":0,"skipped":0,"todo":0,"log_sha256":"324df0e70027674e99303723c75b02402d6ae43aefc73192e6c723644952fe98"}
{"label":"import-252","command":["timeout","-k","10","900","node","--test","packages/webui/tests/proof-cli.test.mjs"],"TMPDIR":"/mnt/storage/scratch/tmp/gUya","start_nice":19,"observed_timeout_nice":19,"exit":0,"seconds":2.557,"mutant":false,"tests":3,"pass":3,"fail":0,"cancelled":0,"skipped":0,"todo":0,"log_sha256":"9d0379c0dac670ea3b54331afee0d9da9c4c76a9c62315bd7cdf33458708b9b1"}
{"label":"import-253","command":["timeout","-k","10","900","node","--test","packages/webui/tests/proof.test.mjs"],"TMPDIR":"/mnt/storage/scratch/tmp/gw3P","start_nice":19,"observed_timeout_nice":19,"exit":0,"seconds":0.23,"mutant":false,"tests":4,"pass":4,"fail":0,"cancelled":0,"skipped":0,"todo":0,"log_sha256":"4b564ec494d8631518bd5e0a9dafce3492cc3655e90a82f12bc994fb0f48f017"}
{"label":"import-254","command":["timeout","-k","10","900","node","--test","packages/webui/tests/reads.test.mjs"],"TMPDIR":"/mnt/storage/scratch/tmp/gDRG","start_nice":19,"observed_timeout_nice":19,"exit":0,"seconds":2.251,"mutant":false,"tests":11,"pass":11,"fail":0,"cancelled":0,"skipped":0,"todo":0,"log_sha256":"acd0a107da0270ad86ea4e75d1af8089f2541e1aa1c1613c10c35f47fcc38dea"}
{"label":"import-255","command":["timeout","-k","10","900","node","--test","packages/webui/tests/relaunch.test.mjs"],"TMPDIR":"/mnt/storage/scratch/tmp/gDNA","start_nice":19,"observed_timeout_nice":19,"exit":0,"seconds":1.062,"mutant":false,"tests":1,"pass":1,"fail":0,"cancelled":0,"skipped":0,"todo":0,"log_sha256":"b717bc82d68a804092878b6f68c73d970519d5dde6d9170a5cc3f417cd108c66"}
{"label":"import-256","command":["timeout","-k","10","900","node","--test","packages/webui/tests/return-flow.test.mjs"],"TMPDIR":"/mnt/storage/scratch/tmp/go3N","start_nice":19,"observed_timeout_nice":19,"exit":0,"seconds":21.066,"mutant":false,"tests":1,"pass":1,"fail":0,"cancelled":0,"skipped":0,"todo":0,"log_sha256":"61fa95c4b8c802668f2b144954e8785c1a5d6e5f8d511646c61ae51abfcf899c"}
{"label":"import-257","command":["timeout","-k","10","900","node","--test","packages/webui/tests/room-browser.test.mjs"],"TMPDIR":"/mnt/storage/scratch/tmp/geyH","start_nice":19,"observed_timeout_nice":19,"exit":0,"seconds":8.015,"mutant":false,"tests":9,"pass":9,"fail":0,"cancelled":0,"skipped":0,"todo":0,"log_sha256":"65cd71916ae9b8b6a8d47a0175d5cca96ed6c3d93d65ea334338cc651c3529e7"}
{"label":"import-258","command":["timeout","-k","10","900","node","--test","packages/webui/tests/room-http.test.mjs"],"TMPDIR":"/mnt/storage/scratch/tmp/gfgT","start_nice":19,"observed_timeout_nice":19,"exit":0,"seconds":0.284,"mutant":false,"tests":7,"pass":7,"fail":0,"cancelled":0,"skipped":0,"todo":0,"log_sha256":"32d8f63c7cbf6a67265e3ebb08eeda185061a94d2674c9e79da3e5ec9348ffaa"}
{"label":"import-259","command":["timeout","-k","10","900","node","--test","packages/webui/tests/routes-browser.test.mjs"],"TMPDIR":"/mnt/storage/scratch/tmp/gqwx","start_nice":19,"observed_timeout_nice":19,"exit":0,"seconds":2.226,"mutant":false,"tests":1,"pass":1,"fail":0,"cancelled":0,"skipped":0,"todo":0,"log_sha256":"915d721ef9ebb84e963f021957955ce02a7603a048fde2ba61bd7f87e70137ae"}
{"label":"import-260","command":["timeout","-k","10","900","node","--test","packages/webui/tests/routes.test.mjs"],"TMPDIR":"/mnt/storage/scratch/tmp/gULI","start_nice":19,"observed_timeout_nice":19,"exit":0,"seconds":0.499,"mutant":false,"tests":5,"pass":5,"fail":0,"cancelled":0,"skipped":0,"todo":0,"log_sha256":"f5cb0cbb1428122e4a826ebf11a304123af5e33696dc7c3c6e9a40105a7f59b5"}
{"label":"import-261","command":["timeout","-k","10","900","node","--test","packages/webui/tests/send-browser.test.mjs"],"TMPDIR":"/mnt/storage/scratch/tmp/gV7T","start_nice":19,"observed_timeout_nice":19,"exit":0,"seconds":14.209,"mutant":false,"tests":2,"pass":2,"fail":0,"cancelled":0,"skipped":0,"todo":0,"log_sha256":"b76ab6c25710827dc2e6c7231b3aa82259cce1a88174a33f83a45c251ff4e8cf"}
{"label":"import-262","command":["timeout","-k","10","900","node","--test","packages/webui/tests/send.test.mjs"],"TMPDIR":"/mnt/storage/scratch/tmp/gbPv","start_nice":19,"observed_timeout_nice":19,"exit":0,"seconds":1.077,"mutant":false,"tests":13,"pass":13,"fail":0,"cancelled":0,"skipped":0,"todo":0,"log_sha256":"51a759891344d96c63d9d554c0b0a0cb541acca3d3d139170805723a90f83201"}
{"label":"import-263","command":["timeout","-k","10","900","node","--test","packages/webui/tests/serve.test.mjs"],"TMPDIR":"/mnt/storage/scratch/tmp/g9AU","start_nice":19,"observed_timeout_nice":19,"exit":0,"seconds":0.835,"mutant":false,"tests":4,"pass":4,"fail":0,"cancelled":0,"skipped":0,"todo":0,"log_sha256":"38c0c60b3b161bcd2cc3642f551fafd755e7ff57aa3a1f9cfc4329f0333ade9d"}
{"label":"import-264","command":["timeout","-k","10","900","node","--test","packages/webui/tests/settings-form.test.mjs"],"TMPDIR":"/mnt/storage/scratch/tmp/gp5I","start_nice":19,"observed_timeout_nice":19,"exit":0,"seconds":5.17,"mutant":false,"tests":5,"pass":5,"fail":0,"cancelled":0,"skipped":0,"todo":0,"log_sha256":"305e2081fd87ffad6bae81ef0ea0a7732f9208a0fcd6ea73c8604de13af86210"}
{"label":"import-265","command":["timeout","-k","10","900","node","--test","packages/webui/tests/settings-write.test.mjs"],"TMPDIR":"/mnt/storage/scratch/tmp/gQmT","start_nice":19,"observed_timeout_nice":19,"exit":0,"seconds":0.2,"mutant":false,"tests":4,"pass":4,"fail":0,"cancelled":0,"skipped":0,"todo":0,"log_sha256":"604a5dfa84401b569a004ca35182684d0aefda4da8a34c833953c15d8047c238"}
{"label":"import-266","command":["timeout","-k","10","900","node","--test","packages/webui/tests/shell.test.mjs"],"TMPDIR":"/mnt/storage/scratch/tmp/goIy","start_nice":19,"observed_timeout_nice":19,"exit":0,"seconds":8.597,"mutant":false,"tests":5,"pass":5,"fail":0,"cancelled":0,"skipped":0,"todo":0,"log_sha256":"aa8226cc8ad92136f875f3a976de37dfc1b0ab30a3c24f2861c34fcd6355d002"}
{"label":"import-267","command":["timeout","-k","10","900","node","--test","packages/webui/tests/sso-browser.test.mjs"],"TMPDIR":"/mnt/storage/scratch/tmp/gxVE","start_nice":19,"observed_timeout_nice":19,"exit":0,"seconds":8.875,"mutant":false,"tests":2,"pass":2,"fail":0,"cancelled":0,"skipped":0,"todo":0,"log_sha256":"37b3e8ed9a38b6a66600fee9386b5a414d6179a8630349c6f695075c1fb29806"}
{"label":"import-268","command":["timeout","-k","10","900","node","--test","packages/webui/tests/sso.test.mjs"],"TMPDIR":"/mnt/storage/scratch/tmp/gsiS","start_nice":19,"observed_timeout_nice":19,"exit":0,"seconds":8.274,"mutant":false,"tests":28,"pass":28,"fail":0,"cancelled":0,"skipped":0,"todo":0,"log_sha256":"2f286ac4644f8789c2ede5261362f4c57bcf02b84671e9b6c2f5c2994368bfbe"}
{"label":"import-269","command":["timeout","-k","10","900","node","--test","packages/webui/tests/tester-browser.test.mjs"],"TMPDIR":"/mnt/storage/scratch/tmp/g7am","start_nice":19,"observed_timeout_nice":19,"exit":0,"seconds":4.164,"mutant":false,"tests":2,"pass":2,"fail":0,"cancelled":0,"skipped":0,"todo":0,"log_sha256":"92727a4aee749943dc100d1b843f848ef75bbeeda29d693217882c71368c4d42"}
{"label":"import-270","command":["timeout","-k","10","900","node","--test","packages/webui/tests/tester-cli.test.mjs"],"TMPDIR":"/mnt/storage/scratch/tmp/gz1T","start_nice":19,"observed_timeout_nice":19,"exit":0,"seconds":11.668,"mutant":false,"tests":2,"pass":2,"fail":0,"cancelled":0,"skipped":0,"todo":0,"log_sha256":"1c952ee8767467b1d1d4306e566b9b0f863d68215d30ae8ed3ab46d75ef46e8a"}
{"label":"import-271","command":["timeout","-k","10","900","node","--test","packages/webui/tests/tester-listener.test.mjs"],"TMPDIR":"/mnt/storage/scratch/tmp/g99a","start_nice":19,"observed_timeout_nice":19,"exit":0,"seconds":2.294,"mutant":false,"tests":11,"pass":11,"fail":0,"cancelled":0,"skipped":0,"todo":0,"log_sha256":"b07648c44f522c5fa789c03634f248f63e8d312e9b93b7edd90d7951145d5419"}
{"label":"import-272","command":["timeout","-k","10","900","node","--test","packages/webui/tests/tester-socket.test.mjs"],"TMPDIR":"/mnt/storage/scratch/tmp/gbnC","start_nice":19,"observed_timeout_nice":19,"exit":0,"seconds":0.19,"mutant":false,"tests":3,"pass":3,"fail":0,"cancelled":0,"skipped":0,"todo":0,"log_sha256":"61704160b72bcd47d1e4166371e3ff65b148b7ef02b785f9427ef133d5ecdfb6"}
{"label":"import-273","command":["timeout","-k","10","900","node","--test","packages/webui/tests/thread-claims-browser.test.mjs"],"TMPDIR":"/mnt/storage/scratch/tmp/gGv0","start_nice":19,"observed_timeout_nice":19,"exit":0,"seconds":5.008,"mutant":false,"tests":6,"pass":6,"fail":0,"cancelled":0,"skipped":0,"todo":0,"log_sha256":"9d3d03d3fc2a108a5e1da2c8e153db2a21bc1e08b207698e9c8eb242dff9905a"}
{"label":"import-274","command":["timeout","-k","10","900","node","--test","packages/webui/tests/thread-claims.test.mjs"],"TMPDIR":"/mnt/storage/scratch/tmp/g09J","start_nice":19,"observed_timeout_nice":19,"exit":0,"seconds":0.423,"mutant":false,"tests":4,"pass":4,"fail":0,"cancelled":0,"skipped":0,"todo":0,"log_sha256":"2b031497a6d9d4b18d215d28bc04de28fe26a800c5a7d54af8052aab35eee3be"}
{"label":"import-275","command":["timeout","-k","10","900","node","--test","packages/webui/tests/thread-sharing.test.mjs"],"TMPDIR":"/mnt/storage/scratch/tmp/gmhU","start_nice":19,"observed_timeout_nice":19,"exit":0,"seconds":3.736,"mutant":false,"tests":7,"pass":7,"fail":0,"cancelled":0,"skipped":0,"todo":0,"log_sha256":"9f7b307edc31c95fac9ce71f39ea02466a40a6d80c70d9db91f433a07e19adb7"}
{"label":"import-276","command":["timeout","-k","10","900","node","--test","packages/webui/tests/usage-browser.test.mjs"],"TMPDIR":"/mnt/storage/scratch/tmp/g1rW","start_nice":19,"observed_timeout_nice":19,"exit":0,"seconds":1.032,"mutant":false,"tests":1,"pass":1,"fail":0,"cancelled":0,"skipped":0,"todo":0,"log_sha256":"819697b7c5cb3918c007b9fe57dd3f101c79afb9b5656905e5e1e1b0bc82de9f"}
{"label":"import-277","command":["timeout","-k","10","900","node","--test","packages/webui/tests/usage.test.mjs"],"TMPDIR":"/mnt/storage/scratch/tmp/gHnS","start_nice":19,"observed_timeout_nice":19,"exit":0,"seconds":0.238,"mutant":false,"tests":2,"pass":2,"fail":0,"cancelled":0,"skipped":0,"todo":0,"log_sha256":"555da950dacca5dc85db7172b50aaef5e50e726c6e30bb66c770c0c38d58ab76"}
{"label":"import-278","command":["timeout","-k","10","900","node","--test","packages/webui/tests/user-option-swap.test.mjs"],"TMPDIR":"/mnt/storage/scratch/tmp/gx24","start_nice":19,"observed_timeout_nice":19,"exit":0,"seconds":0.38,"mutant":false,"tests":1,"pass":1,"fail":0,"cancelled":0,"skipped":0,"todo":0,"log_sha256":"20bcc3985f5808a2d7f8daa02c5438fbac81c5163c117fde07bea3f46e8fa5b3"}
{"label":"import-279","command":["timeout","-k","10","900","node","--test","packages/webui/tests/views.test.mjs"],"TMPDIR":"/mnt/storage/scratch/tmp/gHJv","start_nice":19,"observed_timeout_nice":19,"exit":0,"seconds":5.483,"mutant":false,"tests":3,"pass":3,"fail":0,"cancelled":0,"skipped":0,"todo":0,"log_sha256":"dd69767c233e8eaeeb85ddaaf274380bbb6df73ec6cc7aaaadc6336053e4ddd8"}
```
Exact mutant edits (temporary only, all restored):
```text
{"mutant":"M1","edits":[["const SCOPES = Object.freeze(['canon', 'playground', 'supporting']);","const SCOPES = Object.freeze(['canon', 'playground']);"]],"path":"packages/library/src/query.mjs","oracle":"supporting find/search/get","killed":true,"restored_clean":true}
{"mutant":"M2","edits":[["file.scope !== requestedScope || ",""]],"path":"packages/library/src/query.mjs","oracle":"get without scope returns null","killed":true,"restored_clean":true}
{"mutant":"M3","edits":[["import { listTree } from './reader.mjs';","import { listTree, headCommit } from './reader.mjs';"],["listTree(source.repo, index.commit)","listTree(source.repo, await headCommit(source.repo))"]],"path":"packages/library/src/query.mjs","oracle":"each get blob equals its served tree object","killed":true,"restored_clean":true}
{"mutant":"M4","edits":[["}).sort((a, b) => SCOPE_RANK[index.files.get(a.path).scope] - SCOPE_RANK[index.files.get(b.path).scope]);","});"]],"path":"packages/library/src/query.mjs","oracle":"full outgoing and incoming links stay in scope order","killed":true,"restored_clean":true}
{"mutant":"M5","edits":[["return other !== undefined && sees(index.mapping, universe, other);","return other !== undefined && other.scope === requestedScope && sees(index.mapping, universe, other);"]],"path":"packages/library/src/query.mjs","oracle":"full outgoing and incoming links stay in scope order","killed":true,"restored_clean":true}
{"mutant":"M6","edits":[["file.scope === scope && sees(index.mapping, universe, file)","file.scope === scope"],["other !== undefined && sees(index.mapping, universe, other)","other !== undefined"]],"path":"packages/library/src/query.mjs","oracle":"full outgoing and incoming links stay in scope order","killed":true,"restored_clean":true}
{"mutant":"M7","edits":[["scopeArg(scope, MANUSCRIPT_SCOPES)","scopeArg(scope, SCOPES)"]],"path":"packages/library/src/query.mjs","oracle":"manuscript still refuses supporting","killed":true,"restored_clean":true}
{"mutant":"M8","edits":[["'library.get': { method: 'get', fields: ['universe', 'path', 'scope', 'from', 'links_from']","'library.get': { method: 'get', fields: ['universe', 'path', 'from', 'links_from']"]],"path":"packages/bus/src/broker.mjs","oracle":"broker forwards supporting scope","killed":true,"restored_clean":true}
{"mutant":"M9","edits":[["const manuscriptScope = str(\"canon by default; playground is opt-in\", { enum: [\"canon\", \"playground\"] });","const manuscriptScope = str(\"canon by default; playground is opt-in\", { enum: [\"canon\", \"playground\", \"supporting\"] });"]],"path":"packages/harness/src/tools.mjs","oracle":"scope schemas expand only find/search/get","killed":true,"restored_clean":true}
```
Sweep summary:
```text
{
"root_count": 289,
"matches": []
}
```
## sage-4310 — row329 landed-base rebase, 2026-10-24
Branch della/row284-r4 rebased the six commits in 95d4991d2..315e9c84f
onto origin/refactor 9e2689dffb24c9881724b67db982bc87d527157f. Old branch
della/row284-r2 and its crash handoff remain unchanged. No conflict hunks
occurred: Git replayed all six commits automatically; range-diff marks all
six patches equal. Thus no manual conflict resolution was required.
Inspected broker.mjs against the new base: the sole row284 delta adds scope
to library.get fields. Row329 proxy verbs and all other base broker code
are retained unchanged. No optimization or review-note behavior change added.
The new eight-path seal is stored outside Git in
/mnt/storage/scratch/della-row284-r2-evidence/manifest-r4.txt with sibling
manifest-r4.blobs.txt and range-diff-r4.txt. Base, final candidate tip and
manifest digest are in seal-r4.txt beside them (avoids a self-referential
BUILD hash). Prior test/mutant results above apply to the prior base only;
no test, mutant, Node, syntax check, dependency install or queue command
was run for this rebase. Explicit sage-4310 authorizes this untested push.
Worker runs and Sage landing gate wait for CLEAR after Webby delta review.
@@ -0,0 +1,2 @@
2026-10-25T07:47:01Z
02:47:01 up 11 days, 18:06, 2 users, load average: 13.77, 14.23, 20.51
@@ -0,0 +1,2 @@
2026-10-25T07:46:54Z
02:46:54 up 11 days, 18:06, 2 users, load average: 13.49, 14.18, 20.53
@@ -0,0 +1,20 @@
P4 offline upgrade version=8.0.42 nice=16
P4 diagnostic {"stage":"binary-start","nodePriority":16,"childPriority":16,"lastClientErrorCode":null,"nodeSchedulingPolicy":5,"childSchedulingPolicy":5,"childExitCode":null,"childSignal":null}
P4 diagnostic {"stage":"management-ready","nodePriority":16,"childPriority":16,"lastClientErrorCode":"proxy-client-down","nodeSchedulingPolicy":5,"childSchedulingPolicy":5,"childExitCode":null,"childSignal":null}
P4 diagnostic {"stage":"store-open","nodePriority":16,"childPriority":16,"lastClientErrorCode":"proxy-client-down","nodeSchedulingPolicy":5,"childSchedulingPolicy":5,"childExitCode":null,"childSignal":null}
P4 diagnostic {"stage":"broker-bound","nodePriority":16,"childPriority":16,"lastClientErrorCode":"proxy-client-down","nodeSchedulingPolicy":5,"childSchedulingPolicy":5,"childExitCode":null,"childSignal":null}
P4 diagnostic {"stage":"initial-accounts","nodePriority":16,"childPriority":16,"lastClientErrorCode":"proxy-client-down","nodeSchedulingPolicy":5,"childSchedulingPolicy":5,"childExitCode":null,"childSignal":null}
P4 empty-provider diagnostic {"httpStatus":404,"type":"object","isArray":true,"count":0}
proxy.accounts initial empty; GET /credentials + GET /config/api-keys/claude
proxy.login.start claude GET /oauth/auth-url; fields=url,state only
proxy.login.submit POST /oauth/callback; fake code never ok; GET /oauth/status=wait
proxy.login.cancel DELETE /oauth/session confirmed
proxy.login.start codex GET /oauth/auth-url; fields=url,state only
proxy.login.submit POST /oauth/callback; fake code never ok; GET /oauth/status=wait
proxy.login.cancel DELETE /oauth/session confirmed
proxy.apikey.add PUT /config/api-keys/claude; account fields=accountId,provider,displayName,status,priority; id from auth_index
proxy.priority.set API-key PUT /config/api-keys/claude; priority read-back=7
proxy.keys GET /config/access/api-keys; fields=keyId,management,agent,issuedAt,state; sentinel labelled; values absent
proxy.priority.set OAuth PATCH /credentials/fields body={name,priority}; priority read-back=8
PASS offline native-page bus contract and secret-free receipts
P4 diagnostic {"stage":"initial-accounts","nodePriority":16,"childPriority":null,"lastClientErrorCode":"proxy-client-down","nodeSchedulingPolicy":5,"childSchedulingPolicy":null,"childExitCode":0,"childSignal":null}
@@ -0,0 +1,19 @@
nice=19 TMPDIR=/mnt/storage/scratch/tmp/ICE0YV
✔ accounts have exactly the allowlisted public fields, id from credential identifier (28.859027ms)
✔ token-like data in every upstream field never reaches public accounts (5.070752ms)
✔ API key account is derived from proxy auth_index, never api-key, and can set priority (12.225188ms)
✔ OAuth priority uses top-level name/priority and confirms it through list (4.580885ms)
✔ priority-unconfirmed: accepted API-key write with unchanged read-back refuses (5.588673ms)
✔ priority-write-refused: OAuth PATCH status 201 (3.491938ms)
✔ priority-write-refused: OAuth PATCH status 400 (4.410853ms)
✔ priority-invalid: unknown account refuses before any write (2.983779ms)
✔ proxy-down: a closed management listener refuses once (1.996951ms)
✔ client keys return ids, sentinel/foreign labels and only scoped record metadata (3.672515ms)
ℹ tests 10
ℹ suites 0
ℹ pass 10
ℹ fail 0
ℹ cancelled 0
ℹ skipped 0
ℹ todo 0
ℹ duration_ms 183.915712
@@ -0,0 +1,2 @@
2026-10-25T07:46:24Z
02:46:24 up 11 days, 18:06, 2 users, load average: 13.22, 14.25, 20.76
@@ -0,0 +1,2 @@
2026-10-25T07:46:24Z
02:46:24 up 11 days, 18:06, 2 users, load average: 13.22, 14.25, 20.76
@@ -0,0 +1,12 @@
nice=19 TMPDIR=/mnt/storage/scratch/tmp/WlQ8bY
✔ fresh404 yields no accounts, then adds the first key once with no value leakage (32.08173ms)
✔ malformed200 null remains proxy-down, no retry or write (7.8998ms)
✔ malformed200 object remains proxy-down, no retry or write (3.878116ms)
ℹ tests 3
ℹ suites 0
ℹ pass 3
ℹ fail 0
ℹ cancelled 0
ℹ skipped 0
ℹ todo 0
ℹ duration_ms 147.324337
@@ -0,0 +1,2 @@
2026-10-25T07:46:23Z
02:46:23 up 11 days, 18:06, 2 users, load average: 13.22, 14.25, 20.76
@@ -0,0 +1,2 @@
2026-10-25T07:46:22Z
02:46:22 up 11 days, 18:06, 2 users, load average: 13.76, 14.37, 20.83
@@ -0,0 +1,26 @@
nice=19 TMPDIR=/mnt/storage/scratch/tmp/zFmWGh
✔ proxy.login.start: provider-not-allowed (32.675653ms)
✔ proxy.apikey.add: provider-not-allowed (0.468026ms)
✔ apikey-invalid empty (0.345583ms)
✔ apikey-invalid too long (0.330348ms)
✔ apikey-invalid charset (0.281139ms)
✔ callback-url-invalid not URL (1.581908ms)
✔ callback-url-invalid oversize (0.382376ms)
✔ callback-url-invalid repeated state (0.344928ms)
✔ login-state-unknown callback never reaches proxy (0.456109ms)
✔ login state is scoped to the human and business (0.514738ms)
✔ accepted callback wait is pending; only a status ok completes and retires state (0.915716ms)
✔ expiry reports login-timeout once with no management call and retires state (0.306001ms)
✔ cancel calls DELETE and retires state (0.39506ms)
✔ upstream OAuth error body never crosses bus response (0.266204ms)
✔ priority-invalid {"accountId":"bad","priority":1} (0.216492ms)
✔ priority-invalid {"accountId":"aaaaaaaaaaaa","priority":1.5} (0.206751ms)
✔ priority-invalid {"accountId":"aaaaaaaaaaaa","priority":1001} (0.245944ms)
ℹ tests 17
ℹ suites 0
ℹ pass 17
ℹ fail 0
ℹ cancelled 0
ℹ skipped 0
ℹ todo 0
ℹ duration_ms 107.671923
@@ -0,0 +1,2 @@
2026-10-25T07:46:24Z
02:46:24 up 11 days, 18:06, 2 users, load average: 13.22, 14.25, 20.76
@@ -0,0 +1,2 @@
2026-10-25T07:46:24Z
02:46:24 up 11 days, 18:06, 2 users, load average: 13.22, 14.25, 20.76
@@ -0,0 +1,50 @@
nice=19 TMPDIR=/mnt/storage/scratch/tmp/WXpqyV
✔ proxy.accounts: owner calls page once with business/human scope (26.116796ms)
✔ proxy.accounts: tester human-required (20.297319ms)
✔ proxy.accounts: agent human-required (16.822485ms)
✔ proxy.accounts: user human-required (17.662186ms)
✔ proxy.accounts: not-configured (23.121015ms)
✔ proxy.login.start: owner calls page once with business/human scope (17.138825ms)
✔ proxy.login.start: tester human-required (17.581147ms)
✔ proxy.login.start: agent human-required (20.879742ms)
✔ proxy.login.start: user human-required (24.234711ms)
✔ proxy.login.start: not-configured (19.75879ms)
✔ proxy.login.submit: owner calls page once with business/human scope (22.157242ms)
✔ proxy.login.submit: tester human-required (25.380596ms)
✔ proxy.login.submit: agent human-required (21.217295ms)
✔ proxy.login.submit: user human-required (23.521967ms)
✔ proxy.login.submit: not-configured (24.585017ms)
✔ proxy.login.status: owner calls page once with business/human scope (22.913517ms)
✔ proxy.login.status: tester human-required (21.7594ms)
✔ proxy.login.status: agent human-required (28.198167ms)
✔ proxy.login.status: user human-required (18.344285ms)
✔ proxy.login.status: not-configured (20.030294ms)
✔ proxy.login.cancel: owner calls page once with business/human scope (16.420549ms)
✔ proxy.login.cancel: tester human-required (20.486195ms)
✔ proxy.login.cancel: agent human-required (17.871874ms)
✔ proxy.login.cancel: user human-required (20.801042ms)
✔ proxy.login.cancel: not-configured (24.049445ms)
✔ proxy.apikey.add: owner calls page once with business/human scope (20.743633ms)
✔ proxy.apikey.add: tester human-required (20.590224ms)
✔ proxy.apikey.add: agent human-required (20.621701ms)
✔ proxy.apikey.add: user human-required (23.304327ms)
✔ proxy.apikey.add: not-configured (26.176447ms)
✔ proxy.priority.set: owner calls page once with business/human scope (18.750335ms)
✔ proxy.priority.set: tester human-required (19.039252ms)
✔ proxy.priority.set: agent human-required (18.745218ms)
✔ proxy.priority.set: user human-required (17.214992ms)
✔ proxy.priority.set: not-configured (17.152828ms)
✔ proxy.keys: owner calls page once with business/human scope (18.060003ms)
✔ proxy.keys: tester human-required (17.424731ms)
✔ proxy.keys: agent human-required (14.943668ms)
✔ proxy.keys: user human-required (16.025103ms)
✔ proxy.keys: not-configured (16.373436ms)
✔ API-key canary never enters broker events or unknown error output (15.813479ms)
ℹ tests 41
ℹ suites 0
ℹ pass 41
ℹ fail 0
ℹ cancelled 0
ℹ skipped 0
ℹ todo 0
ℹ duration_ms 994.095736
@@ -0,0 +1,2 @@
2026-10-25T07:46:24Z
02:46:24 up 11 days, 18:06, 2 users, load average: 13.22, 14.25, 20.76
@@ -0,0 +1,2 @@
2026-10-25T07:46:23Z
02:46:23 up 11 days, 18:06, 2 users, load average: 13.22, 14.25, 20.76
@@ -0,0 +1,17 @@
nice=19 TMPDIR=/mnt/storage/scratch/tmp/qBvaqm
✔ empty provider GET404 yields empty array, discards body and receipts actual404 once (23.337829ms)
✔ provider GET401 remains proxy-client-refused, no retry (5.03975ms)
✔ provider GET403 remains proxy-client-refused, no retry (2.874184ms)
✔ provider GET500 remains proxy-client-refused, no retry (2.839998ms)
✔ getCredentials404 remains proxy-client-refused, no retry (3.031846ms)
✔ getKeys404 remains proxy-client-refused, no retry (2.739596ms)
✔ provider PUT404 remains proxy-client-refused, never treated as empty GET (1.681292ms)
✔ provider GET200 array passes through, with receipt and no retry (1.893456ms)
ℹ tests 8
ℹ suites 0
ℹ pass 8
ℹ fail 0
ℹ cancelled 0
ℹ skipped 0
ℹ todo 0
ℹ duration_ms 148.993332
@@ -0,0 +1,2 @@
2026-10-25T07:46:22Z
02:46:22 up 11 days, 18:06, 2 users, load average: 13.76, 14.37, 20.83
@@ -0,0 +1,2 @@
2026-10-25T07:46:22Z
02:46:22 up 11 days, 18:06, 2 users, load average: 13.76, 14.37, 20.83
@@ -0,0 +1,12 @@
nice=19 TMPDIR=/mnt/storage/scratch/tmp/NaZhtr
✔ OAuth management calls keep URL and state out of receipts (25.417454ms)
✔ upstream key goes only in request body and upstream refusal body is discarded (5.332331ms)
✔ redirected management calls are not followed or retried (2.562305ms)
ℹ tests 3
ℹ suites 0
ℹ pass 3
ℹ fail 0
ℹ cancelled 0
ℹ skipped 0
ℹ todo 0
ℹ duration_ms 139.356091
@@ -0,0 +1,2 @@
2026-10-25T07:46:23Z
02:46:23 up 11 days, 18:06, 2 users, load average: 13.22, 14.25, 20.76
@@ -0,0 +1,2 @@
2026-10-25T07:46:23Z
02:46:23 up 11 days, 18:06, 2 users, load average: 13.22, 14.25, 20.76
@@ -0,0 +1,10 @@
nice=19 TMPDIR=/mnt/storage/scratch/tmp/UVkG6Q
✔ Console production module graph cannot import the model-proxy client (93.862563ms)
ℹ tests 1
ℹ suites 0
ℹ pass 1
ℹ fail 0
ℹ cancelled 0
ℹ skipped 0
ℹ todo 0
ℹ duration_ms 177.142216
@@ -0,0 +1,2 @@
2026-10-25T07:46:30Z
02:46:30 up 11 days, 18:06, 2 users, load average: 12.40, 14.06, 20.66
@@ -0,0 +1,2 @@
2026-10-25T07:46:29Z
02:46:29 up 11 days, 18:06, 2 users, load average: 12.40, 14.06, 20.66
@@ -0,0 +1,12 @@
nice=19 TMPDIR=/mnt/storage/scratch/tmp/HkzUFL
✔ proxy browser clears write-only key immediately, sends once and renders data as text (923.252097ms)
✔ proxy browser OAuth opens safely, callback wait stays pending, status ok completes (2763.533016ms)
✔ proxy browser read-only disables account changes (662.846864ms)
ℹ tests 3
ℹ suites 0
ℹ pass 3
ℹ fail 0
ℹ cancelled 0
ℹ skipped 0
ℹ todo 0
ℹ duration_ms 4447.991189
@@ -0,0 +1,2 @@
2026-10-25T07:46:29Z
02:46:29 up 11 days, 18:06, 2 users, load average: 12.40, 14.06, 20.66
@@ -0,0 +1,2 @@
2026-10-25T07:46:25Z
02:46:25 up 11 days, 18:06, 2 users, load average: 13.22, 14.25, 20.76
@@ -0,0 +1,11 @@
nice=19 TMPDIR=/mnt/storage/scratch/tmp/MVzxL3
✔ API-key canary reaches fake once and zero responses/logs/receipts/store files (49.859682ms)
✔ OAuth URLs, state and code stay out of broker records and management receipts (21.222227ms)
ℹ tests 2
ℹ suites 0
ℹ pass 2
ℹ fail 0
ℹ cancelled 0
ℹ skipped 0
ℹ todo 0
ℹ duration_ms 266.31653
@@ -0,0 +1,2 @@
2026-10-25T07:46:25Z
02:46:25 up 11 days, 18:06, 2 users, load average: 13.22, 14.25, 20.76
@@ -0,0 +1,2 @@
2026-10-25T07:46:25Z
02:46:25 up 11 days, 18:06, 2 users, load average: 13.22, 14.25, 20.76
@@ -0,0 +1,20 @@
nice=19 TMPDIR=/mnt/storage/scratch/tmp/pooz0I
✔ owner proxy routes each make exactly one allowlisted call (30.857128ms)
✔ proxy write refuses signed-out (3.336504ms)
✔ proxy write refuses loopback (2.704228ms)
✔ proxy write refuses cross-origin (1.698264ms)
✔ proxy write refuses missing Fetch Metadata (1.705732ms)
✔ all proxy writes are read-only without --send (4.69854ms)
✔ granted user never reaches owner page or any proxy route (7.577808ms)
✔ native page offers write-only key input and no panel script (2.379451ms)
✔ Console caller rejects every non-proxy verb (1.337229ms)
✔ tester socket refuses proxy page, reads and writes before any owner call (8.577124ms)
✔ malformed API-key JSON never appears in errors or logs (1.827938ms)
ℹ tests 11
ℹ suites 0
ℹ pass 11
ℹ fail 0
ℹ cancelled 0
ℹ skipped 0
ℹ todo 0
ℹ duration_ms 255.783124
@@ -0,0 +1,2 @@
2026-10-25T07:46:25Z
02:46:25 up 11 days, 18:06, 2 users, load average: 13.22, 14.25, 20.76
@@ -0,0 +1,2 @@
2026-10-25T07:46:24Z
02:46:24 up 11 days, 18:06, 2 users, load average: 13.22, 14.25, 20.76
@@ -0,0 +1,10 @@
packages/model-proxy/tests/empty-provider.test.mjs
packages/bus/tests/proxy-page-empty-provider.test.mjs
packages/model-proxy/tests/page-client.test.mjs
packages/bus/tests/proxy-page.test.mjs
packages/bus/tests/proxy-page-state.test.mjs
packages/bus/tests/proxy-page-accounts.test.mjs
packages/webui/tests/proxy-page.test.mjs
packages/webui/tests/proxy-canary.test.mjs
packages/webui/tests/proxy-browser.test.mjs
packages/webui/tests/proxy-architecture.test.mjs
@@ -0,0 +1,2 @@
2026-10-25T07:47:52Z
02:47:52 up 11 days, 18:07, 2 users, load average: 9.43, 13.06, 19.79
@@ -0,0 +1,2 @@
2026-10-25T07:47:50Z
02:47:50 up 11 days, 18:07, 2 users, load average: 9.43, 13.06, 19.79
@@ -0,0 +1,8 @@
{"mutant":"accounts-unfiltered-field","test":"packages/bus/tests/proxy-page-accounts.test.mjs","exit":1,"nice":19,"failures":2,"passes":8,"failingTests":["accounts have exactly the allowlisted public fields, id from credential identifier","token-like data in every upstream field never reaches public accounts"],"killed":true,"restored":true,"originalSha256":"14acdb4d3fdaabad508eec7378740b13c175d4bdd0c6e707a673138eff82365b"}
{"mutant":"accounts-unfiltered-field","positiveControl":true,"test":"packages/bus/tests/proxy-page-accounts.test.mjs","exit":0,"nice":19,"failures":0,"passes":10,"failingTests":[],"positive":true}
{"mutant":"callback-skips-state","test":"packages/bus/tests/proxy-page-state.test.mjs","exit":1,"nice":19,"failures":2,"passes":15,"failingTests":["login-state-unknown callback never reaches proxy","accepted callback wait is pending; only a status ok completes and retires state"],"killed":true,"restored":true,"originalSha256":"14acdb4d3fdaabad508eec7378740b13c175d4bdd0c6e707a673138eff82365b"}
{"mutant":"callback-skips-state","positiveControl":true,"test":"packages/bus/tests/proxy-page-state.test.mjs","exit":0,"nice":19,"failures":0,"passes":17,"failingTests":[],"positive":true}
{"mutant":"proxy-route-accepts-granted-user","test":"packages/webui/tests/proxy-page.test.mjs","exit":1,"nice":19,"failures":1,"passes":10,"failingTests":["granted user never reaches owner page or any proxy route"],"killed":true,"restored":true,"originalSha256":"7b7bee91604b7bd973027b177de83205db9aed366e694072fc6343b46465b5ba"}
{"mutant":"proxy-route-accepts-granted-user","positiveControl":true,"test":"packages/webui/tests/proxy-page.test.mjs","exit":0,"nice":19,"failures":0,"passes":11,"failingTests":[],"positive":true}
{"mutant":"apikey-logged","test":"packages/webui/tests/proxy-canary.test.mjs","exit":1,"nice":19,"failures":1,"passes":1,"failingTests":["API-key canary reaches fake once and zero responses/logs/receipts/store files"],"killed":true,"restored":true,"originalSha256":"14acdb4d3fdaabad508eec7378740b13c175d4bdd0c6e707a673138eff82365b"}
{"mutant":"apikey-logged","positiveControl":true,"test":"packages/webui/tests/proxy-canary.test.mjs","exit":0,"nice":19,"failures":0,"passes":2,"failingTests":[],"positive":true}
@@ -0,0 +1,26 @@
nice=19 TMPDIR=/mnt/storage/scratch/tmp/zwP2zD
✖ fresh404 yields no accounts, then adds the first key once with no value leakage (31.629717ms)
✔ malformed200 null remains proxy-down, no retry or write (10.121658ms)
✔ malformed200 object remains proxy-down, no retry or write (5.73007ms)
ℹ tests 3
ℹ suites 0
ℹ pass 2
ℹ fail 1
ℹ cancelled 0
ℹ skipped 0
ℹ todo 0
ℹ duration_ms 218.324391
✖ failing tests:
test at packages/bus/tests/proxy-page-empty-provider.test.mjs:7:1
✖ fresh404 yields no accounts, then adds the first key once with no value leakage (31.629717ms)
Error [ProxyError]: proxy-down
at refuse (file:///home/jwoltje/.t3/worktrees/mosaic-stack/poe-row330/packages/model-proxy/src/common.mjs:8:39)
at ProxyPage.request (file:///home/jwoltje/.t3/worktrees/mosaic-stack/poe-row330/packages/bus/src/proxy-page.mjs:80:7)
at process.processTicksAndRejections (node:internal/process/task_queues:104:5)
at async TestContext.<anonymous> (file:///home/jwoltje/.t3/worktrees/mosaic-stack/poe-row330/packages/bus/tests/proxy-page-empty-provider.test.mjs:10:17)
at async Test.run (node:internal/test_runner/test:1409:7)
at async startSubtestAfterBootstrap (node:internal/test_runner/harness:387:3) {
code: 'proxy-down'
}
@@ -0,0 +1,2 @@
2026-10-25T07:46:06Z
02:46:06 up 11 days, 18:05, 2 users, load average: 15.17, 14.64, 21.02
@@ -0,0 +1,2 @@
2026-10-25T07:46:06Z
02:46:06 up 11 days, 18:05, 2 users, load average: 15.17, 14.64, 21.02
@@ -0,0 +1,35 @@
nice=19 TMPDIR=/mnt/storage/scratch/tmp/gJcxnP
✖ empty provider GET404 yields empty array, discards body and receipts actual404 once (30.718928ms)
✔ provider GET401 remains proxy-client-refused, no retry (8.324236ms)
✔ provider GET403 remains proxy-client-refused, no retry (2.996504ms)
✔ provider GET500 remains proxy-client-refused, no retry (2.838583ms)
✔ getCredentials404 remains proxy-client-refused, no retry (3.923009ms)
✔ getKeys404 remains proxy-client-refused, no retry (4.502681ms)
✔ provider PUT404 remains proxy-client-refused, never treated as empty GET (2.271108ms)
✔ provider GET200 array passes through, with receipt and no retry (2.585158ms)
ℹ tests 8
ℹ suites 0
ℹ pass 7
ℹ fail 1
ℹ cancelled 0
ℹ skipped 0
ℹ todo 0
ℹ duration_ms 192.563954
✖ failing tests:
test at packages/model-proxy/tests/empty-provider.test.mjs:35:1
✖ empty provider GET404 yields empty array, discards body and receipts actual404 once (30.718928ms)
Error [ProxyError]: proxy-client-refused
at ClientRequest.<anonymous> (file:///home/jwoltje/.t3/worktrees/mosaic-stack/poe-row330/packages/model-proxy/src/client.mjs:30:49)
at ClientRequest.wrapper (node:events:639:12)
at ClientRequest.emit (node:events:514:20)
at HTTPParser.parserOnIncomingClient (node:_http_client:973:27)
at HTTPParser.parserOnHeadersComplete (node:_http_common:125:17)
at Socket.socketOnData (node:_http_client:808:22)
at Socket.emit (node:events:514:20)
at addChunk (node:internal/streams/readable:575:12)
at readableAddChunkPushByteMode (node:internal/streams/readable:526:3)
at Readable.push (node:internal/streams/readable:406:5) {
code: 'proxy-client-refused'
}
@@ -0,0 +1,2 @@
2026-10-25T07:46:06Z
02:46:06 up 11 days, 18:05, 2 users, load average: 15.17, 14.64, 21.02
@@ -0,0 +1,2 @@
2026-10-25T07:46:05Z
02:46:05 up 11 days, 18:05, 2 users, load average: 15.17, 14.64, 21.02
+618
View File
@@ -0,0 +1,618 @@
# Row 330 / P4 Console proxy page — #1828
2026-10-24 Poe. Base: refactor 78b69e1e6; branch poe/row330.
## Requirements and boundaries
Replacement brief blob 4c005dc4936c, heading line 17. At 78b69e1e6 the
0ce22dde6 line references remain unchanged: verbs 27–36; accounts 37–44;
OAuth 45–61; upstream API keys 62–74; priority 75–78; client keys 79–83;
usage 84–85; Console routes/page 86–98; upgrade check 99–110;
tests 112–132; order 142–143; gate and named mutants 145–150.
Rows document Rules for every row remain at line 12.
No live proxy/config/credential access. No host proxy calls. Work uses its own
node_modules. No tests until Sage CLEAR; run list derived from imports before
whole-file runs. P2 must land and be rebased before gate; P4 lands after P2.
Gladstone first review; Filbert landing review. No refactor push authority.
## Proposed implementation contract
Verbs: proxy.accounts, proxy.login.start, proxy.login.submit,
proxy.login.status, proxy.login.cancel, proxy.apikey.add,
proxy.priority.set, proxy.keys. The broker checks human transport before
configuration, including granted users (human-required). Missing proxy:
not-configured. Management connection failure: proxy-down, no retry.
Accounts return only accountId, provider, displayName, status, priority.
accountId hashes the proxy credential identifier (12 hex SHA256), never a token.
Provider/status values must be constrained and names must be derived from safe
metadata; arbitrary credential field values must not be reflected. Exact pinned
8.0.42 endpoint/field mapping still to be confirmed on the offline stand-in.
Login sessions live in bus memory, scoped to the owning business/human, with
300-second default expiry. A pasted URL is bounded, parsed and matched to a
pending state started by this bus. Finished/expired/unknown state refuses
login-state-unknown; malformed URL refuses callback-url-invalid. Only status ok
finishes sign-in; callback acceptance/wait never does. No URLs, states or codes
in logs/receipts/errors. Start allows claude/codex only; API-key add allows z.ai
only. API keys are write-only printable ASCII, bounded, never echoed.
Owner-only /proxy page; /api/proxy/accounts and /api/proxy/keys reads;
/api/proxy/login/start, /submit, /status, /cancel; /api/proxy/apikey/add;
/api/proxy/priority/set. Each maps to exactly one allowlisted bus call.
Writes require named host, owner sign-in, own Origin, same-origin Fetch Metadata
and --send. Tester, granted user and loopback refuse. Console holds no client,
proxy settings or management key. Usage placeholder accepts P5's later view;
P4 creates no usage source.
## Test plan (not yet run)
Management client: pinned endpoint/method/body contract, loopback-only auth,
redirect refusal, bounded response, safe receipts, no retry.
Bus: all eight verbs against fake server; separate refusal cases for missing
config, tester/agent/granted user human-required, both provider allowlists,
unknown/expired/finished state, invalid callback URL, each API-key invalid case,
invalid priority/account id, and proxy-down. Explicit wait-is-not-ok test.
Accounts: strict allowlist, ids from identifier, toxic-field fake, API-key account
and priority round-trip. Keys: ids only, sentinel and foreign-key labels, P2 join.
Console: owner success; granted/tester/loopback/signed-out/cross-origin/missing
Fetch Metadata refusals; every write refuses without --send; caller allowlist;
no webui import of management client or proxy config access.
Canary: fake management receives API key exactly once, and all responses, logs,
receipts, errors and store files contain zero copies. OAuth secrets likewise.
Named mutants: unfiltered account field; skipped callback state check; granted
user accepted at /api/proxy/; API-key echoed by error/log.
Full model-proxy, bus, webui (MOSAIC_REQUIRE_EDITOR_BUILD=1), touched test files;
Sage landing gate all packages except queue and scripts/test-*.sh. Upgrade check
under unshare -rn on PIN 8.0.42; output must land here. No runs claimed yet.
## Design clarification (Sage sage-4347)
Committed researcher/P1 artifacts may be read in this checkout. Read v8.0.27
management reference and P1 BUILD/REVIEW. P1 confirms 8.0.42 key list is an array
and OAuth redirect URLs localhost:54545/callback (Claude) and
localhost:1455/auth/callback (Codex). P1 does not record credential response
fields, z.ai upstream config schema or credentials/fields PATCH payload.
Those remain unconfirmed, not guessed as a pinned contract.
Expiry behavior: status for an expired pending state returns
{status:"error", reason:"login-timeout"}, deletes the state and makes no proxy
call. It is not signed in; later status/submit/cancel refuses login-state-unknown.
No code or upstream error body is returned. Timeout can be provided as a trusted
host setting, default300s; no page/agent verb may widen it.
Setup: npm ci --ignore-scripts --no-audit --no-fund completed in worktree root
(128 packages) and packages/webui (2 packages), both launched at nice19 with
fresh shell-created short TMPDIR. No canonical npm or node_modules links.
Canonical queue next completed with view-unknown warning; move returned
ok poe-330-start rev4077 row330 briefed→in-progress. No repair performed.
## Pre-run list (no execution)
Static esbuild import parsing of the initial RED entrypoints (no tests executed)
produced red-import-graph.json and red-run-list.txt. Whole-file list:
packages/model-proxy/tests/page-client.test.mjs;
packages/bus/tests/proxy-page.test.mjs;
packages/bus/tests/proxy-page-state.test.mjs;
packages/webui/tests/proxy-page.test.mjs.
The new state test's dynamic URL import points at the not-yet-implemented
packages/bus/src/proxy-page.mjs; expected first RED is missing implementation.
No case1-accept file is selected. Probe.sh is also slot work, on a random
loopback port inside unshare-rn, using only the verified own fixture executable.
No test or binary probe has run yet. The three open pinned contracts remain
probe-pending. Priority tests currently choose integer range -1000..1000.
Sage sage-4352 authorizes P1 fetch into this fresh fixture. Fetch succeeded at
nice19, verified archive, executable and panel hashes against PIN8.0.42, and
installed only under /mnt/storage/scratch/tmp/76TDtz/download/opt/cliproxyapi/8.0.42.
Receipt fetch.txt contains paths only. No host executable was used or inspected.
2026-10-24T04:04Z: node --check on all four new test files and probe.mjs,
bash -n probe.sh, and git diff --check passed. Syntax checks only: no test
module or pinned executable ran. No production implementation changed yet;
RED-first requirement and Sage CLEAR slot gate remain in force. Canonical
queue start is complete; waiting for the authorized test slot, not a Jason
decision. No commit or push made.
## First RED and pinned contract probe (sage-4391 CLEAR)
2026-10-24T04:24Z. Four whole files ran serially, absolute paths, a fresh
shell-created short TMPDIR per run, nice19 recorded in each receipt. No old
test file ran and no test was rerun. All four exited1 as expected:
- page-client: 0pass/3fail. OAuth receipt test fails because oauthStart is
undefined; upstream refusal/canary test because putUpstreamGroups is undefined;
redirect test because getCredentials is undefined. Receipt red-page-client.txt.
- broker proxy-page: 0pass/41fail. For each of the eight verbs, the owner gets
unknown-verb instead of a page response, tester gets tester-refused instead of
human-required, agent gets unknown-verb instead of human-required, granted user
gets access-refused instead of human-required, and missing configuration gets
unknown-verb instead of not-configured. Canary error test gets unknown-verb
instead of proxy-down. All are the missing P4 dispatch boundary, not a fixture
setup failure. Receipt red-broker.txt enumerates every failing test.
- proxy-page-state: 0pass/17fail. Every named provider/key/callback/state/expiry/
cancellation/priority case fails ERR_MODULE_NOT_FOUND for the not-yet-created
packages/bus/src/proxy-page.mjs. Receipt red-state.txt enumerates each case.
- webui proxy-page: 6pass/3fail. Owner routes return404; native page returns404;
Console caller proxyCall is undefined. Signed-out, loopback, cross-origin,
absent Fetch Metadata, no-send and granted-user boundary cases pass through
existing general refusals. Receipt red-webui.txt.
probe.sh exited0 under unshare-rn, random loopback port, own config and made-up
short key, verified PIN8.0.42 binary, nice19. Child exited and namespace closed.
No host proxy or real instance state was used. probe.txt is shape-only output:
- GET /credentials:200 {files:[], observed_at:string}.
- GET /oauth/auth-url?provider=claude and provider=codex:200 with url/state/status
strings. DELETE /oauth/session?state=[redacted]:200 cancelled/status.
- PUT /config/api-keys/claude with
[{name,base-url,priority,keys:[{api-key}]}]:200 status/config-version.
Used z.ai's Claude-compatible endpoint; no request reached that endpoint.
- GET /config/api-keys/claude: array of groups, name/base-url/priority; keys
include api-key and a proxy-generated auth_index. Values were not printed.
- GET /credentials after API-key add remains files:[]: API-key credentials are
not listed here. Accounts must join the provider config's safe metadata.
- The script's priority PATCH branch required a credential row; no row existed,
so it did NOT run. Credentials field payload and populated OAuth response fields
remain unconfirmed. Reported rather than treating rc0 as full contract proof.
Slot returned to Sage after this report. GREEN, mutants and further binary probes
require separate CLEAR. No implementation run, commit or push claimed.
## Probe 2 observed contract (sage-4394 CLEAR)
2026-10-24T04:25Z. probe2.sh exited0 under unshare-rn, own random loopback
port/config/short made-up key, nice19. Fixture child exited; EXIT trap removed
the entire shell-created fixture TMPDIR, including fabricated credential/config.
Only verified fetched binary outside this temporary runtime root was retained.
Receipt probe2.txt contains types/shapes only, no credential values.
POST /v8/management/credentials?name=[fixture filename] with JSON
{type,access_token,refresh_token,expired,email} returns200 {status:string}.
No multipart fallback was needed. Populated GET /credentials returns
{files:[...],observed_at:string}. Credential row fields/types:
account/string, account_type/string, auth_index/string, cooldowns/array,
created_at/string, disabled/boolean, email/string, failed/number, id/string,
label/string, modtime/string, name/string, path/string, provider/string,
quota/object, recent_requests/array, runtime_only/boolean, size/number,
source/string, status/string, status_message/string, success/number,
type/string, unavailable/boolean, updated_at/string. priority/number appears
after setting it. Fields other than the explicit public projection are dropped.
PATCH /credentials/fields observations:
- {id,priority}400; {id,fields:{priority}}400.
- {name:<OAuth id>,priority}200; {name:<OAuth name>,priority}200.
- {name:<OAuth name>,fields:{priority}}200, but200 alone does not prove it changed
priority (this may be an ignored unknown field); use top-level priority.
- {auth_index,priority}400; {auth_index,fields:{priority}}400 for both OAuth
and API-key identifiers.
- {name:<auth_index>,priority}404 for both OAuth and API key.
Final OAuth list has numeric priority and changed to one of the requested values.
API-key group priority did not change. Consequently priority uses top-level
{name,priority} for OAuth files; API-key priority must update its provider config,
not credentials/fields. A future upgrade acceptance must verify both read-backs.
Slot returned after probe2. No GREEN or mutant run authorized yet.
## Candidate implementation (not GREEN-verified)
Written after the first RED run: fixed client operations and receipts, human-only
broker dispatch before generic tester/user gates, bus-owned pending-state machine,
strict public account projection, native owner-only HTTP routes and /proxy page.
No management client/config access in the Console's new code. Reads use the owner
human transport and writes independently require --send/Origin/Fetch Metadata.
Generated display names use the constrained provider and credential-id hash,
rather than upstream label/email/group-name strings. This is a consequential
security/usability tradeoff: the toxic-all-fields fake cannot reflect a credential,
but the list identifies accounts by stable ids rather than email addresses.
P2 join remains provisional until P2 lands and this branch rebases. Current
runtime seam projects model status metadata by business and does not read key
files. New refusal tests for priority-unconfirmed (read-back mismatch) and
priority-write-refused (PATCH other than200) are written FIRST; their source fixes
await the next authorized first RED run. Provider config read-only auth_index
must not be echoed in a config write; its preservation test is also pending.
Sage sage-4394 explicitly authorizes committing/pushing incremental candidate
commits before GREEN on poe/row330; refactor landing remains gated on all green
checks and reviews. No candidate commit is a verification/completion claim.
## Prepared next slot (not run)
Sage sage-4400 accepts the two priority paths. New code-specific first-RED tests
are in proxy-page-accounts.test.mjs for priority-unconfirmed and
priority-write-refused. This file must run first, then those source fixes may
be written; no assertion is loosened. No second RED has occurred.
Focused list is eight whole files in focused-run-list.txt, generated by esbuild's
import parser (focused-import-graph.json). Additional tests exercise actual
Chromium UI behavior and the parsed Console import boundary. The canary now
intercepts process stdout/stderr during the API-key operation, as well as
structured HTTP/client logs and durable bus files. Deliberate log mutants cannot
print their made-up key. Four slot-only named mutants are prepared in mutants.mjs;
no mutant has executed. The upgrade check is prepared in acceptance.sh/mjs;
it has not run. New refusal source fixes remain pending first RED.
Broader import inventory: gate-imports.mjs statically parses package test imports,
traces paths to changed production modules, and adds all mandatory model-proxy,
bus and webui test files. Exact paths are gate-run-list.txt; summary includes
additional collateral files. case1-accept.test.mjs is explicitly excluded even
if imported, per mos-1612. No text search of fixture payloads selects a run.
Webui's eventual full gate requires editor build and MOSAIC_REQUIRE_EDITOR_BUILD=1.
These inventory commands parse source only; they do not import/execute tests.
Sage-authorized incremental candidate40dcbabcb pushed successfully to poe/row330.
No PR or review request yet, no refactor modification/push, no live change.
2026-10-24T04:42Z refactor input check requested by sage-4411:
`git diff --name-only 78b69e1e6 775bbe236` names45 paths; intersection with
focused-import-graph.json's111 parsed inputs is empty. Exact receipts:
refactor-775bbe236-paths.txt and refactor-775bbe236-input-check.json.
Correction to the shorthand report poe-330-0011: the generated broader inventory
contains280 selected files, not281. Mandatory199 (model-proxy/bus/webui), plus81
additional import dependents. case1-accept remains excluded. Preserve the exact
list, not the mistaken shorthand count. The large full graph is kept off Git;
gate-import-summary.json cites its scratch path and SHA256. A compact per-file
import witness and the reproducible parser script land instead.
Sage sage-4411 accepts first-RED account test → source fix → eight focused whole
files → offline acceptance → four mutants. No CLEAR yet: slot order is Bubba288,
Magica331 GREEN, then this block. Full gate follows P2 landing/rebase/key join.
## Focused block sage-4430 — stopped at offline acceptance failure
2026-10-25T05:39Z precheck on candidate48c7c3283:
`git diff --name-only 78b69e1e6 e1d8756b5` names47 paths; none overlaps the111
focused parsed inputs. refactor-e1d8756b5-input-check.json records the check.
First RED of proxy-page-accounts.test.mjs:6pass/4expected failures, rc1. Failed
API priority write included derived auth_index; mismatch refusal was proxy-down;
PATCH201 and400 refusals were proxy-down. Receipt red-accounts.txt.
Source fix only, no test edits: remove derived auth_index from provider config
writes; require exactly200 for priority PATCH/PUT; preserve priority-write-refused
for refused/redirected writes and priority-unconfirmed for a mismatching read-back.
Console forwards those safe refusal codes. No raw errors/keys introduced.
Eight focused whole files then passed88/88 with0skip, serialized, absolute paths,
one shell-created short TMPDIR per run. Every shell wrapper recorded nice19:
page-client3; broker41; state17; accounts10; webui HTTP11; canary2; browser3;
architecture1. Receipts green-*.txt. These are focused checks, not full suites
or landing evidence. No old test file ran and no assertion/timeout changed.
Offline acceptance.sh on the same own PIN8.0.42 fetched executable exited1.
Raw receipt upgrade-8.0.42.txt is only:
P4 offline upgrade version=8.0.42 nice=16
P4 upgrade FAILED code=acceptance-failed
This was the FIRST unexpected red. It occurred before the initial empty-accounts
checkpoint. The catch intentionally strips exception detail, so the failed
assertion/location is not known. Node reported16 despite the absolute19 shell
wrapper; no claim that the binary acceptance ran at19. The private namespace
child was stopped and the shell trap deleted its own fixture root as designed.
No host proxy, real key or real data root was involved.
Stopped immediately and reported poe-330-0014 to Sage; slot returned for
Magica331r2. No rerun, post-failure source fix, test edit or timeout change.
Four mutants were NOT RUN. Before this failure, their runner was prepared to
restore each source and run its whole-file positive control at nice19.
Next acceptance diagnosis needs Sage's ruling/CLEAR. Full suites, P2 rebase/key
join, mutants and Gladstone/Filbert reviews remain outstanding.
## Diagnostic-only preparation — sage-4432
2026-10-25T05:45Z. Prepared a separate acceptance.mjs diagnostic, with no run:
fixed stage labels binary-start, management-ready, store-open, broker-bound,
initial-accounts; observed Node/own fixture-child priorities; whitelisted last
management client failure code; child exit code/signal; sanitized catch class/code.
No exception message, actual/expected, request/response body, URL or key is printed.
A child-exit observation reads no priority once that child is known to have exited.
No priority setter was added. The shell wrapper and every assertion, retry count,
pause and timeout remain unchanged, as required to repeat the failed conditions.
Static comparison confirms assertion lines and timeout expressions unchanged;
git diff --check passes. No acceptance, test, proxy binary or mutant executed.
This is a diagnostic commit only, not a product fix. Slot remains with Sage;
next run waits for CLEAR after288 gate rerun and Magica331r2. The full focused /
acceptance / mutant block after diagnosis still requires Sage's CLEAR.
## Scheduling observation preparation — sage-4438 / mos-1675
2026-10-25T06:09Z. Slot order changed: Magica331r2, Sage's short288 diagnostic,
then this row's diagnostic; wait for Sage CLEAR. Added only numeric scheduling
policy observations from /proc/<own Node pid>/sched and the still-live fixture
child's sched file. No raw proc content, other process, scheduling setter or
host configuration access/change. Diagnostic module not executed.
Context supplied by Sage (not independently measured here): ananicy-cpp's node
rule assigns BG_CPUIO (nice16, sched idle, ioclass idle), and bash's Doc-View rule
sets nice-4. Sage reports local ASR/ffmpeg load05:41–05:50Z overlapping the failed
acceptance. These facts explain why a launch wrapper's19 is insufficient proof
of the Node process's later policy. Causation of the acceptance failure remains
unestablished until the authorized stage diagnostic. No assertion, timeout,
product code, fixture condition or priority/policy setter changed.
## One diagnostic reproduction — sage-4440 CLEAR
2026-10-25T06:14:19Z–06:14:23Z. Ran acceptance.sh exactly once on unchanged
candidatea5251007b, with no source/assertion/timeout/priority edits in the slot.
Start uptime/load:11 days16:34,2.90/5.40/9.26. End:11 days16:34,3.15/5.41/9.24.
Receipts diagnostic-start-uptime.txt, diagnostic-8.0.42.txt and
diagnostic-end-uptime.txt preserve exact output.
Reproduced rc1. Reached binary-start, management-ready, store-open, then:
{stage:store-open,errorClass:Error,code:acceptance-failed}. Did not reach
broker-bound or initial-accounts. Store-open is observed AFTER Store construction;
remaining interval includes ProxyPage/Broker construction and human binding.
No failed assertion location or root cause is claimed from the sanitized code.
Readiness succeeded. lastClientErrorCode proxy-client-down records an earlier
transient startup refusal, not a readiness failure.
Node and the live fixture child both observed nice16 and numeric scheduling
policy5 at all checkpoints. This establishes scheduling conditions, not cause.
Cleanup observed fixture child exit0 with no signal; its private temp root was
removed by the existing trap. No live proxy/key/data access occurred.
Stopped after that one run and reported poe-330-0019; SLOT BACK to Sage for288
whole-gate rerun, then Magica331r3. No focused suites, mutants or second diagnostic.
No product or diagnostic source change after this result. Receipt-only commit
follows outside the returned slot; next investigative step awaits Sage's ruling.
## Source-established fixture correction — sage-4442 option1
2026-10-25T06:16Z, source reading only, no run. Root cause: acceptance.mjs:74
(at9e94575c5) passes path.join(root,'bus') to new Store. Fixture preparation at
:24–:27 creates root/proxy/auth, root/home and config.yaml, but no root/bus.
packages/bus/src/store.mjs:163 immediately lstatSync(dataRoot), requiring an
existing directory; :166 then creates its OWN bus child. Thus this acceptance
passes a nonexistent data root and gets filesystem ENOENT before Store can open.
ENOENT was not in the diagnostic allowlist and was sanitized to acceptance-failed.
The smallest fix is new Store(root), the existing fresh fixture data root,
matching the focused fixtures. No production behavior or authority changes.
Correction to poe-330-0019 and the prior diagnostic interpretation: the
store-open observation does NOT prove successful Store construction. observe()
in the catch emits the same stage, so the observed line can be the catch's line.
The successful management-ready checkpoint remains valid; there was no later
broker-bound. Our earlier post-Store inference was wrong. Source resolves this
without another diagnostic: the missing fixture directory explains the precise
failure and its sanitized Error/code independently of scheduling/load.
Also read ProxyPage constructor validation (:27–:30), Broker business validation
(:373–:389, :558), and bindHuman (:1482–:1487). The page settings, business id/
human/authority/arbiters and the CLI/outsideAgent:true record meet those checks.
No human-boundary workaround is needed or made.
Prepared a separate single-line acceptance fixture fix, plus this append-only
explanation. No assertion, timeout, diagnostic extension, product change or
priority/policy setter. No diagnostic, acceptance, test or mutant execution;
next run waits for Sage CLEAR after the288 gate.
## Full focused block retry — sage-4446 CLEAR, stopped at initial accounts
2026-10-25T06:41Z–06:42Z on unchanged69811540c. All eight focused files ran
whole, serialized with fresh short TMPDIR and absolute nice19 wrappers;88/88
passed,0skip. Each step has UTC timestamp and uptime start/end in
block2-<test-path>.txt.start/.end, with complete test receipt block2-*.txt.
No old test file, assertion edit or timeout change.
Offline acceptance started06:42:18Z and ended06:42:22Z, uptime11days17:02,
load5.98/15.98/16.44 both endpoints. Reached management-ready, store-open,
broker-bound, then initial-accounts. Failed rc1 with code proxy-down,
errorClass Error, before the initial-empty assertion checkpoint. Thus the
previous missing Store root failure is traversed, but the native account-list
boundary now refuses. No root-cause inference or source fix yet.
Node observed nice19/policy0 through the initial-accounts entry, and nice16/
policy5 at the failure. Fixture child observed nice19/policy0 until cleanup,
then cleanexit0 with no signal. Idle scheduling is accepted under mos-1678;
these observations do not establish a scheduling cause. The remembered
proxy-client-down remains the earlier transient readiness failure.
Stopped at this FIRST unexpected red and reported poe-330-0022, SLOT BACK for
Magica331r3. No acceptance rerun, focused-file retry, product/fixture edit or
mutant execution. New receipt block2-acceptance.txt preserves sanitized output;
private fixture root removed by the existing trap. Receipt-only commit follows;
next step requires Sage's ruling/CLEAR. Full gate/P2 join/reviews still pending.
## Empty-provider source reading and diagnostic — sage-4448/4451/4452
2026-10-25T06:47Z, no run. Available committed upstream reference is8.0.27,
not a pinned8.0.42 implementation source. management-api-v8.0.27.md:25–27 says
GET does not add omitted runtime defaults; it does not specify the HTTP status
or body shape for a missing provider group. P1 and our previous probes measured
provider GET only after adding a group. Baseline-empty shape remains unproven.
page-client.test.mjs:7–14 defaults to200/{status:ok}, but no case calls
getUpstreamGroups. The actual accounts fake proxy-page-fixture.mjs:7,:18–19
returns200/[] for no groups. If the real binary returns another valid shape,
client.mjs/proxy-page.mjs has a product contract finding, not a fixture bug.
Reported to Sage before making this diagnostic; no product fix is assumed.
Prepared a separate diagnostic-only change: immediately before initial account
assertion, call client.getUpstreamGroups once directly and print only HTTP
status, type, array flag and count (array length or object top-level key count).
Per narrower sage-4452/mos-1683 it prints NO key names and NO values. Null is
reported as type null/count0; no response body is printed. On client error only
a fixed allowlisted client code is printed, never a raw error/message/body.
Status comes from the existing safe management receipt, not another request.
No assertions, timeouts, retries, scheduling settings, product source or test
fixtures changed. No module/test/binary/diagnostic executed. Wait for Sage's
review and CLEAR after the288 processing diagnostic before one acceptance run.
2026-10-25T06:49Z sage-4454 review addition: diagnostic error output now includes
httpStatus from the same existing receipt written by ManagementClient finally,
using the identical receipt-count guard as success. No new request or raw
exception data; this distinguishes404 from5xx without names or values. Separate
one-line diagnostic commit, no module/test/binary execution. Hold for CLEAR after
Sage's288 processing pair; no independent load-based run decision.
## Empty-provider diagnostic result — sage-4458 CLEAR
2026-10-25T07:32:25Z–07:32:30Z, exactly one acceptance diagnostic on unchanged
f2986b9ea. Start load52.34/45.27/29.51; end51.91/45.30/29.60. Reached the target
under this unusually high load; Node and fixture child nice16/policy5. Allowed
empty-provider output: {httpStatus:404,code:proxy-client-refused}. No response
body or key names/values were parsed/printed on that error path. Management
readiness succeeded; broker binding succeeded; subsequent proxy.accounts refused
proxy-down at initial-accounts. Fixture child cleanup exit0, no signal.
This proves the product's fresh-provider contract mismatch: same pinned8.0.42
route returns404 before any Claude provider group is configured, while earlier
probe/probe2 receipts prove200/array after a group is added. Our accounts fake
returns200/[] before configuration. This is not another acceptance fixture bug.
Stopped, reported poe-330-0027 and returned SLOT BACK for Magica331r4. No retry,
focused file, mutant, scheduling change, product/test/assertion/timeout edit.
Receipts empty-provider-diagnostic.txt and .start/.end preserve the single run.
## Proposed product diff — NOT APPLIED, review before edits
proposed-empty-provider.patch gives the exact proposed source change: in the
management client's fixed page operation, normalize404 to[] ONLY for
GET /v8/management/config/api-keys/claude. Keep the actual404 receipt. Every other
endpoint, method and status keeps existing errors; no broad error-to-empty fall
back. The page then renders no accounts and can add the first z.ai group.
This introduces no new refusal code or public schema/policy change.
Proposed verification, awaiting Sage: write a new client RED test for this exact
404 normalization before applying the patch; prove credentials/key-list404 and
provider401/403/500 remain proxy-client-refused without retry; prove200/array
passes through. Add account-level cases for fresh404 -> empty accounts -> first
key add, with no key in responses/receipts; malformed200 null/object still
refuses proxy-down. Existing assertion strength stays intact. Update the
stand-in's empty-route option only to model the observed contract; no fake can
silently turn unknown failures into empty data. Run lists/CLEAR precede tests.
No product or test changed in this receipt/proposal commit. Proposed patch is
review material, not a fix claim or a substitute for RED/GREEN/upgrade evidence.
## Regression preparation — sage-4460, no Node execution
2026-10-25T07:38Z. Authored11 cases in two new whole test files:
packages/model-proxy/tests/empty-provider.test.mjs (8): exact fixed GET404 ->[],
actual404 receipt/discarded canary body/one request; credentials404 and key-list404
remain proxy-client-refused; provider401/403/500 remain proxy-client-refused;
providerPUT404 remains proxy-client-refused (exercises GET-only guard);200 array
passes through. Every case pins exactly one call and status receipt, no retry,
no response-body/management-key leakage into receipts or error output.
packages/bus/tests/proxy-page-empty-provider.test.mjs (3): fresh404 empty account
list followed by one first-key PUT and a public safe account; malformed200 null
and object each refuse existing proxy-down with no write/retry.
Stand-in addition only: optional emptyProviderResponse controls the empty-route
status/body for these new cases. Existing fake baseline and every old assertion
and timeout remain unchanged. Imports are declared directly to ManagementClient
and the existing management fixture (which imports ProxyPage/client). Static
single-line import declarations are recorded in empty-provider-prepared-imports
and rooted in the prior esbuild graph; no fixture-text search selects tests.
Exact initial RED list: empty-provider-red-run-list.txt. Prepared source/test/patch
hashes: empty-provider-prepared-MANIFEST.sha256. Product files remain unmodified;
proposed-empty-provider.patch is still NOT APPLIED.
Expected first RED: new exact404 client case rejects proxy-client-refused instead
of returning[]; new fresh account case rejects proxy-down before add. No new
refusal code; all negative cases preserve existing named refusals. Observe this
RED under the next CLEAR before applying the approved scoped source patch.
Required later GREEN should include both new whole files and the8 focused whole
files because the helper is shared; full gate and P2 key-join still wait their
separate authorized stage. No Node syntax check, test, acceptance, mutant or
proxy process ran during preparation. Slot remains with Magica331r4.
## Test-first404 block — sage-4469 CLEAR
2026-10-25T07:46Z–07:47Z. On prepared e7438743f, unchanged product RED was
exactly the two intended failures: model-proxy empty-provider8cases7pass/1fail
(proxy-client-refused rather than[]), bus empty-provider3cases2pass/1fail
(proxy-down on fresh accounts). Negative controls all passed; no skipped,
cancelled or timed-out case. Receipts404-red-*.txt plus per-file uptime.start/.end.
Applied ONLY the approved proposed-empty-provider.patch: three lines in the
client's #page catch normalize404 only for the fixed GET provider-config path.
Actual404 receipt remains; error body was discarded by #request. No assertion,
timeout, scheduling, public schema, other product file or refusal code changed.
GREEN: both new files and the existing8focused files whole, serialized,99/99
passes,0skip/cancel. Fresh short TMPDIR per file; shell wrappers requested and
recorded nice19. No automatic retry. Receipts404-green-*.txt and each file's
UTC/uptime start/end. Idle scheduling is accepted under mos-1678/sage-4446.
Pinned8.0.42 acceptance rc0,07:46:54Z–07:47:01Z. Load13.49/14.18/20.53 ->
13.77/14.23/20.51. Node and its fixture child observed nice16/policy5. Exact
safe output is copied below from404-acceptance.txt; private namespace/temp-root
cleanup completed with childexit0. No real provider credential or external
upstream request; the made-up OAuth codes never complete sign-in.
P4 offline upgrade version=8.0.42 nice=16
P4 diagnostic {"stage":"binary-start","nodePriority":16,"childPriority":16,"lastClientErrorCode":null,"nodeSchedulingPolicy":5,"childSchedulingPolicy":5,"childExitCode":null,"childSignal":null}
P4 diagnostic {"stage":"management-ready","nodePriority":16,"childPriority":16,"lastClientErrorCode":"proxy-client-down","nodeSchedulingPolicy":5,"childSchedulingPolicy":5,"childExitCode":null,"childSignal":null}
P4 diagnostic {"stage":"store-open","nodePriority":16,"childPriority":16,"lastClientErrorCode":"proxy-client-down","nodeSchedulingPolicy":5,"childSchedulingPolicy":5,"childExitCode":null,"childSignal":null}
P4 diagnostic {"stage":"broker-bound","nodePriority":16,"childPriority":16,"lastClientErrorCode":"proxy-client-down","nodeSchedulingPolicy":5,"childSchedulingPolicy":5,"childExitCode":null,"childSignal":null}
P4 diagnostic {"stage":"initial-accounts","nodePriority":16,"childPriority":16,"lastClientErrorCode":"proxy-client-down","nodeSchedulingPolicy":5,"childSchedulingPolicy":5,"childExitCode":null,"childSignal":null}
P4 empty-provider diagnostic {"httpStatus":404,"type":"object","isArray":true,"count":0}
proxy.accounts initial empty; GET /credentials + GET /config/api-keys/claude
proxy.login.start claude GET /oauth/auth-url; fields=url,state only
proxy.login.submit POST /oauth/callback; fake code never ok; GET /oauth/status=wait
proxy.login.cancel DELETE /oauth/session confirmed
proxy.login.start codex GET /oauth/auth-url; fields=url,state only
proxy.login.submit POST /oauth/callback; fake code never ok; GET /oauth/status=wait
proxy.login.cancel DELETE /oauth/session confirmed
proxy.apikey.add PUT /config/api-keys/claude; account fields=accountId,provider,displayName,status,priority; id from auth_index
proxy.priority.set API-key PUT /config/api-keys/claude; priority read-back=7
proxy.keys GET /config/access/api-keys; fields=keyId,management,agent,issuedAt,state; sentinel labelled; values absent
proxy.priority.set OAuth PATCH /credentials/fields body={name,priority}; priority read-back=8
PASS offline native-page bus contract and secret-free receipts
P4 diagnostic {"stage":"initial-accounts","nodePriority":16,"childPriority":null,"lastClientErrorCode":"proxy-client-down","nodeSchedulingPolicy":5,"childSchedulingPolicy":null,"childExitCode":0,"childSignal":null}
Named mutants rc0 overall,07:47:50Z–07:47:52Z, load9.43/13.06/19.79 at both
endpoints. Each mutated whole file ran once, was restored byte-for-byte, then
its restored positive control ran once before the next mutant:
- accounts-unfiltered-field:2fail, restored control10pass;
- callback-skips-state:2fail, restored control17pass;
- proxy-route-accepts-granted-user:1fail, restored control11pass;
- apikey-logged:1fail, restored control2pass.
Runner records nice19 launch observations and original source SHA256s. All4
killed, all4 restored, all4 controls green. No raw mutant output/key values
were written; canary captures process output. Receipt404-mutants.txt/.start/.end.
SLOT BACK reported to Sage as poe-330-0030. No unexpected result in this block,
no retry, no old assertion or timeout edits, no protected action. This is scoped
99-test/upgrade/mutant evidence, NOT the full package/global landing gate. P2
landing/rebase/key-record join and Q246 independent review remain outstanding.
Final product/test diff and manifest prepared for independent review; no landing
or refactor push authorized. No further test/process run after returning slot.
2026-10-25T07:56Z sage-4473 verified Gladstone exact thread
433058fc-9cea-46e3-8554-6ddefb312762 (roster433058fc). Direct planned-seat
read-only first Codex review handoff delivered as poe-330-0032 for frozen
candidateb47ee2c0ef6580175e8fdd617878c4644861350e. Full24path diff, exact3line404
regression,74hashmanifest, scoped99/acceptance/mutant receipts, and P2/globalgate
limitations included. Explicitly no duplicate test/proxy run, private/live
worktree/transcript access or landing claim. Sage copied as poe-330-0033.
This is not a delegated child review round. Filbert landing review and required
fresh Claude guard/security review remain separate/pending. No new run or
product/test change. Frozen review source/manifest unchanged by this log append.
## First independent Codex review — Gladstone gladstone-0028
2026-10-25T07:57:51Z verdict received for frozen
b47ee2c0ef6580175e8fdd617878c4644861350e versus78b69e1e6: scoped PASS, no blocking
findings in the full24path product/test/docs diff. Reviewer independently
verified74/74 hashes from committed blobs and packet diff equality to actual
git diff; reviewed brief/design/gates and supplied99/upgrade/mutant receipts.
No reviewer test, acceptance, mutant, proxy/provider execution, live credential
access or repository writes. Queue next refused the linked worktree; reviewer
did not work around it or claim queue/global readiness. Sage already received
the detailed verdict under gladstone-0028.
Owner static check: package diff b47ee2c0e..current HEAD is empty; only tracking
notes have advanced. No finding requires a product change, and no new run is
launched. This first read-only Codex PASS does NOT waive P2 rebase/key-record
join (runtime projection still provisional), required whole package/editor/
collateral/global gate checks, Filbert landing review, or required fresh Claude
guard/security review. Those remain distinct and pending. No landing authority.
+49
View File
@@ -0,0 +1,49 @@
# Row330 / P4 review packet — #1828
Owner Poe; first independent Codex review Gladstone; landing review Filbert.
Brief docs/plans/2026-10-24_proxy-page-brief.md (heading17, blob4c005dc4936c).
Original base78b69e1e6. Candidate branch poe/row330. No landing authority.
## Review scope and evidence
review-product-test.diff is the complete changed packages/ source/test/docs diff
from78b69e1e6. review-404-normalization.diff is the exact latest three-line product
fix against prepared e7438743f; its tests/helper were committed first there.
review-MANIFEST.sha256 pins every changed package file and the current offline
acceptance/mutant scripts, diff artifacts, run list and successful scoped receipts.
BUILD.md preserves all earlier failures and corrections append-only.
Current scoped verification: exact intended RED2fail/9pass, then99/99 focused
GREEN, pinned8.0.42 offline bus acceptance, four named mutants killed with four
restored positive controls (10/17/11/2passes). Whole-file receipts and uptime
are404-*.txt/.start/.end. Actual idle scheduling is reported, not overwritten.
No test reruns after an unexpected outcome. Earlier fixture-root and missing
provider404 findings are separate commits; product normalization is exactly
GET /v8/management/config/api-keys/claude HTTP404 ->[], with original404 receipt.
Every other endpoint/method/status still refuses, malformed200 null/object still
refuses proxy-down; no new refusal code, assertion weakening or timeout change.
## Security focus
- Owner human-only broker gate before generic user/tester handling; all8verbs.
- Native /proxy and /api/proxy routes through fixed Console caller allowlist;
writes require signed-in owner, named host, --send, own Origin and Fetch
Metadata. Granted/tester/loopback callers refuse. No webui management client.
- API-key input is write-only, promptly cleared, no browser storage; management
header only numeric loopback. OAuth pending-state ownership/expiry/finish
guards, no wait-to-success shortcut. Unknown errors are sanitized.
- Accounts project exactly5public fields. Stable generated display names avoid
arbitrary upstream credential strings; ids derive from proxy identifiers,
never token/key values. Client keys return ids and management labels only.
- Canary checks HTTP responses, structured logs/receipts, captured process output
and bus files; fake receives first key once. No real host proxy/credential access.
## Explicit outstanding work / review limits
P2 has not yet been rebased/joined into this branch. Runtime key-status projection
is provisional until the actual P2 metadata contract lands. Broad package suites
(model-proxy/bus/webui, webui requiring editor build), collateral import-derived
files and Sage's global landing gate still need authorized execution after that
integration. The prior broader inventory is not a current post-P2 manifest.
Independent Q246 first/landing verdicts are not claimed. Do not treat this packet
or the scoped checks as approval to land, push refactor, deploy or cut over.
+157
View File
@@ -0,0 +1,157 @@
// Offline upgrade contract: real bus verbs, pinned proxy, no real credentials.
import fs from 'node:fs';
import path from 'node:path';
import net from 'node:net';
import assert from 'node:assert/strict';
import { spawn } from 'node:child_process';
import { createHash } from 'node:crypto';
import { getPriority } from 'node:os';
import { initialConfig } from '../../../../packages/model-proxy/src/settings.mjs';
import { PIN } from '../../../../packages/model-proxy/src/common.mjs';
import { ManagementClient } from '../../../../packages/model-proxy/src/client.mjs';
import { ProxyPage } from '../../../../packages/bus/src/proxy-page.mjs';
import { Broker } from '../../../../packages/bus/src/broker.mjs';
import { Store } from '../../../../packages/bus/src/store.mjs';
const [root, binary] = process.argv.slice(2);
if (process.env.P4_UPGRADE_ISOLATED !== 'yes' || !root?.startsWith('/mnt/storage/scratch/tmp/')) throw Error('wrapper required');
if (createHash('sha256').update(fs.readFileSync(binary)).digest('hex') !== PIN.binary.sha256) throw Error('binary does not match PIN');
const reserve = net.createServer(); await new Promise(r => reserve.listen(0, '127.0.0.1', r));
const port = reserve.address().port; await new Promise(r => reserve.close(r));
if (port === 8317) throw Error('forbidden port');
const management = 'p4-management', canary = 'p4-upstream';
const config = initialConfig({ dataRoot: root, port, key: management, sentinel: 'msk-fixture-sentinel-x' });
config.management['disable-control-panel'] = true; config.observability.logs['logging-to-file'] = false;
fs.mkdirSync(path.join(root, 'proxy/auth'), { recursive: true, mode: 0o700 });
fs.mkdirSync(path.join(root, 'home'));
fs.writeFileSync(path.join(root, 'config.yaml'), JSON.stringify(config), { mode: 0o600 });
const child = spawn(binary, ['-config', path.join(root, 'config.yaml'), '-local-model'], {
cwd: root, env: { HOME: path.join(root, 'home'), PATH: '/usr/bin:/bin' }, stdio: 'ignore',
});
// Diagnostic-only (sage-4432): observe the same run conditions, never change
// priority or print exception values, fixture credentials or upstream content.
let stage = 'binary-start', lastClientErrorCode = null;
const clientErrorCodes = ['proxy-client-down', 'proxy-client-response', 'proxy-client-refused',
'proxy-client-redirect', 'proxy-client-invalid'];
const errorCodes = [...clientErrorCodes, 'ERR_ASSERTION', 'ERR_SQLITE_ERROR', 'SQLITE_ERROR',
'proxy-down', 'not-configured', 'human-required', 'invalid-request', 'invalid-business',
'priority-invalid', 'priority-unconfirmed', 'priority-write-refused', 'login-state-unknown'];
function schedulingPolicy(pid) {
try {
// Only our Node process or the still-live child we spawned. Never print
// raw /proc content; retain just Linux's numeric scheduling-policy field.
const policy = fs.readFileSync(`/proc/${pid}/sched`, 'utf8').match(/^policy\s*:\s*(\d+)\s*$/m)?.[1];
return policy === undefined ? null : Number(policy);
} catch { return null; }
}
function observe() {
let nodePriority = null, childPriority = null, childSchedulingPolicy = null;
try { nodePriority = getPriority(); } catch {}
if (Number.isInteger(child.pid) && child.exitCode === null && child.signalCode === null) {
try { childPriority = getPriority(child.pid); } catch {}
childSchedulingPolicy = schedulingPolicy(child.pid);
}
console.log('P4 diagnostic ' + JSON.stringify({ stage, nodePriority, childPriority, lastClientErrorCode,
nodeSchedulingPolicy: schedulingPolicy(process.pid), childSchedulingPolicy,
childExitCode: Number.isInteger(child.exitCode) ? child.exitCode : null,
childSignal: /^SIG[A-Z0-9]{1,16}$/.test(child.signalCode ?? '') ? child.signalCode : null }));
}
child.once('exit', observe);
let store;
const pause = ms => new Promise(r => setTimeout(r, ms));
const receipts = [], answers = [];
const client = new ManagementClient({ baseUrl: `http://127.0.0.1:${port}`, key: management, receipt: r => receipts.push(r) });
try {
console.log('P4 offline upgrade version=' + PIN.version + ' nice=' + getPriority());
observe();
let ready = false;
for (let n = 0; n < 100; n++) {
try { await client.getCredentials(); ready = true; break; }
catch (error) { lastClientErrorCode = clientErrorCodes.includes(error.code) ? error.code : 'unclassified'; await pause(50); }
}
assert.equal(ready, true, 'fixture listener starts');
stage = 'management-ready'; observe();
stage = 'store-open';
store = new Store(root);
observe();
const page = new ProxyPage({ client, instanceTag: 'fixture' });
const broker = new Broker({ store, proxyPage: (...args) => page.request(...args), businesses: {
demo: { id: 'demo', human: 'owner', roles: { coder: { authority: { withinRole: [], crossRole: [] } } }, arbiters: { technical: 'coder', delivery: 'coder' } },
} });
const cap = broker.bindHuman({ business: 'demo', human: 'owner', via: 'cli', outsideAgent: true });
stage = 'broker-bound'; observe();
const call = async (verb, args = {}) => { const answer = await broker.request(cap, { verb, args }); answers.push(answer); return answer; };
stage = 'initial-accounts'; observe();
// Diagnostic-only (sage-4448/4452, mos-1683): one direct empty-provider
// read, types/counts only. Never print field names, values or error text.
const receiptCount = receipts.length;
try {
const groups = await client.getUpstreamGroups();
const isArray = Array.isArray(groups);
console.log('P4 empty-provider diagnostic ' + JSON.stringify({
httpStatus: receipts.length === receiptCount + 1 ? receipts.at(-1).status : null,
type: groups === null ? 'null' : typeof groups, isArray,
count: isArray ? groups.length : groups !== null && typeof groups === 'object' ? Object.keys(groups).length : 0,
}));
} catch (error) {
console.log('P4 empty-provider diagnostic ' + JSON.stringify({
httpStatus: receipts.length === receiptCount + 1 ? receipts.at(-1).status : null,
code: clientErrorCodes.includes(error.code) ? error.code : 'proxy-client-error',
}));
}
assert.deepEqual((await call('proxy.accounts')).accounts, []);
console.log('proxy.accounts initial empty; GET /credentials + GET /config/api-keys/claude');
for (const provider of ['claude', 'codex']) {
const login = await call('proxy.login.start', { provider });
assert.equal(typeof login.url, 'string'); assert.equal(typeof login.state, 'string');
console.log('proxy.login.start ' + provider + ' GET /oauth/auth-url; fields=url,state only');
const redirect = provider === 'claude' ? 'http://localhost:54545/callback' : 'http://localhost:1455/auth/callback';
const submitted = await call('proxy.login.submit', { redirect_url: redirect + '?state=' + encodeURIComponent(login.state) + '&code=p4-fake-code' });
assert.notEqual(submitted.status, 'ok');
const status = await call('proxy.login.status', { state: login.state });
assert.notEqual(status.status, 'ok');
console.log('proxy.login.submit POST /oauth/callback; fake code never ok; GET /oauth/status=' + status.status);
if (status.status === 'wait') {
assert.equal((await call('proxy.login.cancel', { state: login.state })).status, 'cancelled');
console.log('proxy.login.cancel DELETE /oauth/session confirmed');
}
}
await call('proxy.apikey.add', { provider: 'z.ai', key: canary }); await pause(200);
const accounts = (await call('proxy.accounts')).accounts;
assert.equal(accounts.length, 1); assert.equal(accounts[0].provider, 'z.ai');
assert.deepEqual(Object.keys(accounts[0]).sort(), ['accountId', 'displayName', 'priority', 'provider', 'status']);
console.log('proxy.apikey.add PUT /config/api-keys/claude; account fields=accountId,provider,displayName,status,priority; id from auth_index');
await call('proxy.priority.set', { accountId: accounts[0].accountId, priority: 7 });
assert.equal((await call('proxy.accounts')).accounts[0].priority, 7);
console.log('proxy.priority.set API-key PUT /config/api-keys/claude; priority read-back=7');
const keys = await call('proxy.keys');
assert.equal(keys.keys.length, 1); assert.equal(keys.keys[0].management, 'sentinel'); assert.match(keys.keys[0].keyId, /^[a-f0-9]{12}$/);
console.log('proxy.keys GET /config/access/api-keys; fields=keyId,management,agent,issuedAt,state; sentinel labelled; values absent');
// Fixture-only upload exercises the OAuth priority API relied on by the page.
const uploaded = await fetch(`http://127.0.0.1:${port}/v8/management/credentials?name=p4-fixture.json`, {
method: 'POST', headers: { Authorization: `Bearer ${management}`, 'Content-Type': 'application/json' },
body: JSON.stringify({ type: 'claude', access_token: 'p4-access', refresh_token: 'p4-refresh', expired: '2099-01-01T00:00:00Z' }),
signal: AbortSignal.timeout(5000), redirect: 'error',
});
assert.equal(uploaded.status, 200); await uploaded.body?.cancel(); await pause(200);
const oauth = (await call('proxy.accounts')).accounts.find(a => a.provider === 'claude');
assert.ok(oauth);
await call('proxy.priority.set', { accountId: oauth.accountId, priority: 8 });
assert.equal((await call('proxy.accounts')).accounts.find(a => a.accountId === oauth.accountId).priority, 8);
console.log('proxy.priority.set OAuth PATCH /credentials/fields body={name,priority}; priority read-back=8');
for (const value of [canary, management, 'p4-access', 'p4-refresh', 'p4-fake-code']) {
assert.equal(JSON.stringify(receipts).includes(value), false, 'secret absent from receipts');
assert.equal(JSON.stringify(store.all('SELECT body FROM events')).includes(value), false, 'secret absent from bus events');
assert.equal(JSON.stringify(answers).includes(value), false, 'credential/code absent from bus replies');
}
console.log('PASS offline native-page bus contract and secret-free receipts');
} catch (error) {
// Never print assertion actual/expected values or a raw upstream exception.
observe();
const errorClass = ['Error', 'AssertionError', 'ProxyError', 'BusError', 'TypeError', 'RangeError'].includes(error.name) ? error.name : 'Error';
console.error('P4 upgrade FAILED ' + JSON.stringify({ stage, errorClass,
code: errorCodes.includes(error.code) ? error.code : 'acceptance-failed' }));
process.exitCode = 1;
} finally {
store?.close(); child.kill('SIGTERM');
await Promise.race([new Promise(r => child.once('exit', r)), pause(3000).then(() => child.kill('SIGKILL'))]);
}
+13
View File
@@ -0,0 +1,13 @@
#!/usr/bin/env bash
# P4 PIN upgrade acceptance; outside scripts/test-*.sh, requires Sage's slot.
set -euo pipefail
HERE=$(cd "$(dirname "$0")" && pwd)
BINARY=${1:?P1 verified fetched executable required}
export TMPDIR=$(mktemp -d /mnt/storage/scratch/tmp/XXXXXX)
trap 'rm -rf -- "$TMPDIR"' EXIT
timeout -k 10 120 nice -n $((19 - $(nice))) unshare -rn bash -c '
set -e
ip link set lo up
export P4_UPGRADE_ISOLATED=yes
exec node "$1/acceptance.mjs" "$TMPDIR" "$2"
' bash "$HERE" "$BINARY"
@@ -0,0 +1,2 @@
2026-10-25T06:42:22Z
01:42:22 up 11 days, 17:02, 2 users, load average: 5.98, 15.98, 16.44
@@ -0,0 +1,2 @@
2026-10-25T06:42:18Z
01:42:18 up 11 days, 17:02, 2 users, load average: 5.98, 15.98, 16.44
@@ -0,0 +1,9 @@
P4 offline upgrade version=8.0.42 nice=19
P4 diagnostic {"stage":"binary-start","nodePriority":19,"childPriority":19,"lastClientErrorCode":null,"nodeSchedulingPolicy":0,"childSchedulingPolicy":0,"childExitCode":null,"childSignal":null}
P4 diagnostic {"stage":"management-ready","nodePriority":19,"childPriority":19,"lastClientErrorCode":"proxy-client-down","nodeSchedulingPolicy":0,"childSchedulingPolicy":0,"childExitCode":null,"childSignal":null}
P4 diagnostic {"stage":"store-open","nodePriority":19,"childPriority":19,"lastClientErrorCode":"proxy-client-down","nodeSchedulingPolicy":0,"childSchedulingPolicy":0,"childExitCode":null,"childSignal":null}
P4 diagnostic {"stage":"broker-bound","nodePriority":19,"childPriority":19,"lastClientErrorCode":"proxy-client-down","nodeSchedulingPolicy":0,"childSchedulingPolicy":0,"childExitCode":null,"childSignal":null}
P4 diagnostic {"stage":"initial-accounts","nodePriority":19,"childPriority":19,"lastClientErrorCode":"proxy-client-down","nodeSchedulingPolicy":0,"childSchedulingPolicy":0,"childExitCode":null,"childSignal":null}
P4 diagnostic {"stage":"initial-accounts","nodePriority":16,"childPriority":19,"lastClientErrorCode":"proxy-client-down","nodeSchedulingPolicy":5,"childSchedulingPolicy":0,"childExitCode":null,"childSignal":null}
P4 upgrade FAILED {"stage":"initial-accounts","errorClass":"Error","code":"proxy-down"}
P4 diagnostic {"stage":"initial-accounts","nodePriority":16,"childPriority":null,"lastClientErrorCode":"proxy-client-down","nodeSchedulingPolicy":5,"childSchedulingPolicy":null,"childExitCode":0,"childSignal":null}
@@ -0,0 +1,19 @@
nice=19 TMPDIR=/mnt/storage/scratch/tmp/L2p5A3
✔ accounts have exactly the allowlisted public fields, id from credential identifier (22.174496ms)
✔ token-like data in every upstream field never reaches public accounts (4.314601ms)
✔ API key account is derived from proxy auth_index, never api-key, and can set priority (9.723941ms)
✔ OAuth priority uses top-level name/priority and confirms it through list (3.608642ms)
✔ priority-unconfirmed: accepted API-key write with unchanged read-back refuses (3.746827ms)
✔ priority-write-refused: OAuth PATCH status 201 (2.247959ms)
✔ priority-write-refused: OAuth PATCH status 400 (2.965091ms)
✔ priority-invalid: unknown account refuses before any write (1.743249ms)
✔ proxy-down: a closed management listener refuses once (1.421441ms)
✔ client keys return ids, sentinel/foreign labels and only scoped record metadata (2.327823ms)
ℹ tests 10
ℹ suites 0
ℹ pass 10
ℹ fail 0
ℹ cancelled 0
ℹ skipped 0
ℹ todo 0
ℹ duration_ms 143.18039
@@ -0,0 +1,2 @@
2026-10-25T06:42:07Z
01:42:07 up 11 days, 17:01, 2 users, load average: 6.53, 16.42, 16.59
@@ -0,0 +1,2 @@
2026-10-25T06:42:07Z
01:42:07 up 11 days, 17:01, 2 users, load average: 6.66, 16.61, 16.65
@@ -0,0 +1,26 @@
nice=19 TMPDIR=/mnt/storage/scratch/tmp/TEAh1u
✔ proxy.login.start: provider-not-allowed (27.220361ms)
✔ proxy.apikey.add: provider-not-allowed (0.344999ms)
✔ apikey-invalid empty (0.294884ms)
✔ apikey-invalid too long (0.274ms)
✔ apikey-invalid charset (0.30855ms)
✔ callback-url-invalid not URL (1.222458ms)
✔ callback-url-invalid oversize (0.413224ms)
✔ callback-url-invalid repeated state (0.285131ms)
✔ login-state-unknown callback never reaches proxy (0.345734ms)
✔ login state is scoped to the human and business (0.467282ms)
✔ accepted callback wait is pending; only a status ok completes and retires state (0.843249ms)
✔ expiry reports login-timeout once with no management call and retires state (0.267807ms)
✔ cancel calls DELETE and retires state (0.258213ms)
✔ upstream OAuth error body never crosses bus response (0.231392ms)
✔ priority-invalid {"accountId":"bad","priority":1} (0.201431ms)
✔ priority-invalid {"accountId":"aaaaaaaaaaaa","priority":1.5} (0.174276ms)
✔ priority-invalid {"accountId":"aaaaaaaaaaaa","priority":1001} (0.170986ms)
ℹ tests 17
ℹ suites 0
ℹ pass 17
ℹ fail 0
ℹ cancelled 0
ℹ skipped 0
ℹ todo 0
ℹ duration_ms 106.766018
@@ -0,0 +1,2 @@
2026-10-25T06:42:07Z
01:42:07 up 11 days, 17:01, 2 users, load average: 6.66, 16.61, 16.65
@@ -0,0 +1,2 @@
2026-10-25T06:42:07Z
01:42:07 up 11 days, 17:01, 2 users, load average: 6.66, 16.61, 16.65
@@ -0,0 +1,50 @@
nice=19 TMPDIR=/mnt/storage/scratch/tmp/coQR8v
✔ proxy.accounts: owner calls page once with business/human scope (19.314895ms)
✔ proxy.accounts: tester human-required (14.382028ms)
✔ proxy.accounts: agent human-required (13.366875ms)
✔ proxy.accounts: user human-required (12.734936ms)
✔ proxy.accounts: not-configured (13.206913ms)
✔ proxy.login.start: owner calls page once with business/human scope (12.601593ms)
✔ proxy.login.start: tester human-required (12.793022ms)
✔ proxy.login.start: agent human-required (12.576573ms)
✔ proxy.login.start: user human-required (13.04681ms)
✔ proxy.login.start: not-configured (13.419448ms)
✔ proxy.login.submit: owner calls page once with business/human scope (12.695382ms)
✔ proxy.login.submit: tester human-required (13.507149ms)
✔ proxy.login.submit: agent human-required (13.188966ms)
✔ proxy.login.submit: user human-required (13.722535ms)
✔ proxy.login.submit: not-configured (12.60293ms)
✔ proxy.login.status: owner calls page once with business/human scope (12.159557ms)
✔ proxy.login.status: tester human-required (12.884978ms)
✔ proxy.login.status: agent human-required (13.227723ms)
✔ proxy.login.status: user human-required (13.638448ms)
✔ proxy.login.status: not-configured (13.288314ms)
✔ proxy.login.cancel: owner calls page once with business/human scope (13.68684ms)
✔ proxy.login.cancel: tester human-required (14.477894ms)
✔ proxy.login.cancel: agent human-required (18.618454ms)
✔ proxy.login.cancel: user human-required (15.764118ms)
✔ proxy.login.cancel: not-configured (14.155249ms)
✔ proxy.apikey.add: owner calls page once with business/human scope (13.346653ms)
✔ proxy.apikey.add: tester human-required (14.275591ms)
✔ proxy.apikey.add: agent human-required (15.041527ms)
✔ proxy.apikey.add: user human-required (13.715987ms)
✔ proxy.apikey.add: not-configured (13.608844ms)
✔ proxy.priority.set: owner calls page once with business/human scope (12.499478ms)
✔ proxy.priority.set: tester human-required (14.103153ms)
✔ proxy.priority.set: agent human-required (14.57306ms)
✔ proxy.priority.set: user human-required (14.02396ms)
✔ proxy.priority.set: not-configured (13.77083ms)
✔ proxy.keys: owner calls page once with business/human scope (11.740894ms)
✔ proxy.keys: tester human-required (12.726783ms)
✔ proxy.keys: agent human-required (14.12361ms)
✔ proxy.keys: user human-required (13.283755ms)
✔ proxy.keys: not-configured (12.67668ms)
✔ API-key canary never enters broker events or unknown error output (13.619581ms)
ℹ tests 41
ℹ suites 0
ℹ pass 41
ℹ fail 0
ℹ cancelled 0
ℹ skipped 0
ℹ todo 0
ℹ duration_ms 696.597349
@@ -0,0 +1,2 @@
2026-10-25T06:42:07Z
01:42:07 up 11 days, 17:01, 2 users, load average: 6.66, 16.61, 16.65
@@ -0,0 +1,2 @@
2026-10-25T06:42:06Z
01:42:06 up 11 days, 17:01, 2 users, load average: 6.66, 16.61, 16.65
@@ -0,0 +1,12 @@
nice=19 TMPDIR=/mnt/storage/scratch/tmp/RE2vwS
✔ OAuth management calls keep URL and state out of receipts (19.749276ms)
✔ upstream key goes only in request body and upstream refusal body is discarded (4.186524ms)
✔ redirected management calls are not followed or retried (2.121196ms)
ℹ tests 3
ℹ suites 0
ℹ pass 3
ℹ fail 0
ℹ cancelled 0
ℹ skipped 0
ℹ todo 0
ℹ duration_ms 98.033185
@@ -0,0 +1,2 @@
2026-10-25T06:42:06Z
01:42:06 up 11 days, 17:01, 2 users, load average: 6.66, 16.61, 16.65
@@ -0,0 +1,2 @@
2026-10-25T06:42:06Z
01:42:06 up 11 days, 17:01, 2 users, load average: 6.66, 16.61, 16.65
@@ -0,0 +1,10 @@
nice=19 TMPDIR=/mnt/storage/scratch/tmp/UVjb2T
✔ Console production module graph cannot import the model-proxy client (70.585338ms)
ℹ tests 1
ℹ suites 0
ℹ pass 1
ℹ fail 0
ℹ cancelled 0
ℹ skipped 0
ℹ todo 0
ℹ duration_ms 137.462924
@@ -0,0 +1,2 @@
2026-10-25T06:42:12Z
01:42:12 up 11 days, 17:02, 2 users, load average: 6.53, 16.42, 16.59
@@ -0,0 +1,2 @@
2026-10-25T06:42:11Z
01:42:11 up 11 days, 17:02, 2 users, load average: 6.53, 16.42, 16.59
@@ -0,0 +1,12 @@
nice=19 TMPDIR=/mnt/storage/scratch/tmp/WLROJU
✔ proxy browser clears write-only key immediately, sends once and renders data as text (603.091893ms)
✔ proxy browser OAuth opens safely, callback wait stays pending, status ok completes (2601.033669ms)
✔ proxy browser read-only disables account changes (550.580882ms)
ℹ tests 3
ℹ suites 0
ℹ pass 3
ℹ fail 0
ℹ cancelled 0
ℹ skipped 0
ℹ todo 0
ℹ duration_ms 3846.295222
@@ -0,0 +1,2 @@
2026-10-25T06:42:11Z
01:42:11 up 11 days, 17:02, 2 users, load average: 6.53, 16.42, 16.59
@@ -0,0 +1,2 @@
2026-10-25T06:42:08Z
01:42:08 up 11 days, 17:01, 2 users, load average: 6.53, 16.42, 16.59
@@ -0,0 +1,11 @@
nice=19 TMPDIR=/mnt/storage/scratch/tmp/kmRLQ1
✔ API-key canary reaches fake once and zero responses/logs/receipts/store files (51.811486ms)
✔ OAuth URLs, state and code stay out of broker records and management receipts (19.046885ms)
ℹ tests 2
ℹ suites 0
ℹ pass 2
ℹ fail 0
ℹ cancelled 0
ℹ skipped 0
ℹ todo 0
ℹ duration_ms 240.643186
@@ -0,0 +1,2 @@
2026-10-25T06:42:08Z
01:42:08 up 11 days, 17:01, 2 users, load average: 6.53, 16.42, 16.59
@@ -0,0 +1,2 @@
2026-10-25T06:42:07Z
01:42:07 up 11 days, 17:01, 2 users, load average: 6.53, 16.42, 16.59
@@ -0,0 +1,20 @@
nice=19 TMPDIR=/mnt/storage/scratch/tmp/X0Vp78
✔ owner proxy routes each make exactly one allowlisted call (27.305714ms)
✔ proxy write refuses signed-out (2.96232ms)
✔ proxy write refuses loopback (1.79702ms)
✔ proxy write refuses cross-origin (1.340864ms)
✔ proxy write refuses missing Fetch Metadata (1.47209ms)
✔ all proxy writes are read-only without --send (3.481474ms)
✔ granted user never reaches owner page or any proxy route (4.998721ms)
✔ native page offers write-only key input and no panel script (2.07878ms)
✔ Console caller rejects every non-proxy verb (0.837371ms)
✔ tester socket refuses proxy page, reads and writes before any owner call (7.459873ms)
✔ malformed API-key JSON never appears in errors or logs (1.621405ms)
ℹ tests 11
ℹ suites 0
ℹ pass 11
ℹ fail 0
ℹ cancelled 0
ℹ skipped 0
ℹ todo 0
ℹ duration_ms 221.712154
@@ -0,0 +1,2 @@
2026-10-25T06:42:07Z
01:42:07 up 11 days, 17:01, 2 users, load average: 6.53, 16.42, 16.59
@@ -0,0 +1,2 @@
2026-10-25T06:42:07Z
01:42:07 up 11 days, 17:01, 2 users, load average: 6.53, 16.42, 16.59
@@ -0,0 +1,6 @@
P4 offline upgrade version=8.0.42 nice=16
P4 diagnostic {"stage":"binary-start","nodePriority":16,"childPriority":16,"lastClientErrorCode":null,"nodeSchedulingPolicy":5,"childSchedulingPolicy":5,"childExitCode":null,"childSignal":null}
P4 diagnostic {"stage":"management-ready","nodePriority":16,"childPriority":16,"lastClientErrorCode":"proxy-client-down","nodeSchedulingPolicy":5,"childSchedulingPolicy":5,"childExitCode":null,"childSignal":null}
P4 diagnostic {"stage":"store-open","nodePriority":16,"childPriority":16,"lastClientErrorCode":"proxy-client-down","nodeSchedulingPolicy":5,"childSchedulingPolicy":5,"childExitCode":null,"childSignal":null}
P4 upgrade FAILED {"stage":"store-open","errorClass":"Error","code":"acceptance-failed"}
P4 diagnostic {"stage":"store-open","nodePriority":16,"childPriority":null,"lastClientErrorCode":"proxy-client-down","nodeSchedulingPolicy":5,"childSchedulingPolicy":null,"childExitCode":0,"childSignal":null}
@@ -0,0 +1 @@
01:14:23 up 11 days, 16:34, 2 users, load average: 3.15, 5.41, 9.24
@@ -0,0 +1 @@
01:14:19 up 11 days, 16:34, 2 users, load average: 2.90, 5.40, 9.26
@@ -0,0 +1,2 @@
2026-10-25T07:32:30Z
02:32:30 up 11 days, 17:52, 2 users, load average: 51.91, 45.30, 29.60
@@ -0,0 +1,2 @@
2026-10-25T07:32:25Z
02:32:25 up 11 days, 17:52, 2 users, load average: 52.34, 45.27, 29.51
@@ -0,0 +1,10 @@
P4 offline upgrade version=8.0.42 nice=16
P4 diagnostic {"stage":"binary-start","nodePriority":16,"childPriority":16,"lastClientErrorCode":null,"nodeSchedulingPolicy":5,"childSchedulingPolicy":5,"childExitCode":null,"childSignal":null}
P4 diagnostic {"stage":"management-ready","nodePriority":16,"childPriority":16,"lastClientErrorCode":"proxy-client-down","nodeSchedulingPolicy":5,"childSchedulingPolicy":5,"childExitCode":null,"childSignal":null}
P4 diagnostic {"stage":"store-open","nodePriority":16,"childPriority":16,"lastClientErrorCode":"proxy-client-down","nodeSchedulingPolicy":5,"childSchedulingPolicy":5,"childExitCode":null,"childSignal":null}
P4 diagnostic {"stage":"broker-bound","nodePriority":16,"childPriority":16,"lastClientErrorCode":"proxy-client-down","nodeSchedulingPolicy":5,"childSchedulingPolicy":5,"childExitCode":null,"childSignal":null}
P4 diagnostic {"stage":"initial-accounts","nodePriority":16,"childPriority":16,"lastClientErrorCode":"proxy-client-down","nodeSchedulingPolicy":5,"childSchedulingPolicy":5,"childExitCode":null,"childSignal":null}
P4 empty-provider diagnostic {"httpStatus":404,"code":"proxy-client-refused"}
P4 diagnostic {"stage":"initial-accounts","nodePriority":16,"childPriority":16,"lastClientErrorCode":"proxy-client-down","nodeSchedulingPolicy":5,"childSchedulingPolicy":5,"childExitCode":null,"childSignal":null}
P4 upgrade FAILED {"stage":"initial-accounts","errorClass":"Error","code":"proxy-down"}
P4 diagnostic {"stage":"initial-accounts","nodePriority":16,"childPriority":null,"lastClientErrorCode":"proxy-client-down","nodeSchedulingPolicy":5,"childSchedulingPolicy":null,"childExitCode":0,"childSignal":null}
@@ -0,0 +1,8 @@
ed5dfcda6db77921f90f1eb587fb0044d6472fb613ecaa98445ed42bc04d5d46 packages/model-proxy/tests/empty-provider.test.mjs
c55cc0bb47cd7716a2c31c665cd2dd426e2c54ab7b629637bdc12089dfeb40ce packages/bus/tests/proxy-page-empty-provider.test.mjs
01c18d8d09dac72bed45ce302a88cea449ed22ffde374529cf784bad38adbd72 packages/bus/tests/proxy-page-fixture.mjs
aa73c4cd454742f7745900e8481f7425341ed7d236b104589790ed254c8bd69f packages/model-proxy/src/client.mjs
14acdb4d3fdaabad508eec7378740b13c175d4bdd0c6e707a673138eff82365b packages/bus/src/proxy-page.mjs
b19292cad28bd19427fac932c6150429968e184f4a6f000d948919e76908eb05 agents/poe/work/queue-330/proposed-empty-provider.patch
ea7584f8935251baa9c32bf675343e8c8cbe19a45c4e7dc48675e14b4409bb1c agents/poe/work/queue-330/empty-provider-prepared-imports.json
5d227ae19d600c2fb0e375673045705c4f5bcc00311493a577108caddb38704a agents/poe/work/queue-330/empty-provider-red-run-list.txt
@@ -0,0 +1,34 @@
{
"packages/model-proxy/tests/empty-provider.test.mjs": {
"staticImports": [
"node:test",
"node:assert/strict",
"node:http",
"packages/model-proxy/src/client.mjs"
],
"existingParsedClosureRoots": [
"packages/model-proxy/src/client.mjs"
]
},
"packages/bus/tests/proxy-page-empty-provider.test.mjs": {
"staticImports": [
"node:test",
"node:assert/strict",
"packages/bus/tests/proxy-page-fixture.mjs"
],
"existingParsedClosureRoots": [
"packages/bus/tests/proxy-page-fixture.mjs"
]
},
"packages/bus/tests/proxy-page-fixture.mjs": {
"staticImports": [
"node:http",
"packages/model-proxy/src/client.mjs",
"packages/bus/src/proxy-page.mjs"
],
"existingParsedClosureRoots": [
"packages/model-proxy/src/client.mjs",
"packages/bus/src/proxy-page.mjs"
]
}
}
@@ -0,0 +1,2 @@
packages/model-proxy/tests/empty-provider.test.mjs
packages/bus/tests/proxy-page-empty-provider.test.mjs
+2
View File
@@ -0,0 +1,2 @@
fetch nice 19
{"dir":"/mnt/storage/scratch/tmp/76TDtz/download/opt/cliproxyapi/8.0.42","binary":"/mnt/storage/scratch/tmp/76TDtz/download/opt/cliproxyapi/8.0.42/cli-proxy-api","panel":"/mnt/storage/scratch/tmp/76TDtz/download/opt/cliproxyapi/8.0.42/static/management.html"}
@@ -0,0 +1 @@
/mnt/storage/scratch/tmp/76TDtz
File diff suppressed because it is too large. Load diff
@@ -0,0 +1,17 @@
import { build } from '../../../../packages/webui/node_modules/esbuild/lib/main.js';
import { writeFileSync } from 'node:fs';
const entries = [
'packages/model-proxy/tests/page-client.test.mjs',
'packages/bus/tests/proxy-page.test.mjs',
'packages/bus/tests/proxy-page-state.test.mjs',
'packages/bus/tests/proxy-page-accounts.test.mjs',
'packages/webui/tests/proxy-page.test.mjs',
'packages/webui/tests/proxy-canary.test.mjs',
'packages/webui/tests/proxy-browser.test.mjs',
'packages/webui/tests/proxy-architecture.test.mjs',
];
const result = await build({ entryPoints: entries, bundle: true, platform: 'node', format: 'esm', splitting: true,
packages: 'external', write: false, outdir: '/unused-p4-focused', metafile: true, logLevel: 'silent' });
writeFileSync(new URL('./focused-import-graph.json', import.meta.url), JSON.stringify(result.metafile.inputs, null, 2) + '\n');
writeFileSync(new URL('./focused-run-list.txt', import.meta.url), entries.join('\n') + '\n');
console.log('Static parsed inputs=' + Object.keys(result.metafile.inputs).length + ' test entries=' + entries.length);
@@ -0,0 +1,8 @@
packages/model-proxy/tests/page-client.test.mjs
packages/bus/tests/proxy-page.test.mjs
packages/bus/tests/proxy-page-state.test.mjs
packages/bus/tests/proxy-page-accounts.test.mjs
packages/webui/tests/proxy-page.test.mjs
packages/webui/tests/proxy-canary.test.mjs
packages/webui/tests/proxy-browser.test.mjs
packages/webui/tests/proxy-architecture.test.mjs
@@ -0,0 +1,92 @@
{
"fullGraphPath": "/mnt/storage/scratch/tmp/9YZd4m/p4-import-graph.json",
"fullGraphSha256": "f91e682e0301d88efedc2a9c61a57c8fd65ace432f50e76e37eb37d0a1c7a396",
"parsedInputs": 677,
"selected": 280,
"mandatory": 199,
"imported": 256,
"excludedEvenIfImported": "packages/cli/tests/case1-accept.test.mjs",
"additional": [
"packages/business/tests/case1-business-file.test.mjs",
"packages/cli/tests/access-boot.test.mjs",
"packages/cli/tests/access.test.mjs",
"packages/cli/tests/app.test.mjs",
"packages/cli/tests/boot-status.test.mjs",
"packages/cli/tests/case1-hostcheck.test.mjs",
"packages/cli/tests/case2-install.test.mjs",
"packages/cli/tests/case2-persona-import.test.mjs",
"packages/cli/tests/case2-unit.test.mjs",
"packages/cli/tests/channel-cli.test.mjs",
"packages/cli/tests/channel-recovery.test.mjs",
"packages/cli/tests/cli.test.mjs",
"packages/cli/tests/compactions-launch.test.mjs",
"packages/cli/tests/config.test.mjs",
"packages/cli/tests/credentials.test.mjs",
"packages/cli/tests/federation-acceptance.test.mjs",
"packages/cli/tests/follow.test.mjs",
"packages/cli/tests/git-socket.test.mjs",
"packages/cli/tests/grants-scope.test.mjs",
"packages/cli/tests/grants.test.mjs",
"packages/cli/tests/host.test.mjs",
"packages/cli/tests/hosts.test.mjs",
"packages/cli/tests/idle-stop-race.test.mjs",
"packages/cli/tests/instances.test.mjs",
"packages/cli/tests/launch-account.test.mjs",
"packages/cli/tests/launch-limit-checks.test.mjs",
"packages/cli/tests/launch-limits.test.mjs",
"packages/cli/tests/launch-routes.test.mjs",
"packages/cli/tests/launcher.test.mjs",
"packages/cli/tests/lifecycle.test.mjs",
"packages/cli/tests/limits-tokens.test.mjs",
"packages/cli/tests/limits.test.mjs",
"packages/cli/tests/mark-read.test.mjs",
"packages/cli/tests/model-proxy.test.mjs",
"packages/cli/tests/names.test.mjs",
"packages/cli/tests/notifier.test.mjs",
"packages/cli/tests/optional-tracker.test.mjs",
"packages/cli/tests/other-tree.test.mjs",
"packages/cli/tests/processing-cli.test.mjs",
"packages/cli/tests/project-name-repo.test.mjs",
"packages/cli/tests/project.test.mjs",
"packages/cli/tests/publish-socket.test.mjs",
"packages/cli/tests/reply-limits.test.mjs",
"packages/cli/tests/revoke-window.test.mjs",
"packages/cli/tests/session-clear.test.mjs",
"packages/cli/tests/session-cli.test.mjs",
"packages/cli/tests/session-launch.test.mjs",
"packages/cli/tests/stack-copy.test.mjs",
"packages/cli/tests/stack-instances.test.mjs",
"packages/cli/tests/tester-http.test.mjs",
"packages/cli/tests/tester-reads.test.mjs",
"packages/cli/tests/tester-threads.test.mjs",
"packages/cli/tests/tester.test.mjs",
"packages/cli/tests/thread-cli.test.mjs",
"packages/cli/tests/thread-launch.test.mjs",
"packages/cli/tests/thread-revoke.test.mjs",
"packages/cli/tests/trackers-boot.test.mjs",
"packages/cli/tests/transport.test.mjs",
"packages/cli/tests/usage.test.mjs",
"packages/cli/tests/verbs.test.mjs",
"packages/harness/tests/citation-runner.test.mjs",
"packages/harness/tests/claude-session.test.mjs",
"packages/harness/tests/creative.test.mjs",
"packages/harness/tests/pi-session.test.mjs",
"packages/harness/tests/raise-domain.test.mjs",
"packages/harness/tests/runner.test.mjs",
"packages/harness/tests/skills.test.mjs",
"packages/harness/tests/spec-tools.test.mjs",
"packages/harness/tests/tools.test.mjs",
"packages/processing-control/tests/task.test.mjs",
"packages/seat/tests/sandbox.test.mjs",
"packages/seat/tests/session.test.mjs",
"packages/tasks/tests/adapter.test.mjs",
"packages/tasks/tests/comment-restart.test.mjs",
"packages/tasks/tests/fields.test.mjs",
"packages/tasks/tests/processing.test.mjs",
"packages/tasks/tests/shapes.test.mjs",
"packages/tasks/tests/startup.test.mjs",
"packages/tasks/tests/sync.test.mjs",
"packages/tasks/tests/tree.test.mjs",
"packages/tasks/tests/verbs.test.mjs"
]
}
File diff suppressed because it is too large. Load diff
@@ -0,0 +1,39 @@
// Parse real static/dynamic literal imports with esbuild, never fixture-text grep.
import { build } from '../../../../packages/webui/node_modules/esbuild/lib/main.js';
import { readdirSync, writeFileSync } from 'node:fs';
import path from 'node:path';
import { execFileSync } from 'node:child_process';
import { createHash } from 'node:crypto';
function walk(dir) { return readdirSync(dir, { withFileTypes: true }).flatMap(e => e.name === 'node_modules' ? [] : e.isDirectory() ? walk(path.join(dir, e.name)) : e.name.endsWith('.test.mjs') ? [path.join(dir, e.name)] : []); }
const tests = walk('packages');
const result = await build({ entryPoints: tests, bundle: true, platform: 'node', format: 'esm', splitting: true, packages: 'external',
write: false, outdir: '/unused-p4-graph', metafile: true, logLevel: 'silent' });
const graph = result.metafile.inputs;
const changed = new Set(['packages/model-proxy/src/client.mjs', 'packages/bus/src/broker.mjs', 'packages/bus/src/runtime.mjs',
'packages/bus/src/proxy-page.mjs', 'packages/webui/src/cli.mjs', 'packages/webui/src/serve.mjs', 'packages/webui/src/console-bus.mjs', 'packages/webui/src/proxy-http.mjs']);
function reaches(file, seen = new Set()) {
if (changed.has(file)) return true;
if (seen.has(file)) return false; seen.add(file);
return (graph[file]?.imports ?? []).some(i => !i.external && reaches(i.path, seen));
}
const forbidden = 'packages/cli/tests/case1-accept.test.mjs';
const mandatory = tests.filter(p => /^packages\/(model-proxy|bus|webui)\/tests\//.test(p));
const imported = tests.filter(p => reaches(p));
const selected = [...new Set([...mandatory, ...imported])].filter(p => p !== forbidden).sort();
const scratch = execFileSync('mktemp', ['-d', '/mnt/storage/scratch/tmp/XXXXXX'], { encoding: 'utf8' }).trim();
const fullGraphPath = path.join(scratch, 'p4-import-graph.json'), fullGraph = JSON.stringify(graph, null, 2) + '\n';
writeFileSync(fullGraphPath, fullGraph);
function witness(file, seen = new Set()) {
if (changed.has(file)) return [file];
if (seen.has(file)) return null; seen.add(file);
for (const i of graph[file]?.imports ?? []) {
if (i.external) continue;
const rest = witness(i.path, seen); if (rest) return [file, ...rest];
}
return null;
}
writeFileSync(new URL('./gate-import-witness.json', import.meta.url), JSON.stringify(Object.fromEntries(selected.map(p => [p, witness(p) ?? ['mandatory suite']])), null, 2) + '\n');
writeFileSync(new URL('./gate-run-list.txt', import.meta.url), selected.join('\n') + '\n');
console.log(JSON.stringify({ fullGraphPath, fullGraphSha256: createHash('sha256').update(fullGraph).digest('hex'), parsedInputs: Object.keys(graph).length, selected: selected.length, mandatory: mandatory.length,
imported: imported.length, excludedEvenIfImported: forbidden,
additional: selected.filter(p => !mandatory.includes(p)) }, null, 2));
+280
View File
@@ -0,0 +1,280 @@
packages/bus/tests/access-revoke.test.mjs
packages/bus/tests/account-migration.test.mjs
packages/bus/tests/address.test.mjs
packages/bus/tests/agents.test.mjs
packages/bus/tests/approval-binding.test.mjs
packages/bus/tests/broker.test.mjs
packages/bus/tests/business.test.mjs
packages/bus/tests/channel-proof.test.mjs
packages/bus/tests/chief-of-staff.test.mjs
packages/bus/tests/citation-availability.test.mjs
packages/bus/tests/citation-guard.test.mjs
packages/bus/tests/citation-runtime.test.mjs
packages/bus/tests/comment-cursors.test.mjs
packages/bus/tests/comment-migration.test.mjs
packages/bus/tests/console-decide.test.mjs
packages/bus/tests/creative.test.mjs
packages/bus/tests/credential-claim.test.mjs
packages/bus/tests/credential-status.test.mjs
packages/bus/tests/credential-store.test.mjs
packages/bus/tests/credential-verbs.test.mjs
packages/bus/tests/credentials.test.mjs
packages/bus/tests/csuite-messaging.test.mjs
packages/bus/tests/daily-quota-runtime.test.mjs
packages/bus/tests/decision-close.test.mjs
packages/bus/tests/decision-route.test.mjs
packages/bus/tests/decisions.test.mjs
packages/bus/tests/end-launch.test.mjs
packages/bus/tests/fire-revokes-grants.test.mjs
packages/bus/tests/gitea-grant-docker.test.mjs
packages/bus/tests/gitea-grant.test.mjs
packages/bus/tests/gitea-migration.test.mjs
packages/bus/tests/grant-enroll.test.mjs
packages/bus/tests/grant-executor.test.mjs
packages/bus/tests/grant-host.test.mjs
packages/bus/tests/grant-migration.test.mjs
packages/bus/tests/grant-scope-runtime.test.mjs
packages/bus/tests/grant-scope.test.mjs
packages/bus/tests/hard-waits.test.mjs
packages/bus/tests/host-run.test.mjs
packages/bus/tests/host-tools.test.mjs
packages/bus/tests/human.test.mjs
packages/bus/tests/instances-verb.test.mjs
packages/bus/tests/interpreter.test.mjs
packages/bus/tests/land.test.mjs
packages/bus/tests/launch-notice.test.mjs
packages/bus/tests/launcher-released.test.mjs
packages/bus/tests/library-credential.test.mjs
packages/bus/tests/library-lookups.test.mjs
packages/bus/tests/library-sync.test.mjs
packages/bus/tests/library.test.mjs
packages/bus/tests/lifecycle-revoke.test.mjs
packages/bus/tests/lifecycle-verbs.test.mjs
packages/bus/tests/limit-checks.test.mjs
packages/bus/tests/limit-stop.test.mjs
packages/bus/tests/limits-runtime.test.mjs
packages/bus/tests/limits.test.mjs
packages/bus/tests/message-citation.test.mjs
packages/bus/tests/message-filter.test.mjs
packages/bus/tests/messages.test.mjs
packages/bus/tests/messaging.test.mjs
packages/bus/tests/model-proxy.test.mjs
packages/bus/tests/name-migration.test.mjs
packages/bus/tests/names.test.mjs
packages/bus/tests/peer-transport.test.mjs
packages/bus/tests/peercred.test.mjs
packages/bus/tests/plugins-verb.test.mjs
packages/bus/tests/principal.test.mjs
packages/bus/tests/process.test.mjs
packages/bus/tests/processing-runtime.test.mjs
packages/bus/tests/processing-timeout.test.mjs
packages/bus/tests/processing-web.test.mjs
packages/bus/tests/processing.test.mjs
packages/bus/tests/project-await.test.mjs
packages/bus/tests/project-files.test.mjs
packages/bus/tests/project-runtime.test.mjs
packages/bus/tests/proxy-page-accounts.test.mjs
packages/bus/tests/proxy-page-state.test.mjs
packages/bus/tests/proxy-page.test.mjs
packages/bus/tests/publish.test.mjs
packages/bus/tests/reload.test.mjs
packages/bus/tests/replies.test.mjs
packages/bus/tests/requirements.test.mjs
packages/bus/tests/review.test.mjs
packages/bus/tests/revoke-window.test.mjs
packages/bus/tests/room-check.test.mjs
packages/bus/tests/rooms.test.mjs
packages/bus/tests/routes-verb.test.mjs
packages/bus/tests/schema.test.mjs
packages/bus/tests/session-clear.test.mjs
packages/bus/tests/session-compactions.test.mjs
packages/bus/tests/sessions.test.mjs
packages/bus/tests/single-use.test.mjs
packages/bus/tests/spec-migration.test.mjs
packages/bus/tests/spec-review.test.mjs
packages/bus/tests/spec-socket.test.mjs
packages/bus/tests/spec.test.mjs
packages/bus/tests/staff-request.test.mjs
packages/bus/tests/state.test.mjs
packages/bus/tests/store.test.mjs
packages/bus/tests/task-page.test.mjs
packages/bus/tests/task-read.test.mjs
packages/bus/tests/tasks.test.mjs
packages/bus/tests/tester-threads.test.mjs
packages/bus/tests/tester-writes.test.mjs
packages/bus/tests/tester.test.mjs
packages/bus/tests/thread-claims.test.mjs
packages/bus/tests/thread-migration.test.mjs
packages/bus/tests/thread-shares.test.mjs
packages/bus/tests/threads.test.mjs
packages/bus/tests/transport.test.mjs
packages/bus/tests/usage-broker.test.mjs
packages/bus/tests/usage-migration.test.mjs
packages/bus/tests/usage-runtime.test.mjs
packages/bus/tests/usage.test.mjs
packages/bus/tests/user-principal.test.mjs
packages/bus/tests/viewer.test.mjs
packages/bus/tests/web.test.mjs
packages/bus/tests/workflow-roles.test.mjs
packages/business/tests/case1-business-file.test.mjs
packages/cli/tests/access-boot.test.mjs
packages/cli/tests/access.test.mjs
packages/cli/tests/app.test.mjs
packages/cli/tests/boot-status.test.mjs
packages/cli/tests/case1-hostcheck.test.mjs
packages/cli/tests/case2-install.test.mjs
packages/cli/tests/case2-persona-import.test.mjs
packages/cli/tests/case2-unit.test.mjs
packages/cli/tests/channel-cli.test.mjs
packages/cli/tests/channel-recovery.test.mjs
packages/cli/tests/cli.test.mjs
packages/cli/tests/compactions-launch.test.mjs
packages/cli/tests/config.test.mjs
packages/cli/tests/credentials.test.mjs
packages/cli/tests/federation-acceptance.test.mjs
packages/cli/tests/follow.test.mjs
packages/cli/tests/git-socket.test.mjs
packages/cli/tests/grants-scope.test.mjs
packages/cli/tests/grants.test.mjs
packages/cli/tests/host.test.mjs
packages/cli/tests/hosts.test.mjs
packages/cli/tests/idle-stop-race.test.mjs
packages/cli/tests/instances.test.mjs
packages/cli/tests/launch-account.test.mjs
packages/cli/tests/launch-limit-checks.test.mjs
packages/cli/tests/launch-limits.test.mjs
packages/cli/tests/launch-routes.test.mjs
packages/cli/tests/launcher.test.mjs
packages/cli/tests/lifecycle.test.mjs
packages/cli/tests/limits-tokens.test.mjs
packages/cli/tests/limits.test.mjs
packages/cli/tests/mark-read.test.mjs
packages/cli/tests/model-proxy.test.mjs
packages/cli/tests/names.test.mjs
packages/cli/tests/notifier.test.mjs
packages/cli/tests/optional-tracker.test.mjs
packages/cli/tests/other-tree.test.mjs
packages/cli/tests/processing-cli.test.mjs
packages/cli/tests/project-name-repo.test.mjs
packages/cli/tests/project.test.mjs
packages/cli/tests/publish-socket.test.mjs
packages/cli/tests/reply-limits.test.mjs
packages/cli/tests/revoke-window.test.mjs
packages/cli/tests/session-clear.test.mjs
packages/cli/tests/session-cli.test.mjs
packages/cli/tests/session-launch.test.mjs
packages/cli/tests/stack-copy.test.mjs
packages/cli/tests/stack-instances.test.mjs
packages/cli/tests/tester-http.test.mjs
packages/cli/tests/tester-reads.test.mjs
packages/cli/tests/tester-threads.test.mjs
packages/cli/tests/tester.test.mjs
packages/cli/tests/thread-cli.test.mjs
packages/cli/tests/thread-launch.test.mjs
packages/cli/tests/thread-revoke.test.mjs
packages/cli/tests/trackers-boot.test.mjs
packages/cli/tests/transport.test.mjs
packages/cli/tests/usage.test.mjs
packages/cli/tests/verbs.test.mjs
packages/harness/tests/citation-runner.test.mjs
packages/harness/tests/claude-session.test.mjs
packages/harness/tests/creative.test.mjs
packages/harness/tests/pi-session.test.mjs
packages/harness/tests/raise-domain.test.mjs
packages/harness/tests/runner.test.mjs
packages/harness/tests/skills.test.mjs
packages/harness/tests/spec-tools.test.mjs
packages/harness/tests/tools.test.mjs
packages/model-proxy/tests/client.test.mjs
packages/model-proxy/tests/config-unit.test.mjs
packages/model-proxy/tests/fetch.test.mjs
packages/model-proxy/tests/management-key-encoding.test.mjs
packages/model-proxy/tests/page-client.test.mjs
packages/model-proxy/tests/runner.test.mjs
packages/model-proxy/tests/settings.test.mjs
packages/processing-control/tests/task.test.mjs
packages/seat/tests/sandbox.test.mjs
packages/seat/tests/session.test.mjs
packages/tasks/tests/adapter.test.mjs
packages/tasks/tests/comment-restart.test.mjs
packages/tasks/tests/fields.test.mjs
packages/tasks/tests/processing.test.mjs
packages/tasks/tests/shapes.test.mjs
packages/tasks/tests/startup.test.mjs
packages/tasks/tests/sync.test.mjs
packages/tasks/tests/tree.test.mjs
packages/tasks/tests/verbs.test.mjs
packages/webui/tests/agents-browser.test.mjs
packages/webui/tests/agents.test.mjs
packages/webui/tests/assistant.test.mjs
packages/webui/tests/board-held.test.mjs
packages/webui/tests/browser-edge.test.mjs
packages/webui/tests/browser.test.mjs
packages/webui/tests/bus-browser.test.mjs
packages/webui/tests/bus.test.mjs
packages/webui/tests/channel-chat.test.mjs
packages/webui/tests/chat-browser.test.mjs
packages/webui/tests/chat-instances.test.mjs
packages/webui/tests/chat-replies-browser.test.mjs
packages/webui/tests/chat-sessions-access.test.mjs
packages/webui/tests/chat.test.mjs
packages/webui/tests/conversation.test.mjs
packages/webui/tests/decide-browser.test.mjs
packages/webui/tests/decide-sso.test.mjs
packages/webui/tests/decision-http.test.mjs
packages/webui/tests/discord.test.mjs
packages/webui/tests/docs-browser.test.mjs
packages/webui/tests/editor-browser.test.mjs
packages/webui/tests/editor-provenance.test.mjs
packages/webui/tests/editor.test.mjs
packages/webui/tests/granted-user.test.mjs
packages/webui/tests/history-return-flow.test.mjs
packages/webui/tests/instances-browser.test.mjs
packages/webui/tests/instances.test.mjs
packages/webui/tests/library-cli.test.mjs
packages/webui/tests/library-routes.test.mjs
packages/webui/tests/library-status.test.mjs
packages/webui/tests/limits-browser.test.mjs
packages/webui/tests/limits-route.test.mjs
packages/webui/tests/markdown-preview.test.mjs
packages/webui/tests/messages.test.mjs
packages/webui/tests/pinned-copy.test.mjs
packages/webui/tests/preview.test.mjs
packages/webui/tests/processing-browser.test.mjs
packages/webui/tests/processing-ui.test.mjs
packages/webui/tests/processing.test.mjs
packages/webui/tests/project-file.test.mjs
packages/webui/tests/project-name-repo.test.mjs
packages/webui/tests/proof-cli.test.mjs
packages/webui/tests/proof.test.mjs
packages/webui/tests/proxy-architecture.test.mjs
packages/webui/tests/proxy-browser.test.mjs
packages/webui/tests/proxy-canary.test.mjs
packages/webui/tests/proxy-page.test.mjs
packages/webui/tests/reads.test.mjs
packages/webui/tests/relaunch.test.mjs
packages/webui/tests/return-flow.test.mjs
packages/webui/tests/room-browser.test.mjs
packages/webui/tests/room-http.test.mjs
packages/webui/tests/routes-browser.test.mjs
packages/webui/tests/routes.test.mjs
packages/webui/tests/send-browser.test.mjs
packages/webui/tests/send.test.mjs
packages/webui/tests/serve.test.mjs
packages/webui/tests/service.test.mjs
packages/webui/tests/settings-form.test.mjs
packages/webui/tests/settings-write.test.mjs
packages/webui/tests/shell.test.mjs
packages/webui/tests/sso-browser.test.mjs
packages/webui/tests/sso.test.mjs
packages/webui/tests/tester-browser.test.mjs
packages/webui/tests/tester-cli.test.mjs
packages/webui/tests/tester-listener.test.mjs
packages/webui/tests/tester-socket.test.mjs
packages/webui/tests/thread-claims-browser.test.mjs
packages/webui/tests/thread-claims.test.mjs
packages/webui/tests/thread-sharing.test.mjs
packages/webui/tests/usage-browser.test.mjs
packages/webui/tests/usage.test.mjs
packages/webui/tests/user-option-swap.test.mjs
packages/webui/tests/views.test.mjs
@@ -0,0 +1,19 @@
nice=19 TMPDIR=/mnt/storage/scratch/tmp/nmbhic
✔ accounts have exactly the allowlisted public fields, id from credential identifier (16.726005ms)
✔ token-like data in every upstream field never reaches public accounts (3.146433ms)
✔ API key account is derived from proxy auth_index, never api-key, and can set priority (7.145341ms)
✔ OAuth priority uses top-level name/priority and confirms it through list (2.559503ms)
✔ priority-unconfirmed: accepted API-key write with unchanged read-back refuses (2.751129ms)
✔ priority-write-refused: OAuth PATCH status 201 (1.645703ms)
✔ priority-write-refused: OAuth PATCH status 400 (2.192791ms)
✔ priority-invalid: unknown account refuses before any write (1.245093ms)
✔ proxy-down: a closed management listener refuses once (1.049636ms)
✔ client keys return ids, sentinel/foreign labels and only scoped record metadata (1.589625ms)
ℹ tests 10
ℹ suites 0
ℹ pass 10
ℹ fail 0
ℹ cancelled 0
ℹ skipped 0
ℹ todo 0
ℹ duration_ms 106.068199
@@ -0,0 +1,10 @@
nice=19 TMPDIR=/mnt/storage/scratch/tmp/zzWg8y
✔ Console production module graph cannot import the model-proxy client (260.158583ms)
ℹ tests 1
ℹ suites 0
ℹ pass 1
ℹ fail 0
ℹ cancelled 0
ℹ skipped 0
ℹ todo 0
ℹ duration_ms 332.064995
@@ -0,0 +1,50 @@
nice=19 TMPDIR=/mnt/storage/scratch/tmp/W3UTF4
✔ proxy.accounts: owner calls page once with business/human scope (42.216353ms)
✔ proxy.accounts: tester human-required (27.14418ms)
✔ proxy.accounts: agent human-required (15.631107ms)
✔ proxy.accounts: user human-required (16.036791ms)
✔ proxy.accounts: not-configured (15.881775ms)
✔ proxy.login.start: owner calls page once with business/human scope (15.676932ms)
✔ proxy.login.start: tester human-required (15.957058ms)
✔ proxy.login.start: agent human-required (16.769099ms)
✔ proxy.login.start: user human-required (15.27276ms)
✔ proxy.login.start: not-configured (18.544344ms)
✔ proxy.login.submit: owner calls page once with business/human scope (14.653081ms)
✔ proxy.login.submit: tester human-required (17.613806ms)
✔ proxy.login.submit: agent human-required (19.653375ms)
✔ proxy.login.submit: user human-required (21.882116ms)
✔ proxy.login.submit: not-configured (18.504561ms)
✔ proxy.login.status: owner calls page once with business/human scope (15.65383ms)
✔ proxy.login.status: tester human-required (16.405308ms)
✔ proxy.login.status: agent human-required (15.696776ms)
✔ proxy.login.status: user human-required (18.693813ms)
✔ proxy.login.status: not-configured (16.320036ms)
✔ proxy.login.cancel: owner calls page once with business/human scope (13.937442ms)
✔ proxy.login.cancel: tester human-required (17.41389ms)
✔ proxy.login.cancel: agent human-required (17.722047ms)
✔ proxy.login.cancel: user human-required (19.611299ms)
✔ proxy.login.cancel: not-configured (15.608602ms)
✔ proxy.apikey.add: owner calls page once with business/human scope (15.651765ms)
✔ proxy.apikey.add: tester human-required (17.09525ms)
✔ proxy.apikey.add: agent human-required (15.021593ms)
✔ proxy.apikey.add: user human-required (15.257844ms)
✔ proxy.apikey.add: not-configured (17.124537ms)
✔ proxy.priority.set: owner calls page once with business/human scope (14.876553ms)
✔ proxy.priority.set: tester human-required (21.351968ms)
✔ proxy.priority.set: agent human-required (16.665676ms)
✔ proxy.priority.set: user human-required (19.67346ms)
✔ proxy.priority.set: not-configured (15.524648ms)
✔ proxy.keys: owner calls page once with business/human scope (16.043305ms)
✔ proxy.keys: tester human-required (16.990648ms)
✔ proxy.keys: agent human-required (15.927183ms)
✔ proxy.keys: user human-required (15.10558ms)
✔ proxy.keys: not-configured (19.013178ms)
✔ API-key canary never enters broker events or unknown error output (18.503151ms)
ℹ tests 41
ℹ suites 0
ℹ pass 41
ℹ fail 0
ℹ cancelled 0
ℹ skipped 0
ℹ todo 0
ℹ duration_ms 940.684074
@@ -0,0 +1,12 @@
nice=19 TMPDIR=/mnt/storage/scratch/tmp/AwJzc2
✔ proxy browser clears write-only key immediately, sends once and renders data as text (752.942588ms)
✔ proxy browser OAuth opens safely, callback wait stays pending, status ok completes (2519.227325ms)
✔ proxy browser read-only disables account changes (456.893472ms)
ℹ tests 3
ℹ suites 0
ℹ pass 3
ℹ fail 0
ℹ cancelled 0
ℹ skipped 0
ℹ todo 0
ℹ duration_ms 3803.115926
@@ -0,0 +1,11 @@
nice=19 TMPDIR=/mnt/storage/scratch/tmp/weXu2n
✔ API-key canary reaches fake once and zero responses/logs/receipts/store files (38.031356ms)
✔ OAuth URLs, state and code stay out of broker records and management receipts (17.551154ms)
ℹ tests 2
ℹ suites 0
ℹ pass 2
ℹ fail 0
ℹ cancelled 0
ℹ skipped 0
ℹ todo 0
ℹ duration_ms 193.476026
@@ -0,0 +1,12 @@
nice=19 TMPDIR=/mnt/storage/scratch/tmp/67qzFx
✔ OAuth management calls keep URL and state out of receipts (16.663673ms)
✔ upstream key goes only in request body and upstream refusal body is discarded (3.261477ms)
✔ redirected management calls are not followed or retried (1.670589ms)
ℹ tests 3
ℹ suites 0
ℹ pass 3
ℹ fail 0
ℹ cancelled 0
ℹ skipped 0
ℹ todo 0
ℹ duration_ms 84.19507
Loaded 100 of 162 files, more files were not shown because too many files have changed in this diff. Show more