Compare commits
19
Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
d8ec9b5fbc | ||
|
|
e1d8756b51 | ||
|
|
83ec67dd36 | ||
|
|
de3e23dde9 | ||
|
|
446c9b8381 | ||
|
|
f78a45653d | ||
|
|
775bbe2368 | ||
|
|
35f34ad27a | ||
|
|
624507c74b | ||
|
|
77a790f43b | ||
|
|
bfd2f43b10 | ||
|
|
cb86e186dc | ||
|
|
ce8bb4d8b0 | ||
|
|
3a8e4abadb | ||
|
|
c68a29fed8 | ||
|
|
92e82469f2 | ||
|
|
8feda29eb4 | ||
|
|
bbec5e97f1 | ||
|
|
ec213e0336 |
No files matched your search
+4
-30
@@ -5585,33 +5585,7 @@ claim. Receipts and limitations in agents/lena/work/queue-296/BUILD.md and run-r
|
||||
2026-10-24T23:37:46Z | Sage | Row 329 (#1827, P1 pinned model proxy, Magica) LANDED 61ebf2c34, pushed 23:31:27Z 10-24. Before: refactor at 669cdf42c. After: Magica's 4 commits (94cde633e, c65fb34ee, d1f6f2b19, 61ebf2c34) cherry-picked onto 669cdf42c, diff vs the gated tree limited to drift paths, range-diff in scratch. Gate: one unchanged full landing gate in /mnt/storage/scratch/sage-r329l/wt (gate.sh 8b4978887 c8a9bcf94), started 23:08:12Z at load 14.35, GATE GREEN 23:29:14Z at load 8.67, no rerun, no test or timeout edit (mos-1634). Host note: two Codex workers cleaned T3 worktrees from about 23:14Z (mos-1639, Vikunja 632). Approvals: Dewey r2 c31643 rev 4047, Boyd r2 c31642 rev 4048. #1827 comment 31650, closed. Vikunja 237 comment 1109 (stays open for P2-P7); C4 P10 red filed as Vikunja 631. Queue: note rev 4063, done rev 4064, committed b24d917ec. DEFERRED: N2 and R2-N1 bound to row 331, N1 bound to P7. Overlap: row 284 (packages/bus/src/broker.mjs) and row 157 (scripts/mosaic-config.mjs) rebase onto 61ebf2c34 before their gates.
|
||||
2026-10-25T00:15:48Z | Sage | Row 284 (#1789, C2-05c library.get scope, Della) LANDED ce0b6ed41, pushed 00:09:52Z 10-25. Before: refactor at 9e2689dff (row 329 landing docs). After: fast-forward to Della's 7 rebased commits 78b932feb..ce0b6ed41; 8 paths, manifest-r4 de505cfd matches the landed tree. Gate: one unchanged full landing gate in /mnt/storage/scratch/sage-r284l/wt (the 329 gate.sh with D and the compose project renamed), started 23:51:19Z at load 1.62, GATE GREEN 00:09:04Z at load 5.20, no rerun, no test or timeout edit. Counts: bus 1020/0, business 283/0, cli 999 pass 1 allowed skip (FED R7), harness 177/0, library 156/0, seat 218/0, webui 458/0, every scripts/test-*.sh rc 0; queue 34 and task 87/93 skips are the standing ones. Della's whole-file runs on ce0b6ed41: library-lookups 12/0, library-tools 5/0, query 34/0. Approval: Webby round 2 delta c31654 rev 4070 (round 1 rev 4062). Overlap sweep: rows 13, 157, 309, gyro/row310 and fethry/row332-p1 clean. #1789 comment 31655, closed. No Vikunja task for the row. Queue: note rev 4071, done rev 4072, committed 7c8dc2033. DEFERRED: Webby N1 (whole-tree listing per get) bound to the next library read-path row; N2 needs nothing; N3 is this gate.
|
||||
2026-10-25T00:18:35Z | Sage | Follow-up tasks for mos-1647 item 3 (Q109): Vikunja 633 (P7 cutover, CLIProxyAPI 8.0.42 startup Grok-npm and antigravity version refreshes, from row 332 isolated runs) and 634 (row 284 Webby N1, library get lists the whole tree). DEFERRED gains the 633 entry and the 634 number for row 284 N1. Filing script and receipt in agents/sage/work/vikunja-setup/.
|
||||
|
||||
2026-10-24 — Magica row 331 / #1829 BEFORE: P1 has pinned fetch/init and a redacted management client; agent model-key lifecycle, reconciliation and launch preflight are absent. P2 design and acceptance plan in agents/magica/work/queue-331/BUILD.md. Root worktree npm ci passed; no tests run pending Sage CLEAR. No live proxy or real credential access.
|
||||
|
||||
2026-10-25 — Magica row331 / #1829 GREEN attempt on a86a881e1:54 whole files pass; file55 model-keys.test.mjs rc1 (24pass/6fail). All6 new real-bus fixtures lack dataRoot before Store lstat; no old test failed in attempted prefix. Aggregate592tests/586pass/6fail/0skip. Stopped without edits/reruns; remaining207files/test-config/4mutants not run. Slot returned to Sage05:10:48Z. Per-run rc/count/nice/hash receipts: agents/magica/work/queue-331/green-receipts.json. No in-review/completion claim.
|
||||
|
||||
2026-10-25 — Magica row331 r2 on a32481b78 (sage-4437):54 whole files pass; file55 model-keys rc1,24pass/6fail. Six own new fixtures omit plugins.harness pi and correctly receive existing invalid-harness at chief binding. Aggregate592/586pass/6fail/0skip; no old test failed in attempted prefix. Last step load4.03/7.54/10.98 ->3.79/7.37/10.89. SLOT BACK06:10:45Z, no edits/reruns. Parent measured nice19x2/16x53 despite startup19 and per-child19; raw fixed nice19 header not measurement. Per-step rc/count/load/hash receipts and caveat in agents/magica/work/queue-331/r2-receipts.json; remaining207/test-config/mutants unrun.
|
||||
|
||||
2026-10-25 — Magica row331 r3 whole-file model-keys probe on e0578794c:30tests/27pass/3fail,rc1,0skip/cancel. Three own hire fixtures correctly refuse definition-not-hireable: review.verdict outside HIRE_ALLOWED and chief hireable empty. Fire/revision-race cases pass. No full gate/mutants started, no edits/reruns. Load6.37/11.24/14.46 ->6.34/11.15/14.42; measured driver/child19. SLOT BACK06:45:43Z. Authorization-only receipt correction6fe36f4a9 preserves measurements; r3-summary/events and content-manifest pin the attempt.
|
||||
|
||||
2026-10-25 — Magica row331 r4 sage-4459 on0965fe1ea: model-keys probe30/30 green;68 frozen whole files green, file69 project-runtime rc1 (2pass/1fail), existing exact broker import-list assertion omits P2 common.mjs import. Aggregate707/706pass/1fail/0skip/cancel including probe. Stopped, SLOT BACK magica-331-0029; no edits/retry;193 files/test-config/mutants unrun. Fail-step load10.39/20.98/25.16 both ends, measured driver/child19. Receipts r4-events.jsonl/r4-receipts.json; await old-test ruling.
|
||||
|
||||
2026-10-25 — Magica row331 r5 bounded correction646 under sage-4472:16 focused whole files rc0,181/181pass/0fail/skip/cancel. Actual confined sandbox11 and session13 including startup/negative controls verified, no unavailable skips. Code4948ece0e, manifest-only checkout87a2adc19; measured driver/child19 every step, load6.91/9.43/16.39 ->7.74/9.38/16.15. SLOT BACK magica-331-0033. No full gate/mutants/landing; fresh independent guard review outstanding.
|
||||
|
||||
2026-10-25 — Magica row331 r5 full builder sage-4477 on2ff10ffac/code4948ece0e: probe30/30,269wholefiles2426pass/0fail/1standingFEDR7skip, test-config55/0, four named mutants killed with30/30 restored controls each. Real sandbox11/session13 verified, no confined skip. All279 child starts19; driver277x19/2x16 host renice retained. Startload7.08/8.10/12.53 ->8.75/9.50/10.40, complete08:19:20Z, SLOT BACK0036. No reruns/edits/nextgate/landing; reviews/globalgate/row288 outstanding.
|
||||
|
||||
2026-10-25 — Magica row331 B1/647 intended RED sage-4490 onca0e83337: exactlyone whole runtime restart file12tests/2controlsPASS/10expectedFAIL at old-key retention,0skip/cancel/timeout/harness/cleanupfail. Product4948ece0e before/after hashes equal. Measured19/19, load8.00/7.57/8.12 ->7.53/7.48/8.08. SLOT BACK0049, no retry/fix/extra run; await runtime repair ruling.
|
||||
|
||||
2026-10-25 — Magica row331 B1 boundary RED sage-4495 on26fad224f: one whole separate2casefile,0pass/2intended Missingexpectedrejection failures,0skip/cancel/timeout/fixture/cleanupfail. Product4948ece0e fivehashes unchanged. Measured19/19 load6.66/7.46/7.82 unchanged. SLOT BACK0053; original12caseRED not rerun, nofix/extra runs, awaitresume.
|
||||
|
||||
2026-10-25 — Magica row331 B1/647 repaired81cbdea37 focused sage-4496:9wholefiles131/131pass,0fail/skip/cancel, real confinement verified; no retries/edits/timeouts/cleanupfail. Product runtime+exactprivateModelKeys delta only. Measured19/19all9, load8.32/7.90/7.87 ->8.35/8.02/7.91. SLOT BACK0055; sleepfixtures do notprove successfulrealrunnerSIGTERM. PriorREDs preserved, fullgate/freshreviews/global/FEDR7/288 outstanding.
|
||||
|
||||
2026-10-25 — Magica row331 B1 full builder sage-4498 on e5a4ade07/code81cbdea37: probe30,271whole2440pass/0fail/1standingFEDR7skip,config55; all4mutants killed/4restored controls30each. Nonmutant2525pass/1skip/0fail/cancel, real confinement verified, no retry/timeout/cleanupfail. All281driver+childstarts19, load6.76/7.39/7.69 ->8.54/9.21/8.55. Source byte-restored. SLOT BACK0057; fresh fullP2round2/ClaudeQ246/Dewey/global/FEDR7/288 remain outstanding.
|
||||
|
||||
2026-10-25 — Magica row331 M1/#648 pre-fix sage-4520:7tests/5controls/2intendedfail, M2/#649 sage-4522:17tests/9controls/8intendedfail, separate wholefiles/evidence. No skipped/cancel/harness/cleanup failures or retries, product9pins81 unchanged. Slots returned0065/0066. Syntheticreuse not actualOSproof; M2inprocess notIPCproof. No implementation/full/global/landing/newround.
|
||||
|
||||
2026-10-25 — Magica row331 M2 actualIPC pre-fix sage-4527:9tests/2controls/7intendedfail,0skip/cancel/timeout/harnesscleanupfail. Source9pins81unchanged. Firstrawinvalid-host-request, otherpredicateinnercodesnotindividuallycaptured. Realfork/hostclose awaited, ownroots0; nestedpriorityinheritance not individuallymeasured. SLOT BACK0068; no repair/extra run, awaitresumeexactdiffs/20focus.
|
||||
|
||||
2026-10-25 — Magica row331 M1/M2: exact approved sticky terminal-proof and Broker-owned historical cleanup repair, focused20 254/254 green under sage-4529. Scope and receipt limits in queue-331/BUILD.md; no full/global/landing claim.
|
||||
|
||||
2026-10-25 — Magica row331 L1/L3b: exact private ModelKeys repair815b92c8, focused23 276/276 under sage4565; slot back, no full/global/landing claim;652 diagnostic and650 protocol pending.
|
||||
2026-10-24T22:15:07Z | Herb | row 214 #1715 C2-11a focused evidence | Before: wikilinks are ordinary editor text; raw/sig retention keeps no-edit bytes, but the model has no inert node. After: inert inline wikilink atom preserves spelling through neighbouring edits; invalid attrs share HTML/entity escaping. On herb/row214-r2 base487500a16, grant sage-4286 lane B: baseline10/10 roundTrips equal (outcome A); baseline structural0/1 expected red; four whole editor files40/0, both mutants killed0/1 and restored1/0, whole webui69 files455/0 in174.189s with MOSAIC_REQUIRE_EDITOR_BUILD=1, nice19, no skips/cancellations. A mistaken preliminary7-file subset28/0 is logged and excluded from gate evidence. CSS byte-identical, final process sweep0, scratch TMPDIR removed. Filbert candidate review and every scripts/test-*.sh gate remain pending; no click, target resolution or library save change.
|
||||
2026-10-25T04:36:47Z | Sage | Row 214 (#1715, C2-11a editor wikilink node, Herb) LANDED 3a8e4abad, pushed 04:27Z 10-25. Before: refactor at 78b69e1e6. After: Herb's six commits cherry-picked onto 78b69e1e6 and fast-forwarded. Gate GREEN 04:10:34Z: 18 package suites rc 0 (webui 471/471, cli 999 plus the allowed FED R7 skip), every scripts/test-*.sh rc 0, queue package via test-queue.sh 156. Design skips: queue 34 (not the canonical root), task 87/93 (row 244). Filbert APPROVE c31679 rev 4093. Range-diff equal except commit 5's BUILD-LOG context; 40/41 paths same blob, BUILD-LOG additions only. #1715 closed c31680. Queue note 4094, done 4095, committed ce8bb4d8b.
|
||||
2026-10-25T04:36:47Z | Sage | Row 193 (#1691, threads user roles design, Morgana) LANDED 35f34ad27, doc-only: five design commits cherry-picked onto ce8bb4d8b, adding only agents/morgana/work/queue-193/DESIGN.md (verify-commit ok, 1 path). Duckworth APPROVE c31676 rev 4088 (posted and recorded by Sage; Duckworth has no Gitea credential). No test reads queue-193. Build rows from the design: 204/#1702, 205/#1703 (landed), 275/#1780, 206/#1704, 207/#1705, 208/#1706.
|
||||
2026-10-25T04:58:30Z | Sage | Row 255 (#1760, Vikunja 458, bundled Pocket ID design for Q203, Launchpad) LANDED de3e23dde, doc-only: Launchpad's three design commits e29d8ec90, 9f60021a0 and c8f2bc723 cherry-picked onto 775bbe236 (range-diff equal), adding only agents/launchpad/work/queue-255/DESIGN.md. No test reads queue-255. Webby APPROVE round 1 c31689 rev 4103 (posted by Sage; Webby has no Gitea token). Mos rulings in mos-1666: M1 approved with conditions (rollback removes components before the pointer goes back and the STATE check confirms the key is absent; the loader stays strict inside the key; four test-config.sh cases), R1 chosen, M2 dropped. Sage gate check against Q203, O6, REQ-WEB-2 and REQ-INST-1: consistent. One PRD text gap goes to Mos: REQ-INST-2 says the stack writes the providers entry, and R1 prints it for the user to paste. Webby N1 and N2 bind P4; N3-N8 carry into the P1-P6 build rows, all post-v1.
|
||||
@@ -0,0 +1,193 @@
|
||||
# Row214 C2-11a work record
|
||||
|
||||
Assignment sage-2794 at2026-10-22T16:33:20Z, Q220/mos-1301, issue#1715.
|
||||
New isolated branch herb/row214 on aca16404c. The earlier197/215 worktrees
|
||||
and their dirty/untracked historical packets are untouched. node_modules is
|
||||
the required plain symlink to /mnt/storage/src/mosaic-stack/node_modules.
|
||||
|
||||
Read C2-11a in both pinned briefs. The section is unchanged at51cc0445c;
|
||||
Q222 changes C2-06's reply-limit settings, not wikilinks. The editor model,
|
||||
entry, view, existing model/browser/provenance tests, build/toolchain and
|
||||
vendored markdown parser/serializer were read. No third_party source changes.
|
||||
|
||||
## Static finding and authored work
|
||||
|
||||
model.mjs stores a canonical sig and the raw original block, and serialise
|
||||
returns raw when the sig matches. The vendored text writer escapes brackets
|
||||
(to_markdown.ts:433-437). It is therefore possible for no-edit round-trips
|
||||
to pass while dirty-block output escapes a wikilink. This is a source-based
|
||||
hypothesis, not a measured result. Both outcomes are in DESIGN.md.
|
||||
|
||||
Authored, unrun: the pinned-bundle measurement; ten fixture round-trips;
|
||||
three browser regressions; inert wikilink schema/tokenizer/serializer. The
|
||||
schema includes headings, and front matter remains raw. The serializer
|
||||
validates its spelling before bypassing escaping. HTML/entity-like targets
|
||||
stay text under the existing escaping rules. No clicking or resolution.
|
||||
|
||||
Local static git diff --check is clean. No Node, npm, compiler, browser,
|
||||
measurement, test, Docker, HTTPS Git or push has run. The queue claim waits
|
||||
for a gap because scripts/mosaic invokes Node. No candidate or pass claim.
|
||||
Only design/path documents may be committed before the granted red/green
|
||||
checks; product, tests and measurement remain uncommitted until validated.
|
||||
|
||||
## Next granted steps
|
||||
|
||||
1. Claim from canonical during a CLEAR/gap.
|
||||
2. Run measure.mjs against aca16404c's pinned Git blobs; save JSON unchanged.
|
||||
3. Run the structural/edit regression alone on the baseline bundle (red).
|
||||
4. Install the already-pinned esbuild0.28.2 in this worktree's packages/webui
|
||||
with npm ci --ignore-scripts --no-audit --no-fund; no root install or lock edit.
|
||||
5. Build with the existing editor/build.mjs, then the whole new test file and
|
||||
existing editor, editor-browser and editor-provenance files, each singly.
|
||||
6. Kill the serializer-removal mutant, restore, rebuild, focused green.
|
||||
7. Commit only after the applicable checks, push only when Sage clears HTTPS
|
||||
Git, send Filbert and Mos the candidate SHA/hash manifest directly, cc Sage.
|
||||
8. After253 lands, new branch on its tip preserving all landed changes.
|
||||
9. Filbert and Sage's whole webui and scripts gate finish the row.
|
||||
|
||||
All runs wait for explicit Sage CLEAR. Gander's row253 run5 owns the slot.
|
||||
The whole suite gate and any unexpected failure use mos-0823's stop rule.
|
||||
|
||||
Proposed SESSIONS text for Sage's post-253 doc sweep (do not append here):
|
||||
2026-10-22 | Herb (gpt-6.1-sol, f6cf4287) | row214 C2-11a editor wikilinks authoring | On herb/row214 at aca16404c, authored baseline round-trip measurement, designs for equal/unequal results, inert inline node and regression tests under sage-2794/Q220. Claim, runs and pushes held while253 owns the slot; measurement and test results unavailable.
|
||||
|
||||
## Filbert static design/path review accepted, R1 and R2 required
|
||||
|
||||
Review at2026-10-22T16:43:35Z read dee9f3d8d's packet only, no product or
|
||||
runs. R1 is now in the plan: set MOSAIC_REQUIRE_EDITOR_BUILD=1 on focused
|
||||
provenance and whole webui runs, grep ^# skip plus TAP/spec skip directives,
|
||||
and name every skip. Missing/wrong pinned esbuild must fail, not skip.
|
||||
R2: baseline no-edit roundTrips are expected to pass. They test retention
|
||||
of raw bytes and are not red evidence for the node. Only the baseline
|
||||
same-block structural/edit regression is expected red.
|
||||
|
||||
Two added fixtures cover a reference-definition collision and an atom
|
||||
inside ordinary link text, taking the planned file to10 no-edit tests and
|
||||
3 browser tests. The explicit & exclusion preserves the existing escaped
|
||||
HTML/entity writer for dirty blocks; Q&A stays text and is a known limit.
|
||||
Measurement VM setup matches loadEditor. Browser TMPDIR must use the short
|
||||
non-/tmp scratch root. Sweep Node/Chromium after mutant/timeout and at clear.
|
||||
All remain authored and unrun while253 owns the slot.
|
||||
|
||||
Filbert follow-up at2026-10-22T16:45:34Z: the authored N3 browser fixture
|
||||
now explicitly asserts the separate reference-definition block ends in its
|
||||
original exact bytes after the same-block edit. This test change is unrun
|
||||
and uncommitted with the other product/test authoring, pending CLEAR.
|
||||
|
||||
## R2 restart on current refactor, sage-4164
|
||||
|
||||
New worktree: /home/jwoltje/.t3/worktrees/mosaic-stack/herb-row214-r2.
|
||||
Branch herb/row214-r2, base487500a16f4ab5902c318509fdec6acc56a543ca.
|
||||
Carried dee9f3d8d and e2710e92a as67ac3c25a andde42a59d4. Copied only
|
||||
Herb's local model, new editor test/helper, measure.mjs and pending BUILD
|
||||
note. The old worktree remains untouched. No stash or force push.
|
||||
|
||||
The current editor model/build/toolchain/BUILD.json/shipped bundle and
|
||||
loader are identical to the old base. Entry/view and package dependencies
|
||||
are unchanged. The current test fixture adds configDirectory:root; its
|
||||
landed change is retained. The C2-11a brief section is unchanged. The
|
||||
visual-mode condition now lives at public/bus.js:1054. No product behavior
|
||||
beyond the accepted inert inline node is added by the rebase.
|
||||
|
||||
Row266 overlap: none. Our paths do not touch chat*.mjs, chat.js or chat.css,
|
||||
and the intersection with origin/fethry/row266's actual diff is empty.
|
||||
HASH-PINS.json records that ref's SHA and merge base.
|
||||
|
||||
Hash audit: grepped packages/*/tests for each actual/planned changed file
|
||||
and filename, and scanned495 test/fixture files for literal prior SHA256
|
||||
or Git-blob pins. No such pins found. Existing editor-provenance checks
|
||||
read BUILD.json dynamically; regenerating it and the bundle is required.
|
||||
The loader and browser/route tests use editor.js but pin no source hash.
|
||||
No tests or pin asserts were weakened. The complete references and planned
|
||||
generated paths are in HASH-PINS.json.
|
||||
|
||||
Sage-4164 explicitly permits the unrun node/tests to be committed now. This
|
||||
supersedes the earlier packet's instruction to keep them uncommitted until
|
||||
green. Static authoring is not a tested candidate. SOURCE.json records its
|
||||
source hashes and the unbuilt generated-output status. The measurement now
|
||||
pins this current execution base, not the historical accepted-doc base.
|
||||
|
||||
No Node, npm, measurement, compiler, test, browser, Docker or mutant has
|
||||
run. Claim already succeeded at rev3234 on10-22; no new queue move is
|
||||
needed. Push authorization is only herb/row214-r2. Row257's landing gate
|
||||
and then266 own the slot; all execution remains held for Sage's CLEAR.
|
||||
|
||||
Planned focused grant: baseline measurement; the same-block structural
|
||||
red; pinned npm ci/build; whole editor-wikilink.test.mjs (10 no-edit tests
|
||||
with/without a final newline and3 browser tests), editor.test.mjs,
|
||||
editor-browser.test.mjs and editor-provenance.test.mjs singly; one
|
||||
serializer-removal mutant and restored focused green. Set
|
||||
MOSAIC_REQUIRE_EDITOR_BUILD=1 for provenance and the later whole webui
|
||||
gate. Capture all skip names, raw logs, short scratch TMPDIR and final
|
||||
Node/Chromium process sweep. Two failures stop a gate; no rerun after an
|
||||
out-of-row failure without reporting to Sage.
|
||||
|
||||
## Filbert R2 static B1 fixed before execution
|
||||
|
||||
Review at2026-10-24T17:14:55Z confirmed a defect in the authored invalid
|
||||
atom path: state.text alone lacks the text-node override's HTML/entity
|
||||
escaping. Factored that existing policy into escapedText and reused it for
|
||||
invalid atoms. Extended the test payload/assertions to cover both <img and
|
||||
©. Valid atom behavior is unchanged. Excluded backticks from atom
|
||||
recognition and added a text/code precedence fixture for N1.
|
||||
|
||||
Requested focused-grant addition: a second mutant that swaps only the
|
||||
invalid-atom escapedText call for vendored state.text, dropping the <&
|
||||
escape for this path. The existing malformed-attrs browser test must kill
|
||||
it. The original serializer-removal mutant is still required. No runs,
|
||||
checks, installation or rebuild have occurred; all remain held for CLEAR.
|
||||
|
||||
## Granted execution and candidate, sage-4286, 2026-10-24
|
||||
|
||||
Granted lane B until22:40Z. Ran on2ec3f5b5d's source in this worktree.
|
||||
Every child inherited TMPDIR=/mnt/storage/scratch/tmp/g49X, obtained by
|
||||
mktemp -d /mnt/storage/scratch/tmp/gXXX, never /tmp. Each command used
|
||||
`nice -n "$((19 - $(nice)))" timeout -k 10 ...` with pipefail and tee;
|
||||
raw logs record actual absolute nice19 and MOSAIC_REQUIRE_EDITOR_BUILD=1.
|
||||
Node test concurrency was1 for each focused whole file and2 for webui.
|
||||
|
||||
Measurement22:07:22Z: all10 baseline forms round-trip byte for byte. The
|
||||
JSON is copied unchanged to measurement.json. Adopted outcome A: no
|
||||
measured file falls to Source just because of its wikilink. The atom is
|
||||
proved by structure and same-block edits, not no-edit raw retention.
|
||||
Baseline structural case:0/1 expected red, no atom in old shipped bundle.
|
||||
|
||||
Pinned npm ci --ignore-scripts --no-audit --no-fund succeeded locally in
|
||||
packages/webui, then editor/build.mjs ran with esbuild0.28.2. The existing
|
||||
upstream sideEffects warning for mark.ts appeared; no vendored file changed.
|
||||
No package/lockfile change. Rebuild provenance ran and passed, not skipped.
|
||||
|
||||
| Whole file | Pass/fail | Wall seconds |
|
||||
| --- | ---: | ---: |
|
||||
| editor-wikilink.test.mjs | 13/0 | 2.348 |
|
||||
| editor.test.mjs | 5/0 | 2.053 |
|
||||
| editor-browser.test.mjs | 16/0 | 14.984 |
|
||||
| editor-provenance.test.mjs | 6/0 | 0.343 |
|
||||
|
||||
Two mutants, each independently restored and rebuilt: serializer removal
|
||||
failed the structural case0/1, restore1/0; invalid-path escapedText swapped
|
||||
for vendored state.text failed malformed attrs0/1, restore1/0. The model
|
||||
and generated outputs match their original good hashes after both.
|
||||
Post-mutant cwd/temp-root sweep0. Both failures are expected evidence.
|
||||
|
||||
Full webui: exactly69 files,455/0,0 skipped/cancelled,174.189s, ended
|
||||
22:12:48.880975Z. The log contains the required-build env and nice19.
|
||||
Skip scan for ^# skip, TAP # SKIP and spec skipped-test lines found none,
|
||||
so skip names are []. A preliminary command mistakenly selected7 files;
|
||||
its28/0 in17.787s is archived as webui-whole.log and explicitly NOT used
|
||||
as full gate evidence. The corrected69-file run is webui-69.log.
|
||||
|
||||
Final cwd/TMPDIR/argv sweep22:13:17.560692Z:0 processes. No owned Node or
|
||||
Chromium remains. Removed the private TMPDIR only after that zero sweep.
|
||||
Clear was sent to Sage as herb-0102 at22:13:46Z; no further execution.
|
||||
|
||||
Bundle SHA256 bd167899a551c70dc07e500fcdd1853d7fb710b23c217ba5b42daf5785c38a72.
|
||||
CSS SHA2568654ac57d1e7a561110138ecd7f701c34a074017ff8c4cd2768d8083908ee61f,
|
||||
byte-identical to2ec3f5b5d. BUILD.json outputs match those hashes. Source
|
||||
commit a530a60798bf48eb18bb9e225d099faf5c2975cf adds generated outputs and
|
||||
an append-only phase log; packet changes follow separately. No code or
|
||||
assertion changed after these results. The webui gate requirement is met
|
||||
on this tree; Filbert review and every scripts/test-*.sh remain pending.
|
||||
|
||||
Sage re-pinned the brief to case2-rows.md blob85e6fe2e under sage-4286;
|
||||
its C2-11a section is unchanged. No case1-accept file was in any run.
|
||||
@@ -0,0 +1,168 @@
|
||||
# C2-11a: an inert editor wikilink node
|
||||
|
||||
Base: aca16404c. Owner: Herb. Reviewer: Filbert. Issue: #1715.
|
||||
Authority: sage-2794, Q220/mos-1301. The assignment permits authoring the
|
||||
node and tests before the measurement slot. Runs, claim and pushes wait
|
||||
for Sage's CLEAR. After row253 lands, a new branch will carry the change
|
||||
onto its landing with every landed hunk retained.
|
||||
|
||||
## Measurement before choosing the explanation
|
||||
|
||||
Run agents/herb/work/queue-214/measure.mjs only on a granted slot. It loads
|
||||
aca16404c's editor.js and markdown-preview.js directly from local Git
|
||||
objects. It verifies the editor bundle hash against that base's BUILD.json.
|
||||
It cannot accidentally measure a candidate rebuild. Its JSON records the
|
||||
full baseline SHA, bundle hash, timestamp, input, output and equality for
|
||||
each fixture. The first five are the brief's plain, labelled, heading,
|
||||
list and front-matter cases; extra cases cover a heading block, combined
|
||||
heading/label, Unicode/spacing, adjacency and an inert embed. No result is
|
||||
available yet. Static reasoning is not a measurement.
|
||||
|
||||
Outcome A, every baseline round-trip is equal: record that wikilinks do
|
||||
not trigger Source fallback for the measured inputs. Do not claim that
|
||||
bug exists. The source's raw/sig cache explains why an unchanged block can
|
||||
keep its bytes even when its canonical serializer escapes brackets. Add
|
||||
the node for structured wikilinks and dirty-block preservation, as the
|
||||
brief requests. A baseline structural/edit regression must fail even if
|
||||
all unchanged-file checks pass.
|
||||
|
||||
Outcome B, one or more differ: record the exact differing bytes and affected
|
||||
contexts. Keep the existing Source fallback fail-closed. The node restores
|
||||
the required spellings where the block is structured. Retain the same
|
||||
no-edit and dirty-block regressions. If the mismatch comes from a separate
|
||||
block, line-ending or front-matter defect, report it before widening scope.
|
||||
|
||||
## Representation and conversion
|
||||
|
||||
The schema gains one inline atom, wikilink, with a single source attribute.
|
||||
Its source is the complete spelling, not reconstructed target/label parts.
|
||||
It has no href, navigation, fetch or click behavior. A span with data-source
|
||||
and a text child displays the spelling. Heading content includes the new
|
||||
atom; paragraphs, quotes and lists already accept inline content.
|
||||
|
||||
One markdown-it inline rule runs before ordinary links, after escapes and
|
||||
backticks. A sticky match reads a complete single-line [[...]] or ![[...]]
|
||||
without copying every suffix or crossing state.posMax. The node writer
|
||||
writes its validated spelling without bracket escaping, so editing adjacent
|
||||
text cannot rewrite a wikilink. Front matter remains a raw block. No new
|
||||
file-read, save, routing, documentPath or target-resolution behavior is added.
|
||||
|
||||
The accepted atom grammar excludes brackets within the body, line breaks,
|
||||
angle brackets and ampersands. This is an editor representation boundary,
|
||||
not a library resolver or a refusal to open such a file. Malformed,
|
||||
HTML/entity-like and code syntax stays under the existing text/raw rules.
|
||||
This preserves the existing escaping of HTML/entities when a block changes.
|
||||
DOM paste accepts only that same grammar. Invalid attributes constructed
|
||||
programmatically are flattened to one line and escaped by the text writer.
|
||||
No input string is parsed as HTML and embeds never load an image.
|
||||
|
||||
## Acceptance and review
|
||||
|
||||
The measurement JSON goes in BUILD.md and the final manifest packet.
|
||||
Ten fixture round-trips run with and without a final newline. A browser
|
||||
test inspects real ProseMirror atom types and attributes, edits the same
|
||||
block and reparses it, for each fixture. Two more browser tests cover
|
||||
code/escape/malformed/hostile syntax and DOM/programmatic-attribute safety.
|
||||
Tests use the existing fixture and Chromium harness and the shipped bundle.
|
||||
They do not export new production APIs just for testing.
|
||||
|
||||
Before rebuilding, run only the structural regression against the baseline
|
||||
bundle and observe it fail. Rebuild the candidate with the exact pinned
|
||||
esbuild0.28.2 binary, run the whole new test file, existing editor tests,
|
||||
editor browser tests and provenance test. Remove only the wikilink serializer
|
||||
handler for one mutant; the dirty-block assertion must fail. Restore, rebuild
|
||||
and rerun the focused regression. All execution needs Sage's CLEAR, including
|
||||
installation, checks, builds, browser tests and the measurement.
|
||||
|
||||
The checked-in bundle and editor/BUILD.json must be regenerated by the
|
||||
existing build script. No hand edits of generated JavaScript or provenance.
|
||||
The current shared esbuild is0.28.1 and the local webui install is absent.
|
||||
A granted npm ci --ignore-scripts --no-audit --no-fund in packages/webui is
|
||||
needed before building; the root node_modules remains its plain symlink.
|
||||
No dependency or lockfile change is planned.
|
||||
|
||||
Final gate: Filbert approves the manifest, then the whole webui suite and
|
||||
every scripts/test-*.sh on Sage's slot. Two failures stop a gate. A failure
|
||||
outside this row is reported to Sage before any rerun. Source, generated
|
||||
output, mode/hash manifest and raw granted logs identify the candidate.
|
||||
|
||||
## Static review follow-through (Filbert, 2026-10-22T16:43:35Z)
|
||||
|
||||
R1: the focused editor-provenance run and Sage's whole webui gate must set
|
||||
MOSAIC_REQUIRE_EDITOR_BUILD=1. A missing, wrong-version or unpinned binary
|
||||
then fails. Check every log for ^# skip, as well as TAP # SKIP directives
|
||||
and the spec reporter's skipped-test lines; record each skipped name and
|
||||
reason. A skipped rebuild is not proof of bundle reproducibility. The CSS
|
||||
output must stay byte-identical and match BUILD.json.
|
||||
|
||||
R2: no-edit roundTrip checks are expected to pass on the baseline because
|
||||
parse sets sig=canonical and an unchanged serialise returns lead+raw. Their
|
||||
green result is compatibility evidence, never evidence that the atom was
|
||||
needed or installed. The same-block edit/structural regression is the red
|
||||
that proves the new node. The required measurement still runs and is kept.
|
||||
|
||||
N1: bus.js checks visual mode at949 on this base and also requires
|
||||
MosaicMarkdown. The measurement uses the existing helper's bare-window VM
|
||||
shape, markdown-preview.js first, then editor.js, both from pinned Git blobs.
|
||||
|
||||
N2: the exclusion of & and angle brackets is deliberate: the existing
|
||||
text serializer escapes entities/HTML when it rewrites a block for another
|
||||
renderer. An atom's verbatim writer must not bypass that rule, including
|
||||
for pasted/programmatic values. This keeps those targets as ordinary text;
|
||||
[[Q&A]] will still be escaped if its own block changes. It is a known
|
||||
representation limit beyond the five brief cases, not a resolver change.
|
||||
It is included among the text-only cases. Unedited bytes remain intact.
|
||||
|
||||
N3: the reference-definition fixture [[a]] with [a]: u deliberately becomes
|
||||
one inert wikilink rather than a bracket around a reference link. Literal
|
||||
spelling and the separate definition block remain intact.
|
||||
|
||||
N4: [x [[a]]](u) is an explicit fixture. The atom inherits the enclosing
|
||||
ordinary link mark, whose existing target gate still applies. The atom
|
||||
itself supplies no href or new click behavior; the fixture checks its
|
||||
structure and spelling before/after a same-block edit.
|
||||
|
||||
N6: every granted browser/test process gets TMPDIR from
|
||||
mktemp -d /mnt/storage/scratch/tmp/gXXX. Never /tmp. Sweep owned Chromium
|
||||
and Node processes by cwd and the temp-root path after the mutant, after
|
||||
any timeout, and before clearing the slot. Retain/report uncertain owners.
|
||||
|
||||
## R2 current-base check, sage-4164 (2026-10-24)
|
||||
|
||||
The execution base is now487500a16, on herb/row214-r2, not the historical
|
||||
aca16404c above. The two accepted document commits were cherry-picked
|
||||
cleanly. The model, build script, toolchain, BUILD.json, editor.js, view,
|
||||
entry and editor test loader are byte-identical between those bases. The
|
||||
current fixture's new configDirectory isolation is retained; it is not
|
||||
copied from the old worktree. The visual-mode check is now bus.js:1054.
|
||||
The current C2-11a brief section is unchanged. Row266's chat modules,
|
||||
public/chat.js and public/chat.css are outside this row, with no overlap.
|
||||
|
||||
measure.mjs now pins487500a16's Git objects and BUILD.json. The baseline
|
||||
bundle still lacks the atom, and the first executed structural regression
|
||||
will use it before any rebuild. The required measurement, red/green, pinned
|
||||
rebuild, mutant kill and full gate remain unrun and required. Runtime
|
||||
validation is not inferred from the unchanged source or this static check.
|
||||
|
||||
Sage-4164 explicitly authorizes committing the preserved local node/tests
|
||||
on the new branch before execution. The authored source commit is static
|
||||
work, not a green candidate. No Node, npm, rebuild or browser starts until
|
||||
Sage sends CLEAR. HASH-PINS.json records the test-tree audit and row266
|
||||
intersection. The gate still requires MOSAIC_REQUIRE_EDITOR_BUILD=1, a
|
||||
named skip list, whole webui and every scripts/test-*.sh.
|
||||
|
||||
## R2 static follow-up, Filbert B1/N1 (2026-10-24T17:14:55Z)
|
||||
|
||||
B1: state.text(..., true) escapes Markdown punctuation, not HTML/entities.
|
||||
The invalid-atom writer now calls the same escapedText helper as ordinary
|
||||
text nodes, including the <& step. Valid atoms still preserve their source
|
||||
verbatim. The malformed-attribute regression now asserts both an escaped
|
||||
<img and an escaped ©, plus flattened line breaks. A second mutant
|
||||
will replace only the invalid atom's escapedText call with state.text,
|
||||
leaving normal text escaping intact; this browser regression must kill it.
|
||||
This additional mutant needs Sage's grant alongside the serializer-removal
|
||||
mutant. No runtime result is claimed for either.
|
||||
|
||||
N1: backticks are excluded from the atom body, preserving code-span
|
||||
precedence. The text-only fixture includes [[a`]]` and must produce no
|
||||
wikilink atom. All other malformed/HTML/entity boundaries remain as before.
|
||||
@@ -0,0 +1,572 @@
|
||||
{
|
||||
"grant": "sage-4286",
|
||||
"candidateBeforeBuild": "2ec3f5b5ddab0cb5f2716f8164c25861b741213e",
|
||||
"nice": 19,
|
||||
"tmpRoot": "/mnt/storage/scratch/tmp/g49X",
|
||||
"requireEditorBuild": "1",
|
||||
"measurement": {
|
||||
"base": "487500a16f4ab5902c318509fdec6acc56a543ca",
|
||||
"bundleSha256": "9c881b13740fae2408717ad75fa1d85bfcfe3fa8b3af0f1b3f2e706c90e80fee",
|
||||
"measuredAt": "2026-10-24T22:07:22.210Z",
|
||||
"allEqual": true,
|
||||
"results": [
|
||||
{
|
||||
"name": "plain",
|
||||
"input": "[[a]]\n",
|
||||
"output": "[[a]]\n",
|
||||
"equal": true
|
||||
},
|
||||
{
|
||||
"name": "labelled",
|
||||
"input": "[[a|b]]\n",
|
||||
"output": "[[a|b]]\n",
|
||||
"equal": true
|
||||
},
|
||||
{
|
||||
"name": "heading target",
|
||||
"input": "[[a#h]]\n",
|
||||
"output": "[[a#h]]\n",
|
||||
"equal": true
|
||||
},
|
||||
{
|
||||
"name": "list item",
|
||||
"input": "- [[a]]\n",
|
||||
"output": "- [[a]]\n",
|
||||
"equal": true
|
||||
},
|
||||
{
|
||||
"name": "next to front matter",
|
||||
"input": "---\nrelated: \"[[metadata]]\"\n---\n\n[[a]]\n",
|
||||
"output": "---\nrelated: \"[[metadata]]\"\n---\n\n[[a]]\n",
|
||||
"equal": true
|
||||
},
|
||||
{
|
||||
"name": "heading block and combined label",
|
||||
"input": "# See [[a#h|Title]]\n",
|
||||
"output": "# See [[a#h|Title]]\n",
|
||||
"equal": true
|
||||
},
|
||||
{
|
||||
"name": "spaces, Unicode and adjacent links",
|
||||
"input": "See [[ H\u00e9llo there # A heading | a label ]][[next]]\n",
|
||||
"output": "See [[ H\u00e9llo there # A heading | a label ]][[next]]\n",
|
||||
"equal": true
|
||||
},
|
||||
{
|
||||
"name": "reference-definition collision",
|
||||
"input": "[[a]]\n\n[a]: u\n",
|
||||
"output": "[[a]]\n\n[a]: u\n",
|
||||
"equal": true
|
||||
},
|
||||
{
|
||||
"name": "inside an ordinary link",
|
||||
"input": "[x [[a]]](u)\n",
|
||||
"output": "[x [[a]]](u)\n",
|
||||
"equal": true
|
||||
},
|
||||
{
|
||||
"name": "inert embed",
|
||||
"input": "![[cover.png]]\n",
|
||||
"output": "![[cover.png]]\n",
|
||||
"equal": true
|
||||
}
|
||||
]
|
||||
},
|
||||
"results": [
|
||||
{
|
||||
"name": "measurement",
|
||||
"argv": [
|
||||
"node",
|
||||
"agents/herb/work/queue-214/measure.mjs"
|
||||
],
|
||||
"cwd": "/home/jwoltje/.t3/worktrees/mosaic-stack/herb-row214-r2",
|
||||
"rc": 0,
|
||||
"wallSeconds": 0.093,
|
||||
"counts": {},
|
||||
"nice": 19,
|
||||
"tmpRoot": "/mnt/storage/scratch/tmp/g49X",
|
||||
"requireEditorBuild": "1",
|
||||
"timeoutSeconds": 60,
|
||||
"ended": "2026-10-24T22:07:22.215700+00:00"
|
||||
},
|
||||
{
|
||||
"name": "baseline-red",
|
||||
"argv": [
|
||||
"node",
|
||||
"--test",
|
||||
"--test-concurrency=1",
|
||||
"--test-name-pattern=wikilinks are inline atoms and survive",
|
||||
"packages/webui/tests/editor-wikilink.test.mjs"
|
||||
],
|
||||
"cwd": "/home/jwoltje/.t3/worktrees/mosaic-stack/herb-row214-r2",
|
||||
"rc": 1,
|
||||
"wallSeconds": 1.151,
|
||||
"counts": {
|
||||
"tests": 1,
|
||||
"pass": 0,
|
||||
"fail": 1,
|
||||
"cancelled": 0,
|
||||
"skipped": 0
|
||||
},
|
||||
"nice": 19,
|
||||
"tmpRoot": "/mnt/storage/scratch/tmp/g49X",
|
||||
"requireEditorBuild": "1",
|
||||
"timeoutSeconds": 180,
|
||||
"ended": "2026-10-24T22:07:27.998436+00:00"
|
||||
},
|
||||
{
|
||||
"name": "npm-ci",
|
||||
"argv": [
|
||||
"npm",
|
||||
"ci",
|
||||
"--ignore-scripts",
|
||||
"--no-audit",
|
||||
"--no-fund"
|
||||
],
|
||||
"cwd": "/home/jwoltje/.t3/worktrees/mosaic-stack/herb-row214-r2/packages/webui",
|
||||
"rc": 0,
|
||||
"wallSeconds": 0.514,
|
||||
"counts": {},
|
||||
"nice": 19,
|
||||
"tmpRoot": "/mnt/storage/scratch/tmp/g49X",
|
||||
"requireEditorBuild": "1",
|
||||
"timeoutSeconds": 240,
|
||||
"ended": "2026-10-24T22:07:41.534116+00:00"
|
||||
},
|
||||
{
|
||||
"name": "build",
|
||||
"argv": [
|
||||
"node",
|
||||
"editor/build.mjs"
|
||||
],
|
||||
"cwd": "/home/jwoltje/.t3/worktrees/mosaic-stack/herb-row214-r2/packages/webui",
|
||||
"rc": 0,
|
||||
"wallSeconds": 0.108,
|
||||
"counts": {},
|
||||
"nice": 19,
|
||||
"tmpRoot": "/mnt/storage/scratch/tmp/g49X",
|
||||
"requireEditorBuild": "1",
|
||||
"timeoutSeconds": 120,
|
||||
"ended": "2026-10-24T22:07:44.654385+00:00"
|
||||
},
|
||||
{
|
||||
"name": "wikilink-green",
|
||||
"argv": [
|
||||
"node",
|
||||
"--test",
|
||||
"--test-concurrency=1",
|
||||
"packages/webui/tests/editor-wikilink.test.mjs"
|
||||
],
|
||||
"cwd": "/home/jwoltje/.t3/worktrees/mosaic-stack/herb-row214-r2",
|
||||
"rc": 0,
|
||||
"wallSeconds": 2.348,
|
||||
"counts": {
|
||||
"tests": 13,
|
||||
"pass": 13,
|
||||
"fail": 0,
|
||||
"cancelled": 0,
|
||||
"skipped": 0
|
||||
},
|
||||
"nice": 19,
|
||||
"tmpRoot": "/mnt/storage/scratch/tmp/g49X",
|
||||
"requireEditorBuild": "1",
|
||||
"timeoutSeconds": 180,
|
||||
"ended": "2026-10-24T22:07:52.583345+00:00"
|
||||
},
|
||||
{
|
||||
"name": "editor-green",
|
||||
"argv": [
|
||||
"node",
|
||||
"--test",
|
||||
"--test-concurrency=1",
|
||||
"packages/webui/tests/editor.test.mjs"
|
||||
],
|
||||
"cwd": "/home/jwoltje/.t3/worktrees/mosaic-stack/herb-row214-r2",
|
||||
"rc": 0,
|
||||
"wallSeconds": 2.053,
|
||||
"counts": {
|
||||
"tests": 5,
|
||||
"pass": 5,
|
||||
"fail": 0,
|
||||
"cancelled": 0,
|
||||
"skipped": 0
|
||||
},
|
||||
"nice": 19,
|
||||
"tmpRoot": "/mnt/storage/scratch/tmp/g49X",
|
||||
"requireEditorBuild": "1",
|
||||
"timeoutSeconds": 240,
|
||||
"ended": "2026-10-24T22:07:59.286086+00:00"
|
||||
},
|
||||
{
|
||||
"name": "editor-browser-green",
|
||||
"argv": [
|
||||
"node",
|
||||
"--test",
|
||||
"--test-concurrency=1",
|
||||
"packages/webui/tests/editor-browser.test.mjs"
|
||||
],
|
||||
"cwd": "/home/jwoltje/.t3/worktrees/mosaic-stack/herb-row214-r2",
|
||||
"rc": 0,
|
||||
"wallSeconds": 14.984,
|
||||
"counts": {
|
||||
"tests": 16,
|
||||
"pass": 16,
|
||||
"fail": 0,
|
||||
"cancelled": 0,
|
||||
"skipped": 0
|
||||
},
|
||||
"nice": 19,
|
||||
"tmpRoot": "/mnt/storage/scratch/tmp/g49X",
|
||||
"requireEditorBuild": "1",
|
||||
"timeoutSeconds": 240,
|
||||
"ended": "2026-10-24T22:08:20.029050+00:00"
|
||||
},
|
||||
{
|
||||
"name": "provenance-green",
|
||||
"argv": [
|
||||
"node",
|
||||
"--test",
|
||||
"--test-concurrency=1",
|
||||
"packages/webui/tests/editor-provenance.test.mjs"
|
||||
],
|
||||
"cwd": "/home/jwoltje/.t3/worktrees/mosaic-stack/herb-row214-r2",
|
||||
"rc": 0,
|
||||
"wallSeconds": 0.343,
|
||||
"counts": {
|
||||
"tests": 6,
|
||||
"pass": 6,
|
||||
"fail": 0,
|
||||
"cancelled": 0,
|
||||
"skipped": 0
|
||||
},
|
||||
"nice": 19,
|
||||
"tmpRoot": "/mnt/storage/scratch/tmp/g49X",
|
||||
"requireEditorBuild": "1",
|
||||
"timeoutSeconds": 180,
|
||||
"ended": "2026-10-24T22:08:39.003420+00:00"
|
||||
},
|
||||
{
|
||||
"name": "serializer-removal-build",
|
||||
"argv": [
|
||||
"node",
|
||||
"editor/build.mjs"
|
||||
],
|
||||
"cwd": "/home/jwoltje/.t3/worktrees/mosaic-stack/herb-row214-r2/packages/webui",
|
||||
"rc": 0,
|
||||
"wallSeconds": 0.093,
|
||||
"counts": {},
|
||||
"nice": 19,
|
||||
"tmpRoot": "/mnt/storage/scratch/tmp/g49X",
|
||||
"requireEditorBuild": "1",
|
||||
"timeoutSeconds": 90,
|
||||
"ended": "2026-10-24T22:08:51.422097+00:00"
|
||||
},
|
||||
{
|
||||
"name": "serializer-removal-red",
|
||||
"argv": [
|
||||
"node",
|
||||
"--test",
|
||||
"--test-concurrency=1",
|
||||
"--test-name-pattern=wikilinks are inline atoms and survive",
|
||||
"packages/webui/tests/editor-wikilink.test.mjs"
|
||||
],
|
||||
"cwd": "/home/jwoltje/.t3/worktrees/mosaic-stack/herb-row214-r2",
|
||||
"rc": 1,
|
||||
"wallSeconds": 0.887,
|
||||
"counts": {
|
||||
"tests": 1,
|
||||
"pass": 0,
|
||||
"fail": 1,
|
||||
"cancelled": 0,
|
||||
"skipped": 0
|
||||
},
|
||||
"nice": 19,
|
||||
"tmpRoot": "/mnt/storage/scratch/tmp/g49X",
|
||||
"requireEditorBuild": "1",
|
||||
"timeoutSeconds": 180,
|
||||
"ended": "2026-10-24T22:08:52.340936+00:00"
|
||||
},
|
||||
{
|
||||
"name": "serializer-removal-restore-build",
|
||||
"argv": [
|
||||
"node",
|
||||
"editor/build.mjs"
|
||||
],
|
||||
"cwd": "/home/jwoltje/.t3/worktrees/mosaic-stack/herb-row214-r2/packages/webui",
|
||||
"rc": 0,
|
||||
"wallSeconds": 0.115,
|
||||
"counts": {},
|
||||
"nice": 19,
|
||||
"tmpRoot": "/mnt/storage/scratch/tmp/g49X",
|
||||
"requireEditorBuild": "1",
|
||||
"timeoutSeconds": 90,
|
||||
"ended": "2026-10-24T22:08:52.498613+00:00"
|
||||
},
|
||||
{
|
||||
"name": "serializer-removal-restore-green",
|
||||
"argv": [
|
||||
"node",
|
||||
"--test",
|
||||
"--test-concurrency=1",
|
||||
"--test-name-pattern=wikilinks are inline atoms and survive",
|
||||
"packages/webui/tests/editor-wikilink.test.mjs"
|
||||
],
|
||||
"cwd": "/home/jwoltje/.t3/worktrees/mosaic-stack/herb-row214-r2",
|
||||
"rc": 0,
|
||||
"wallSeconds": 0.979,
|
||||
"counts": {
|
||||
"tests": 1,
|
||||
"pass": 1,
|
||||
"fail": 0,
|
||||
"cancelled": 0,
|
||||
"skipped": 0
|
||||
},
|
||||
"nice": 19,
|
||||
"tmpRoot": "/mnt/storage/scratch/tmp/g49X",
|
||||
"requireEditorBuild": "1",
|
||||
"timeoutSeconds": 180,
|
||||
"ended": "2026-10-24T22:08:53.514962+00:00"
|
||||
},
|
||||
{
|
||||
"name": "invalid-escaping-build",
|
||||
"argv": [
|
||||
"node",
|
||||
"editor/build.mjs"
|
||||
],
|
||||
"cwd": "/home/jwoltje/.t3/worktrees/mosaic-stack/herb-row214-r2/packages/webui",
|
||||
"rc": 0,
|
||||
"wallSeconds": 0.102,
|
||||
"counts": {},
|
||||
"nice": 19,
|
||||
"tmpRoot": "/mnt/storage/scratch/tmp/g49X",
|
||||
"requireEditorBuild": "1",
|
||||
"timeoutSeconds": 90,
|
||||
"ended": "2026-10-24T22:08:53.655583+00:00"
|
||||
},
|
||||
{
|
||||
"name": "invalid-escaping-red",
|
||||
"argv": [
|
||||
"node",
|
||||
"--test",
|
||||
"--test-concurrency=1",
|
||||
"--test-name-pattern=wikilink DOM paste accepts",
|
||||
"packages/webui/tests/editor-wikilink.test.mjs"
|
||||
],
|
||||
"cwd": "/home/jwoltje/.t3/worktrees/mosaic-stack/herb-row214-r2",
|
||||
"rc": 1,
|
||||
"wallSeconds": 0.979,
|
||||
"counts": {
|
||||
"tests": 1,
|
||||
"pass": 0,
|
||||
"fail": 1,
|
||||
"cancelled": 0,
|
||||
"skipped": 0
|
||||
},
|
||||
"nice": 19,
|
||||
"tmpRoot": "/mnt/storage/scratch/tmp/g49X",
|
||||
"requireEditorBuild": "1",
|
||||
"timeoutSeconds": 180,
|
||||
"ended": "2026-10-24T22:08:54.668225+00:00"
|
||||
},
|
||||
{
|
||||
"name": "invalid-escaping-restore-build",
|
||||
"argv": [
|
||||
"node",
|
||||
"editor/build.mjs"
|
||||
],
|
||||
"cwd": "/home/jwoltje/.t3/worktrees/mosaic-stack/herb-row214-r2/packages/webui",
|
||||
"rc": 0,
|
||||
"wallSeconds": 0.105,
|
||||
"counts": {},
|
||||
"nice": 19,
|
||||
"tmpRoot": "/mnt/storage/scratch/tmp/g49X",
|
||||
"requireEditorBuild": "1",
|
||||
"timeoutSeconds": 90,
|
||||
"ended": "2026-10-24T22:08:54.809629+00:00"
|
||||
},
|
||||
{
|
||||
"name": "invalid-escaping-restore-green",
|
||||
"argv": [
|
||||
"node",
|
||||
"--test",
|
||||
"--test-concurrency=1",
|
||||
"--test-name-pattern=wikilink DOM paste accepts",
|
||||
"packages/webui/tests/editor-wikilink.test.mjs"
|
||||
],
|
||||
"cwd": "/home/jwoltje/.t3/worktrees/mosaic-stack/herb-row214-r2",
|
||||
"rc": 0,
|
||||
"wallSeconds": 0.985,
|
||||
"counts": {
|
||||
"tests": 1,
|
||||
"pass": 1,
|
||||
"fail": 0,
|
||||
"cancelled": 0,
|
||||
"skipped": 0
|
||||
},
|
||||
"nice": 19,
|
||||
"tmpRoot": "/mnt/storage/scratch/tmp/g49X",
|
||||
"requireEditorBuild": "1",
|
||||
"timeoutSeconds": 180,
|
||||
"ended": "2026-10-24T22:08:55.831793+00:00"
|
||||
},
|
||||
{
|
||||
"name": "webui-whole",
|
||||
"argv": [
|
||||
"node",
|
||||
"--test",
|
||||
"--test-concurrency=2",
|
||||
"tests/agents-browser.test.mjs",
|
||||
"tests/agents.test.mjs",
|
||||
"tests/board-held.test.mjs",
|
||||
"tests/browser-edge.test.mjs",
|
||||
"tests/browser.test.mjs",
|
||||
"tests/bus-browser.test.mjs",
|
||||
"tests/bus.test.mjs"
|
||||
],
|
||||
"cwd": "/home/jwoltje/.t3/worktrees/mosaic-stack/herb-row214-r2/packages/webui",
|
||||
"rc": 0,
|
||||
"wallSeconds": 17.787,
|
||||
"counts": {
|
||||
"tests": 28,
|
||||
"pass": 28,
|
||||
"fail": 0,
|
||||
"cancelled": 0,
|
||||
"skipped": 0
|
||||
},
|
||||
"nice": 19,
|
||||
"tmpRoot": "/mnt/storage/scratch/tmp/g49X",
|
||||
"requireEditorBuild": "1",
|
||||
"timeoutSeconds": 600,
|
||||
"ended": "2026-10-24T22:09:39.039897+00:00"
|
||||
},
|
||||
{
|
||||
"name": "webui-69",
|
||||
"argv": [
|
||||
"node",
|
||||
"--test",
|
||||
"--test-concurrency=2",
|
||||
"tests/agents-browser.test.mjs",
|
||||
"tests/agents.test.mjs",
|
||||
"tests/assistant.test.mjs",
|
||||
"tests/board-held.test.mjs",
|
||||
"tests/browser-edge.test.mjs",
|
||||
"tests/browser.test.mjs",
|
||||
"tests/bus-browser.test.mjs",
|
||||
"tests/bus.test.mjs",
|
||||
"tests/channel-chat.test.mjs",
|
||||
"tests/chat-browser.test.mjs",
|
||||
"tests/chat-instances.test.mjs",
|
||||
"tests/chat-replies-browser.test.mjs",
|
||||
"tests/chat-sessions-access.test.mjs",
|
||||
"tests/chat.test.mjs",
|
||||
"tests/conversation.test.mjs",
|
||||
"tests/decide-browser.test.mjs",
|
||||
"tests/decide-sso.test.mjs",
|
||||
"tests/decision-http.test.mjs",
|
||||
"tests/discord.test.mjs",
|
||||
"tests/docs-browser.test.mjs",
|
||||
"tests/editor-browser.test.mjs",
|
||||
"tests/editor-provenance.test.mjs",
|
||||
"tests/editor-wikilink.test.mjs",
|
||||
"tests/editor.test.mjs",
|
||||
"tests/granted-user.test.mjs",
|
||||
"tests/history-return-flow.test.mjs",
|
||||
"tests/instances-browser.test.mjs",
|
||||
"tests/instances.test.mjs",
|
||||
"tests/library-cli.test.mjs",
|
||||
"tests/library-routes.test.mjs",
|
||||
"tests/library-status.test.mjs",
|
||||
"tests/limits-browser.test.mjs",
|
||||
"tests/limits-route.test.mjs",
|
||||
"tests/markdown-preview.test.mjs",
|
||||
"tests/messages.test.mjs",
|
||||
"tests/pinned-copy.test.mjs",
|
||||
"tests/preview.test.mjs",
|
||||
"tests/processing-browser.test.mjs",
|
||||
"tests/processing-ui.test.mjs",
|
||||
"tests/processing.test.mjs",
|
||||
"tests/project-file.test.mjs",
|
||||
"tests/project-name-repo.test.mjs",
|
||||
"tests/proof-cli.test.mjs",
|
||||
"tests/proof.test.mjs",
|
||||
"tests/reads.test.mjs",
|
||||
"tests/relaunch.test.mjs",
|
||||
"tests/return-flow.test.mjs",
|
||||
"tests/routes-browser.test.mjs",
|
||||
"tests/routes.test.mjs",
|
||||
"tests/send-browser.test.mjs",
|
||||
"tests/send.test.mjs",
|
||||
"tests/serve.test.mjs",
|
||||
"tests/service.test.mjs",
|
||||
"tests/settings-form.test.mjs",
|
||||
"tests/settings-write.test.mjs",
|
||||
"tests/shell.test.mjs",
|
||||
"tests/sso-browser.test.mjs",
|
||||
"tests/sso.test.mjs",
|
||||
"tests/tester-browser.test.mjs",
|
||||
"tests/tester-cli.test.mjs",
|
||||
"tests/tester-listener.test.mjs",
|
||||
"tests/tester-socket.test.mjs",
|
||||
"tests/thread-claims-browser.test.mjs",
|
||||
"tests/thread-claims.test.mjs",
|
||||
"tests/thread-sharing.test.mjs",
|
||||
"tests/usage-browser.test.mjs",
|
||||
"tests/usage.test.mjs",
|
||||
"tests/user-option-swap.test.mjs",
|
||||
"tests/views.test.mjs"
|
||||
],
|
||||
"cwd": "/home/jwoltje/.t3/worktrees/mosaic-stack/herb-row214-r2/packages/webui",
|
||||
"rc": 0,
|
||||
"wallSeconds": 174.189,
|
||||
"counts": {
|
||||
"tests": 455,
|
||||
"pass": 455,
|
||||
"fail": 0,
|
||||
"cancelled": 0,
|
||||
"skipped": 0
|
||||
},
|
||||
"nice": 19,
|
||||
"tmpRoot": "/mnt/storage/scratch/tmp/g49X",
|
||||
"requireEditorBuild": "1",
|
||||
"timeoutSeconds": 600,
|
||||
"ended": "2026-10-24T22:12:48.880975+00:00"
|
||||
}
|
||||
],
|
||||
"mutants": [
|
||||
{
|
||||
"name": "serializer-removal",
|
||||
"killed": true,
|
||||
"restored": true,
|
||||
"restoredHashesEqual": true
|
||||
},
|
||||
{
|
||||
"name": "invalid-escaping",
|
||||
"killed": true,
|
||||
"restored": true,
|
||||
"restoredHashesEqual": true
|
||||
}
|
||||
],
|
||||
"skipNames": [],
|
||||
"sweep": {
|
||||
"at": "2026-10-24T22:13:17.560692+00:00",
|
||||
"count": 0,
|
||||
"processes": []
|
||||
},
|
||||
"generated": {
|
||||
"src/public/editor.js": {
|
||||
"sha256": "bd167899a551c70dc07e500fcdd1853d7fb710b23c217ba5b42daf5785c38a72",
|
||||
"bytes": 759959
|
||||
},
|
||||
"src/public/editor.css": {
|
||||
"sha256": "8654ac57d1e7a561110138ecd7f701c34a074017ff8c4cd2768d8083908ee61f",
|
||||
"bytes": 4462
|
||||
}
|
||||
},
|
||||
"unchangedCss": true,
|
||||
"modelRestored": true,
|
||||
"notes": [
|
||||
"webui-whole was an accidental seven-file subset, 28/0, not gate evidence; superseded by webui-69 455/0",
|
||||
"no scripts/test-*.sh ran in this grant; later gate remains pending"
|
||||
],
|
||||
"tmpRemoved": true
|
||||
}
|
||||
@@ -0,0 +1,323 @@
|
||||
{
|
||||
"base": "487500a16f4ab5902c318509fdec6acc56a543ca",
|
||||
"testFilesScanned": 495,
|
||||
"plannedPaths": [
|
||||
"packages/webui/editor/model.mjs",
|
||||
"packages/webui/tests/editor-wikilink.test.mjs",
|
||||
"packages/webui/tests/helpers/wikilink-cases.mjs",
|
||||
"agents/herb/work/queue-214/measure.mjs",
|
||||
"agents/herb/work/queue-214/DESIGN.md",
|
||||
"agents/herb/work/queue-214/MANIFEST.md",
|
||||
"agents/herb/work/queue-214/BUILD.md",
|
||||
"packages/webui/src/public/editor.js",
|
||||
"packages/webui/editor/BUILD.json",
|
||||
"agents/herb/work/queue-214/HASH-PINS.json"
|
||||
],
|
||||
"literalPriorBlobPins": [],
|
||||
"pathReferences": [
|
||||
{
|
||||
"test": "packages/webui/tests/editor-wikilink.test.mjs",
|
||||
"line": 6,
|
||||
"text": "import { WIKILINK_CASES } from './helpers/wikilink-cases.mjs';"
|
||||
},
|
||||
{
|
||||
"test": "packages/webui/tests/browser.test.mjs",
|
||||
"line": 21,
|
||||
"text": "// Rows 129, 154, 191, 194 and 294: chat.js, editor.js, processing.js, agents.js and federation.js are the scripts added, same origin; the list is the pin, so another script is a visible change."
|
||||
},
|
||||
{
|
||||
"test": "packages/webui/tests/browser.test.mjs",
|
||||
"line": 22,
|
||||
"text": "assert.deepEqual(await b.evaluate('[...document.querySelectorAll(\"script\")].map(s => s.getAttribute(\"src\"))'), ['/editor.js', '/processing.js', '/federation.js', '/brand.js', '/app.js', '/markdown-preview.js', '/chat.js', '/agents.js', '/bus.js']);"
|
||||
},
|
||||
{
|
||||
"test": "packages/webui/tests/sso.test.mjs",
|
||||
"line": 1,
|
||||
"text": "// Q175 phase 1 (#1690, design agents/sage/work/q175-sso/DESIGN.md section 9): the Console as an"
|
||||
},
|
||||
{
|
||||
"test": "packages/webui/tests/user-option-swap.test.mjs",
|
||||
"line": 133,
|
||||
"text": "['GET', '/app.js'], ['GET', '/bus.js'], ['GET', '/agents.js'], ['GET', '/editor.js'], ['GET', '/shared/app.css'], ['GET', '/index.html'],"
|
||||
},
|
||||
{
|
||||
"test": "packages/webui/tests/serve.test.mjs",
|
||||
"line": 38,
|
||||
"text": "for (const path of ['/', '/app.js', '/brand.js', '/console.css', '/live.css', '/editor.js', '/editor.css', '/shared/app.css', '/assets/fonts/manrope-400.woff2']) {"
|
||||
},
|
||||
{
|
||||
"test": "packages/webui/tests/editor-provenance.test.mjs",
|
||||
"line": 18,
|
||||
"text": "const build = JSON.parse(readFileSync(join(webui, 'editor/BUILD.json'), 'utf8'));"
|
||||
},
|
||||
{
|
||||
"test": "packages/webui/tests/editor-provenance.test.mjs",
|
||||
"line": 92,
|
||||
"text": "const bundle = readFileSync(join(webui, 'src/public/editor.js'), 'utf8');"
|
||||
},
|
||||
{
|
||||
"test": "packages/webui/tests/editor-provenance.test.mjs",
|
||||
"line": 167,
|
||||
"text": "const info = await run(out, join(out, 'BUILD.json'));"
|
||||
},
|
||||
{
|
||||
"test": "packages/webui/tests/editor-provenance.test.mjs",
|
||||
"line": 171,
|
||||
"text": "assert.equal(readFileSync(join(out, 'BUILD.json'), 'utf8'), readFileSync(join(webui, 'editor/BUILD.json'), 'utf8'));"
|
||||
},
|
||||
{
|
||||
"test": "packages/webui/tests/editor-browser.test.mjs",
|
||||
"line": 103,
|
||||
"text": "assert.equal(await h.q('typeof window.MosaicEditor.mount'), 'function', 'editor.js ran under script-src self');"
|
||||
},
|
||||
{
|
||||
"test": "packages/webui/tests/editor-browser.test.mjs",
|
||||
"line": 423,
|
||||
"text": "// (The editor's own reading of a file can give a single line break in a title or alt, never a blank line; see BUILD.md.)"
|
||||
},
|
||||
{
|
||||
"test": "packages/webui/tests/granted-user.test.mjs",
|
||||
"line": 231,
|
||||
"text": "['GET', '/app.js'], ['GET', '/bus.js'], ['GET', '/agents.js'], ['GET', '/editor.js'], ['GET', '/shared/app.css'], ['GET', '/index.html'],"
|
||||
},
|
||||
{
|
||||
"test": "packages/webui/tests/editor.test.mjs",
|
||||
"line": 20,
|
||||
"text": "for (const [path, type] of [['/editor.js', 'text/javascript'], ['/editor.css', 'text/css']]) {"
|
||||
},
|
||||
{
|
||||
"test": "packages/webui/tests/editor.test.mjs",
|
||||
"line": 29,
|
||||
"text": "assert.ok(index.indexOf('src=\"/editor.js\"') < index.indexOf('src=\"/bus.js\"'), 'the editor loads before the page script, so bus.js can mount it');"
|
||||
},
|
||||
{
|
||||
"test": "packages/webui/tests/editor.test.mjs",
|
||||
"line": 60,
|
||||
"text": "for (const file of ['entry.mjs', 'model.mjs', 'view.mjs']) {"
|
||||
},
|
||||
{
|
||||
"test": "packages/webui/tests/editor.test.mjs",
|
||||
"line": 64,
|
||||
"text": "const bundle = readFileSync(join(webui, 'src/public/editor.js'), 'utf8');"
|
||||
},
|
||||
{
|
||||
"test": "packages/webui/tests/editor.test.mjs",
|
||||
"line": 65,
|
||||
"text": "assert.doesNotMatch(bundle, /\\beval\\s*\\(|\\bnew\\s+Function\\b/, 'src/public/editor.js');"
|
||||
},
|
||||
{
|
||||
"test": "packages/webui/tests/editor.test.mjs",
|
||||
"line": 69,
|
||||
"text": "const model = readFileSync(join(webui, 'editor/model.mjs'), 'utf8');"
|
||||
},
|
||||
{
|
||||
"test": "packages/webui/tests/helpers/editor-bundle.mjs",
|
||||
"line": 1,
|
||||
"text": "// Loads src/public/editor.js (and markdown-preview.js, the link gate it needs) into a vm context with a"
|
||||
},
|
||||
{
|
||||
"test": "packages/webui/tests/helpers/editor-bundle.mjs",
|
||||
"line": 15,
|
||||
"text": "for (const f of ['markdown-preview.js', 'editor.js']) vm.runInContext(readFileSync(join(pub, f), 'utf8'), sandbox, { filename: f });"
|
||||
},
|
||||
{
|
||||
"test": "packages/plugins/tests/harness.test.mjs",
|
||||
"line": 44,
|
||||
"text": "// pi 0.85.1 --thinking and claude 2.1.302 --effort, as probed (BUILD.md); claude has no off or minimal."
|
||||
},
|
||||
{
|
||||
"test": "packages/bus/tests/revoke-window.test.mjs",
|
||||
"line": 4,
|
||||
"text": "// a limit stub and a usage stub for the limit stop. BUILD.md (agents/morgana/work/queue-306) names"
|
||||
},
|
||||
{
|
||||
"test": "packages/bus/tests/access-revoke.test.mjs",
|
||||
"line": 5,
|
||||
"text": "// lstat key; `edit` changes the document and the stamp together, as a hand edit does. BUILD.md"
|
||||
},
|
||||
{
|
||||
"test": "packages/bus/tests/land.test.mjs",
|
||||
"line": 410,
|
||||
"text": "// landHeld still counts it, so it stays listed (BUILD.md follow-up 5)."
|
||||
},
|
||||
{
|
||||
"test": "packages/bus/tests/session-clear.test.mjs",
|
||||
"line": 13,
|
||||
"text": "// docs/plans/2026-10-21_t1-sessions.md, the contract in agents/gizmoduck/work/queue-271/BUILD.md."
|
||||
},
|
||||
{
|
||||
"test": "packages/bus/tests/grant-executor.test.mjs",
|
||||
"line": 1027,
|
||||
"text": "// credential-unavailable; BUILD.md records the difference)."
|
||||
},
|
||||
{
|
||||
"test": "packages/bus/tests/host-run.test.mjs",
|
||||
"line": 343,
|
||||
"text": "// the options are checked here and the call runs with an alias no user file holds (BUILD.md)."
|
||||
},
|
||||
{
|
||||
"test": "packages/business/tests/workflow-roles.test.mjs",
|
||||
"line": 123,
|
||||
"text": "// of staff launches it. The broker and launcher states are row 137's tests (BUILD.md, round 3)."
|
||||
},
|
||||
{
|
||||
"test": "packages/business/tests/access.test.mjs",
|
||||
"line": 1,
|
||||
"text": "// FED R1 (#414, row 201): the access file loader and validator, DESIGN.md"
|
||||
},
|
||||
{
|
||||
"test": "packages/cli/tests/revoke-window.test.mjs",
|
||||
"line": 9,
|
||||
"text": "// poll, with threadsState replaced by the caller. BUILD.md (agents/morgana/work/queue-306) names the"
|
||||
},
|
||||
{
|
||||
"test": "packages/cli/tests/stack-instances.test.mjs",
|
||||
"line": 3,
|
||||
"text": "// T table: agents/darkwing/work/queue-190/DESIGN.md D7. The unit, port and release cases are T56 in"
|
||||
},
|
||||
{
|
||||
"test": "packages/cli/tests/session-launch.test.mjs",
|
||||
"line": 297,
|
||||
"text": "// Q2 (BUILD.md:177-179, t1-sessions.md:109): an earlier host's sessionless run of the instance is"
|
||||
},
|
||||
{
|
||||
"test": "packages/cli/tests/case1-accept.test.mjs",
|
||||
"line": 2,
|
||||
"text": "// (agents/darkwing/work/queue-195/DESIGN.md); deviations in agents/darkwing/work/queue-195/BUILD.md."
|
||||
},
|
||||
{
|
||||
"test": "packages/cli/tests/stack-release.test.mjs",
|
||||
"line": 4,
|
||||
"text": "// agents/darkwing/work/queue-162/BUILD.md. Every run uses a temp data root, temp units and stand-in"
|
||||
},
|
||||
{
|
||||
"test": "packages/cli/tests/stack-release.test.mjs",
|
||||
"line": 915,
|
||||
"text": "// COUNTED or dropped from it shows here. Row 181's BUILD.md names each writer."
|
||||
},
|
||||
{
|
||||
"test": "packages/cli/tests/stack-release.test.mjs",
|
||||
"line": 928,
|
||||
"text": "task_comment_cursors:'no time column; a restore drops its advances uncounted (BUILD.md)',"
|
||||
},
|
||||
{
|
||||
"test": "packages/cli/tests/stack-release.test.mjs",
|
||||
"line": 1668,
|
||||
"text": "// refusal is the guard for a file that changes after that (BUILD.md, round 2)."
|
||||
},
|
||||
{
|
||||
"test": "packages/cli/tests/stack-release.test.mjs",
|
||||
"line": 2331,
|
||||
"text": "// agents/darkwing/work/queue-190/DESIGN.md. T-I1, T-I2, T-I5, T-I10 and the loader half of T-I7 are in"
|
||||
},
|
||||
{
|
||||
"test": "packages/cli/tests/publish-socket.test.mjs",
|
||||
"line": 236,
|
||||
"text": "// sage-1440 on BUILD.md 14: a push between checkPublish and the git push refuses, with one code"
|
||||
},
|
||||
{
|
||||
"test": "packages/cli/tests/stack-upgrade.test.mjs",
|
||||
"line": 3,
|
||||
"text": "// agents/darkwing/work/queue-195/DESIGN.md, as the I3 brief changes them; deviations:"
|
||||
},
|
||||
{
|
||||
"test": "packages/cli/tests/stack-upgrade.test.mjs",
|
||||
"line": 4,
|
||||
"text": "// agents/darkwing/work/queue-233/BUILD.md. The stand-ins and the module fixture are"
|
||||
},
|
||||
{
|
||||
"test": "packages/cli/tests/stack-release-external.test.mjs",
|
||||
"line": 2,
|
||||
"text": "// test list, agents/darkwing/work/queue-195/DESIGN.md; deviations: agents/darkwing/work/queue-232/BUILD.md."
|
||||
},
|
||||
{
|
||||
"test": "packages/cli/tests/case1-hostcheck.test.mjs",
|
||||
"line": 3,
|
||||
"text": "// (agents/darkwing/work/queue-195/DESIGN.md at b7239bb66). Every case copies the script into a scratch"
|
||||
},
|
||||
{
|
||||
"test": "packages/cli/tests/thread-revoke.test.mjs",
|
||||
"line": 5,
|
||||
"text": "// The bus half is packages/bus/tests/access-revoke.test.mjs; BUILD.md"
|
||||
},
|
||||
{
|
||||
"test": "packages/cli/tests/access.test.mjs",
|
||||
"line": 308,
|
||||
"text": "// outside R5 (BUILD.md). The test pins it, and nothing is written."
|
||||
},
|
||||
{
|
||||
"test": "packages/cli/tests/access.test.mjs",
|
||||
"line": 316,
|
||||
"text": "// Row 193c (#1705): `user add` and `user remove`. BUILD.md (agents/megavolt/work/queue-207) names"
|
||||
},
|
||||
{
|
||||
"test": "packages/cli/tests/access.test.mjs",
|
||||
"line": 455,
|
||||
"text": "// refuses access.reload alone, as a bus would refuse a call it can't take. BUILD.md"
|
||||
},
|
||||
{
|
||||
"test": "packages/cli/tests/launcher.test.mjs",
|
||||
"line": 799,
|
||||
"text": "// The run directory exists by then (BUILD.md residual); the persona is read before any bundle file."
|
||||
},
|
||||
{
|
||||
"test": "packages/cli/tests/lifecycle.test.mjs",
|
||||
"line": 778,
|
||||
"text": "// N6 (sage-2246, DESIGN.md:118-120): an end signals the runs the verb named and the instance's runs"
|
||||
}
|
||||
],
|
||||
"row266": {
|
||||
"ref": "origin/fethry/row266",
|
||||
"tip": "6418ec063389728e0d8883c94812b12d2074eb43",
|
||||
"diffBase": "487500a16f4ab5902c318509fdec6acc56a543ca",
|
||||
"overlap": []
|
||||
},
|
||||
"interpretation": "No literal SHA256 or Git-blob hash pins found for planned changed files. Editor provenance compares generated output to BUILD.json and requires regeneration/rebuild, not an external fixed hash.",
|
||||
"postBuildAudit": {
|
||||
"paths": [
|
||||
"BUILD-LOG.md",
|
||||
"agents/herb/work/queue-214/BUILD.md",
|
||||
"agents/herb/work/queue-214/DESIGN.md",
|
||||
"agents/herb/work/queue-214/EVIDENCE.json",
|
||||
"agents/herb/work/queue-214/HASH-PINS.json",
|
||||
"agents/herb/work/queue-214/MANIFEST.md",
|
||||
"agents/herb/work/queue-214/SOURCE.json",
|
||||
"agents/herb/work/queue-214/granted-4286/baseline-red.log",
|
||||
"agents/herb/work/queue-214/granted-4286/build.log",
|
||||
"agents/herb/work/queue-214/granted-4286/editor-browser-green.log",
|
||||
"agents/herb/work/queue-214/granted-4286/editor-green.log",
|
||||
"agents/herb/work/queue-214/granted-4286/final-sweep.json",
|
||||
"agents/herb/work/queue-214/granted-4286/invalid-escaping-build.log",
|
||||
"agents/herb/work/queue-214/granted-4286/invalid-escaping-red.log",
|
||||
"agents/herb/work/queue-214/granted-4286/invalid-escaping-restore-build.log",
|
||||
"agents/herb/work/queue-214/granted-4286/invalid-escaping-restore-green.log",
|
||||
"agents/herb/work/queue-214/granted-4286/measurement.log",
|
||||
"agents/herb/work/queue-214/granted-4286/mutants.json",
|
||||
"agents/herb/work/queue-214/granted-4286/mutants.py",
|
||||
"agents/herb/work/queue-214/granted-4286/npm-ci.log",
|
||||
"agents/herb/work/queue-214/granted-4286/post-mutant-sweep.json",
|
||||
"agents/herb/work/queue-214/granted-4286/provenance-green.log",
|
||||
"agents/herb/work/queue-214/granted-4286/results.jsonl",
|
||||
"agents/herb/work/queue-214/granted-4286/serializer-removal-build.log",
|
||||
"agents/herb/work/queue-214/granted-4286/serializer-removal-red.log",
|
||||
"agents/herb/work/queue-214/granted-4286/serializer-removal-restore-build.log",
|
||||
"agents/herb/work/queue-214/granted-4286/serializer-removal-restore-green.log",
|
||||
"agents/herb/work/queue-214/granted-4286/settings.json",
|
||||
"agents/herb/work/queue-214/granted-4286/skips.json",
|
||||
"agents/herb/work/queue-214/granted-4286/step.py",
|
||||
"agents/herb/work/queue-214/granted-4286/webui-69.log",
|
||||
"agents/herb/work/queue-214/granted-4286/webui-files.txt",
|
||||
"agents/herb/work/queue-214/granted-4286/webui-whole.log",
|
||||
"agents/herb/work/queue-214/granted-4286/wikilink-green.log",
|
||||
"agents/herb/work/queue-214/measure.mjs",
|
||||
"agents/herb/work/queue-214/measurement.json",
|
||||
"packages/webui/editor/BUILD.json",
|
||||
"packages/webui/editor/model.mjs",
|
||||
"packages/webui/src/public/editor.js",
|
||||
"packages/webui/tests/editor-wikilink.test.mjs",
|
||||
"packages/webui/tests/helpers/wikilink-cases.mjs"
|
||||
],
|
||||
"literalCurrentOrPriorHashPins": [],
|
||||
"buildOutputsValidated": true
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,42 @@
|
||||
# Row214 candidate manifest
|
||||
|
||||
Owner: Herb. Reviewer: Filbert. Issue#1715, C2-11a. Execution base
|
||||
487500a16f4ab5902c318509fdec6acc56a543ca on herb/row214-r2. Current
|
||||
brief blob85e6fe2e has the same C2-11a section as the accepted old pin.
|
||||
Source commit a530a60798bf48eb18bb9e225d099faf5c2975cf.
|
||||
|
||||
| Path | Final change |
|
||||
| --- | --- |
|
||||
| packages/webui/editor/model.mjs | inert inline atom, heading content, tokenizer and validated serializer; invalid attrs share complete text escaping |
|
||||
| packages/webui/tests/editor-wikilink.test.mjs | ten byte round-trips and three browser regressions, including same-block edits and malformed attrs |
|
||||
| packages/webui/tests/helpers/wikilink-cases.mjs | exact fixtures shared with measurement |
|
||||
| packages/webui/src/public/editor.js | generated with pinned esbuild0.28.2 |
|
||||
| packages/webui/editor/BUILD.json | generated provenance and output hashes |
|
||||
| BUILD-LOG.md | one append-only phase receipt |
|
||||
| agents/herb/work/queue-214/measure.mjs | baseline measurement from pinned Git blobs |
|
||||
| agents/herb/work/queue-214/measurement.json | unchanged measurement JSON,10/10 equal |
|
||||
| agents/herb/work/queue-214/DESIGN.md | accepted design, both outcomes and static review follow-through |
|
||||
| agents/herb/work/queue-214/BUILD.md | rulings, actual granted commands, timings and limits |
|
||||
| agents/herb/work/queue-214/HASH-PINS.json | static hash-pin/row266 audit, repeated after build |
|
||||
| agents/herb/work/queue-214/SOURCE.json | actual source/output hashes and unchanged CSS dependency |
|
||||
| agents/herb/work/queue-214/EVIDENCE.json | grant, exact argv/counts, measurement, mutants, skips and sweeps |
|
||||
| agents/herb/work/queue-214/granted-4286/ | raw tee logs, commands, file list and sweep/skip/mutant records |
|
||||
|
||||
The CSS output is byte-identical and matches BUILD.json. No entry/view,
|
||||
third_party, dependency/lockfile, library, route, save, click or documentPath
|
||||
change. No row266 chat path changes. No test assertion changed after runs.
|
||||
|
||||
Outcome A: all ten measured no-edit cases were already preserved by the
|
||||
baseline's raw/sig behavior. Their green result is compatibility evidence,
|
||||
not proof of the node. The baseline structural case was0/1 expected red.
|
||||
|
||||
Grant sage-4286: four whole editor files40/0; whole webui69 files455/0
|
||||
in174.189s; zero skips/cancellations. Both named mutants killed0/1,
|
||||
each restored/rebuilt and focused1/0 green. Absolute nice19, required-build
|
||||
env and short scratch TMPDIR are in raw logs. Provenance rebuilt, not
|
||||
skipped. Final process sweep0, TMPDIR removed. The mistaken seven-file
|
||||
subset28/0 is archived but excluded from gate evidence.
|
||||
|
||||
The candidate hash manifest is rebuilt from the pushed tip outside its
|
||||
own path set. Filbert's candidate review and every scripts/test-*.sh gate
|
||||
remain pending. No Case1 acceptance test was run. The row is not done.
|
||||
@@ -0,0 +1,49 @@
|
||||
{
|
||||
"base": "487500a16f4ab5902c318509fdec6acc56a543ca",
|
||||
"status": "focused and 69-file webui green under sage-4286; candidate review and shell gate pending",
|
||||
"sourcePaths": [
|
||||
{
|
||||
"path": "packages/webui/editor/model.mjs",
|
||||
"mode": "100644",
|
||||
"sha256": "81ac44d852cb54213a9644ebbde26630ec49614e468f376d71b471395e3dd9f7"
|
||||
},
|
||||
{
|
||||
"path": "packages/webui/tests/editor-wikilink.test.mjs",
|
||||
"mode": "100644",
|
||||
"sha256": "e144e7dbf23c68c136eef8f0fb2e8979c27e908c7cc14ee4ab4f722220e67d77"
|
||||
},
|
||||
{
|
||||
"path": "packages/webui/tests/helpers/wikilink-cases.mjs",
|
||||
"mode": "100644",
|
||||
"sha256": "afa4dc7188548457b2d1966b9437561ba411d7bc9aaaa38bff626c235a64e19c"
|
||||
},
|
||||
{
|
||||
"path": "agents/herb/work/queue-214/measure.mjs",
|
||||
"mode": "100644",
|
||||
"sha256": "f81987cdae5c4f7e5ce353162674b3c3510e44f22d6d3beb262a5d198db4e88d"
|
||||
},
|
||||
{
|
||||
"path": "packages/webui/src/public/editor.js",
|
||||
"mode": "100644",
|
||||
"sha256": "bd167899a551c70dc07e500fcdd1853d7fb710b23c217ba5b42daf5785c38a72"
|
||||
},
|
||||
{
|
||||
"path": "packages/webui/editor/BUILD.json",
|
||||
"mode": "100644",
|
||||
"sha256": "4d73af728cea60eaa6fadb4650b9d42b663c90ef7f59bb2b787e1f3d9acd8278"
|
||||
},
|
||||
{
|
||||
"path": "BUILD-LOG.md",
|
||||
"mode": "100644",
|
||||
"sha256": "30cc179e2b76c5aceeec35d5ab20339988241a4cb04d26d1cc9b2a5437796236"
|
||||
}
|
||||
],
|
||||
"pendingGeneratedPaths": [],
|
||||
"unchangedGeneratedCss": {
|
||||
"path": "packages/webui/src/public/editor.css",
|
||||
"sha256": "8654ac57d1e7a561110138ecd7f701c34a074017ff8c4cd2768d8083908ee61f",
|
||||
"mode": "100644"
|
||||
},
|
||||
"runtimeEvidence": "agents/herb/work/queue-214/EVIDENCE.json",
|
||||
"sourceCommit": "a530a60798bf48eb18bb9e225d099faf5c2975cf"
|
||||
}
|
||||
@@ -0,0 +1,38 @@
|
||||
# grant sage-4286; nice 19; TMPDIR /mnt/storage/scratch/tmp/g49X; MOSAIC_REQUIRE_EDITOR_BUILD 1
|
||||
✖ wikilinks are inline atoms and survive a neighbouring edit in every required context (932.607342ms)
|
||||
ℹ tests 1
|
||||
ℹ suites 0
|
||||
ℹ pass 0
|
||||
ℹ fail 1
|
||||
ℹ cancelled 0
|
||||
ℹ skipped 0
|
||||
ℹ todo 0
|
||||
ℹ duration_ms 1108.548729
|
||||
|
||||
✖ failing tests:
|
||||
|
||||
test at packages/webui/tests/editor-wikilink.test.mjs:35:1
|
||||
✖ wikilinks are inline atoms and survive a neighbouring edit in every required context (932.607342ms)
|
||||
AssertionError [ERR_ASSERTION]: plain
|
||||
+ actual - expected
|
||||
|
||||
+ []
|
||||
- [
|
||||
- {
|
||||
- atom: true,
|
||||
- inline: true,
|
||||
- source: '[[a]]'
|
||||
- }
|
||||
- ]
|
||||
|
||||
at TestContext.<anonymous> (file:///home/jwoltje/.t3/worktrees/mosaic-stack/herb-row214-r2/packages/webui/tests/editor-wikilink.test.mjs:39:12)
|
||||
at process.processTicksAndRejections (node:internal/process/task_queues:104:5)
|
||||
at async Test.run (node:internal/test_runner/test:1409:7)
|
||||
at async startSubtestAfterBootstrap (node:internal/test_runner/harness:387:3) {
|
||||
generatedMessage: false,
|
||||
code: 'ERR_ASSERTION',
|
||||
actual: [],
|
||||
expected: [ { source: '[[a]]', atom: true, inline: true } ],
|
||||
operator: 'deepStrictEqual',
|
||||
diff: 'simple'
|
||||
}
|
||||
@@ -0,0 +1,15 @@
|
||||
# grant sage-4286; nice 19; TMPDIR /mnt/storage/scratch/tmp/g49X; MOSAIC_REQUIRE_EDITOR_BUILD 1
|
||||
▲ [WARNING] Ignoring this import because "third_party/editor/prosemirror-transform/src/mark.ts" was marked as having no side effects [ignored-bare-import]
|
||||
|
||||
third_party/editor/prosemirror-transform/src/index.ts:10:7:
|
||||
10 │ import "./mark"
|
||||
╵ ~~~~~~~~
|
||||
|
||||
"sideEffects" is false in the enclosing "package.json" file:
|
||||
|
||||
third_party/editor/prosemirror-transform/package.json:13:2:
|
||||
13 │ "sideEffects": false,
|
||||
╵ ~~~~~~~~~~~~~
|
||||
|
||||
editor.js bd167899a551c70dc07e500fcdd1853d7fb710b23c217ba5b42daf5785c38a72 (133 inputs)
|
||||
editor.css 8654ac57d1e7a561110138ecd7f701c34a074017ff8c4cd2768d8083908ee61f
|
||||
@@ -0,0 +1,25 @@
|
||||
# grant sage-4286; nice 19; TMPDIR /mnt/storage/scratch/tmp/g49X; MOSAIC_REQUIRE_EDITOR_BUILD 1
|
||||
✔ the Console's CSP stands and the editor runs under it; hostile markdown on the load path runs and loads nothing (928.130513ms)
|
||||
✔ hostile content pasted into the editor runs and loads nothing, and a bad link target is refused in the link bar (803.464018ms)
|
||||
✔ a pasted image span is kept only for a target the link gate accepts, and a save writes only those (635.018754ms)
|
||||
✔ a switch of view reads nothing; a reload, and a trip away and back, each read the file exactly once (2555.185634ms)
|
||||
✔ an edit rewrites only the block touched; a save sends the rest byte for byte; the Source view carries the draft (1077.608366ms)
|
||||
✔ a file the editor cannot write back byte for byte opens as Source, says so, cannot save, and the Visual button works once it can (2053.81983ms)
|
||||
✔ a link title pasted with line breaks in it is written on one line, so no HTML block comes of it (761.717564ms)
|
||||
✔ an image alt pasted with line breaks in it is written on one line, so no HTML block comes of it (677.209658ms)
|
||||
✔ an image title pasted with line breaks in it is written on one line, so no HTML block comes of it (681.501055ms)
|
||||
✔ a code block info string pasted with line breaks in it is written on one line, so no HTML block comes of it (664.552078ms)
|
||||
✔ a link title holding a quote after a backslash then a tag is written with the backslash escaped, so the title stays closed (653.763504ms)
|
||||
✔ an image title holding a quote after a backslash then a tag is written with the backslash escaped, so the title stays closed (680.145608ms)
|
||||
✔ a link title holding a trailing backslash is written with the backslash escaped, so the title stays closed (681.870693ms)
|
||||
✔ an image title holding a trailing backslash is written with the backslash escaped, so the title stays closed (686.810545ms)
|
||||
✔ a code block info string with a backtick, pasted, is dropped on Save, so the fence stays closed (631.067849ms)
|
||||
✔ a code block info string with a backtick, as a tilde fence can have, is kept as source, not rewritten without it (631.071266ms)
|
||||
ℹ tests 16
|
||||
ℹ suites 0
|
||||
ℹ pass 16
|
||||
ℹ fail 0
|
||||
ℹ cancelled 0
|
||||
ℹ skipped 0
|
||||
ℹ todo 0
|
||||
ℹ duration_ms 14945.374491
|
||||
@@ -0,0 +1,14 @@
|
||||
# grant sage-4286; nice 19; TMPDIR /mnt/storage/scratch/tmp/g49X; MOSAIC_REQUIRE_EDITOR_BUILD 1
|
||||
✔ the editor routes serve the built files with their types and no cache (36.796766ms)
|
||||
✔ open and save with no edit writes the same bytes: the goals review and a doc with every element (16.912796ms)
|
||||
✔ open and save with no edit writes the same bytes: every repository doc under docs/ and spec/ (1791.779235ms)
|
||||
✔ the editor source builds markup only with DOM calls, and the bundle has no eval (2.568423ms)
|
||||
✔ the link gate and the image rule are the preview's (0.573105ms)
|
||||
ℹ tests 5
|
||||
ℹ suites 0
|
||||
ℹ pass 5
|
||||
ℹ fail 0
|
||||
ℹ cancelled 0
|
||||
ℹ skipped 0
|
||||
ℹ todo 0
|
||||
ℹ duration_ms 2016.291596
|
||||
@@ -0,0 +1,5 @@
|
||||
{
|
||||
"at": "2026-10-24T22:13:17.560692+00:00",
|
||||
"count": 0,
|
||||
"processes": []
|
||||
}
|
||||
@@ -0,0 +1,15 @@
|
||||
# grant sage-4286; nice 19; TMPDIR /mnt/storage/scratch/tmp/g49X; MOSAIC_REQUIRE_EDITOR_BUILD 1
|
||||
▲ [WARNING] Ignoring this import because "third_party/editor/prosemirror-transform/src/mark.ts" was marked as having no side effects [ignored-bare-import]
|
||||
|
||||
third_party/editor/prosemirror-transform/src/index.ts:10:7:
|
||||
10 │ import "./mark"
|
||||
╵ ~~~~~~~~
|
||||
|
||||
"sideEffects" is false in the enclosing "package.json" file:
|
||||
|
||||
third_party/editor/prosemirror-transform/package.json:13:2:
|
||||
13 │ "sideEffects": false,
|
||||
╵ ~~~~~~~~~~~~~
|
||||
|
||||
editor.js 52c00310b3c32b2f5ca99243f9bbe54f8a76ef0a87f597d8a2220cf1baaa8adc (133 inputs)
|
||||
editor.css 8654ac57d1e7a561110138ecd7f701c34a074017ff8c4cd2768d8083908ee61f
|
||||
@@ -0,0 +1,30 @@
|
||||
# grant sage-4286; nice 19; TMPDIR /mnt/storage/scratch/tmp/g49X; MOSAIC_REQUIRE_EDITOR_BUILD 1
|
||||
✖ wikilink DOM paste accepts only bounded single-line inert syntax; malformed attrs serialise as escaped text (780.97333ms)
|
||||
ℹ tests 1
|
||||
ℹ suites 0
|
||||
ℹ pass 0
|
||||
ℹ fail 1
|
||||
ℹ cancelled 0
|
||||
ℹ skipped 0
|
||||
ℹ todo 0
|
||||
ℹ duration_ms 939.392901
|
||||
|
||||
✖ failing tests:
|
||||
|
||||
test at packages/webui/tests/editor-wikilink.test.mjs:65:1
|
||||
✖ wikilink DOM paste accepts only bounded single-line inert syntax; malformed attrs serialise as escaped text (780.97333ms)
|
||||
AssertionError [ERR_ASSERTION]: The input was expected to not match the regular expression /(?<!\\)<img/. Input:
|
||||
|
||||
'\\[\\[a\\]\\] <img src=x onerror=alert(1)>©\n'
|
||||
|
||||
at TestContext.<anonymous> (file:///home/jwoltje/.t3/worktrees/mosaic-stack/herb-row214-r2/packages/webui/tests/editor-wikilink.test.mjs:78:10)
|
||||
at process.processTicksAndRejections (node:internal/process/task_queues:104:5)
|
||||
at async Test.run (node:internal/test_runner/test:1409:7)
|
||||
at async startSubtestAfterBootstrap (node:internal/test_runner/harness:387:3) {
|
||||
generatedMessage: true,
|
||||
code: 'ERR_ASSERTION',
|
||||
actual: '\\[\\[a\\]\\] <img src=x onerror=alert(1)>©\n',
|
||||
expected: /(?<!\\)<img/,
|
||||
operator: 'doesNotMatch',
|
||||
diff: 'simple'
|
||||
}
|
||||
@@ -0,0 +1,15 @@
|
||||
# grant sage-4286; nice 19; TMPDIR /mnt/storage/scratch/tmp/g49X; MOSAIC_REQUIRE_EDITOR_BUILD 1
|
||||
▲ [WARNING] Ignoring this import because "third_party/editor/prosemirror-transform/src/mark.ts" was marked as having no side effects [ignored-bare-import]
|
||||
|
||||
third_party/editor/prosemirror-transform/src/index.ts:10:7:
|
||||
10 │ import "./mark"
|
||||
╵ ~~~~~~~~
|
||||
|
||||
"sideEffects" is false in the enclosing "package.json" file:
|
||||
|
||||
third_party/editor/prosemirror-transform/package.json:13:2:
|
||||
13 │ "sideEffects": false,
|
||||
╵ ~~~~~~~~~~~~~
|
||||
|
||||
editor.js bd167899a551c70dc07e500fcdd1853d7fb710b23c217ba5b42daf5785c38a72 (133 inputs)
|
||||
editor.css 8654ac57d1e7a561110138ecd7f701c34a074017ff8c4cd2768d8083908ee61f
|
||||
@@ -0,0 +1,10 @@
|
||||
# grant sage-4286; nice 19; TMPDIR /mnt/storage/scratch/tmp/g49X; MOSAIC_REQUIRE_EDITOR_BUILD 1
|
||||
✔ wikilink DOM paste accepts only bounded single-line inert syntax; malformed attrs serialise as escaped text (752.4905ms)
|
||||
ℹ tests 1
|
||||
ℹ suites 0
|
||||
ℹ pass 1
|
||||
ℹ fail 0
|
||||
ℹ cancelled 0
|
||||
ℹ skipped 0
|
||||
ℹ todo 0
|
||||
ℹ duration_ms 941.178679
|
||||
@@ -0,0 +1,68 @@
|
||||
{
|
||||
"base": "487500a16f4ab5902c318509fdec6acc56a543ca",
|
||||
"bundleSha256": "9c881b13740fae2408717ad75fa1d85bfcfe3fa8b3af0f1b3f2e706c90e80fee",
|
||||
"measuredAt": "2026-10-24T22:07:22.210Z",
|
||||
"allEqual": true,
|
||||
"results": [
|
||||
{
|
||||
"name": "plain",
|
||||
"input": "[[a]]\n",
|
||||
"output": "[[a]]\n",
|
||||
"equal": true
|
||||
},
|
||||
{
|
||||
"name": "labelled",
|
||||
"input": "[[a|b]]\n",
|
||||
"output": "[[a|b]]\n",
|
||||
"equal": true
|
||||
},
|
||||
{
|
||||
"name": "heading target",
|
||||
"input": "[[a#h]]\n",
|
||||
"output": "[[a#h]]\n",
|
||||
"equal": true
|
||||
},
|
||||
{
|
||||
"name": "list item",
|
||||
"input": "- [[a]]\n",
|
||||
"output": "- [[a]]\n",
|
||||
"equal": true
|
||||
},
|
||||
{
|
||||
"name": "next to front matter",
|
||||
"input": "---\nrelated: \"[[metadata]]\"\n---\n\n[[a]]\n",
|
||||
"output": "---\nrelated: \"[[metadata]]\"\n---\n\n[[a]]\n",
|
||||
"equal": true
|
||||
},
|
||||
{
|
||||
"name": "heading block and combined label",
|
||||
"input": "# See [[a#h|Title]]\n",
|
||||
"output": "# See [[a#h|Title]]\n",
|
||||
"equal": true
|
||||
},
|
||||
{
|
||||
"name": "spaces, Unicode and adjacent links",
|
||||
"input": "See [[ Héllo there # A heading | a label ]][[next]]\n",
|
||||
"output": "See [[ Héllo there # A heading | a label ]][[next]]\n",
|
||||
"equal": true
|
||||
},
|
||||
{
|
||||
"name": "reference-definition collision",
|
||||
"input": "[[a]]\n\n[a]: u\n",
|
||||
"output": "[[a]]\n\n[a]: u\n",
|
||||
"equal": true
|
||||
},
|
||||
{
|
||||
"name": "inside an ordinary link",
|
||||
"input": "[x [[a]]](u)\n",
|
||||
"output": "[x [[a]]](u)\n",
|
||||
"equal": true
|
||||
},
|
||||
{
|
||||
"name": "inert embed",
|
||||
"input": "![[cover.png]]\n",
|
||||
"output": "![[cover.png]]\n",
|
||||
"equal": true
|
||||
}
|
||||
]
|
||||
}
|
||||
@@ -0,0 +1,14 @@
|
||||
[
|
||||
{
|
||||
"name": "serializer-removal",
|
||||
"killed": true,
|
||||
"restored": true,
|
||||
"restoredHashesEqual": true
|
||||
},
|
||||
{
|
||||
"name": "invalid-escaping",
|
||||
"killed": true,
|
||||
"restored": true,
|
||||
"restoredHashesEqual": true
|
||||
}
|
||||
]
|
||||
@@ -0,0 +1,26 @@
|
||||
from pathlib import Path
|
||||
import subprocess,sys,json,hashlib
|
||||
out=Path(__file__).parent;root=Path('/home/jwoltje/.t3/worktrees/mosaic-stack/herb-row214-r2');model=root/'packages/webui/editor/model.mjs';good=model.read_bytes();(out/'model.good.mjs').write_bytes(good)
|
||||
initial={str(p.relative_to(root)):hashlib.sha256(p.read_bytes()).hexdigest() for p in [model,root/'packages/webui/src/public/editor.js',root/'packages/webui/editor/BUILD.json',root/'packages/webui/src/public/editor.css']}
|
||||
def step(name,cwd,cap,args):return subprocess.run([sys.executable,str(out/'step.py'),name,str(cwd),str(cap),*args]).returncode
|
||||
specs=[('serializer-removal','wikilinks are inline atoms and survive'),('invalid-escaping','wikilink DOM paste accepts')]
|
||||
results=[]
|
||||
for name,pattern in specs:
|
||||
changed=good.decode()
|
||||
if name=='serializer-removal':
|
||||
start=changed.index(' wikilink(state, node) {');end=changed.index(' raw_block(state, node)',start);changed=changed[:start]+changed[end:]
|
||||
else:
|
||||
old="else escapedText(state, oneLine(String(source ?? '')));";assert changed.count(old)==1;changed=changed.replace(old,"else state.text(oneLine(String(source ?? '')));")
|
||||
try:
|
||||
model.write_text(changed)
|
||||
assert step(name+'-build',root/'packages/webui',90,['node','editor/build.mjs'])==0
|
||||
rc=step(name+'-red',root,180,['node','--test','--test-concurrency=1','--test-name-pattern='+pattern,'packages/webui/tests/editor-wikilink.test.mjs'])
|
||||
if rc!=1:raise RuntimeError('mutant not killed or timed out: '+str(rc))
|
||||
finally:
|
||||
model.write_bytes(good)
|
||||
if step(name+'-restore-build',root/'packages/webui',90,['node','editor/build.mjs'])!=0:raise RuntimeError('restore build failed')
|
||||
assert step(name+'-restore-green',root,180,['node','--test','--test-concurrency=1','--test-name-pattern='+pattern,'packages/webui/tests/editor-wikilink.test.mjs'])==0
|
||||
for p,h in initial.items():assert hashlib.sha256((root/p).read_bytes()).hexdigest()==h,p
|
||||
results.append({'name':name,'killed':True,'restored':True,'restoredHashesEqual':True})
|
||||
(out/'mutants.json').write_text(json.dumps(results,indent=2)+'\n')
|
||||
print('MUTANT_COMPLETE',name,flush=True)
|
||||
@@ -0,0 +1,3 @@
|
||||
# grant sage-4286; nice 19; TMPDIR /mnt/storage/scratch/tmp/g49X; MOSAIC_REQUIRE_EDITOR_BUILD 1
|
||||
|
||||
added 2 packages in 425ms
|
||||
@@ -0,0 +1,4 @@
|
||||
{
|
||||
"count": 0,
|
||||
"processes": []
|
||||
}
|
||||
@@ -0,0 +1,27 @@
|
||||
# grant sage-4286; nice 19; TMPDIR /mnt/storage/scratch/tmp/g49X; MOSAIC_REQUIRE_EDITOR_BUILD 1
|
||||
✔ the imported source is the tagged upstream source plus the recorded local changes, and nothing else (27.800323ms)
|
||||
✔ every package names its origin and license, and NOTICE lists each (0.831005ms)
|
||||
✔ the build reads only imported source and the editor's own files; the bundle is the recorded build (7.478515ms)
|
||||
✔ MOSAIC_REQUIRE_EDITOR_BUILD: a missing or wrong esbuild skips without it and fails with it; a wrong binary always fails (6.189875ms)
|
||||
✔ the toolchain check, run as a program, exits non-zero without esbuild when the build is required (143.672155ms)
|
||||
▲ [WARNING] Ignoring this import because "third_party/editor/prosemirror-transform/src/mark.ts" was marked as having no side effects [ignored-bare-import]
|
||||
|
||||
third_party/editor/prosemirror-transform/src/index.ts:10:7:
|
||||
10 │ import "./mark"
|
||||
╵ ~~~~~~~~
|
||||
|
||||
"sideEffects" is false in the enclosing "package.json" file:
|
||||
|
||||
third_party/editor/prosemirror-transform/package.json:13:2:
|
||||
13 │ "sideEffects": false,
|
||||
╵ ~~~~~~~~~~~~~
|
||||
|
||||
✔ rebuilding from the source gives the same bytes (needs the pinned esbuild; MOSAIC_REQUIRE_EDITOR_BUILD=1 makes its absence a failure) (67.600627ms)
|
||||
ℹ tests 6
|
||||
ℹ suites 0
|
||||
ℹ pass 6
|
||||
ℹ fail 0
|
||||
ℹ cancelled 0
|
||||
ℹ skipped 0
|
||||
ℹ todo 0
|
||||
ℹ duration_ms 305.965249
|
||||
@@ -0,0 +1,18 @@
|
||||
{"name": "measurement", "argv": ["node", "agents/herb/work/queue-214/measure.mjs"], "cwd": "/home/jwoltje/.t3/worktrees/mosaic-stack/herb-row214-r2", "rc": 0, "wallSeconds": 0.093, "counts": {}, "nice": 19, "tmpRoot": "/mnt/storage/scratch/tmp/g49X", "requireEditorBuild": "1", "timeoutSeconds": 60, "ended": "2026-10-24T22:07:22.215700+00:00"}
|
||||
{"name": "baseline-red", "argv": ["node", "--test", "--test-concurrency=1", "--test-name-pattern=wikilinks are inline atoms and survive", "packages/webui/tests/editor-wikilink.test.mjs"], "cwd": "/home/jwoltje/.t3/worktrees/mosaic-stack/herb-row214-r2", "rc": 1, "wallSeconds": 1.151, "counts": {"tests": 1, "pass": 0, "fail": 1, "cancelled": 0, "skipped": 0}, "nice": 19, "tmpRoot": "/mnt/storage/scratch/tmp/g49X", "requireEditorBuild": "1", "timeoutSeconds": 180, "ended": "2026-10-24T22:07:27.998436+00:00"}
|
||||
{"name": "npm-ci", "argv": ["npm", "ci", "--ignore-scripts", "--no-audit", "--no-fund"], "cwd": "/home/jwoltje/.t3/worktrees/mosaic-stack/herb-row214-r2/packages/webui", "rc": 0, "wallSeconds": 0.514, "counts": {}, "nice": 19, "tmpRoot": "/mnt/storage/scratch/tmp/g49X", "requireEditorBuild": "1", "timeoutSeconds": 240, "ended": "2026-10-24T22:07:41.534116+00:00"}
|
||||
{"name": "build", "argv": ["node", "editor/build.mjs"], "cwd": "/home/jwoltje/.t3/worktrees/mosaic-stack/herb-row214-r2/packages/webui", "rc": 0, "wallSeconds": 0.108, "counts": {}, "nice": 19, "tmpRoot": "/mnt/storage/scratch/tmp/g49X", "requireEditorBuild": "1", "timeoutSeconds": 120, "ended": "2026-10-24T22:07:44.654385+00:00"}
|
||||
{"name": "wikilink-green", "argv": ["node", "--test", "--test-concurrency=1", "packages/webui/tests/editor-wikilink.test.mjs"], "cwd": "/home/jwoltje/.t3/worktrees/mosaic-stack/herb-row214-r2", "rc": 0, "wallSeconds": 2.348, "counts": {"tests": 13, "pass": 13, "fail": 0, "cancelled": 0, "skipped": 0}, "nice": 19, "tmpRoot": "/mnt/storage/scratch/tmp/g49X", "requireEditorBuild": "1", "timeoutSeconds": 180, "ended": "2026-10-24T22:07:52.583345+00:00"}
|
||||
{"name": "editor-green", "argv": ["node", "--test", "--test-concurrency=1", "packages/webui/tests/editor.test.mjs"], "cwd": "/home/jwoltje/.t3/worktrees/mosaic-stack/herb-row214-r2", "rc": 0, "wallSeconds": 2.053, "counts": {"tests": 5, "pass": 5, "fail": 0, "cancelled": 0, "skipped": 0}, "nice": 19, "tmpRoot": "/mnt/storage/scratch/tmp/g49X", "requireEditorBuild": "1", "timeoutSeconds": 240, "ended": "2026-10-24T22:07:59.286086+00:00"}
|
||||
{"name": "editor-browser-green", "argv": ["node", "--test", "--test-concurrency=1", "packages/webui/tests/editor-browser.test.mjs"], "cwd": "/home/jwoltje/.t3/worktrees/mosaic-stack/herb-row214-r2", "rc": 0, "wallSeconds": 14.984, "counts": {"tests": 16, "pass": 16, "fail": 0, "cancelled": 0, "skipped": 0}, "nice": 19, "tmpRoot": "/mnt/storage/scratch/tmp/g49X", "requireEditorBuild": "1", "timeoutSeconds": 240, "ended": "2026-10-24T22:08:20.029050+00:00"}
|
||||
{"name": "provenance-green", "argv": ["node", "--test", "--test-concurrency=1", "packages/webui/tests/editor-provenance.test.mjs"], "cwd": "/home/jwoltje/.t3/worktrees/mosaic-stack/herb-row214-r2", "rc": 0, "wallSeconds": 0.343, "counts": {"tests": 6, "pass": 6, "fail": 0, "cancelled": 0, "skipped": 0}, "nice": 19, "tmpRoot": "/mnt/storage/scratch/tmp/g49X", "requireEditorBuild": "1", "timeoutSeconds": 180, "ended": "2026-10-24T22:08:39.003420+00:00"}
|
||||
{"name": "serializer-removal-build", "argv": ["node", "editor/build.mjs"], "cwd": "/home/jwoltje/.t3/worktrees/mosaic-stack/herb-row214-r2/packages/webui", "rc": 0, "wallSeconds": 0.093, "counts": {}, "nice": 19, "tmpRoot": "/mnt/storage/scratch/tmp/g49X", "requireEditorBuild": "1", "timeoutSeconds": 90, "ended": "2026-10-24T22:08:51.422097+00:00"}
|
||||
{"name": "serializer-removal-red", "argv": ["node", "--test", "--test-concurrency=1", "--test-name-pattern=wikilinks are inline atoms and survive", "packages/webui/tests/editor-wikilink.test.mjs"], "cwd": "/home/jwoltje/.t3/worktrees/mosaic-stack/herb-row214-r2", "rc": 1, "wallSeconds": 0.887, "counts": {"tests": 1, "pass": 0, "fail": 1, "cancelled": 0, "skipped": 0}, "nice": 19, "tmpRoot": "/mnt/storage/scratch/tmp/g49X", "requireEditorBuild": "1", "timeoutSeconds": 180, "ended": "2026-10-24T22:08:52.340936+00:00"}
|
||||
{"name": "serializer-removal-restore-build", "argv": ["node", "editor/build.mjs"], "cwd": "/home/jwoltje/.t3/worktrees/mosaic-stack/herb-row214-r2/packages/webui", "rc": 0, "wallSeconds": 0.115, "counts": {}, "nice": 19, "tmpRoot": "/mnt/storage/scratch/tmp/g49X", "requireEditorBuild": "1", "timeoutSeconds": 90, "ended": "2026-10-24T22:08:52.498613+00:00"}
|
||||
{"name": "serializer-removal-restore-green", "argv": ["node", "--test", "--test-concurrency=1", "--test-name-pattern=wikilinks are inline atoms and survive", "packages/webui/tests/editor-wikilink.test.mjs"], "cwd": "/home/jwoltje/.t3/worktrees/mosaic-stack/herb-row214-r2", "rc": 0, "wallSeconds": 0.979, "counts": {"tests": 1, "pass": 1, "fail": 0, "cancelled": 0, "skipped": 0}, "nice": 19, "tmpRoot": "/mnt/storage/scratch/tmp/g49X", "requireEditorBuild": "1", "timeoutSeconds": 180, "ended": "2026-10-24T22:08:53.514962+00:00"}
|
||||
{"name": "invalid-escaping-build", "argv": ["node", "editor/build.mjs"], "cwd": "/home/jwoltje/.t3/worktrees/mosaic-stack/herb-row214-r2/packages/webui", "rc": 0, "wallSeconds": 0.102, "counts": {}, "nice": 19, "tmpRoot": "/mnt/storage/scratch/tmp/g49X", "requireEditorBuild": "1", "timeoutSeconds": 90, "ended": "2026-10-24T22:08:53.655583+00:00"}
|
||||
{"name": "invalid-escaping-red", "argv": ["node", "--test", "--test-concurrency=1", "--test-name-pattern=wikilink DOM paste accepts", "packages/webui/tests/editor-wikilink.test.mjs"], "cwd": "/home/jwoltje/.t3/worktrees/mosaic-stack/herb-row214-r2", "rc": 1, "wallSeconds": 0.979, "counts": {"tests": 1, "pass": 0, "fail": 1, "cancelled": 0, "skipped": 0}, "nice": 19, "tmpRoot": "/mnt/storage/scratch/tmp/g49X", "requireEditorBuild": "1", "timeoutSeconds": 180, "ended": "2026-10-24T22:08:54.668225+00:00"}
|
||||
{"name": "invalid-escaping-restore-build", "argv": ["node", "editor/build.mjs"], "cwd": "/home/jwoltje/.t3/worktrees/mosaic-stack/herb-row214-r2/packages/webui", "rc": 0, "wallSeconds": 0.105, "counts": {}, "nice": 19, "tmpRoot": "/mnt/storage/scratch/tmp/g49X", "requireEditorBuild": "1", "timeoutSeconds": 90, "ended": "2026-10-24T22:08:54.809629+00:00"}
|
||||
{"name": "invalid-escaping-restore-green", "argv": ["node", "--test", "--test-concurrency=1", "--test-name-pattern=wikilink DOM paste accepts", "packages/webui/tests/editor-wikilink.test.mjs"], "cwd": "/home/jwoltje/.t3/worktrees/mosaic-stack/herb-row214-r2", "rc": 0, "wallSeconds": 0.985, "counts": {"tests": 1, "pass": 1, "fail": 0, "cancelled": 0, "skipped": 0}, "nice": 19, "tmpRoot": "/mnt/storage/scratch/tmp/g49X", "requireEditorBuild": "1", "timeoutSeconds": 180, "ended": "2026-10-24T22:08:55.831793+00:00"}
|
||||
{"name": "webui-whole", "argv": ["node", "--test", "--test-concurrency=2", "tests/agents-browser.test.mjs", "tests/agents.test.mjs", "tests/board-held.test.mjs", "tests/browser-edge.test.mjs", "tests/browser.test.mjs", "tests/bus-browser.test.mjs", "tests/bus.test.mjs"], "cwd": "/home/jwoltje/.t3/worktrees/mosaic-stack/herb-row214-r2/packages/webui", "rc": 0, "wallSeconds": 17.787, "counts": {"tests": 28, "pass": 28, "fail": 0, "cancelled": 0, "skipped": 0}, "nice": 19, "tmpRoot": "/mnt/storage/scratch/tmp/g49X", "requireEditorBuild": "1", "timeoutSeconds": 600, "ended": "2026-10-24T22:09:39.039897+00:00"}
|
||||
{"name": "webui-69", "argv": ["node", "--test", "--test-concurrency=2", "tests/agents-browser.test.mjs", "tests/agents.test.mjs", "tests/assistant.test.mjs", "tests/board-held.test.mjs", "tests/browser-edge.test.mjs", "tests/browser.test.mjs", "tests/bus-browser.test.mjs", "tests/bus.test.mjs", "tests/channel-chat.test.mjs", "tests/chat-browser.test.mjs", "tests/chat-instances.test.mjs", "tests/chat-replies-browser.test.mjs", "tests/chat-sessions-access.test.mjs", "tests/chat.test.mjs", "tests/conversation.test.mjs", "tests/decide-browser.test.mjs", "tests/decide-sso.test.mjs", "tests/decision-http.test.mjs", "tests/discord.test.mjs", "tests/docs-browser.test.mjs", "tests/editor-browser.test.mjs", "tests/editor-provenance.test.mjs", "tests/editor-wikilink.test.mjs", "tests/editor.test.mjs", "tests/granted-user.test.mjs", "tests/history-return-flow.test.mjs", "tests/instances-browser.test.mjs", "tests/instances.test.mjs", "tests/library-cli.test.mjs", "tests/library-routes.test.mjs", "tests/library-status.test.mjs", "tests/limits-browser.test.mjs", "tests/limits-route.test.mjs", "tests/markdown-preview.test.mjs", "tests/messages.test.mjs", "tests/pinned-copy.test.mjs", "tests/preview.test.mjs", "tests/processing-browser.test.mjs", "tests/processing-ui.test.mjs", "tests/processing.test.mjs", "tests/project-file.test.mjs", "tests/project-name-repo.test.mjs", "tests/proof-cli.test.mjs", "tests/proof.test.mjs", "tests/reads.test.mjs", "tests/relaunch.test.mjs", "tests/return-flow.test.mjs", "tests/routes-browser.test.mjs", "tests/routes.test.mjs", "tests/send-browser.test.mjs", "tests/send.test.mjs", "tests/serve.test.mjs", "tests/service.test.mjs", "tests/settings-form.test.mjs", "tests/settings-write.test.mjs", "tests/shell.test.mjs", "tests/sso-browser.test.mjs", "tests/sso.test.mjs", "tests/tester-browser.test.mjs", "tests/tester-cli.test.mjs", "tests/tester-listener.test.mjs", "tests/tester-socket.test.mjs", "tests/thread-claims-browser.test.mjs", "tests/thread-claims.test.mjs", "tests/thread-sharing.test.mjs", "tests/usage-browser.test.mjs", "tests/usage.test.mjs", "tests/user-option-swap.test.mjs", "tests/views.test.mjs"], "cwd": "/home/jwoltje/.t3/worktrees/mosaic-stack/herb-row214-r2/packages/webui", "rc": 0, "wallSeconds": 174.189, "counts": {"tests": 455, "pass": 455, "fail": 0, "cancelled": 0, "skipped": 0}, "nice": 19, "tmpRoot": "/mnt/storage/scratch/tmp/g49X", "requireEditorBuild": "1", "timeoutSeconds": 600, "ended": "2026-10-24T22:12:48.880975+00:00"}
|
||||
@@ -0,0 +1,15 @@
|
||||
# grant sage-4286; nice 19; TMPDIR /mnt/storage/scratch/tmp/g49X; MOSAIC_REQUIRE_EDITOR_BUILD 1
|
||||
▲ [WARNING] Ignoring this import because "third_party/editor/prosemirror-transform/src/mark.ts" was marked as having no side effects [ignored-bare-import]
|
||||
|
||||
third_party/editor/prosemirror-transform/src/index.ts:10:7:
|
||||
10 │ import "./mark"
|
||||
╵ ~~~~~~~~
|
||||
|
||||
"sideEffects" is false in the enclosing "package.json" file:
|
||||
|
||||
third_party/editor/prosemirror-transform/package.json:13:2:
|
||||
13 │ "sideEffects": false,
|
||||
╵ ~~~~~~~~~~~~~
|
||||
|
||||
editor.js bf55e22b945eda1e51ecbe9185eadd9ff21a7902713b24417ed7d697c7347bba (133 inputs)
|
||||
editor.css 8654ac57d1e7a561110138ecd7f701c34a074017ff8c4cd2768d8083908ee61f
|
||||
@@ -0,0 +1,31 @@
|
||||
# grant sage-4286; nice 19; TMPDIR /mnt/storage/scratch/tmp/g49X; MOSAIC_REQUIRE_EDITOR_BUILD 1
|
||||
✖ wikilinks are inline atoms and survive a neighbouring edit in every required context (698.378144ms)
|
||||
ℹ tests 1
|
||||
ℹ suites 0
|
||||
ℹ pass 0
|
||||
ℹ fail 1
|
||||
ℹ cancelled 0
|
||||
ℹ skipped 0
|
||||
ℹ todo 0
|
||||
ℹ duration_ms 850.87157
|
||||
|
||||
✖ failing tests:
|
||||
|
||||
test at packages/webui/tests/editor-wikilink.test.mjs:35:1
|
||||
✖ wikilinks are inline atoms and survive a neighbouring edit in every required context (698.378144ms)
|
||||
Error: Uncaught: Error: Token type `wikilink` not supported by Markdown renderer
|
||||
at MarkdownSerializerState.render (http://127.0.0.1:43723/editor.js:18015:17)
|
||||
at progress (http://127.0.0.1:43723/editor.js:18096:18)
|
||||
at _Fragment.forEach (http://127.0.0.1:43723/editor.js:484:9)
|
||||
at _Node.forEach (http://127.0.0.1:43723/editor.js:1178:20)
|
||||
at MarkdownSerializerState.renderInline (http://127.0.0.1:43723/editor.js:18101:14)
|
||||
at Object.paragraph (http://127.0.0.1:43723/editor.js:17859:13)
|
||||
at MarkdownSerializerState.render (http://127.0.0.1:43723/editor.js:18012:35)
|
||||
at http://127.0.0.1:43723/editor.js:18025:44
|
||||
at _Fragment.forEach (http://127.0.0.1:43723/editor.js:484:9)
|
||||
at _Node.forEach (http://127.0.0.1:43723/editor.js:1178:20)
|
||||
at Object.evaluate (file:///home/jwoltje/.t3/worktrees/mosaic-stack/herb-row214-r2/packages/webui/tests/browser.mjs:49:35)
|
||||
at process.processTicksAndRejections (node:internal/process/task_queues:104:5)
|
||||
at async TestContext.<anonymous> (file:///home/jwoltje/.t3/worktrees/mosaic-stack/herb-row214-r2/packages/webui/tests/editor-wikilink.test.mjs:38:5)
|
||||
at async Test.run (node:internal/test_runner/test:1409:7)
|
||||
at async startSubtestAfterBootstrap (node:internal/test_runner/harness:387:3)
|
||||
@@ -0,0 +1,15 @@
|
||||
# grant sage-4286; nice 19; TMPDIR /mnt/storage/scratch/tmp/g49X; MOSAIC_REQUIRE_EDITOR_BUILD 1
|
||||
▲ [WARNING] Ignoring this import because "third_party/editor/prosemirror-transform/src/mark.ts" was marked as having no side effects [ignored-bare-import]
|
||||
|
||||
third_party/editor/prosemirror-transform/src/index.ts:10:7:
|
||||
10 │ import "./mark"
|
||||
╵ ~~~~~~~~
|
||||
|
||||
"sideEffects" is false in the enclosing "package.json" file:
|
||||
|
||||
third_party/editor/prosemirror-transform/package.json:13:2:
|
||||
13 │ "sideEffects": false,
|
||||
╵ ~~~~~~~~~~~~~
|
||||
|
||||
editor.js bd167899a551c70dc07e500fcdd1853d7fb710b23c217ba5b42daf5785c38a72 (133 inputs)
|
||||
editor.css 8654ac57d1e7a561110138ecd7f701c34a074017ff8c4cd2768d8083908ee61f
|
||||
@@ -0,0 +1,10 @@
|
||||
# grant sage-4286; nice 19; TMPDIR /mnt/storage/scratch/tmp/g49X; MOSAIC_REQUIRE_EDITOR_BUILD 1
|
||||
✔ wikilinks are inline atoms and survive a neighbouring edit in every required context (782.721982ms)
|
||||
ℹ tests 1
|
||||
ℹ suites 0
|
||||
ℹ pass 1
|
||||
ℹ fail 0
|
||||
ℹ cancelled 0
|
||||
ℹ skipped 0
|
||||
ℹ todo 0
|
||||
ℹ duration_ms 940.955124
|
||||
@@ -0,0 +1,6 @@
|
||||
{
|
||||
"root": "/home/jwoltje/.t3/worktrees/mosaic-stack/herb-row214-r2",
|
||||
"tmp": "/mnt/storage/scratch/tmp/g49X",
|
||||
"grant": "sage-4286",
|
||||
"candidate": "2ec3f5b5ddab0cb5f2716f8164c25861b741213e"
|
||||
}
|
||||
@@ -0,0 +1,4 @@
|
||||
{
|
||||
"grep": "^# skip plus # SKIP and spec skipped-test lines",
|
||||
"names": []
|
||||
}
|
||||
@@ -0,0 +1,19 @@
|
||||
import os,sys,subprocess,pathlib,json,time,datetime,shlex,re
|
||||
out=pathlib.Path(__file__).parent;s=json.loads((out/'settings.json').read_text());name=sys.argv[1];cwd=sys.argv[2];cap=int(sys.argv[3]);argv=sys.argv[4:]
|
||||
left=datetime.datetime(2026,10,24,22,40,tzinfo=datetime.timezone.utc).timestamp()-time.time()-20
|
||||
if left<15:raise SystemExit('hard-stop cleanup margin reached')
|
||||
limit=min(cap,int(left));env=os.environ.copy();env.pop('NODE_TEST_CONTEXT',None)
|
||||
env.update(TMPDIR=s['tmp'],TMP=s['tmp'],TEMP=s['tmp'],MOSAIC_REQUIRE_EDITOR_BUILD='1',MOSAIC_GATE_LANE='b',MOSAIC_GATE_STATE='/mnt/storage/scratch/mosaic-gate-lanes',NO_COLOR='1',MOSAIC_CONFIG=s['tmp']+'/missing-config.json',XDG_CACHE_HOME=s['tmp']+'/cache',JITI_FS_CACHE=s['tmp']+'/jiti')
|
||||
header='' if name=='measurement' else 'printf "# grant sage-4286; nice %s; TMPDIR %s; MOSAIC_REQUIRE_EDITOR_BUILD %s\\n" "$(nice)" "$TMPDIR" "$MOSAIC_REQUIRE_EDITOR_BUILD"; '
|
||||
inner=header+'exec "$@"'
|
||||
log=out/(name+'.log');command='nice -n "$((19 - $(nice)))" timeout -k 10 '+str(limit)+' bash -c '+shlex.quote(inner)+' gate-run '+shlex.join(argv)+' 2>&1 | tee '+shlex.quote(str(log))
|
||||
begin=time.time();print('START',name,datetime.datetime.now(datetime.timezone.utc).isoformat(),flush=True)
|
||||
r=subprocess.run(['bash','-o','pipefail','-c',command],cwd=cwd,env=env,stdout=subprocess.DEVNULL)
|
||||
text=log.read_text();counts={}
|
||||
for key in ['tests','pass','fail','cancelled','skipped']:
|
||||
hits=re.findall(r'^[ℹ#] '+key+r' (\d+)',text,re.M)
|
||||
if hits:counts[key]=int(hits[-1])
|
||||
record={'name':name,'argv':argv,'cwd':cwd,'rc':r.returncode,'wallSeconds':round(time.time()-begin,3),'counts':counts,'nice':19,'tmpRoot':s['tmp'],'requireEditorBuild':'1','timeoutSeconds':limit,'ended':datetime.datetime.now(datetime.timezone.utc).isoformat()}
|
||||
with (out/'results.jsonl').open('a') as f:f.write(json.dumps(record)+'\n')
|
||||
print(json.dumps(record),flush=True);print('\n'.join(text.splitlines()[-20:]),flush=True)
|
||||
raise SystemExit(r.returncode)
|
||||
@@ -0,0 +1,489 @@
|
||||
# grant sage-4286; nice 19; TMPDIR /mnt/storage/scratch/tmp/g49X; MOSAIC_REQUIRE_EDITOR_BUILD 1
|
||||
✔ row 194 T16 Settings Agents: unavailable read-only, launch follows its request, confirms, reason and refusal (17431.415001ms)
|
||||
✔ row 256 T7 T8 the human page offers Delete on a creative instance, the tester page never does (1196.894618ms)
|
||||
✔ row 194 T16: each agent action makes one call with only its keys, logs the user and answers the request (25.920868ms)
|
||||
✔ row 194 T16: the boundary refuses before any bus call (13.773722ms)
|
||||
✔ row 194 T16: read-only when send is off or no writer is wired; no route has a --send exception (6.006105ms)
|
||||
✔ row 194 T16: a bus refusal names its reason and nothing changed; an unknown outcome or a bad shape is never retried (4.80649ms)
|
||||
✔ row 194 T16: the request read takes one id, adds the refusal reason and refuses an unexpected shape (9.010999ms)
|
||||
✔ row 194 T16: delete joins add and change on /api/instances with only revision, instance and op (4.535523ms)
|
||||
✔ row 194 T16 D4.1: the tester listener launches, terminates and reads requests; regenerate, veto and delete are refused with no call (6.985924ms)
|
||||
✔ row 194 N5: agents.js is served as JavaScript and index.html loads it once (2.138169ms)
|
||||
✔ row 239 T6: a delete closed -revoked says the tokens may already be revoked, and outcome-unknown-revoked is an open outcome (3.807253ms)
|
||||
✔ Q169 the signed-in human names a seat and stops the assistant, one bus call each, logged with the user (20.467126ms)
|
||||
✔ Q169 the name and stop routes need send on, the public name, the user, the exact Origin and same-origin Fetch Metadata (10.75691ms)
|
||||
✔ Q169 the name and stop routes take JSON within 4 KiB and only their own keys, all text (7.456ms)
|
||||
✔ Row 167 a null body on the name and stop routes is 400 invalid-request with no write, and the next request is answered (4.218653ms)
|
||||
✔ Q169 a bus refusal says nothing changed; a lost or odd answer says the change may have been made (6.353476ms)
|
||||
✔ Q169 the names read is a bus read like the others (1.642206ms)
|
||||
✔ the Board: held roles with no machine sessions, a claim with no address, the toggle kept across a reload, and Message addressed to the role (6930.836448ms)
|
||||
✔ a Seen click while a Board read is in flight waits for that read, then posts (1178.550164ms)
|
||||
✔ a redirect answer on a Board read, a bus read, a conversation read, a board POST, a module read and a send signs the page out: one line, nothing stale, no further reads (5341.444261ms)
|
||||
✔ browser edge states: loading, empty, malformed, stale, hostile/long values, in-flight reply and appearance fallback (1618.401633ms)
|
||||
Rendered contrast: {"failures":[],"count":330,"lowest":4.504658476260286}
|
||||
✔ served Console browser: real board fixtures, keyboard, drafts, receipts, themes, 320px and failures (1723.682265ms)
|
||||
✔ the README says a refused field table names the file or the key at fault, never a path (6.362709ms)
|
||||
✔ S5 pages in a browser: real broker rows, inert text, Copy, routes, failures, layout and no writes (3554.138366ms)
|
||||
✔ bus routes serve the four reads from the reader view, unescaped JSON for the page to escape (124.549917ms)
|
||||
✔ decisions route serves the roles and recent lists from the reader view (46.444658ms)
|
||||
✔ credentials route serves the broker credential status from the reader view (19.448846ms)
|
||||
✔ replies route serves the replies to one message from the reader view (45.806351ms)
|
||||
✔ bus routes are GET-only, have no write verb, and keep the same-origin checks (55.698955ms)
|
||||
✔ bus refusals map to statuses and never carry a path or a stack (27.537764ms)
|
||||
✔ humanCall speaks the human transport protocol without blocking the server (1707.350793ms)
|
||||
✔ busReader takes --business, else the live bus host, else refuses (257.530467ms)
|
||||
✔ humanCall kills a transport that runs past its timeout (529.025642ms)
|
||||
✔ serve refuses a --business value that is not a business id (463.414608ms)
|
||||
✔ WebUI channel off returns 503 and named recovery for every chat route without a chat operation (38.716248ms)
|
||||
✔ WebUI only selection keeps web chat enabled while retaining the old read envelope (2.635502ms)
|
||||
✔ WebUI channel-disabled recovery text is fixed and never echoes transport text (1.545115ms)
|
||||
✔ chat browser: list/create named projects and threads, hostile labels inert and no implicit writes (836.234777ms)
|
||||
✔ chat browser: thread drafts, receipts and cursor history stay isolated; refresh never writes (1150.355116ms)
|
||||
✔ chat browser: uncertain writes retain draft, ownership refusal clears it, read-only cannot send (1316.24955ms)
|
||||
✔ chat browser: a late read from A cannot paint B; sign-out clears private state and stops reads (1284.31592ms)
|
||||
✔ chat browser: page forward and deduplicate replies; pending and byte-limit submissions do not duplicate (953.60414ms)
|
||||
✔ chat browser: scrolled history stays put, New messages and an own send return to the tail (923.155974ms)
|
||||
✔ chat browser: automatic polling follows a reply without a POST or a lost draft (10953.35212ms)
|
||||
✔ chat browser: display stays bounded while every forward page remains reachable (1095.68322ms)
|
||||
✔ chat browser: a confirmed visible message replaces its pending receipt; malformed receipts stay unknown (963.350843ms)
|
||||
✔ chat browser: a refusal elsewhere forgets private chat drafts (882.872916ms)
|
||||
✔ chat browser: a late project creation receipt cannot navigate away from another thread (1050.661257ms)
|
||||
✔ C2-09a picker: no silent choice, duplicate hostile labels stay inert, selection survives refresh and reaches POST (1062.688519ms)
|
||||
✔ C2-09a picker: metadata failure, empty set and removed pick explain disabled state and recover without switching (924.988913ms)
|
||||
✔ C2-09a picker: a single instance is chosen explicitly but read-only mode cannot create a thread (781.216726ms)
|
||||
✔ 264e chooser: two sessions keep drafts, cursors, deep links and counts independent (921.256121ms)
|
||||
✔ 264e clear confirmation and status never resend, force-stop or change selection (1103.840292ms)
|
||||
✔ 264e new session keeps its operation key after an unknown response and uses no implicit open (1124.509192ms)
|
||||
✔ 264e cancel shows before/after retirement and never starts or replays work (1599.216909ms)
|
||||
✔ 272 B1: a bad-session deep link preserves the draft and lost clear operation on A (1281.091753ms)
|
||||
✔ C2-09a metadata uses the human listener bus, projects labels only and refuses unauthenticated reads (23.460794ms)
|
||||
✔ C2-09a metadata uses the private tester listener own bus and no human transport (5.122028ms)
|
||||
✔ C2-09a metadata refuses missing or malformed reads and never echoes untrusted fields (5.504868ms)
|
||||
✔ C2-09a metadata stays behind the SSO session check and a GET never refreshes session activity (4.184632ms)
|
||||
✔ chat replies: free text, cites with badges, the agent label, changed since and safe links (898.153564ms)
|
||||
✔ chat replies: a write notice reads as its line with a Revert; a refused revert shows its code (1170.744713ms)
|
||||
✔ chat replies: a read-only Console shows the notice with Revert disabled (850.32112ms)
|
||||
✔ chat status line: served commit and age, divergence, fetch error and the problems one click away (897.997997ms)
|
||||
✔ chat status line: limits when the status carries them, no problems, and refusals (1133.380317ms)
|
||||
✔ chat status line: a project with no repository link reads no library status (854.88335ms)
|
||||
✔ chat status line: unreadable reply limits show their problem and both fallback keys (882.924328ms)
|
||||
✔ chat replies: unchanged file at a different library commit and incomplete checks stay unmarked (768.120005ms)
|
||||
✔ chat status line: an invalid library mapping remains visible for diagnosis (737.619858ms)
|
||||
✔ chat replies: a checked notice-shaped agent message is plain text with no Revert (725.56059ms)
|
||||
✔ chat replies: owner-only without a sent field is a definite Revert refusal (811.129366ms)
|
||||
✔ 272 fallback: granted legacy route keeps default history, send and open without session controls (715.832685ms)
|
||||
✔ 272 fallback guard: granted explicit-session route refuses without default history or writes (631.667619ms)
|
||||
✔ 272 fallback guard: human-required catalog failure never enables default-thread access (663.54337ms)
|
||||
✔ 272 fallback guard: timeout catalog failure never enables default-thread access (537.528495ms)
|
||||
✔ 272 fallback guard: no-bus-host catalog failure never enables default-thread access (622.030953ms)
|
||||
✔ 272 fallback guard: malformed catalog failure never enables default-thread access (624.379398ms)
|
||||
✔ 272 fallback guard: owner route retains chooser and explicit default-session addressing (635.748276ms)
|
||||
✔ chat reads map only fixed verbs, strict forward paging and pure GET (40.110234ms)
|
||||
✔ chat refuses malformed and repeated query/id values before transport (7.000459ms)
|
||||
✔ chat project.create: one verified write, fixed identity/class and private log (2.986922ms)
|
||||
✔ chat project.create: each existing Console write fence makes zero bus calls (8.933369ms)
|
||||
✔ chat project.create: refusal or lost/malformed receipt never retries or invents success (5.056788ms)
|
||||
✔ chat thread.create: one verified write, fixed identity/class and private log (1.581993ms)
|
||||
✔ chat thread.create: each existing Console write fence makes zero bus calls (8.197701ms)
|
||||
✔ chat thread.create: refusal or lost/malformed receipt never retries or invents success (3.965463ms)
|
||||
✔ chat thread.send: one verified write, fixed identity/class and private log (1.353806ms)
|
||||
✔ chat thread.send: each existing Console write fence makes zero bus calls (6.740756ms)
|
||||
✔ chat thread.send: refusal or lost/malformed receipt never retries or invents success (4.970022ms)
|
||||
✔ chat thread.open: one verified write, fixed identity/class and private log (1.438093ms)
|
||||
✔ chat thread.open: each existing Console write fence makes zero bus calls (6.978012ms)
|
||||
✔ chat thread.open: refusal or lost/malformed receipt never retries or invents success (3.64445ms)
|
||||
✔ chat createThread receipt requires an instance even when its id is valid (2.535217ms)
|
||||
✔ chat write receipts expose only the fields belonging to their operation (3.886809ms)
|
||||
✔ chat validates names, body, project and strict empty open payload (5.948932ms)
|
||||
✔ chat read failures redact ownership and refuse invalid transport arrays (7.572799ms)
|
||||
✔ REQ-USER-2 real broker: owned catalog, create/name/filter, isolated history and 403/404 without mutations (108.639676ms)
|
||||
✔ chat repeats every POST boundary even when called behind an admitted request (1.210711ms)
|
||||
✔ configured Console process injects chat through its existing human transport (201.842342ms)
|
||||
✔ chat assets, GET purity, method and unknown-route refusals are explicit (15.908528ms)
|
||||
✔ the chat seam names the transport it is given: the human one and the tester one both pass, anything else is a TypeError (0.594861ms)
|
||||
✔ C2-09a createThread forwards an explicit instance through the existing channel (4.877049ms)
|
||||
✔ C2-09a malformed instance and extra thread fields refuse before the channel write (4.621594ms)
|
||||
✔ 264e session catalog/create and explicit selectors keep the human transport and strict keys (6.446ms)
|
||||
✔ 264e session writes retain Origin/identity fences and explicit selector errors (3.221617ms)
|
||||
✔ 264e clear envelope is projected, pending is preserved and GET never repeats the clear (5.920053ms)
|
||||
✔ 264e cancel is an authenticated, confirmed human write and retains retirement distinction (7.831208ms)
|
||||
✔ 272 N1: malformed clear/cancel write receipts get one redacted outcome-unknown audit line (5.831884ms)
|
||||
✔ conversation view: full history, collapsed tools, hidden thinking, inert hostile content, malformed and reconcile markers (1306.1032ms)
|
||||
✔ conversation view: a fork keeps the open branch, says so, and opens the new one on request (1836.119679ms)
|
||||
✔ conversation view: a newer session with no readable history keeps the marker (1285.484193ms)
|
||||
✔ conversation view: seats without history say so and offer no reply (1047.035848ms)
|
||||
✔ J16: no controls without sso and decide, read-only reasons, terminal lines kept, and only an eligible grant gets the panel (5771.215266ms)
|
||||
✔ J17: one POST per click, confirm then answer, cancel, refusals and an unknown outcome never retry (5272.178631ms)
|
||||
✔ a sign-in redirect at either step signs the page out and answers nothing (1989.670657ms)
|
||||
✔ a signed-in owner confirms and answers, with the session's provider, issuer and sub as the subject (213.942672ms)
|
||||
✔ the listener gates: no session, a cross-origin page, a loopback Host, a GET, and a sign-out between the steps (77.826712ms)
|
||||
✔ J16: without a decision transport the routes are read-only and /api/config says no; startServer refuses decide without sso or send (481.428976ms)
|
||||
✔ J19: a granted user's session gets decide false and the user page config, and a decision POST stops at owner-only (54.985489ms)
|
||||
✔ N4: decision.resolve has no Console route, the --send caller names no decision verb, and consoleCall takes only the two console verbs (80.240021ms)
|
||||
✔ a confirmation then a resolve answers once with the held choice and digest, and a second resolve refuses (3.814984ms)
|
||||
✔ deny resolves without a grant field (0.482281ms)
|
||||
✔ the gates before the body: method, read-only, sign-in and same origin (0.49765ms)
|
||||
✔ a bad body, id or content type refuses before the bus (0.762162ms)
|
||||
✔ a choice that is neither key is decision-stale, and a malformed preview is confirmation-unavailable (0.681931ms)
|
||||
✔ bus refusals map by code, and an unknown or missing code is unavailable at preview and outcome-unknown at resolve (2.862415ms)
|
||||
✔ a confirmation binds the session, decision and choice, and any mismatch spends it (0.81855ms)
|
||||
✔ a session that ends between the steps refuses before the bus (0.438239ms)
|
||||
✔ confirmations expire after the TTL, cap at the limit without dropping a live one, and are one use (0.323839ms)
|
||||
✔ Discord row through real board/WebUI: independent brake/liveness, no Reply, literal content (1065.529279ms)
|
||||
✔ the editor: the list, hostile markdown that runs nothing, the draft, and each save receipt (2140.805191ms)
|
||||
✔ the Console's CSP stands and the editor runs under it; hostile markdown on the load path runs and loads nothing (1354.955091ms)
|
||||
✔ hostile content pasted into the editor runs and loads nothing, and a bad link target is refused in the link bar (1547.923208ms)
|
||||
✔ a pasted image span is kept only for a target the link gate accepts, and a save writes only those (1266.979424ms)
|
||||
✔ a switch of view reads nothing; a reload, and a trip away and back, each read the file exactly once (2940.297024ms)
|
||||
✔ an edit rewrites only the block touched; a save sends the rest byte for byte; the Source view carries the draft (1214.212642ms)
|
||||
✔ a file the editor cannot write back byte for byte opens as Source, says so, cannot save, and the Visual button works once it can (2204.177601ms)
|
||||
✔ a link title pasted with line breaks in it is written on one line, so no HTML block comes of it (954.989036ms)
|
||||
✔ an image alt pasted with line breaks in it is written on one line, so no HTML block comes of it (876.671026ms)
|
||||
✔ an image title pasted with line breaks in it is written on one line, so no HTML block comes of it (876.342459ms)
|
||||
✔ a code block info string pasted with line breaks in it is written on one line, so no HTML block comes of it (851.548483ms)
|
||||
✔ a link title holding a quote after a backslash then a tag is written with the backslash escaped, so the title stays closed (973.526659ms)
|
||||
✔ an image title holding a quote after a backslash then a tag is written with the backslash escaped, so the title stays closed (730.164235ms)
|
||||
✔ a link title holding a trailing backslash is written with the backslash escaped, so the title stays closed (705.431094ms)
|
||||
✔ an image title holding a trailing backslash is written with the backslash escaped, so the title stays closed (716.592245ms)
|
||||
✔ a code block info string with a backtick, pasted, is dropped on Save, so the fence stays closed (764.08523ms)
|
||||
✔ a code block info string with a backtick, as a tilde fence can have, is kept as source, not rewritten without it (846.538059ms)
|
||||
✔ the imported source is the tagged upstream source plus the recorded local changes, and nothing else (26.175796ms)
|
||||
✔ every package names its origin and license, and NOTICE lists each (1.097644ms)
|
||||
✔ the build reads only imported source and the editor's own files; the bundle is the recorded build (8.957963ms)
|
||||
✔ MOSAIC_REQUIRE_EDITOR_BUILD: a missing or wrong esbuild skips without it and fails with it; a wrong binary always fails (7.544758ms)
|
||||
✔ the toolchain check, run as a program, exits non-zero without esbuild when the build is required (302.664165ms)
|
||||
▲ [WARNING] Ignoring this import because "third_party/editor/prosemirror-transform/src/mark.ts" was marked as having no side effects [ignored-bare-import]
|
||||
|
||||
third_party/editor/prosemirror-transform/src/index.ts:10:7:
|
||||
10 │ import "./mark"
|
||||
╵ ~~~~~~~~
|
||||
|
||||
"sideEffects" is false in the enclosing "package.json" file:
|
||||
|
||||
third_party/editor/prosemirror-transform/package.json:13:2:
|
||||
13 │ "sideEffects": false,
|
||||
╵ ~~~~~~~~~~~~~
|
||||
|
||||
✔ rebuilding from the source gives the same bytes (needs the pinned esbuild; MOSAIC_REQUIRE_EDITOR_BUILD=1 makes its absence a failure) (172.641917ms)
|
||||
✔ wikilink round-trip: plain (9.175577ms)
|
||||
✔ wikilink round-trip: labelled (1.129295ms)
|
||||
✔ wikilink round-trip: heading target (1.25613ms)
|
||||
✔ wikilink round-trip: list item (1.645832ms)
|
||||
✔ wikilink round-trip: next to front matter (1.202128ms)
|
||||
✔ wikilink round-trip: heading block and combined label (1.18696ms)
|
||||
✔ wikilink round-trip: spaces, Unicode and adjacent links (2.377579ms)
|
||||
✔ wikilink round-trip: reference-definition collision (2.902031ms)
|
||||
✔ wikilink round-trip: inside an ordinary link (4.241793ms)
|
||||
✔ wikilink round-trip: inert embed (0.63341ms)
|
||||
✔ wikilinks are inline atoms and survive a neighbouring edit in every required context (1556.425084ms)
|
||||
✔ code, escaped openers, malformed syntax and HTML-like targets stay outside wikilink atoms (1452.825353ms)
|
||||
✔ wikilink DOM paste accepts only bounded single-line inert syntax; malformed attrs serialise as escaped text (1000.711061ms)
|
||||
✔ the editor routes serve the built files with their types and no cache (46.893995ms)
|
||||
✔ open and save with no edit writes the same bytes: the goals review and a doc with every element (21.572081ms)
|
||||
✔ open and save with no edit writes the same bytes: every repository doc under docs/ and spec/ (2160.196477ms)
|
||||
✔ the editor source builds markup only with DOM calls, and the bundle has no eval (4.311024ms)
|
||||
✔ the link gate and the image rule are the preview's (1.175245ms)
|
||||
✔ R6 G1 a granted user signs in, gets the user page and reaches the broker as itself (172.773172ms)
|
||||
▶ R6 G2 a subject with no live grant in this business is refused subject-unknown
|
||||
✔ a listed user with no grant (92.602053ms)
|
||||
✔ a grant in another business (104.491345ms)
|
||||
✔ an expired grant (114.256083ms)
|
||||
✔ another user's grant (55.98006ms)
|
||||
✔ a sub in no file (64.883816ms)
|
||||
✔ a file the loader refuses (90.210241ms)
|
||||
✔ R6 G2 a subject with no live grant in this business is refused subject-unknown (523.697455ms)
|
||||
▶ R6 G3 a revoke counts on the next request: 401 and the session is gone
|
||||
✔ grant removed (62.972504ms)
|
||||
✔ subject removed (93.888865ms)
|
||||
✔ grant expired (106.472694ms)
|
||||
✔ file now refused (112.582013ms)
|
||||
✔ R6 G3 a revoke counts on the next request: 401 and the session is gone (377.178827ms)
|
||||
✔ R6 G4 every owner route answers 403 owner-only before any bus call (127.865636ms)
|
||||
✔ R6 G5 the bus refuses every owner verb over the user transport on its own (123.119351ms)
|
||||
✔ R6 G9 a user chat sends only the plugins read over the owner transport (130.557956ms)
|
||||
✔ R6 G6 the user page holds the notice word for word (75.808533ms)
|
||||
✔ R6 G7 the hub label and plain peer links render from config on both pages (984.121102ms)
|
||||
✔ R6 G8 userCall spawns user-cli directly with the user nonce, no human nonce, and the user request (51.702992ms)
|
||||
✔ return flow through the conversation view: send, tool call, delayed result, peer message, exact long answers, relaunch (52842.755773ms)
|
||||
✔ row 165 Settings: role instances read, add with a restart named, change without one, a refusal keeps the draft (2069.883646ms)
|
||||
✔ row 165 Console: the signed-in human adds an instance through a real broker; validate exits 0, the log names the human and no restart is needed (row 194) (261.303304ms)
|
||||
✔ row 165 Console: the instance write needs send on, the public name, the user, the exact Origin and same-origin Fetch Metadata (10.054646ms)
|
||||
✔ row 165 Console: the instance write takes JSON within 16 KiB and only its own keys; holder, credentials and an actor are refused (9.747938ms)
|
||||
✔ row 165 Console: a bus refusal says nothing changed; a lost or odd answer says the change may have been made (15.879235ms)
|
||||
✔ row 165 Console: the instances read takes no arguments, needs a bus and refuses an answer without a revision (6.37516ms)
|
||||
✔ C2-04 CLI: both listener callback pairs dispatch library verbs with their own transport (208.823243ms)
|
||||
✔ a signed-in same-origin revert reaches exactly one library.revert and returns the new commit (25.090439ms)
|
||||
✔ a revert needs send, the named Host, the user, the exact Origin and same-origin Fetch Metadata (8.67138ms)
|
||||
✔ a revert takes a project and a 40-hex commit, nothing else, before the bus is asked (7.475126ms)
|
||||
✔ a bus refusal is reported as not reverted with its code; before C2-02 that is the verb refusal (9.725112ms)
|
||||
✔ a revert whose answer is lost or unusable is reported unknown and is never retried (7.701918ms)
|
||||
✔ the status read takes one project query and answers the bus result for that project (4.432751ms)
|
||||
✔ a status answer for another project or of the wrong shape is refused; a refusal keeps its status (9.479692ms)
|
||||
✔ the status read needs no send; a read-only Console still has no revert (2.316938ms)
|
||||
✔ library routes are the owner's: a granted user is refused them, and the tester never reverts (0.874467ms)
|
||||
✔ the page gets the one library renderer, byte for byte, as a JavaScript module (1.946831ms)
|
||||
✔ a revert receipt for another project is unknown and is never retried (1.698516ms)
|
||||
✔ a granted-user HTTP session cannot reach owner library callbacks (2.11729ms)
|
||||
✔ a configured revert callback remains unreachable when send is off (1.619535ms)
|
||||
✔ row 254: each library sync code maps to its status (0.875525ms)
|
||||
✔ REQ-LIMIT-3 REQ-LIMIT-4 Settings shows token limits counted, not enforced and check failed; Reset posts one path; a save keeps the token limits (1283.613274ms)
|
||||
✔ Row 167 with an assistant draft open, a token limit reset gives the assistant submit its revision (951.959609ms)
|
||||
✔ REQ-LIMIT-3 limits read returns only the token rows; no query or write is accepted (36.003397ms)
|
||||
✔ REQ-LIMIT-3 a limits answer without a token list is refused, not shown as no limits (11.374745ms)
|
||||
2026-10-24T22:11:16.186Z settings user="jason" changed
|
||||
✔ REQ-LIMIT-3 a Settings reset reaches the human write with its paths; a reset alone is enough (7.465903ms)
|
||||
✔ REQ-LIMIT-3 the Console reader asks the bus limits verb with no arguments (0.460687ms)
|
||||
✔ the preview source names none of the four string-to-markup sinks (1.2239ms)
|
||||
✔ headings, paragraphs, emphasis and inline code render (1.52146ms)
|
||||
✔ lists, block quotes and code blocks render (0.569678ms)
|
||||
✔ a link is made for http, https and relative targets, with rel and the target shown (1.167267ms)
|
||||
✔ a link with any other scheme, or an evasion of the scheme, stays source text (1.071465ms)
|
||||
✔ an image shows alt text and URL, is never an img element and never loads (0.176798ms)
|
||||
✔ raw HTML, entities and unsupported blocks show as source text, never as elements (0.390592ms)
|
||||
✔ markup inside code and inside link text stays text (0.199256ms)
|
||||
✔ hostile and pathological input stays within its look-ahead budget and under the nesting cap (48.760884ms)
|
||||
✔ trailing blanks and closing hashes are cut by a walk from the end, not a regex that retries inside a blank run (35.531804ms)
|
||||
✔ a link opener with no closer searches at most SPAN characters ahead (188.875275ms)
|
||||
✔ the look-ahead work of one render is a fixed multiple of the text, whatever the opener (848.275978ms)
|
||||
✔ past the budget an opener is source text, through the path all other text takes (17.235886ms)
|
||||
✔ a normal 200 KiB document renders exactly as it did without a budget, and spends little of it (25.044171ms)
|
||||
✔ a line separator inside a heading, a list item or a fence line does not end the marker line (0.595681ms)
|
||||
✔ a thematic-break line is a paragraph, every other marker line opens a list (0.433323ms)
|
||||
✔ every short line over space, tab, - * _ and a letter is a break exactly when the old regex said so (48.393695ms)
|
||||
✔ one line of marks does not throw, at 4 MiB, whatever the mark or the spacing (7867.726504ms)
|
||||
✔ CRLF and tabs are read like LF and spaces; empty input renders nothing (0.182135ms)
|
||||
✔ messages HTTP read pages and preserves metadata; bad arguments refuse before a read; other reads unchanged (114.721485ms)
|
||||
✔ Console Messages lists late unsolicited messages on polling with sender class time read state and trail; nav count includes beyond the page; reads never deliver (1227.204744ms)
|
||||
✔ Messages nav count polls on Tasks and Board and clears on a Board refusal; messages 403 refuses local pages (2003.078514ms)
|
||||
✔ copy writes the Console paths at the full id, read-only, and leaves an existing copy alone (1488.436066ms)
|
||||
✔ copy refuses a commit off refactor, an unknown one, a worktree and a bad copies directory (1597.975802ms)
|
||||
✔ copy writes nothing when an archived path is missing at the commit (579.510216ms)
|
||||
✔ a copy that loses the rename race leaves no read-only temp directory behind (673.135629ms)
|
||||
✔ a copy whose rename fails with no target refuses, writes no copy and leaves no temp directory (710.289827ms)
|
||||
✔ a copy that meets a target holding files says exists: and moves nothing into it (732.806597ms)
|
||||
✔ a copy that meets an empty target directory replaces it by rename, not by moving into it (612.835517ms)
|
||||
✔ serve runs from a copy: /healthz 200, the config check, roles and RELEASE from the copy, the queue from --checkout (1149.224132ms)
|
||||
✔ serve refuses a --checkout that is not an absolute directory path (375.216061ms)
|
||||
✔ consoleReads runs the queue read under queueRoot and reads RELEASE under root (69.061909ms)
|
||||
✔ preview options are all three or none, and each is checked (11.596651ms)
|
||||
✔ the CLI refuses a partial or invalid preview flag set at start (945.562554ms)
|
||||
✔ the CLI with all three flags serves the preview mode (193.560054ms)
|
||||
✔ a request for the public name needs the header equal to the user id, else 401 and nothing read (21.565508ms)
|
||||
✔ the header name matches without regard to case, and the value compare is exact (3.95808ms)
|
||||
✔ the public name with the header reads the bus views, and the Host and Origin are checked first (33.216972ms)
|
||||
✔ in preview mode every write answers 403 read-only, from the public name and loopback, and reaches nothing (13.946391ms)
|
||||
✔ loopback requests are unchanged in preview mode, and the bus views work with the board down (21.317768ms)
|
||||
✔ a proxy that rewrites Host to the loopback port gets 403 on its first request, whatever the user (20.422653ms)
|
||||
✔ a repeated Host is 400 before any other check, in preview mode and without it (11.215391ms)
|
||||
✔ without the preview flags the public name is refused and writes still reach the board (5.587922ms)
|
||||
✔ processing browser: keyboard Stop, confirmed Resume, unknown outcome and persistent banner (718.01676ms)
|
||||
✔ processing browser: Q175 read-only interim keeps both writes disabled and names CLI recovery at 320px (695.148762ms)
|
||||
✔ processing browser: sign-out from config redirect blocks later refresh and writes (824.165228ms)
|
||||
✔ processing browser: sign-out from state redirect blocks later refresh and writes (860.253673ms)
|
||||
✔ processing browser: sign-out from write redirect blocks later refresh and writes (806.441355ms)
|
||||
✔ processing browser: sign-out from config sign-in required blocks later refresh and writes (864.004948ms)
|
||||
✔ processing browser: sign-out from state sign-in required blocks later refresh and writes (886.919472ms)
|
||||
✔ processing browser: sign-out from write sign-in required blocks later refresh and writes (960.067268ms)
|
||||
ROW191_LAYOUT {"width":400,"height":1000,"controls":97,"tree":324.0625,"main":1450.703125,"top":181.5,"bottom":217.5,"barBottom":129,"projectsTop":352.59375,"order":"0","visible":true}
|
||||
ROW191_LAYOUT {"width":1440,"height":1000,"controls":127,"tree":914,"main":914,"top":135.5,"bottom":171.5,"barBottom":53,"projectsTop":636.59375,"order":"0","visible":true}
|
||||
ROW191_LAYOUT {"width":1440,"height":420,"controls":127,"tree":334,"main":907.734375,"top":135.5,"bottom":171.5,"barBottom":53,"projectsTop":636.59375,"order":"0","visible":true}
|
||||
ROW191_LAYOUT {"width":800,"height":420,"controls":127,"tree":334,"main":1131.65625,"top":135.5,"bottom":171.5,"barBottom":53,"projectsTop":618.59375,"order":"0","visible":true}
|
||||
✔ processing browser: static nav controls keep Stop visible, ordered and keyboard reachable (764.42746ms)
|
||||
✔ interim read-only controls show CLI recovery, disable both writes and retain a halted banner across views (8.191348ms)
|
||||
✔ Stop sends one empty halt and Resume confirms before sending the displayed generation (2.947603ms)
|
||||
✔ a cancelled resume never calls the writer (1.219134ms)
|
||||
✔ unknown writes are not retried or displayed as success and partial stops remain explicit (2.112188ms)
|
||||
✔ the persistent shell loads the control outside route-specific content with accessible status and native buttons (0.471441ms)
|
||||
✔ read-only Console can read processing state but neither human control writes without --send (23.636966ms)
|
||||
✔ Console halt and generation-bound resume use only the management writer and keep partial stops honest (4.923203ms)
|
||||
✔ processing write fences refuse cross-site, wrong origin, unnamed host, duplicate identity and bad payload before writer (7.499038ms)
|
||||
✔ tester cannot invoke either control writer and failures never echo backend text (5.000005ms)
|
||||
✔ processing writes use the existing SSO signer and still require --send and same-origin (5.29471ms)
|
||||
✔ processing handler independently refuses wrong origin and cross-site before its writer (0.741847ms)
|
||||
✔ a signed-in same-origin save reaches exactly one human operation and returns the new commit (22.355345ms)
|
||||
✔ a save needs send, the named Host, the user, the exact Origin and same-origin Fetch Metadata (8.492884ms)
|
||||
✔ a save validates JSON, strict keys, text values and the 1 MiB body before the bus is asked (19.453599ms)
|
||||
✔ a body that is JSON but not an object is refused 400, not thrown on (5.777613ms)
|
||||
✔ the 1 MiB limit is this route only; Settings and messages keep 16 KiB (2.581226ms)
|
||||
✔ a bus refusal is reported as not saved with its own status; stale-base tells the user to reload (6.148622ms)
|
||||
✔ a save whose answer is lost or unusable is reported unknown and is never retried (3.873987ms)
|
||||
✔ the file list and one file read take strict queries and arrive in the expected shape (4.947705ms)
|
||||
✔ reads work without --send; an unusable bus answer is a bad response, a refusal keeps its status (3.061043ms)
|
||||
✔ /api/config says edit only where a save can pass (2.093648ms)
|
||||
✔ a repository-name project refusal is an HTTP conflict (0.589542ms)
|
||||
✔ proof startup refuses partial flags non-preview and invalid fixture file metadata or bytes (1372.358151ms)
|
||||
✔ serve argv carries only fixture proof path and header; startup explicitly reports proof on or off (296.532456ms)
|
||||
✔ CLI applies proof on the main listener and rejects that header on its tester listener (281.757503ms)
|
||||
✔ proxy proof admits named reads and sends, reads its fixture once, and never exposes the value (34.129527ms)
|
||||
✔ proxy proof refuses missing wrong short or repeated proof before auth and before any read (10.977149ms)
|
||||
✔ proxy proof header is refused on other Hosts and on the tester listener (5.374102ms)
|
||||
✔ proof options reject unsafe or colliding header names without disclosing file contents (0.797857ms)
|
||||
✔ redactor: config, dataRoot, any absolute path, Discord ids and the JSON parser quote (1.703483ms)
|
||||
✔ credential state from the date alone, as the bus states it (0.208011ms)
|
||||
✔ queue: rows, one row, ids and methods, notes; no path or id from a row (414.58832ms)
|
||||
✔ queue: a refused read fails closed with the store's text, redacted (210.374206ms)
|
||||
✔ queue: a store that fails to load, or a child that dies, gives a fixed message with no path or stack (858.43953ms)
|
||||
✔ business: names, vars on the allowlist, authority, credential metadata only (17.500331ms)
|
||||
✔ business: missing or invalid file refuses with the module's text, redacted (8.383354ms)
|
||||
✔ business without --business: the live bus host, else no-bus-host; no system config: not-configured (8.244873ms)
|
||||
✔ settings: release, board, loopback address, notifier binding name only (129.222379ms)
|
||||
✔ task fields: the committed table with no reads configured, GET only; a bad table refuses with no path (18.325509ms)
|
||||
✔ bus-status: a refused boot shows reason, file and last good load; a live host or an ok boot clears it (8.620563ms)
|
||||
✔ both presentations replace old activity with relaunch notice, label retained history, then resume after new activity (912.269858ms)
|
||||
✔ reported return flow and relative Age: reply sent from the inspector, then the new answer appears there without manual refresh (20871.244615ms)
|
||||
organization: {"event":"reload-needs-restart","business":"acme"}
|
||||
organization: {"event":"reload-needs-restart","business":"acme"}
|
||||
✔ row 65 Settings: the routing table lists every instance, saves a harness, model, thinking and fallback to the file, and keeps the draft on each refusal (1456.057342ms)
|
||||
organization: {"event":"reload-needs-restart","business":"acme"}
|
||||
✔ row 65 Console: the signed-in human saves a route through a real broker; each refusal says nothing changed and leaves the file and the log (124.733405ms)
|
||||
✔ row 65 Console: the routes write needs send on, a writer, the public name, the user, the exact Origin and same-origin Fetch Metadata (7.984846ms)
|
||||
✔ row 65 Console: the routes write takes JSON within 16 KiB with a revision and routes only; an actor is refused and routes are never logged (9.931147ms)
|
||||
✔ row 65 Console: a bus refusal maps to its status and says nothing changed; a lost or odd answer says the change may have been made (24.176558ms)
|
||||
✔ row 65 Console: the routes read takes no arguments, needs a bus and refuses an odd answer (7.91025ms)
|
||||
✔ the send box: held roles, the draft and caret across a refresh, each receipt, one POST per Send, and the trail link; the board Reply on a 4xx and a 5xx (2577.785116ms)
|
||||
✔ a sent receipt lists its replies as the page refreshes, oldest first and capped, and marks none delivered or read (11216.600397ms)
|
||||
✔ startServer takes send only as a function and only with the preview mode (8.305533ms)
|
||||
✔ the CLI refuses --send without the preview flags, and without a configured bus (622.972543ms)
|
||||
✔ the CLI with --send and a configured bus sends through the human transport and logs one line (188.71069ms)
|
||||
✔ without --send the route is read-only like every other write, and config says no send (10.412469ms)
|
||||
✔ with --send every other write is still 403 read-only, and nothing reaches the board or bus (8.881331ms)
|
||||
✔ config says send only on the public name with --send on (4.624696ms)
|
||||
✔ a send without the signed-in user is 401 and is neither sent nor logged, loopback included (6.736458ms)
|
||||
✔ each request check refuses before anything is sent, and logs the refusal without the body (23.776724ms)
|
||||
✔ a send passes exactly to, body and in_reply_to, answers the id, and logs it (3.435425ms)
|
||||
✔ a crafted role name cannot forge a log line (2.520457ms)
|
||||
✔ a bus refusal is not sent, with its status; an outcome the bus could not confirm is unknown and never retried (8.782419ms)
|
||||
✔ through the human transport the request is exactly the business, message.send and the keys (100.281561ms)
|
||||
✔ against a real broker: the message is written once as a human send, and its refusals map (31.579317ms)
|
||||
✔ loopback host and board origin fail closed (6.349957ms)
|
||||
✔ real board fixture passes through WebUI; assets and isolated seen/reply work (85.238919ms)
|
||||
✔ proxy preserves exact request bytes, status and receipt, rejects forms and malformed JSON, never follows redirect (49.199627ms)
|
||||
✔ unreachable board reports URL; CLI rejects unsupported options (479.978274ms)
|
||||
✔ tester service render carries the tester port alongside existing flags (134.959305ms)
|
||||
✔ tester service refuses forwarded 7332 even with another main port (111.314937ms)
|
||||
✔ tester service invalid ports refuse render and install with exit 4 and leave the unit alone (1140.951065ms)
|
||||
✔ tester service counts the digits as written before it strips leading zeros (106.037477ms)
|
||||
✔ tester service install and status show the tester port without changing send reporting (550.730447ms)
|
||||
✔ render prints the unit without the preview flags (50.043501ms)
|
||||
✔ render carries every serve flag, the preview set included (48.3057ms)
|
||||
✔ a partial preview set is refused (116.014202ms)
|
||||
✔ a value the unit cannot carry is refused, for every flag (2672.644014ms)
|
||||
✔ the rendered unit names none of the human proof agent markers and sets no agent variable (239.356908ms)
|
||||
✔ install into --dir with --no-reload writes the file whole, then reports unchanged (287.45407ms)
|
||||
✔ install without --no-reload runs daemon-reload and nothing that starts the unit (62.23267ms)
|
||||
✔ uninstall refuses while the unit is running, with or without --no-reload, and removes it once it is not (564.150662ms)
|
||||
✔ status prints the unit state and GET /healthz on the installed port (418.000891ms)
|
||||
✔ usage: an unknown verb or flag, and start or enable, exit 4 (748.152129ms)
|
||||
✔ without --send, render is the template with its placeholders filled, byte for byte (191.946387ms)
|
||||
✔ render --send with the preview set ends ExecStart with --send and changes nothing else (314.493899ms)
|
||||
✔ --send without the whole preview set is refused and writes nothing (731.918561ms)
|
||||
✔ install --send into --dir with --no-reload writes the sending unit, and status says whether it sends (513.043402ms)
|
||||
✔ uninstall and status take no --send (164.863424ms)
|
||||
✔ install refuses while the unit is running, in any state but inactive or failed, and changes nothing (697.765957ms)
|
||||
✔ when the state read fails, install and uninstall refuse with one line and change nothing (238.392922ms)
|
||||
✔ install needs --copy naming a copy that exists, and refuses outside the canonical checkout without --allow-worktree (355.132277ms)
|
||||
✔ install refuses unless the bus unit runs from the same copy, naming both paths, and changes nothing (735.389915ms)
|
||||
✔ render --copy runs the copy and reads the queue in the checkout; without --copy the unit is unchanged (114.218835ms)
|
||||
✔ the uid header takes only an Authentik uid; the username header still takes a username (2531.254234ms)
|
||||
✔ a preview value cannot start with - or . (295.955168ms)
|
||||
✔ status names the copy and whether refactor has moved past it, and says when the unit runs from no copy (877.622422ms)
|
||||
✔ proxy proof render carries both flags but never opens the fixture file (89.223556ms)
|
||||
✔ proxy proof render refuses incomplete non-preview missing unsafe-mode and repo/copy paths (565.728452ms)
|
||||
✔ proxy proof status retains send and tester reporting with both proof flags (170.319152ms)
|
||||
✔ row196 socket flag renders only for supporting targets and refuses mixed transports (114.439527ms)
|
||||
✔ Settings form shows every scope and held role; gated save, exact payload, retained draft and no automatic retry (1360.394114ms)
|
||||
✔ Q169 Assistant section: gated, changed fields only, name and stop posts, retained draft and no automatic retry (1339.787079ms)
|
||||
✔ Row 167 a refused names read gives the refused usage page; another names failure keeps the Assistant section (1001.13625ms)
|
||||
✔ Row 167 with a limits draft open, an assistant save gives the limits submit its revision and the typed limit stays (961.46178ms)
|
||||
✔ Row 167 with an assistant draft open, a launch save gives the assistant submit its revision, and reload reads the current one (919.499255ms)
|
||||
2026-10-24T22:12:18.574Z settings user="jason" changed
|
||||
✔ REQ-WEB-1 signed-in same-origin Settings write reaches exactly one human operation (20.814698ms)
|
||||
✔ REQ-WEB-1 Settings writes require enabled send, named Host, identity, exact Origin and same-origin Fetch Metadata (7.338296ms)
|
||||
✔ REQ-WEB-1 Settings validates JSON, size, revision and strict writable keys before broker call (5.704514ms)
|
||||
✔ Q169 a Console change of the assistant reaches the human operation unchanged, and the log names the signed-in user (3.12922ms)
|
||||
✔ tokens.css and icons.svg are byte copies of docs/design (2.466959ms)
|
||||
✔ JetBrains Mono files match the digests in their sources file, with the OFL text (2.202837ms)
|
||||
✔ shipped strings are unchanged, and the web keeps its write boundary (3.483166ms)
|
||||
ROW191_LAYOUT {"width":1440,"height":1000,"controls":212.5,"tree":914,"main":914}
|
||||
✔ shell in a browser: System default, seeded states, 400px, focus and the Ctrl+K palette (5724.337234ms)
|
||||
✔ five states on Board, Inbox, Tasks, Agents and Trail (2781.461551ms)
|
||||
✔ a 401 sign-in required on each fetch path signs the page out with a sign-in link and stops the refresh; another 401 stays an error (5951.403032ms)
|
||||
✔ the Sign out form shows only when /api/config says sso, and posts to /auth/logout (1240.276745ms)
|
||||
✔ positive: an RS256 provider signs in and sends one message, and the session reads (144.348303ms)
|
||||
✔ positive: an ES256 provider signs in and sends (20.592669ms)
|
||||
✔ positive: two providers each sign in their own subjects, and one provider's subject is unknown to the other (61.371982ms)
|
||||
✔ 1: a forged x-authentik header without a cookie is 401 on the API and a sign-in redirect on a page (43.593455ms)
|
||||
✔ 2: an HS256 ID token keyed with the client secret and a real RSA kid is refused (73.089469ms)
|
||||
✔ 3: a wrong aud, and an aud list holding another client with no azp, are refused (33.086381ms)
|
||||
✔ 4: a token that expired 10 minutes ago is refused (63.584637ms)
|
||||
✔ 5: another issuer, and the issuer without its trailing slash, are refused (48.311745ms)
|
||||
✔ 6: a nonce mismatch and a missing nonce are refused (27.913813ms)
|
||||
✔ 7: state mismatch, no login cookie, a replay, an expired record and two login cookies are refused (67.213632ms)
|
||||
✔ 8: the token request carries the PKCE verifier, and the OP refuses a wrong one (46.450232ms)
|
||||
✔ 9: alg none, a changed payload under a real kid, and an unknown kid even after the refetch are refused (208.50079ms)
|
||||
✔ 10: a valid token for a subject not configured is 403 with one subject-unknown line (114.43639ms)
|
||||
✔ 11: start refusals: HS or none algs, reserved names, HS-only discovery, an empty JWKS, no S256, an issuer mismatch, a short RSA key (276.730279ms)
|
||||
✔ 11: slot files: a symlink, mode 0644, mode 0640 and a file under the repository are refused, and no message holds the value (2.126877ms)
|
||||
✔ 11: the CLI refuses --sso with the old flags and without console.sso, and starts with a good one (1317.326217ms)
|
||||
✔ 12: under --sso the tester listener refuses each kind of sign-in, has no /auth, and startServer refuses tester with sso (61.815926ms)
|
||||
✔ 13: idle and absolute expiry, logout then reuse, a cross-origin logout, and background reads that don't keep a session (112.338051ms)
|
||||
✔ 13: the CSP lets the Sign out form reach the provider's end-session origin, and only under --sso (136.264868ms)
|
||||
✔ 14: open redirects land on /, and a path on the Console lands there (125.077087ms)
|
||||
✔ 15: a callback for A carrying B's code and iss, and a provider= query, is refused (114.160441ms)
|
||||
✔ 16: a provider with RS256 and ES256 takes either, and refuses PS256 with a usable PS256 key in the JWKS (111.659664ms)
|
||||
✔ 17: 33 started logins leave 32 records, and the first one's callback finds none (59.820684ms)
|
||||
✔ 18: after a key rotation a sign-in works through one refetch, and the removed kid is refused (119.662583ms)
|
||||
✔ 20 and 21: the store holds no raw session id, and the cookie strings are exact (36.447359ms)
|
||||
✔ 22: a loopback Host is 403 on a page, a read and a write; /healthz on loopback is 200; a redirect_uri never comes from the Host (64.398495ms)
|
||||
✔ 23: a provider down at start leaves the Console up and 503, and the retry makes sign-in work (225.671097ms)
|
||||
✔ 19: no captured log line holds a token, code, state, nonce, verifier, client secret or session id (4.654356ms)
|
||||
✔ tester Console banner exposes only instance route and name editors and saves a route as tester (1004.885424ms)
|
||||
✔ row 177: the tester Console chat composer is enabled and a send shows in its own thread (882.644221ms)
|
||||
✔ tester-port validates range tunnel main port and requires configured bus before listening (1166.339822ms)
|
||||
✔ CLI tester listener binds a private Unix socket and spawns TESTER_CLI for every Console bus read (4245.099179ms)
|
||||
✔ main listener refuses x-mosaic-tester before any board or bus read for every Host (28.708091ms)
|
||||
✔ tester listener rejects preview binding and requires its fixed logical Host and no proxy auth header (145.683675ms)
|
||||
✔ tester listener writes only instances routes and names with tester receipts and actor (158.995936ms)
|
||||
✔ tester listener refuses every human-only write with no bus call (108.260486ms)
|
||||
✔ tester-off and tester-required reads return HTTP 403 (109.020476ms)
|
||||
✔ tester credentials routes and committed project reads keep secrets and paths bounded (194.378994ms)
|
||||
✔ row 177 W1: the tester chat makes, sends to, opens and reads its own thread as tester (30.75864ms)
|
||||
✔ row 177 W2: tester chat writes refuse a missing or foreign Origin, cross-site, text/plain and the proxy header with no bus call (16.544702ms)
|
||||
✔ row 177 W3: the human thread through the tester chat is thread-not-owned, and bus.tester off answers tester-off (38.09277ms)
|
||||
✔ row 177 W4: the main listener refuses x-mosaic-tester on chat reads and writes before the chat (3.174145ms)
|
||||
✔ Row 252: the tester listener has no decision answer routes, and its config never offers them (115.156837ms)
|
||||
✔ private tester HTTP serves on 0600 socket in 0700 parent and fixed origin (92.027264ms)
|
||||
✔ private tester refuses symlink, unsafe parent and long path without repairs (1.361981ms)
|
||||
✔ tester cleanup must leave a replacement inode untouched (1.910765ms)
|
||||
✔ row278 browser lists held claims and release preserves role rows and totals (847.359938ms)
|
||||
✔ row278 browser claims 403 stays local and role section remains byte-equal (894.870976ms)
|
||||
✔ row278 browser renders only four escaped claim fields and never instance or other extras (843.980149ms)
|
||||
✔ row278 browser sign-out removes claims and prevents reuse of cached answers (893.668522ms)
|
||||
✔ row278 tester browser keeps role rows without requesting the owner claims section (787.543169ms)
|
||||
✔ row278 browser discards a late claims answer after sign-out (921.720447ms)
|
||||
✔ row278 HTTP read returns held claims without send and refuses arguments before the bus (53.230904ms)
|
||||
✔ row278 HTTP read preserves bus refusal and rejects a malformed result (16.041697ms)
|
||||
✔ row278 tester socket refuses thread claims explicitly with zero bus calls (7.920469ms)
|
||||
✔ row278 Console adapter calls argument-free thread.claims through the normal transport (234.138591ms)
|
||||
✔ 193d HTTP shares use the caller, plain/shared lists, exact args and write fences (101.289213ms)
|
||||
✔ 193d config supplies only the signed-in user live collaborator scopes and updates on downgrade (42.033352ms)
|
||||
✔ 193d viewer UI has no composer, resume, share, session mutations or create controls (924.760539ms)
|
||||
✔ 193d mixed grants keep viewer project read-only and collaborator own thread writable; downgrade hides controls (953.979736ms)
|
||||
✔ 193d owner has share controls on own threads and shared threads remain read-only (790.551799ms)
|
||||
✔ 193d bypassed UI checks still reach a refusing bus for every viewer write (788.861611ms)
|
||||
✔ 193d collaborator shares stay read-only and never expose reshare or wake controls (581.454324ms)
|
||||
✔ REQ-LIMIT-4 Settings shows all token kinds and unknown turns beside every total, as a read-only separate section (995.953487ms)
|
||||
✔ REQ-WEB-1 usage read keeps unknown counts and each token kind; no query or write is accepted (45.120159ms)
|
||||
✔ REQ-WEB-1 malformed usage is refused instead of shown as zero (8.503528ms)
|
||||
✔ R6-N1 with the userRoute gate open, a user session reaches no owner option over HTTP (253.639899ms)
|
||||
✔ Queue, Business and Settings in their five states, with no move button (3486.52394ms)
|
||||
✔ seeded secrets, Discord ids and paths reach no response and no page; business refusals in the module's words (1584.02624ms)
|
||||
✔ the server log names no config path when the system config refuses (369.222452ms)
|
||||
ℹ tests 455
|
||||
ℹ suites 0
|
||||
ℹ pass 455
|
||||
ℹ fail 0
|
||||
ℹ cancelled 0
|
||||
ℹ skipped 0
|
||||
ℹ todo 0
|
||||
ℹ duration_ms 174122.853398
|
||||
@@ -0,0 +1,69 @@
|
||||
tests/agents-browser.test.mjs
|
||||
tests/agents.test.mjs
|
||||
tests/assistant.test.mjs
|
||||
tests/board-held.test.mjs
|
||||
tests/browser-edge.test.mjs
|
||||
tests/browser.test.mjs
|
||||
tests/bus-browser.test.mjs
|
||||
tests/bus.test.mjs
|
||||
tests/channel-chat.test.mjs
|
||||
tests/chat-browser.test.mjs
|
||||
tests/chat-instances.test.mjs
|
||||
tests/chat-replies-browser.test.mjs
|
||||
tests/chat-sessions-access.test.mjs
|
||||
tests/chat.test.mjs
|
||||
tests/conversation.test.mjs
|
||||
tests/decide-browser.test.mjs
|
||||
tests/decide-sso.test.mjs
|
||||
tests/decision-http.test.mjs
|
||||
tests/discord.test.mjs
|
||||
tests/docs-browser.test.mjs
|
||||
tests/editor-browser.test.mjs
|
||||
tests/editor-provenance.test.mjs
|
||||
tests/editor-wikilink.test.mjs
|
||||
tests/editor.test.mjs
|
||||
tests/granted-user.test.mjs
|
||||
tests/history-return-flow.test.mjs
|
||||
tests/instances-browser.test.mjs
|
||||
tests/instances.test.mjs
|
||||
tests/library-cli.test.mjs
|
||||
tests/library-routes.test.mjs
|
||||
tests/library-status.test.mjs
|
||||
tests/limits-browser.test.mjs
|
||||
tests/limits-route.test.mjs
|
||||
tests/markdown-preview.test.mjs
|
||||
tests/messages.test.mjs
|
||||
tests/pinned-copy.test.mjs
|
||||
tests/preview.test.mjs
|
||||
tests/processing-browser.test.mjs
|
||||
tests/processing-ui.test.mjs
|
||||
tests/processing.test.mjs
|
||||
tests/project-file.test.mjs
|
||||
tests/project-name-repo.test.mjs
|
||||
tests/proof-cli.test.mjs
|
||||
tests/proof.test.mjs
|
||||
tests/reads.test.mjs
|
||||
tests/relaunch.test.mjs
|
||||
tests/return-flow.test.mjs
|
||||
tests/routes-browser.test.mjs
|
||||
tests/routes.test.mjs
|
||||
tests/send-browser.test.mjs
|
||||
tests/send.test.mjs
|
||||
tests/serve.test.mjs
|
||||
tests/service.test.mjs
|
||||
tests/settings-form.test.mjs
|
||||
tests/settings-write.test.mjs
|
||||
tests/shell.test.mjs
|
||||
tests/sso-browser.test.mjs
|
||||
tests/sso.test.mjs
|
||||
tests/tester-browser.test.mjs
|
||||
tests/tester-cli.test.mjs
|
||||
tests/tester-listener.test.mjs
|
||||
tests/tester-socket.test.mjs
|
||||
tests/thread-claims-browser.test.mjs
|
||||
tests/thread-claims.test.mjs
|
||||
tests/thread-sharing.test.mjs
|
||||
tests/usage-browser.test.mjs
|
||||
tests/usage.test.mjs
|
||||
tests/user-option-swap.test.mjs
|
||||
tests/views.test.mjs
|
||||
@@ -0,0 +1,38 @@
|
||||
# grant sage-4286; nice 19; TMPDIR /mnt/storage/scratch/tmp/g49X; MOSAIC_REQUIRE_EDITOR_BUILD 1
|
||||
✔ row 194 T16 Settings Agents: unavailable read-only, launch follows its request, confirms, reason and refusal (13526.912326ms)
|
||||
✔ row 256 T7 T8 the human page offers Delete on a creative instance, the tester page never does (917.27163ms)
|
||||
✔ row 194 T16: each agent action makes one call with only its keys, logs the user and answers the request (26.28546ms)
|
||||
✔ row 194 T16: the boundary refuses before any bus call (13.102463ms)
|
||||
✔ row 194 T16: read-only when send is off or no writer is wired; no route has a --send exception (6.394437ms)
|
||||
✔ row 194 T16: a bus refusal names its reason and nothing changed; an unknown outcome or a bad shape is never retried (4.282632ms)
|
||||
✔ row 194 T16: the request read takes one id, adds the refusal reason and refuses an unexpected shape (5.922485ms)
|
||||
✔ row 194 T16: delete joins add and change on /api/instances with only revision, instance and op (2.724511ms)
|
||||
✔ row 194 T16 D4.1: the tester listener launches, terminates and reads requests; regenerate, veto and delete are refused with no call (4.723645ms)
|
||||
✔ row 194 N5: agents.js is served as JavaScript and index.html loads it once (1.551741ms)
|
||||
✔ row 239 T6: a delete closed -revoked says the tokens may already be revoked, and outcome-unknown-revoked is an open outcome (2.702385ms)
|
||||
✔ the Board: held roles with no machine sessions, a claim with no address, the toggle kept across a reload, and Message addressed to the role (3264.641316ms)
|
||||
✔ a Seen click while a Board read is in flight waits for that read, then posts (1197.183961ms)
|
||||
✔ a redirect answer on a Board read, a bus read, a conversation read, a board POST, a module read and a send signs the page out: one line, nothing stale, no further reads (5156.528249ms)
|
||||
✔ browser edge states: loading, empty, malformed, stale, hostile/long values, in-flight reply and appearance fallback (1309.276425ms)
|
||||
Rendered contrast: {"failures":[],"count":330,"lowest":4.504658476260286}
|
||||
✔ served Console browser: real board fixtures, keyboard, drafts, receipts, themes, 320px and failures (1518.992742ms)
|
||||
✔ the README says a refused field table names the file or the key at fault, never a path (104.682461ms)
|
||||
✔ S5 pages in a browser: real broker rows, inert text, Copy, routes, failures, layout and no writes (3538.625499ms)
|
||||
✔ bus routes serve the four reads from the reader view, unescaped JSON for the page to escape (83.53196ms)
|
||||
✔ decisions route serves the roles and recent lists from the reader view (37.23684ms)
|
||||
✔ credentials route serves the broker credential status from the reader view (13.661469ms)
|
||||
✔ replies route serves the replies to one message from the reader view (37.146766ms)
|
||||
✔ bus routes are GET-only, have no write verb, and keep the same-origin checks (57.970332ms)
|
||||
✔ bus refusals map to statuses and never carry a path or a stack (25.682155ms)
|
||||
✔ humanCall speaks the human transport protocol without blocking the server (1672.176975ms)
|
||||
✔ busReader takes --business, else the live bus host, else refuses (188.376745ms)
|
||||
✔ humanCall kills a transport that runs past its timeout (527.833381ms)
|
||||
✔ serve refuses a --business value that is not a business id (331.000231ms)
|
||||
ℹ tests 28
|
||||
ℹ suites 0
|
||||
ℹ pass 28
|
||||
ℹ fail 0
|
||||
ℹ cancelled 0
|
||||
ℹ skipped 0
|
||||
ℹ todo 0
|
||||
ℹ duration_ms 17747.118568
|
||||
@@ -0,0 +1,22 @@
|
||||
# grant sage-4286; nice 19; TMPDIR /mnt/storage/scratch/tmp/g49X; MOSAIC_REQUIRE_EDITOR_BUILD 1
|
||||
✔ wikilink round-trip: plain (5.135516ms)
|
||||
✔ wikilink round-trip: labelled (0.532763ms)
|
||||
✔ wikilink round-trip: heading target (0.47601ms)
|
||||
✔ wikilink round-trip: list item (0.674052ms)
|
||||
✔ wikilink round-trip: next to front matter (0.620153ms)
|
||||
✔ wikilink round-trip: heading block and combined label (0.718517ms)
|
||||
✔ wikilink round-trip: spaces, Unicode and adjacent links (0.543729ms)
|
||||
✔ wikilink round-trip: reference-definition collision (1.267657ms)
|
||||
✔ wikilink round-trip: inside an ordinary link (0.565479ms)
|
||||
✔ wikilink round-trip: inert embed (0.373131ms)
|
||||
✔ wikilinks are inline atoms and survive a neighbouring edit in every required context (773.2922ms)
|
||||
✔ code, escaped openers, malformed syntax and HTML-like targets stay outside wikilink atoms (686.084659ms)
|
||||
✔ wikilink DOM paste accepts only bounded single-line inert syntax; malformed attrs serialise as escaped text (675.536422ms)
|
||||
ℹ tests 13
|
||||
ℹ suites 0
|
||||
ℹ pass 13
|
||||
ℹ fail 0
|
||||
ℹ cancelled 0
|
||||
ℹ skipped 0
|
||||
ℹ todo 0
|
||||
ℹ duration_ms 2305.540306
|
||||
@@ -0,0 +1,27 @@
|
||||
// Run only under Sage's explicit CLEAR. Reads the pinned baseline Git objects,
|
||||
// not the edited model or rebuilt candidate bundle. Never writes product files.
|
||||
import { execFileSync } from 'node:child_process';
|
||||
import { createHash } from 'node:crypto';
|
||||
import { fileURLToPath } from 'node:url';
|
||||
import { dirname, resolve } from 'node:path';
|
||||
import vm from 'node:vm';
|
||||
import { WIKILINK_CASES } from '../../../../packages/webui/tests/helpers/wikilink-cases.mjs';
|
||||
|
||||
const repo = resolve(dirname(fileURLToPath(import.meta.url)), '../../../..');
|
||||
const base = '487500a16f4ab5902c318509fdec6acc56a543ca';
|
||||
const git = (...args) => execFileSync('git', args, { cwd: repo, encoding: 'utf8', maxBuffer: 16 * 1024 * 1024 });
|
||||
const read = path => git('show', `${base}:${path}`);
|
||||
const source = read('packages/webui/src/public/editor.js');
|
||||
const build = JSON.parse(read('packages/webui/editor/BUILD.json'));
|
||||
const sha256 = createHash('sha256').update(source).digest('hex');
|
||||
if (sha256 !== build.outputs['src/public/editor.js'].sha256) throw Error('baseline bundle differs from its recorded build');
|
||||
const context = { console }; context.window = context; context.globalThis = context;
|
||||
vm.createContext(context);
|
||||
for (const [name, text] of [['markdown-preview.js', read('packages/webui/src/public/markdown-preview.js')], ['editor.js', source]])
|
||||
vm.runInContext(text, context, { filename: name });
|
||||
const results = WIKILINK_CASES.map(({ name, text }) => {
|
||||
const output = context.MosaicEditor.roundTrip(text);
|
||||
return { name, input: text, output, equal: output === text };
|
||||
});
|
||||
console.log(JSON.stringify({ base: git('rev-parse', base).trim(), bundleSha256: sha256,
|
||||
measuredAt: new Date().toISOString(), allEqual: results.every(r => r.equal), results }, null, 2));
|
||||
@@ -0,0 +1,68 @@
|
||||
{
|
||||
"base": "487500a16f4ab5902c318509fdec6acc56a543ca",
|
||||
"bundleSha256": "9c881b13740fae2408717ad75fa1d85bfcfe3fa8b3af0f1b3f2e706c90e80fee",
|
||||
"measuredAt": "2026-10-24T22:07:22.210Z",
|
||||
"allEqual": true,
|
||||
"results": [
|
||||
{
|
||||
"name": "plain",
|
||||
"input": "[[a]]\n",
|
||||
"output": "[[a]]\n",
|
||||
"equal": true
|
||||
},
|
||||
{
|
||||
"name": "labelled",
|
||||
"input": "[[a|b]]\n",
|
||||
"output": "[[a|b]]\n",
|
||||
"equal": true
|
||||
},
|
||||
{
|
||||
"name": "heading target",
|
||||
"input": "[[a#h]]\n",
|
||||
"output": "[[a#h]]\n",
|
||||
"equal": true
|
||||
},
|
||||
{
|
||||
"name": "list item",
|
||||
"input": "- [[a]]\n",
|
||||
"output": "- [[a]]\n",
|
||||
"equal": true
|
||||
},
|
||||
{
|
||||
"name": "next to front matter",
|
||||
"input": "---\nrelated: \"[[metadata]]\"\n---\n\n[[a]]\n",
|
||||
"output": "---\nrelated: \"[[metadata]]\"\n---\n\n[[a]]\n",
|
||||
"equal": true
|
||||
},
|
||||
{
|
||||
"name": "heading block and combined label",
|
||||
"input": "# See [[a#h|Title]]\n",
|
||||
"output": "# See [[a#h|Title]]\n",
|
||||
"equal": true
|
||||
},
|
||||
{
|
||||
"name": "spaces, Unicode and adjacent links",
|
||||
"input": "See [[ Héllo there # A heading | a label ]][[next]]\n",
|
||||
"output": "See [[ Héllo there # A heading | a label ]][[next]]\n",
|
||||
"equal": true
|
||||
},
|
||||
{
|
||||
"name": "reference-definition collision",
|
||||
"input": "[[a]]\n\n[a]: u\n",
|
||||
"output": "[[a]]\n\n[a]: u\n",
|
||||
"equal": true
|
||||
},
|
||||
{
|
||||
"name": "inside an ordinary link",
|
||||
"input": "[x [[a]]](u)\n",
|
||||
"output": "[x [[a]]](u)\n",
|
||||
"equal": true
|
||||
},
|
||||
{
|
||||
"name": "inert embed",
|
||||
"input": "![[cover.png]]\n",
|
||||
"output": "![[cover.png]]\n",
|
||||
"equal": true
|
||||
}
|
||||
]
|
||||
}
|
||||
@@ -0,0 +1,402 @@
|
||||
# Row 255 design: a bundled Pocket ID for users with no OIDC provider (Q203, Gitea #1760, Vikunja 458)
|
||||
|
||||
Launchpad, draft 1, 2026-10-25, on `launchpad/row255` off refactor 78b69e1e6. Brief
|
||||
`docs/plans/2026-10-21_bundled-pocket-id.md` (blob 26f34400). Reviewer Webby. Sage checks it against Q203, O6,
|
||||
REQ-WEB-2 and REQ-INST-1. REQ-INST-2 (PRD 1.10) is post-v1 (mos-1204), and so is everything here.
|
||||
|
||||
This is a design only. Nothing here installs, downloads or starts Pocket ID. It changes nothing on .53, .54 or
|
||||
dragon-lin, which keeps Authentik.
|
||||
|
||||
## Sources
|
||||
|
||||
- Q203 and O6 as the brief quotes them. PRD `docs/prd/mosaic-stack.md` REQ-WEB-2 (:902), REQ-INST-1 (:1509),
|
||||
REQ-INST-2 (:1513) and REQ-INST-3 (:1528). Lead decision 44 items 5 and 6
|
||||
(`docs/plans/2026-09-26_lead-decisions.md:655-663`).
|
||||
- The Q175 design `agents/sage/work/q175-sso/DESIGN.md` sections 4 and 10, and the code row 192 landed:
|
||||
`packages/webui/src/sso-config.mjs` (the `console.sso` shape), `packages/webui/src/sso.mjs` (the slot read,
|
||||
the discovery checks at :105-118, the client at :147-148, the callback at :133, the post-logout URI at :332).
|
||||
- Researcher's note `agents/researcher/work/2026-10-04_vikunja-pocketid.md` part 2 (v2.17.0).
|
||||
- A fresh read of upstream on 2026-10-25, from release metadata and source text only: no binary was fetched or
|
||||
run. The latest stable release is **v2.19.1** (2026-10-22). Source paths below are under
|
||||
`backend/internal/` at tag v2.19.1 in `github.com/pocket-id/pocket-id`, marked "P". Releases v2.18.0,
|
||||
v2.19.0 and v2.19.1 are not marked breaking.
|
||||
|
||||
## What the Console already needs from any provider
|
||||
|
||||
This design keeps the Console's sign-in and start checks exactly as row 192 built them. Pocket ID becomes one
|
||||
`console.sso.providers` entry, the same shape any compliant OP uses (Q175 section 4, "Several providers"). The
|
||||
Console gets no new sign-in path, no password and no proxy-header identity (O6, REQ-WEB-2, REQ-INST-2). The
|
||||
facts that drive the rest of the design:
|
||||
|
||||
- `publicOrigin` and every `issuer` must be https (`sso-config.mjs` `httpsURL`). A plain-http Pocket ID can't
|
||||
be a provider at all.
|
||||
- Each provider needs 1 to 64 `subjects`. A `console.sso` with no subject refuses to load. So the first
|
||||
person's subject has to exist before the Console starts with `--sso` (section 5).
|
||||
- The client authenticates with `client_secret_basic` (`sso.mjs:148`), so the client is confidential.
|
||||
- The slot is `<configDir>/secrets/mosaic-stack/<slot>`: a regular file, owned by the Console's uid, mode
|
||||
with no group or other bits, and outside the repo and every stack copy (`readSlot`).
|
||||
- `config.json` is user-authored. bootstrap.sh creates it and nothing overwrites it (canon invariant 2, Q175
|
||||
section 4). This matters for sections 1 and 5.
|
||||
|
||||
## 1. The choice
|
||||
|
||||
The installer is REQ-INST-3's install command (Vikunja #432; today `stack-upgrade.sh` and the per-case
|
||||
install scripts). It takes one sign-in option per instance:
|
||||
|
||||
- `--oidc existing`. The user points the Console at one or more OIDC providers they already have. Nothing
|
||||
is installed. The user writes `console.sso` themselves, as Q175 step 4 does today. The installer writes
|
||||
nothing into `console.sso`; it prints the entry shape and the two URIs to register
|
||||
(`<publicOrigin>/auth/callback`, `<publicOrigin>/auth/signed-out`).
|
||||
- `--oidc bundled`. The stack installs Pocket ID as an install component (section 2), and
|
||||
`console.sso.providers` holds exactly one entry, `id: "pocket-id"`, whose `issuer` is the component's
|
||||
origin.
|
||||
- No option keeps today's behaviour: no `console.sso`, and the Console runs without `--sso`.
|
||||
|
||||
How the bundled choice is recorded. REQ-INST-1 lets a component be switched on "in the organization file
|
||||
or system config". It has to be the system config. The organization file can be written by agents through
|
||||
`organizationWriter`, which is the reason Q175 B1 put `console.sso` in config.json, and the same reason
|
||||
holds for a component that issues the Console's identities. So config.json gets one new optional key:
|
||||
|
||||
```json
|
||||
"components": {
|
||||
"pocket-id": {
|
||||
"release": "v2.19.1",
|
||||
"origin": "https://id.example.internal",
|
||||
"port": 1411
|
||||
}
|
||||
}
|
||||
```
|
||||
|
||||
The loader (`scripts/mosaic-config.mjs`) checks the shape: `release` is a `vX.Y.Z` tag, and the component script refuses one that
|
||||
differs from the pin file (section 2), `origin` is an https origin, `port` is 1024 to 65535. It also cross-checks: when
|
||||
`components["pocket-id"]` is present, `console.sso` must have exactly one provider, `id` `pocket-id`,
|
||||
`issuer` equal to `origin`. A config with `console.sso` providers and no `components` is the existing
|
||||
choice and loads as today.
|
||||
|
||||
**M1, approved by Mos with three conditions (mos-1666 item 3).** `components` is a new top-level config key.
|
||||
The loader refuses unknown keys today, so this is a config schema change. The conditions:
|
||||
|
||||
1. **Rollback trap.** A copy older than P1 refuses a config that has the key, the same trap Q175 section 4
|
||||
names for `console.sso`. P1 documents the order. On a rollback past P1, first take `components` out of
|
||||
config.json (restore the backup made before the key went in), then roll back the pointer. The STATE check
|
||||
after the rollback reads config.json and confirms the key is absent.
|
||||
2. **Strict inside the key.** The loader refuses any name under `components` other than `pocket-id`, and any
|
||||
field under `pocket-id` other than `release`, `origin` and `port`. Each refusal names the key path and
|
||||
quotes no value, as `checkConsole` does.
|
||||
3. **test-config.sh cases:**
|
||||
- a valid `components` loads;
|
||||
- a malformed one fails, naming the bad key path;
|
||||
- a config without `components` loads;
|
||||
- the cross-check refuses a `console.sso` whose provider doesn't match `origin`.
|
||||
|
||||
What each choice writes into `console.sso` is in section 5. For the bundled choice, Pocket ID is the only
|
||||
providers entry. The design keeps it that way because REQ-INST-2 says "the Console's one providers entry".
|
||||
A user who later adds an existing provider moves to `--oidc existing` and removes the component (section 2).
|
||||
|
||||
## 2. The component, against REQ-INST-1
|
||||
|
||||
**Pinned.** A Pocket ID release is a set of raw binaries plus `checksums.txt` (sha256). From v2.16.0 there is
|
||||
an SPDX SBOM per binary, and the release workflow attests `checksums.txt` through Sigstore (`actions/attest`
|
||||
in `.github/workflows/release.yml`). The repo holds one pin file,
|
||||
`scripts/pocket-id-pins.sh`, sourced the way `scripts/case1-pins.sh` is: the tag, and for each supported platform (linux amd64 and arm64 to
|
||||
start) the asset name and its sha256. The build row copies the sha256 from `checksums.txt` at the tag and
|
||||
records the `gh attestation verify` output for each asset as its evidence. The pin is checked by hand at
|
||||
build time, not trusted at install time. No Pocket ID source and no binary goes in the repo. The binary is
|
||||
not in any image either, since the container install comes after v1 (REQ-INST-3).
|
||||
|
||||
Recommended pin: v2.19.1, the current release. The build row checks it again, because Pocket ID ships a
|
||||
minor every one to four weeks. Upgrading is a pin file change in a reviewed commit.
|
||||
|
||||
**Fetched and checked.** `scripts/component-pocket-id.sh fetch` downloads the pinned asset for the host's
|
||||
platform over https into a new 0700 staging directory, computes its sha256, and compares it with the pin.
|
||||
On a mismatch it deletes the file and refuses with `pocket-id-digest-mismatch`, naming the expected value
|
||||
and the computed one. On a match it installs the binary read-only (0555) at
|
||||
`<dataRoot>/components/pocket-id/bin/pocket-id-<tag>`. The fetch is the only network step, and the user
|
||||
runs it at install. Tests never run it against the network (section 9).
|
||||
|
||||
**Runs.** A systemd user unit, `mosaic-pocket-id.service` (`mosaic-pocket-id-NAME.service` for a named
|
||||
instance, as row 190 names the bus and webui units), as the instance's user:
|
||||
|
||||
- `ExecStart=<dataRoot>/components/pocket-id/bin/pocket-id-<tag>`.
|
||||
- `WorkingDirectory=<dataRoot>/components/pocket-id/run`, a directory the unit owns, so Pocket ID's habit of
|
||||
reading `.env` from the working directory reads nothing we didn't write. The build row checks there is no
|
||||
`.env` there at start.
|
||||
- Environment, all from the rendered unit:
|
||||
- `APP_URL=<origin>` and `HOST=127.0.0.1` (P `common/env_config.go`: HOST defaults to `0.0.0.0`).
|
||||
- `PORT=<port>`.
|
||||
- `DB_CONNECTION_STRING` and `UPLOAD_PATH` as absolute paths under `<dataRoot>/components/pocket-id/data/`
|
||||
(P defaults are `data/pocket-id.db` and `data/uploads`, relative to the working directory).
|
||||
- `ALLOW_USER_SIGNUPS=disabled` and `ALLOW_INSECURE_CALLBACK_URLS=false`.
|
||||
- `EMAIL_ONE_TIME_ACCESS_AS_UNAUTHENTICATED_ENABLED=false` and `..._AS_ADMIN_ENABLED=false`.
|
||||
- The `OUTBOUND_ALLOWED_HOSTS_*` allowlists set empty (added in 2.19.0).
|
||||
- No `TRUST_PROXY` unless section 6's proxy step sets it to the proxy's address.
|
||||
- `ENCRYPTION_KEY` (mandatory since v2.0, at least 16 bytes) never goes in the unit text. It lives in slot
|
||||
`<configDir>/secrets/mosaic-stack/pocket-id-encryption-key`, 0600. The component script generates it from
|
||||
`/dev/urandom` straight into the file and never prints it. The unit passes it with
|
||||
`LoadCredential=` and `ENCRYPTION_KEY_FILE=%d/...`. The build row confirms `ENCRYPTION_KEY_FILE` at the pinned
|
||||
tag; if it isn't there, it refuses rather than putting the key in `Environment=`.
|
||||
- The unit never carries `STATIC_API_KEY`. That key exists only during the enroll run (section 4).
|
||||
|
||||
The data directory holds the SQLite database, Pocket ID's signing key (stored encrypted with
|
||||
`ENCRYPTION_KEY`), and the passkey registrations. It is 0700. Agent sandboxes bind only an allowlist
|
||||
(`packages/seat/src/sandbox.mjs`), and `<dataRoot>/components/` is not on it. The build row adds a sandbox
|
||||
test that pins that.
|
||||
|
||||
**Health-checked.** `GET http://127.0.0.1:<port>/healthz` returns 204 (P `controller/healthz_controller.go`).
|
||||
`component-pocket-id.sh status` reports the unit state, the binary tag against the pin, the binary's sha256
|
||||
against the pin, and the health result. The Console's own `/healthz` already shows `sso: { "pocket-id": ready
|
||||
| unreachable | refused }` from its discovery retries, so an operator sees the provider from either side.
|
||||
|
||||
**Removable.** `component-pocket-id.sh remove` refuses while `console.sso` still names `pocket-id`, so the
|
||||
Console can't be left pointing at a provider that's gone. Once the user has taken the entry out (or moved to
|
||||
`--oidc existing`), the script stops and removes the unit, then moves the data directory to
|
||||
`<dataRoot>/components/pocket-id.removed-<utc>` with a receipt line in `<dataRoot>/state/components.log`
|
||||
(append-only). It never deletes the passkey database outright. Deleting the moved directory and the
|
||||
encryption key slot is a separate `purge` verb that names both paths and needs `--yes`. Removing the
|
||||
`components` key from config.json is the user's edit.
|
||||
|
||||
## 3. The Q175 start checks against the bundled instance
|
||||
|
||||
The Console checks are unchanged. Here is each one against Pocket ID, and the setting it needs:
|
||||
|
||||
| Check (row 192) | Pocket ID v2.19.1 | Default that fails | Fix |
|
||||
|---|---|---|---|
|
||||
| `issuer` is https (loader) | issuer = `APP_URL` exactly (P `controller/well_known_controller.go`) | `APP_URL` defaults to `http://localhost:1411` | `APP_URL=<https origin>`, section 6 |
|
||||
| discovery `issuer` equals config `issuer` | equal when `APP_URL` has no trailing slash; Pocket ID refuses a path | none | config `issuer` = `origin`, no trailing slash; the loader cross-check compares them |
|
||||
| `id_token_signing_alg_values_supported` overlaps `algs` | advertises only the current key's alg. RS256 (RSA-2048) by default (P `service/jwt_service.go`) | none | `algs: ["RS256"]` |
|
||||
| `code_challenge_methods_supported` has `S256` | advertises `plain` and `S256` | none | none. The Console always sends S256 (`sso.mjs:221`) |
|
||||
| JWKS has a usable key for `algs` | one key at `/.well-known/jwks.json` | none | none. The build row's fake OP pins `use`/`alg`/`kid` as Pocket ID emits them |
|
||||
| `end_session_endpoint` is https | `<APP_URL>/api/oidc/end-session` | http, if `APP_URL` is http | same fix as row 1 |
|
||||
| `redirect_uri` is registered | exact match first, then wildcard patterns; loopback callbacks match any port (P `utils/callback_url_util.go`) | `ALLOW_INSECURE_CALLBACK_URLS` defaults to true | register exactly `<publicOrigin>/auth/callback`, with no `*`; set `ALLOW_INSECURE_CALLBACK_URLS=false` |
|
||||
| post-logout URI | per-client `logoutCallbackURLs`, same matching | none | register exactly `<publicOrigin>/auth/signed-out` |
|
||||
| ID token alg in `algs`, `iss` match | as above | none | none |
|
||||
|
||||
Two points the Console doesn't check, set on the client anyway:
|
||||
|
||||
- `pkceEnabled: true`. Then Pocket ID refuses an authorize request that has no `code_challenge`. Pocket ID has
|
||||
no per-client S256-only setting (P `oidc/provider.go` turns on `plain` for the server). That doesn't relax
|
||||
anything: the Console sends S256 every time, and `plain` stays available only to other clients.
|
||||
- `isPublic: false`, which matches `client_secret_basic`.
|
||||
|
||||
Key rotation. `pocket-id key-rotate --alg ...` replaces the one signing key (P `cmds/key_rotate.go`). After a
|
||||
rotation to another alg, the Console's discovery check refuses on the next restart (no overlap with
|
||||
`algs`), and that is the intended fail-closed result. A rotation is a user step that updates `algs` in the
|
||||
same edit. The component script never rotates.
|
||||
|
||||
## 4. The client, and where its secret goes
|
||||
|
||||
The person running the install creates the client through `component-pocket-id.sh enroll`. No agent runs
|
||||
this verb. It refuses when any agent marker is in its environment: the `MARKERS` list in
|
||||
`packages/bus/src/human.mjs` (`MOSAIC_RUN_ID`, `MOSAIC_BUS_CAP`, `CLAUDECODE` and the rest) that the human
|
||||
boundary uses. A test pins the refusal.
|
||||
|
||||
Enroll needs admin rights before any person has a passkey. Pocket ID offers two ways to get them, and one of
|
||||
them is a hazard:
|
||||
|
||||
- `/setup` and its backing `POST /api/signup/setup` are unauthenticated: whoever calls first becomes admin
|
||||
(P `usersignup/service.go`). Sandboxed agents share the host's network namespace (`sandbox.mjs` unshares
|
||||
user, pid and ipc, not net), so any agent could reach a loopback Pocket ID and take that first admin.
|
||||
- `STATIC_API_KEY` is a fixed admin key with no expiry (P `apikey/service.go`). It doesn't count as
|
||||
completing setup, so `/setup` stays open while it's set.
|
||||
|
||||
So enroll never lets the real unit serve before an admin person exists. It runs the pinned binary once in a
|
||||
**private network namespace** (`unshare --user --net`, or `bwrap --unshare-net` with the binary and data
|
||||
directory bound), where only enroll's own loopback can reach it:
|
||||
|
||||
1. Generate a one-run static key into a 0600 temp file in a new 0700 directory, and start Pocket ID inside
|
||||
the namespace with `STATIC_API_KEY_FILE` pointing at it, plus the unit's environment.
|
||||
2. Wait for `/healthz` 204.
|
||||
3. Create the admin user, `POST /api/users` with `isAdmin: true` and the username and email given with
|
||||
`--admin-user` and `--admin-email`. Keep the returned `id`. That is the OIDC `sub` (P
|
||||
`oidc/claims_service.go` uses `user.ID`, a UUIDv4 set at creation, so it's stable).
|
||||
4. Create the Console client: client id `mosaic-console-<instance>`, callback and logout URLs exactly as in
|
||||
section 3, `pkceEnabled: true`, `isPublic: false`. Supply the secret instead of letting Pocket ID
|
||||
generate it. Enroll generates 48 random bytes, base64url, and writes them straight to slot
|
||||
`<configDir>/secrets/mosaic-stack/console-sso-pocket-id` (0600, `O_CREAT|O_EXCL`, not a symlink). It sends
|
||||
the same bytes in the create body over the namespace's loopback (`dto/oidc_dto.go` accepts a supplied
|
||||
secret of 16 or more characters). The value is never printed, logged or put in an argv, and a test pins
|
||||
that it appears in no output.
|
||||
5. Mint a one-time access token for the admin, `POST /api/users/<id>/one-time-access-token`.
|
||||
6. Stop the namespaced process, then shred and remove the static key file. The real unit has never had a
|
||||
static key, so no admin key survives enroll.
|
||||
7. Start the real unit and wait for `/healthz` 204.
|
||||
8. Print the sign-in link `<origin>/lc/<token>` to the user's terminal (section 5), and the `console.sso`
|
||||
entry (section 5).
|
||||
|
||||
The build row confirms each route and body against the pinned tag's source before it writes the client (the
|
||||
upstream read for this design didn't trace the create-client route). If any of steps 1 to 7 fails, enroll
|
||||
stops the process, removes the static key, leaves no slot file it created, and refuses with the step name.
|
||||
|
||||
The secret never enters the repo or an image. It sits in two places only: the slot file and Pocket ID's
|
||||
database (stored as a hash). The Console's `readSlot` reads it as it does any provider's.
|
||||
|
||||
## 5. The first person, and their subject in `console.sso`
|
||||
|
||||
Pocket ID is passkey-only for people (REQ-INST-2). The installing user enrolls like this:
|
||||
|
||||
1. Enroll prints `<origin>/lc/<token>`. The token is valid for one hour and is a credential, so it goes only
|
||||
to the terminal of the person who ran enroll. It goes in no log and no file.
|
||||
2. The user opens it in a browser that can reach `origin` (section 6). Pocket ID signs them in and asks them
|
||||
to add a passkey. Without one they can't sign in again. If the hour passes, `pocket-id
|
||||
one-time-access-token <username>` (P `cmds/one_time_access_token.go`), run by the user against the data
|
||||
directory, prints a new link. `component-pocket-id.sh relink` wraps that call.
|
||||
3. Enroll already has the subject, the `id` from step 3 of section 4. It doesn't wait for a sign-in or read a
|
||||
`subject-unknown` log line.
|
||||
|
||||
How the subject gets into `console.sso`. config.json is user-authored and never auto-written. Two ways
|
||||
to respect that; I recommend the first:
|
||||
|
||||
- **R1 (recommended).** Enroll prints the full entry and writes nothing:
|
||||
|
||||
```json
|
||||
"console": { "sso": { "publicOrigin": "<publicOrigin>", "providers": [ {
|
||||
"id": "pocket-id", "issuer": "<origin>", "clientId": "mosaic-console-<instance>",
|
||||
"clientSecret": { "slot": "console-sso-pocket-id" }, "algs": ["RS256"],
|
||||
"subjects": [ { "sub": "<id>", "name": "<admin-user>" } ] } ] } },
|
||||
"components": { "pocket-id": { "release": "<tag>", "origin": "<origin>", "port": <port> } }
|
||||
```
|
||||
|
||||
The user pastes it into config.json, as with Q175 step 4. Rerunning `scripts/bootstrap.sh` (or
|
||||
`--instance NAME`) then validates it through the loader, including the section 1 cross-check, and writes
|
||||
nothing. Nothing changes in invariant 2.
|
||||
- **R2 (rejected, Sage sage-4401: R1 chosen).** `enroll --write-config` would write those two keys itself, with a backup of config.json first, and
|
||||
refuse if `console` or `components` were already present. That would be the first tool to modify an
|
||||
existing config.json, against canon invariant 2's "never overwritten" practice. Not built.
|
||||
|
||||
Whose subject. Enroll creates one person, the one running it, and only that subject goes in the entry. On
|
||||
Jason's instances, only his subject goes into `console.sso` (mos-1197). Further people are added with
|
||||
Pocket ID's admin UI (a user plus a one-time link), and their subjects go into `console.sso` by the user's
|
||||
edit, never by an agent. Pocket ID users who aren't in `subjects` can sign in to Pocket ID, but the Console
|
||||
refuses them `subject-unknown`, so REQ-WEB-2's "must map to an authorized human" holds.
|
||||
|
||||
## 6. Reach: origin, TLS and proxy
|
||||
|
||||
WebAuthn takes its RP id from `APP_URL`'s host name, and its allowed origin is `APP_URL`
|
||||
(P `webauthn/module.go`). Browsers allow passkeys only on a secure origin. The Console also needs https for
|
||||
both `publicOrigin` and `issuer`. Pocket ID serves plain http, and I found no TLS listener setting in its
|
||||
environment config. So:
|
||||
|
||||
- Pocket ID always binds `127.0.0.1:<port>`. That is the default, and the component never binds anything
|
||||
else (`HOST=127.0.0.1`; the status verb refuses a unit whose `HOST` differs).
|
||||
- `origin` is an https origin served by a TLS front that the user already has for the Console. The Console
|
||||
needs one anyway, since `publicOrigin` is https. Pocket ID goes behind the same front under **its own host
|
||||
name**, for example `id.<console host>`. Pocket ID doesn't support a path prefix (`APP_URL` must have no
|
||||
path). A separate host name also keeps Pocket ID's cookies apart from the Console's
|
||||
`__Host-mosaic_*` cookies; the two share cookies if they sit on one host name on different ports.
|
||||
- The front reaches Pocket ID on loopback, so the front has to run on the same host. If it doesn't, Pocket
|
||||
ID would need a non-loopback bind, and that is a `network.expose` hard wait (REQ-WAIT-1), not a component
|
||||
option.
|
||||
- `TRUST_PROXY` is set to the front's address only, never `true`.
|
||||
- The Console fetches discovery and JWKS from `issuer` over https from the server side, so the Console's
|
||||
node has to trust the front's certificate. A public CA does that. A private CA needs
|
||||
`NODE_EXTRA_CA_CERTS` in the Console unit, which the build row adds as a render flag.
|
||||
|
||||
These steps are the user's, and on Jason's hosts they are Jason's, because each one changes who can reach
|
||||
the Console or Pocket ID, or who the host trusts:
|
||||
- J1: the DNS name for `origin`;
|
||||
- J2: the certificate for it, or a private CA and its trust in the browser and in `NODE_EXTRA_CA_CERTS`;
|
||||
- J3: the TLS front's route from `origin` to `127.0.0.1:<port>` (a Traefik change on Jason's hosts);
|
||||
- J4: any listener off loopback.
|
||||
|
||||
The component checks and refuses; it never does them itself. With none of them done, Pocket ID runs on
|
||||
loopback with an https `APP_URL` that nothing serves yet. Enroll's step 2 health probe goes straight to
|
||||
`127.0.0.1`, so enroll still works. The person can't add a passkey until J1 to J3 are done.
|
||||
|
||||
## 7. Agents
|
||||
|
||||
Unchanged. Agents keep their per-role service tokens (lead decision 44 item 6, REQ-INST-2). Pocket ID issues
|
||||
nothing an agent uses. The Console client is the only client enroll creates. No API, no client-credentials
|
||||
grant and no admin API key exist after enroll. Residuals, stated plainly:
|
||||
|
||||
- Agents can reach `127.0.0.1:<port>`, because the sandbox shares the host network. What they can reach there
|
||||
is the public sign-in pages, discovery and JWKS. Signup is disabled, email codes are off, `/setup` is
|
||||
closed because an admin exists, and there is no static key. A test of the rendered unit pins all four
|
||||
settings.
|
||||
- The data directory and the two slots are outside every sandbox bind (section 2).
|
||||
- A seat that ran as the same OS user outside a sandbox could read the data directory. The Console's
|
||||
existing slot has the same exposure; this design adds no new class of it.
|
||||
|
||||
## 8. Instances
|
||||
|
||||
One Pocket ID per named instance, never shared:
|
||||
|
||||
- Each instance has one system config (row 190), and `components` and `console.sso` live in it. A shared
|
||||
Pocket ID would make one instance's config depend on a unit, a data directory and an encryption key that
|
||||
belong to another instance's config and data root.
|
||||
- Unit names, ports, data directory, slots and removal are all per instance (`mosaic-pocket-id-NAME`,
|
||||
`<dataRoot of NAME>/components/pocket-id`), so removing one instance's component can't break another's
|
||||
sign-in.
|
||||
- Each instance needs its own `origin` (section 6), so passkeys are per instance too. A person enrolls once
|
||||
per instance.
|
||||
- An instance that wants to use another instance's Pocket ID can still do it with `--oidc existing`. Then it
|
||||
is just an OIDC provider, with its own client registered by that instance's owner. Nothing special-cases it.
|
||||
|
||||
Two instances on one host each need their own `port`. The loader can't see other instances' configs, so
|
||||
`component-pocket-id.sh` refuses at fetch and enroll when the port is already bound on loopback.
|
||||
|
||||
## 9. Tests, stand-ins only
|
||||
|
||||
No test downloads or starts a real Pocket ID, and no test touches auth.diversecanvas.com,
|
||||
mosaic.woltje.com or 127.0.0.1:7332. The stand-ins:
|
||||
|
||||
- **Fake Pocket ID OP**, a node server like row 192's fake OP, shaped from v2.19.1:
|
||||
- the discovery fields `well_known_controller.go` emits (issuer = origin, `plain` and `S256`,
|
||||
`end_session_endpoint` at `/api/oidc/end-session`, the three auth methods);
|
||||
- one RS256 JWK at `/.well-known/jwks.json`;
|
||||
- a token endpoint that takes only `client_secret_basic`;
|
||||
- `/healthz` 204.
|
||||
|
||||
The Console starts against it under `--sso` with the section 5 entry, with no check changed. Negative
|
||||
cases:
|
||||
- an http issuer refuses at load;
|
||||
- an ES256-only JWKS against `algs: ["RS256"]` refuses at discovery;
|
||||
- an issuer with a trailing slash refuses on the cross-check.
|
||||
- **Fake admin API** on the same stand-in: `POST /api/users`, the client create, the one-time token, and a
|
||||
static-key check. Enroll runs against it with the binary replaced by a stub script that serves the stand-in.
|
||||
The tests pin:
|
||||
- the namespace argv;
|
||||
- the slot file's mode and `O_EXCL`;
|
||||
- that the secret appears in no stdout, stderr or argv;
|
||||
- the static key file gone after success and after a failure at each step;
|
||||
- the refusal under an agent marker in the environment.
|
||||
- **Fetch**: a local file served by a test https server (self-signed, trusted only by the test) with a
|
||||
matching pin, a mismatched pin and a truncated file.
|
||||
- **Unit render**: the environment table in section 2. `HOST=127.0.0.1`, no `STATIC_API_KEY`, no
|
||||
`ENCRYPTION_KEY` value in the text, and `ALLOW_USER_SIGNUPS=disabled`.
|
||||
- **Loader**: test-config.sh cases for the `components` key and the cross-check, and the copy-rollback note.
|
||||
- **Sandbox**: `<dataRoot>/components/` is in no bind list.
|
||||
|
||||
## 10. Build rows, in landing order
|
||||
|
||||
All are post-v1 (REQ-INST-2). Each row has Webby or Sage's named reviewer and its own gate. None of them
|
||||
runs on .53, .54 or dragon-lin, and none installs Pocket ID on any host.
|
||||
|
||||
1. **P1, loader key.** `components["pocket-id"]` in `mosaic-config.mjs`, strict inside the key, and the
|
||||
cross-check against `console.sso` (section 1, M1 conditions from mos-1666 item 3). P1 also writes the
|
||||
rollback order into `docs/TOOLS.md` beside Q175's: remove `components` (restore the backup) before the
|
||||
pointer goes back, and the post-rollback STATE check confirms the key is absent from config.json. Gate:
|
||||
test-config.sh green with the four M1 cases.
|
||||
2. **P2, pin and fetch.** `scripts/pocket-id-pins.sh` with the build-time sha256 and the
|
||||
attestation evidence, and `component-pocket-id.sh fetch|verify`. Gate: the fetch tests against the local
|
||||
stand-in; the evidence file shows `gh attestation verify` output for each pinned asset.
|
||||
3. **P3, unit.** The unit template, `render|install|status|remove|purge`, and the encryption key slot. Gate:
|
||||
the render and remove tests, and the sandbox bind test.
|
||||
4. **P4, enroll.** The namespaced bootstrap, the client, the subject, `relink`, and printing the entry (R1),
|
||||
(R2 rejected). Gate: the enroll tests in section 9, and a secret-leak grep over every test log.
|
||||
5. **P5, Console against the fake Pocket ID.** The section 9 fake-OP start tests, and the
|
||||
`NODE_EXTRA_CA_CERTS` render flag for the Console unit. Gate: the webui suite, with no change to
|
||||
`sso.mjs` checks (a diff of `sso.mjs` and `sso-config.mjs` against the base shows none).
|
||||
6. **P6, installer option.** `--oidc existing|bundled` on REQ-INST-3's install command, calling P2 to P4 in
|
||||
order, and the docs: `docs/TOOLS.md`, the host run sheet's J1 to J4 steps. Gate: the installer's own
|
||||
suite against the stubs; the docs list J1 to J4 as the user's steps.
|
||||
|
||||
## Open items for review
|
||||
|
||||
- M1 approved by Mos with three conditions (mos-1666 item 3), written into section 1 and P1.
|
||||
- M2 dropped: Sage chose R1 and rejected R2 (sage-4401).
|
||||
- **Q1 (Webby):** the private network namespace for enroll (section 4). The other option is to start the
|
||||
real unit and race `/setup`, which I think is unsafe while agents share the host network.
|
||||
- **Q2 (Webby):** one-providers-entry for the bundled choice (section 1). REQ-INST-2's wording reads that
|
||||
way. Mixing a bundled Pocket ID with existing providers would need Sage's ruling.
|
||||
- Not covered: Pocket ID for Vikunja or Gitea people sign-in (the Researcher note's part 3), and
|
||||
client-credentials between Mosaic services. Neither is in Q203.
|
||||
@@ -1,52 +0,0 @@
|
||||
# Full P2 round2 preparation: response to Boyd B1 (not a review request/approval)
|
||||
|
||||
Round1 CHANGES rev4123/comment31701 on d62c69c86 remains authoritative provenance.
|
||||
Sole high B1: in-memory modelRuns empty after restart let retirement treat prior
|
||||
live sessions as absent before bind; no-launch never binds and normal Registry
|
||||
clears before recovery. Writer optionC was explicitly reviewed without a blocker.
|
||||
|
||||
Repaired code81cbdea37, exact2productfiles runtime.mjs and model-keys.mjs. Full P2
|
||||
scope remains original brief docs/plans/2026-10-24_model-proxy-rows.md P2:184 and
|
||||
Rules:12, BRIEF-TEMPLATE gates, all owner decisions in BUILD.md; no other expansion.
|
||||
|
||||
runtime:129 private modelRunInventory captures checked existing dataRoot registry
|
||||
before manager/timer(:293), keeps boot identities through Registry[]/map deletion,
|
||||
fresh validates snapshots incl samefile identity and duplicate/conflicting entries.
|
||||
Uninitialized/missing/malformed/error boot holds retirement, never synthesized empty.
|
||||
Strict proc:161 distinguishes confirmed absence/reaped sameidentity from unknown/
|
||||
read error/recycled start ticks. Unknown live modelKeyId/identity conflicts hold.
|
||||
Missing registry publication for bound runs holds. Human/control surface stays up.
|
||||
|
||||
Discovery grants NO stop authority. runtime:200 requires identical trusted current
|
||||
runtime bind; wiring:298 still invokes existing stopModelRuns/session/agent/key/pid/
|
||||
startTime checks and stopSession bounded5000ms. Rechecks confirmed exit:300 before
|
||||
map deletion. Unbound prior sessions (--no-launch never rebinds) remain retained
|
||||
past grace/refused until confirmedexit; no CLI no-launch policy change or signals.
|
||||
|
||||
Exact approved private ModelKeys delta:62 confirm after fresh managementGET/before
|
||||
PUT; sweep:171-175 confirms same existing runs view after poll and before local
|
||||
metadata mutation. Existing proxy-stop-failed, nonrotation no-op default; no public
|
||||
constructor/IPC/schema/refusal/role/authority/timer/grace/writer/mount/config change.
|
||||
Late failure can leave remote key revoked/local retiring retained; no rollback or
|
||||
atomicity claim, no hidden re-add control. Existing4mutant anchors unchanged.
|
||||
|
||||
Test-first: original runtime12 pre-fix2pass/10intendedfail, raw13f41a18/manifest
|
||||
e69b1ac9 under4490; separate boundary2 pre-fix0pass/2Missingexpectedrejection,
|
||||
raw911d2a59/manifest8c49df81 under4495. Fixture preflight corrections and preparation
|
||||
history retained; no old assertion or deadline loosened. Focused9 under4496:131/131,
|
||||
no skips. Full271+probe+testconfig under4498:2525pass/1standingFEDR7skip/0fail,
|
||||
four named mutants killed and4whole controls30/30. All evidence/result hashes pinned.
|
||||
|
||||
Candidate content704a2469 anchors81cbdea37/111committedpaths, currentgraph4e01c2e8
|
||||
17sources/271files/0parsefailures, listd6b403f0. Old inventories not presented as current.
|
||||
Read current branch committed content/artifacts; no other seatworktree/scratch/
|
||||
transcript reads or uncoordinated tests/proxy calls. Named review round must be NEW
|
||||
with originalbrief, priorfinding/response and complete currentP2 diff, not just narrow
|
||||
fix. No queue/newround posted by this preparation. Fresh ClaudeQ246 full security
|
||||
and Dewey landing reviews remain needed. FEDR7/global/288 unfulfilled, no landing.
|
||||
|
||||
Limits: test sleep stand-ins do not prove successful real-runner SIGTERM; actual
|
||||
session/sandbox files passed without skips. Purity guard remains regex/review-based,
|
||||
not parser-proof. Boot uncertainty conservatively requires restart with authoritative
|
||||
registry; identity cache does not invent stop authority. Narrow r5 closure approval
|
||||
and old builder passes remain scoped evidence, not independent acceptance here.
|
||||
@@ -1,841 +0,0 @@
|
||||
# Row 331 / P2 / #1829
|
||||
|
||||
## 2026-10-24 — design before implementation
|
||||
|
||||
Base: 78b69e1e6, branch magica/row331. Brief blob fd4325c05a7f,
|
||||
`2026-10-24_model-proxy-rows.md` P2 and Rules for every row; gate rules in BRIEF-TEMPLATE.
|
||||
Root `npm ci --ignore-scripts --no-audit --no-fund` passed (128 packages).
|
||||
No tests run: Sage holds the slot until CLEAR. Test-driven development applies;
|
||||
write tests before fixes and observe the first RED only after CLEAR.
|
||||
|
||||
### Integration points (line numbers at base)
|
||||
|
||||
- `packages/model-proxy/src/client.mjs`: management path :6; getKeys/putKeys :63-64;
|
||||
trusted loader :68. GET/PUT already redact receipts and pin numeric loopback.
|
||||
- `packages/model-proxy/src/settings.mjs`: instance tag :77 (sha256(configDir), first 12 hex),
|
||||
sentinel :78. Reuse that tag, never inspect proxy/config.yaml.
|
||||
- `packages/bus/src/credentials.mjs`: issue :291, revoke :383, remove :400,
|
||||
useFor :417, status :474. Store root comes from runtime :178.
|
||||
- `packages/bus/src/runtime.mjs`: writer lock precedes management client :179-182;
|
||||
Credentials construction :201; revoke :213-240; instance writer :243;
|
||||
settings callback :390-415; credentialStatus :633; returned modelProxy :686.
|
||||
- `packages/business/src/instance-settings.mjs`: hire :354-383; fire :386-405;
|
||||
commit :431-466. `packages/business/src/organization.mjs`: writer :226,
|
||||
beforeWrite :252-255, lock release :170-175.
|
||||
- `packages/cli/src/launcher.mjs`: common launch :439, credentialStatus :453,
|
||||
spawn :595, binding :616, registry :622, exit :635 onward.
|
||||
- `packages/bus/src/process.mjs`: trusted launch IPC allowlist :5 and dispatch :78.
|
||||
- Shared predicate already exported: model-proxy/src/common.mjs :32;
|
||||
missing callers broker.mjs :4827 and cli/src/model-proxy.mjs :57.
|
||||
|
||||
### Planned behavior
|
||||
|
||||
Store: `<configDir>/secrets/agents/<business>/<agent>/model`, mode 0600;
|
||||
all directories 0700. Implicit model kind in proxy mode only, no role-file or
|
||||
business credentials.model reference. Persist key id, issue time, rotation due
|
||||
and retiring-key metadata durably so restart cannot forget an overlap window.
|
||||
Values stay in private credential storage; public status and receipts expose ids only.
|
||||
Key format is msk-<sha256(configDir)[0:12]>-<32 random bytes base64url>.
|
||||
|
||||
Management API for all mutations: `GET /v8/management/config/access/api-keys`,
|
||||
`PUT /v8/management/config/access/api-keys` with a JSON string array, confirming GET.
|
||||
Never DELETE. Serialize read/modify/write operations inside the one locked broker;
|
||||
Store's data-root writer lock precedes creation of the management client.
|
||||
|
||||
Issue: require own sentinel, GET/add/PUT/confirm GET before any credential-file write;
|
||||
any failure => proxy-key-issue-failed, no issued file. Used at hire and first launch.
|
||||
Rotate: same sequence adding new beside old, then durable credential update;
|
||||
new launches take new key, runs retain key ids. Remove old when its runs exit or
|
||||
120-minute grace expires, stopping surviving runs first. Default rotateBy 30 days.
|
||||
Revoke: GET/filter exact key/PUT/confirm GET absence, then poll
|
||||
`GET /v1/models` with removed key until 401. Proposed bound: 5 seconds total,
|
||||
25 ms spacing, each HTTP request bounded by remaining deadline. Neither management
|
||||
absence alone nor one successful PUT proves revocation. Delete credential file only
|
||||
after 401; failure => credential-revoke-failed and no delisting.
|
||||
Reconcile: initial GET once, require own sentinel, add recorded missing keys and
|
||||
remove own-prefixed unknown keys in one PUT, confirm GET; poll each removed key to
|
||||
401 with the same deadline. Preserve sentinel and every foreign/manual key.
|
||||
Receipt contains added/removed key ids only. Reconcile failure blocks launches.
|
||||
|
||||
Preflight: exactly one `GET /v1/models` using agent key per launch; 401 =>
|
||||
proxy-key-refused, connection failure => proxy-down; missing own sentinel => proxy-open.
|
||||
Other HTTP failures must refuse too (code to be fixed before tests are finalized).
|
||||
No first output within default 120 seconds => stop and log proxy-stall.
|
||||
Trusted harness answer keeps `{ baseUrl, key }`; P3 owns harness config/env.
|
||||
|
||||
Important integration constraint: existing organization beforeWrite is synchronous.
|
||||
Preserve the revision check, validation and writer lock across HTTP confirmation;
|
||||
never move revoke ahead of validation or release the lock before 401. Investigating
|
||||
an async-capable writer path that leaves existing synchronous callers unchanged.
|
||||
|
||||
### P1 deferrals
|
||||
|
||||
N2: choose outside-agent guard for fetch, before config/network/disk access, matching
|
||||
init's refusalInsideAgent + tester rejection. Fetch does not need a management
|
||||
credential prompt or bus human proof: its sole effects are verified pinned download
|
||||
and install. This prevents managed agents causing unasked fetches.
|
||||
R2-N1: import validManagementKey into broker and CLI, replacing local predicates;
|
||||
retain initializeProxy and ManagementClient uses. Tests at each caller reject
|
||||
Latin-1, leading/trailing/internal spaces before callbacks/writes and never echo input.
|
||||
|
||||
Item 7: 8.0.42 rejects per-key model objects with 422 (P1 probe, carried by Sage).
|
||||
No per-key model restriction exists in the tested API; bundle model choice remains
|
||||
the guard. No policy expansion or invented model filtering.
|
||||
|
||||
### Acceptance tests and named mutants
|
||||
|
||||
Fake loopback management/client server in fresh temp roots; never real instance
|
||||
config, management key, dataRoot/proxy or port 8317. Generated test key values never
|
||||
appear in assertion diffs, logs or snapshots. Literal fake credentials <24 characters.
|
||||
|
||||
- model store mode, private directories, implicit registration, status ids/issue/state,
|
||||
reload persistence, no-proxy regression, no credential.model role requirement;
|
||||
- issue exact GET/PUT/GET order, no file on each failure, hire and first-launch paths;
|
||||
- rotate overlap/new-session selection, old-run exit cleanup, grace deadline stop,
|
||||
restart during grace and human-only rotation setting;
|
||||
- revoke confirming GET and delayed 401 (first response 200), deadline failure keeps
|
||||
record and fire membership, successful fire observes 401 before delisting;
|
||||
- reconcile missing recorded key, own unknown removal, foreign/manual preservation,
|
||||
sentinel preserved, proxy-open test, receipts contain ids and no values;
|
||||
- preflight accepted key, proxy-key-refused (401), proxy-down (connection failure),
|
||||
unexpected status fails closed; first output cancels stall, silence stops proxy-stall;
|
||||
- fetch outside-agent/tester guard before any fetch; predicate test at broker, CLI and
|
||||
model-proxy initializer; secret-free errors/status/receipts across failure paths.
|
||||
|
||||
Required mutants: (1) revoke skips confirming GET; (2) reconcile removes foreign key;
|
||||
(3) preflight treats 401 as success. Also test delayed revocation to kill
|
||||
management-list-only confirmation, fire-before-revoke, wrong agent key and leaked values.
|
||||
|
||||
Whole-file run list will be computed from parsed imports (including transitive local
|
||||
imports and literal dynamic imports), reported to Sage before any run, with explicit
|
||||
exclusion of packages/cli/tests/case1-accept.test.mjs unless Mos approves. No text grep
|
||||
will select files. Exact list pending final touched-module set.
|
||||
|
||||
## 2026-10-24 — Sage accepted design, writer hold
|
||||
|
||||
Sage sage-4345 accepted the design. Poll constants are **REVOKE_TIMEOUT_MS = 5000**
|
||||
and **REVOKE_POLL_MS = 25**. Tests will pin the observable 5-second total bound and
|
||||
25ms interval; per-request timeout cannot extend the total bound.
|
||||
Hold: no edits to organization.mjs until Sage sees the options below.
|
||||
|
||||
### Writer options
|
||||
|
||||
A. Make existing write/withLock asynchronous throughout. Reject: touches every
|
||||
synchronous caller and changes their return contract. Direct static importers,
|
||||
parsed with vm.SourceTextModule.dependencySpecifiers (not grep):
|
||||
`bus/src/runtime.mjs`, `business/src/instance-settings.mjs`,
|
||||
`business/src/launch-settings.mjs`, `business/src/plugin-settings.mjs`, plus tests
|
||||
`bus/tests/citation-guard`, `business/tests/library-projects-protected`,
|
||||
`business/tests/lifecycle-settings`, `business/tests/plugin-settings`,
|
||||
`business/tests/reply-limits`. Dynamic-import callers also include
|
||||
bus/tests/limits and business/tests/launch-settings. This is unnecessarily broad.
|
||||
|
||||
B. Add an optional asynchronous write entry point sharing validation/publication
|
||||
and retaining writer lock through HTTP; old write contract stays synchronous.
|
||||
Correct ordering but edits shared writer internals, so a larger review and regression
|
||||
surface even when existing caller code remains unchanged. Slow HTTP holds the lock
|
||||
for up to 5s per bounded revoke; failure keeps revision and model file unchanged.
|
||||
|
||||
C. Recommended: prepare/revoke HTTP outside the existing writer lock, leave
|
||||
organization.mjs and every existing synchronous caller unchanged. Add proxy-mode
|
||||
preparation only in bus orchestration. Capture exact organization revision and
|
||||
agent/model generation after current eligibility checks. Mark target unavailable
|
||||
for launches while preparation runs. Remote revoke confirms GET and 401 but does
|
||||
NOT remove the credential record yet. Then call the current synchronous writer;
|
||||
its existing beforeWrite callback checks that exact captured revision and model
|
||||
generation, then removes the private file synchronously and performs existing
|
||||
credential revokes. The ordinary writer rechecks revision under lock before
|
||||
beforeWrite as today. On slow/failed HTTP: revision/membership/store are unchanged,
|
||||
launches held. On revision change: refuse revision-conflict, keep private record,
|
||||
remote key may already be revoked; receipt marks remote revocation, and retry can
|
||||
complete or reconciliation can restore it only under an explicit lifecycle-state
|
||||
rule. This side effect must be visible; never silently report a clean no-op.
|
||||
|
||||
C's tradeoff: remote revocation can precede a later revision-conflict refusal;
|
||||
local file removal and delisting still cannot precede proof of remote refusal.
|
||||
Need to ensure reconciliation cannot restore a key during pending fire and that a
|
||||
restart resumes/refuses pending revocation rather than undoing it. A durable
|
||||
revocation intent keyed by business/agent/generation resolves that window.
|
||||
Existing synchronous APIs stay byte-for-byte unchanged. Only bus proxy-mode
|
||||
branches become promise-aware, including chief lifecycle and its grant job path.
|
||||
No writer edit made. Await Sage's choice before implementing the integration.
|
||||
|
||||
Prepared RED tests (unrun): new CLI model-proxy-guards.test.mjs and added broker
|
||||
predicate cases in bus/tests/model-proxy.test.mjs. These expose old behavior before
|
||||
any implementation change. Existing initializer tests cover the third caller.
|
||||
|
||||
## 2026-10-24 — writer option C approved (sage-4354)
|
||||
|
||||
Writer and existing synchronous callers remain unchanged. Revoke intent belongs to
|
||||
model credential's metadata status only: state `revoking`, key id and time, never
|
||||
value in status/receipt. No new store, file kind or public schema. The model store
|
||||
file may hold its own private model record (value + metadata); only sanitized
|
||||
metadata is exposed. No extra intent file.
|
||||
|
||||
Boot reconcile must finish `revoking` with confirm GET and poll-to-401, never PUT
|
||||
that key back. Add named mutant: **reconcile ignores revoking**.
|
||||
Launch hold refusal: **proxy-key-revoking**, before any preflight HTTP call.
|
||||
Revision race after successful remote revoke: **proxy-revoke-revision-conflict**;
|
||||
receipt carries keyIds, remoteState `revoked`, localState `kept`. Local metadata
|
||||
remains revoking; next reconcile completes cleanup, without restoring access.
|
||||
Each code has its own test. Call this section out explicitly to Boyd.
|
||||
|
||||
### Initial RED run request (magica-331-0005, unrun)
|
||||
|
||||
Parsed static imports with `vm.SourceTextModule.dependencySpecifiers`:
|
||||
|
||||
- packages/model-proxy/tests/client-probe.test.mjs → ../src/client.mjs
|
||||
- packages/bus/tests/model-credential-store.test.mjs → ../src/credentials.mjs
|
||||
- packages/cli/tests/model-proxy-guards.test.mjs → ../src/model-proxy.mjs, ./helpers.mjs
|
||||
- packages/bus/tests/model-proxy.test.mjs → ../src/broker.mjs, ../src/store.mjs
|
||||
|
||||
These four whole files only, serially. Missing probe/model-store APIs, missing fetch
|
||||
guard and divergent CLI/broker predicates should cause new-case RED. Old-case RED
|
||||
must be reported before changing anything. case1-accept.test.mjs excluded.
|
||||
Request sent before execution; waiting for CLEAR, not yet granted.
|
||||
|
||||
## RED run — sage-4374, 2026-10-24 04:11–04:14Z
|
||||
|
||||
Four whole files, serial absolute paths, short TMPDIR (red-tmpdir.txt), each nice19.
|
||||
- client-probe: rc1, 0 pass / 6 fail: probeKey is absent in every new case
|
||||
(200,401,503,connection,timeout,redirect).
|
||||
- model-credential-store: rc1, 1 pass / 4 fail: implicit status absent; writeModel
|
||||
absent for persistence, revoking persistence and wrong-mode checks. Nonproxy passes.
|
||||
- CLI model-proxy-guards: rc1, 1 pass / 6 fail: agent fetch reaches config rather than
|
||||
human-required (two cases); four invalid management-key inputs accepted. Tester passes.
|
||||
- bus model-proxy: rc1, 8 pass / 4 fail: every original test passes; four new bad-key
|
||||
cases fail missing synchronous rejection. Their unconsumed init promises outlive
|
||||
teardown and cause storage-unavailable rejections. Consume those promises in cleanup
|
||||
while retaining the synchronous-rejection assertion before the GREEN run.
|
||||
|
||||
No old-test failures, no skips, no reruns. Logs red-*.log. Slot returned in
|
||||
magica-331-0007. GREEN/mutants require separate CLEAR.
|
||||
Correction: initial probe run started immediately after a busy check showing queue
|
||||
writes, contrary to wait instruction. Paused remaining runs and waited for clear
|
||||
before continuing; reported promptly in magica-331-0006. No live proxy access.
|
||||
No production implementation was written before these RED results.
|
||||
|
||||
## 2026-10-24 — integration rulings and candidate implementation
|
||||
|
||||
Sage sage-4381 explicitly authorizes candidate commits and pushes on magica/row331
|
||||
before GREEN: the seat branch is not a landing. GREEN and mutants remain held.
|
||||
Only syntax parsing and git diff whitespace checks have run since RED; no test rerun.
|
||||
New lifecycle/settings/stop/marker tests were authored before their corresponding
|
||||
integration changes; their first execution is held with GREEN per the slot ruling.
|
||||
|
||||
Sage sage-4388 approved:
|
||||
- stopSession only; MODEL_STOP_TIMEOUT_MS = 5000, identity checked against agent,
|
||||
run, key id, pid/start time before signalling, then stopSession verifies the runner.
|
||||
Failed/timed-out stop => proxy-stop-failed and keeps old key + retiring record;
|
||||
the next sweep retries. Proxy receipt reason is proxy-rotation or proxy-stall,
|
||||
with key ids. The session's normal launcher close/endRun path still records
|
||||
session.ended and the normal exit/signal result; no run evidence is rewritten.
|
||||
- proxy.json optional rotateGraceMinutes (1..1440) and firstOutputSeconds (1..3600),
|
||||
absent defaults 120/120. Own refusal codes: proxy-rotate-grace-invalid and
|
||||
proxy-first-output-invalid. Human-only init flags --rotate-grace-minutes and
|
||||
--first-output-seconds. Existing sidecars keep their two-field shape.
|
||||
- No per-agent override verb/setter in P2. Thirty-day default only. DEFERRED entry
|
||||
'Row 331: human-only per-agent model rotation override — P7' binds the follow-up.
|
||||
- Marker file `<run>/proxy-first-output`: fixed `output` token + newline, mode0600,
|
||||
emitted from runner.mjs's child.stdout data listener through first-output.mjs.
|
||||
No stdout contents or key values enter the marker or proxy receipts. Collection
|
||||
of stdout for RESULT is unchanged. No P3 env/config change.
|
||||
|
||||
P3 handoff contract: trusted launcher IPC op `modelPreflight` takes business/role
|
||||
and returns exactly `{baseUrl,key}` (null outside proxy mode). The launcher passes
|
||||
that object as `proxy` into buildBundle; P3 owns consuming it. modelKeyId is separate
|
||||
metadata in the host's session registry/bind message, stripped before Broker.bindLaunch
|
||||
so the broker's public launch-record schema is unchanged. No socket verb returns keys.
|
||||
|
||||
Organization option C is implemented as modelOrganization's adapter in model-keys.mjs.
|
||||
Existing business/src/organization.mjs and business settings callers are unmodified.
|
||||
The adapter supplies captured revision to the existing locked synchronous write.
|
||||
Runtime's revoke callback requires matching pending intent and revision before local
|
||||
cleanup. A race after remote success produces proxy-revoke-revision-conflict and keeps
|
||||
revoking metadata, for next boot reconcile. Generic Credentials.remove cannot bypass
|
||||
remote confirmation for a live model record.
|
||||
|
||||
### Candidate validation plan (awaiting separate CLEAR)
|
||||
|
||||
Root npm ci and packages/webui npm ci both ran in this worktree (128 and 2 packages,
|
||||
respectively); canonical node_modules was not read/linked/modified. Static syntax
|
||||
checks parsed all 26 changed JavaScript modules; git diff --check and bash -n passed.
|
||||
These are static checks, not GREEN evidence. No tests have run since the RED slot.
|
||||
|
||||
`import-list.mjs` generated green-files.txt: 262 whole files selected from actual
|
||||
parsed imports/transitive edges of 15 changed production modules, plus changed tests.
|
||||
It uses Node's module parser for static imports and tokenizes literal dynamic imports
|
||||
outside comments/string/template/regex text. No fixture-text grep. The JSON manifest
|
||||
records edges and has zero parse failures. Explicit exclusions: queue and
|
||||
packages/cli/tests/case1-accept.test.mjs (mos-1612; no Mos approval). The additional
|
||||
shell run is scripts/test-config.sh because mosaic-config.mjs changed; timeout -k10
|
||||
1800 and absolute nice19. green.sh executes whole files serially, one short TMPDIR
|
||||
per run with fixture HOME/config, logs the observed shell nice, and stops at first RED.
|
||||
|
||||
Mutants (mutants.mjs; separate CLEAR only), each with the entire model-keys.test file:
|
||||
1. revoke skips confirming GET: mutate removeKeys only, retain PUT + client 401 poll;
|
||||
the delayed-revoke test must fail its GET/PUT/GET ordering assertion.
|
||||
2. reconcile removes foreign key: remove the own-prefix condition; the foreign/manual
|
||||
preservation test must fail.
|
||||
3. preflight treats401 as success: bypass401 refusal; the HTTP401 preflight test must fail.
|
||||
4. reconcile ignores revoking (sage-4354): classify revoking records as retained and
|
||||
omit their cleanup; the restart/revoking test must fail.
|
||||
A kill requires nonzero status AND the corresponding named test's not-ok TAP record;
|
||||
loader/syntax failures cannot count as kills. Original production bytes restore in
|
||||
finally. These mutants have not run.
|
||||
|
||||
First-output emission site: packages/harness/src/runner.mjs:351 calls the marker in
|
||||
its existing stdout listener, before the unchanged RESULT accumulator. File content
|
||||
is fixed by packages/harness/src/first-output.mjs, never by the stdout chunk.
|
||||
|
||||
Remaining gates: GREEN, four mutants, Boyd first review, Dewey landing review,
|
||||
Sage's full landing gate. No landing/completion claim.
|
||||
|
||||
### Evidence whitespace correction
|
||||
|
||||
The first candidate commit f83206473 preserved TAP formatter whitespace. The staged
|
||||
whitespace check warned about space-only diagnostic lines in three RED logs; the
|
||||
commit proceeded because that shell was not fail-fast. Normalize trailing spaces
|
||||
only, without changing the recorded tests/results. No test rerun. Original raw bytes
|
||||
remain in f83206473; hashes below make the presentation change reviewable.
|
||||
|
||||
- red-bus-proxy.log: original SHA256 b8eacf3c025c63289702a8a2a5630f694f74e9cc8f02dfa04b983e22f40466ae; normalized SHA256 b8eacf3c025c63289702a8a2a5630f694f74e9cc8f02dfa04b983e22f40466ae
|
||||
- red-cli-guards.log: original SHA256 45d6f847556259d00511904dbe933272adcae251e6d0bf539d19eb03f93bfcad; normalized SHA256 9645a7c408249ecbacbfaa7d631a5b98c380916a2aa37985061b27a6ed05e1b0
|
||||
- red-client-probe.log: original SHA256 3c3bc989a00e2d3860a44712b31a93d80cf8395c9260777f5a94c09ff45f42e1; normalized SHA256 e72318cbbc3fb0803770e4bb8e8ded9725fb4c4ebee6ea4bec365bceaa68250a
|
||||
- red-model-store.log: original SHA256 5d46867eacee5ed014ed71cc45120de9c79167fc08c8583276eaec5fc5e5bfcc; normalized SHA256 1797d611f72f417612e6b7b24f3119ae0f079dc0b9a12acba087ab5c8b2cec59
|
||||
|
||||
### Base comparison and direct handoffs — sage-4409
|
||||
|
||||
Compared `git diff --name-only 78b69e1e6 775bbe236` against all 262 GREEN files and
|
||||
all 26 changed .mjs modules. Both intersections are empty (base-overlap.json).
|
||||
BUILD-LOG.md and docs/SESSIONS.md overlap only as append-only tracking files;
|
||||
no test/source rebase trigger under Sage's condition. Published implementation
|
||||
candidate remains fb484acb7. This follow-up records metadata only.
|
||||
|
||||
Fethry (14f80e3c-ace7-4793-a577-e1275ca09b0b) received the exact trusted P3 interface
|
||||
in magica-331-0010. Boyd (48a3ae38-83aa-4d3f-9064-64e911ec4547) received the build
|
||||
notice with option C review flag in magica-331-0011. Sage copied in -0012.
|
||||
Both notices say GREEN/mutants are pending and do not request a test slot.
|
||||
Sage ordered 331 GREEN/mutants after Bubba's 288 and before198; awaiting CLEAR.
|
||||
|
||||
## 2026-10-25 — GREEN attempt stopped on new fixture RED (sage-4420)
|
||||
|
||||
Candidate a86a881e1. Ran approved whole files serially, each with a fresh short TMPDIR
|
||||
and a nice19 wrapper, no test/source/timeout edits and no reruns. Driver stopped on
|
||||
file55, model-keys.test.mjs: 30 tests,24pass,6fail,0skip/cancel,rc1. All54 preceding
|
||||
files passed, including the seven model-credential-store cases. Aggregate attempted:
|
||||
592tests/586pass/6fail/0skip/0cancel. The remaining207 files, scripts/test-config.sh,
|
||||
all4 mutants and restored whole-file positive controls did not run.
|
||||
|
||||
All6 failures share one fixture defect: bootBusiness never creates `<temp>/data`
|
||||
before startBroker; Store at store.mjs:163 refuses its missing dataRoot with ENOENT.
|
||||
Affected new cases: fire-before-delist, failed-PUT fire, revision-race fire, hire issue,
|
||||
failed-issue hire and newly-hired preflight. None reached the intended real-bus
|
||||
behavior. The24 controller cases passed; no old test failed in the attempted prefix.
|
||||
Recommended correction (not made): create that fixture data directory at0700 before
|
||||
startBroker, preserving all assertions. Await Sage before any test edit or rerun.
|
||||
|
||||
Reported first RED in magica-331-0014. Slot returned in -0015 at05:10:48Z, with no
|
||||
gate process remaining; Sage's288 landing gate can proceed. Do not move in-review
|
||||
on this RED result. Complete per-run rc/counts/nice/hash receipts are green-receipts.json.
|
||||
Raw text logs are retained off-repo under /mnt/storage/scratch/tmp/JT6SN5/ with SHA256
|
||||
pins in that receipt. Archiving copies verified bytes across filesystems before
|
||||
removing the untracked worktree copies; it did not change any log contents.
|
||||
|
||||
## 2026-10-25 — r2 fixture-only correction authorized (sage-4422)
|
||||
|
||||
Added exactly `fs.mkdirSync(join(f.root, 'data'), { mode: 0o700 })` inside
|
||||
bootBusiness before startBroker in packages/bus/tests/model-keys.test.mjs. No
|
||||
production code, assertion, timeout or other test file changed. No test run.
|
||||
|
||||
There was no build-time whole-file run of model-keys.test.mjs. The original RED
|
||||
slot (sage-4374) covered only client-probe, model-credential-store, CLI guards and
|
||||
bus model-proxy; this integration file was authored afterward, with execution
|
||||
held for separate GREEN CLEAR. Its first whole-file run was file55 of sage-4420
|
||||
on a86a881e1:24 controller cases passed;6 integration fixtures failed in Store's
|
||||
dataRoot lstat before their intended assertions. That explains why the six errors
|
||||
were absent from the build-time evidence. It was not a prior passing run.
|
||||
|
||||
No intended fail-closed refusal path is removed by this correction. None of the
|
||||
six cases asserted ENOENT or deliberately omitted dataRoot: each failed during
|
||||
shared fixture setup. Store's missing-directory refusal is unchanged production
|
||||
code. The credential-revoke-failed, proxy-revoke-revision-conflict and
|
||||
proxy-key-issue-failed cases retain their original assertions and remote fault
|
||||
injection. They can first reach those paths in r2. The successful fire/hire and
|
||||
newly-hired-preflight assertions also first become reachable in r2; another RED
|
||||
is possible. No separate test by a new refusal code applies to this fixture
|
||||
precondition repair (no refusal code or production guard was added/changed).
|
||||
|
||||
r2 request: restart full GREEN from file1, all262 whole files, test-config.sh,
|
||||
all4 mutants, each restored with a whole-file positive control; stop first RED.
|
||||
No tests until Sage CLEAR after288 landing and Poe's330 focused block.
|
||||
Frozen run-list SHA256:512d0c1c8823ff32a1c3308bd08950595e19ac87668fef3569be9c7aac3db674.
|
||||
Frozen import-manifest SHA256:a026f5637caf13bfac121b3fd6637e7052d1f90fa1a4114a94e59edf60344875.
|
||||
The import edges and262 file list are unchanged by this mkdir; case1-accept remains excluded.
|
||||
|
||||
## 2026-10-25 — r2 stopped on new fixture harness refusal (sage-4437)
|
||||
|
||||
On a32481b78, attempted55 whole files:54 rc0, model-keys rc1 (24pass/6fail).
|
||||
Totals592tests/586pass/6fail/0skip/cancel. No old test failed in this prefix.
|
||||
Each of the same six new real-bus fixtures now reaches chief binding and refuses
|
||||
invalid-harness: the fixture businessDoc never enables pi in plugins.harness.
|
||||
Broker.bindLaunch:1421 and runtime's harnessOn:450-453 correctly fail closed.
|
||||
No production/assertion/timeout changes or reruns during the slot. Remaining207,
|
||||
test-config,4mutants and controls unrun. SLOT BACK sent in magica-331-0020 at06:10:45Z.
|
||||
|
||||
Last step load averages: start4.03/7.54/10.98, end3.79/7.37/10.89; slot-return
|
||||
uptime4.61/7.08/10.64. All steps' start/end uptime, rc/counts and log hashes/paths
|
||||
are in r2-receipts.json and r2-events.jsonl; raw logs /mnt/storage/scratch/tmp/SO7N1j.
|
||||
The driver explicitly set itself19 at startup and each child19 after spawn, but
|
||||
measured parent nice was19 on2 steps and16 on53 after host renicing. The raw log
|
||||
nice=19 header was a fixed string and is not measured evidence. No claim of
|
||||
continuous nice19. Preserve those raw bytes; fix instrumentation only for next run.
|
||||
|
||||
## 2026-10-25 — r3 fixture and receipts-tooling ruling (sage-4439)
|
||||
|
||||
Fixture-only repair: bootBusiness sets `doc.plugins = { ...doc.plugins, harness: ['pi'] }`
|
||||
before publishing its temporary business document. No assertion, timeout, other test
|
||||
file or product source changed. The original mkdir0700 remains. No test run.
|
||||
|
||||
No new invalid-harness test per Sage's ruling: it is an existing refusal, covered in
|
||||
packages/bus/tests/routes-verb.test.mjs:68, test 'row 65: a new launch binds only on a
|
||||
switched-on harness with a module name, and a run an earlier broker bound binds again
|
||||
after its harness is switched off'. Lines73/75/84 assert invalid-harness for disabled
|
||||
and malformed harnesses, including a new pi run when the second broker enables none.
|
||||
The same file:129 tests runtime's real harnessOn path against disabled cursor. These
|
||||
are existing code-named refusal assertions, not a claim they ran in r2 (which stopped
|
||||
earlier). Their file is in the frozen262 import list.
|
||||
|
||||
R3 runner is r3-gate.mjs; r2 tooling/raw logs stay unchanged as historical evidence.
|
||||
It writes os.getPriority measurements in the raw headers (driverNice and actual
|
||||
spawned-child nice), resets absolute19 for each step/child and records both measured
|
||||
values in receipts. Start/end uptime remains on every step. No fixed nice19 header;
|
||||
no assertion/timeout changes. Continuous priority after spawn is not claimed.
|
||||
|
||||
R3 plan: whole model-keys.test.mjs first as the authorized probe. Stop immediately
|
||||
if RED, with no patch/rerun. Only on a green probe, start all262 whole files again
|
||||
from file1, then test-config, then4mutants each restored with a whole-file positive
|
||||
control. This file's six integration assertions remain unreached after r2's setup
|
||||
refusal; another RED is possible in the probe. Await CLEAR after288 diagnostic and
|
||||
Poe330 diagnostic; no slot held now.
|
||||
|
||||
Frozen manifests unchanged: import-manifest SHA256
|
||||
a026f5637caf13bfac121b3fd6637e7052d1f90fa1a4114a94e59edf60344875;
|
||||
262-file run-list SHA256
|
||||
512d0c1c8823ff32a1c3308bd08950595e19ac87668fef3569be9c7aac3db674.
|
||||
|
||||
## 2026-10-25 — r3 probe RED and read-only cause (sage-4447,4450)
|
||||
|
||||
Whole model-keys probe on e0578794c:rc1,30tests,27pass,3fail,0skip/cancel.
|
||||
Only three hire cases now fail definition-not-hireable; all fire/revision-race cases
|
||||
pass. Full262/test-config/mutants/controls never started. Measured driver19/child19,
|
||||
load6.37/11.24/14.46 ->6.34/11.15/14.42. SLOT BACK in magica-331-0024 at06:45:43Z.
|
||||
No edits/reruns during the slot. r3-receipts and events preserve all measured data;
|
||||
authorization field alone was corrected to sage-4447 in6fe36f4a9 as separately approved.
|
||||
Raw logs /mnt/storage/scratch/tmp/Rp0er8; driver hash in r3-summary.json.
|
||||
|
||||
Read-only cause: security-reviewer has review.verdict outside HIRE_ALLOWED, and the
|
||||
shipped chief's hireable list is empty. Broker's two gates correctly refuse the
|
||||
fixture before issuance. Existing code-named refusal coverage is
|
||||
chief-of-staff.test.mjs:840, 'row194 T8b: a definition is hireable only when every
|
||||
action is on HIRE_ALLOWED, it is version2, the chief lists it and noHire doesn't'.
|
||||
The proposed scratch aide copies the established runtime fixture at:1026-1033;
|
||||
no repository role or product change is needed. Proposed in magica-331-0025 before
|
||||
any fixture edit; Sage4453 approved fixture-only r4 afterward.
|
||||
|
||||
Digest correction: a026f563... identifies the frozen import graph (paths/edges),
|
||||
512d0c1c... identifies the frozen262 path list; neither pins content. Candidate-r3.json
|
||||
pins SHA256(committed blob bytes) for45 changed paths at e0578794c; its digest is
|
||||
e4e0353dbd88e829caf4ce3f050443bd55740e1b8af50ed90522962b81d77f37. Its sourceCommit
|
||||
anchor deliberately precedes the later receipt artifact, avoiding self-reference.
|
||||
|
||||
## 2026-10-25 — r4 fixture approved, static path check before push (sage-4453)
|
||||
|
||||
Copied the exact established aide fixture from chief-of-staff.test.mjs:1026-1033
|
||||
into bootBusiness under rolesCopy(f.root) only: aide.md, roleVersion2 aide.json,
|
||||
read tool, network api-only, withinRole message.send, credentials[], copied chief
|
||||
hireable:['aide']. One comment explains both shipped hire gates. Changed only the
|
||||
three sec-new hire requests to definition aide. sec-1/security-reviewer stays the
|
||||
fire target; every assertion and timeout is unchanged. Repository roles/*.json and
|
||||
product source are untouched. No test run.
|
||||
|
||||
Read-only path check completed before push:
|
||||
- Broker.#chiefLifecycle checks the definition's eligibility, then invokes the same
|
||||
instance.hire organization handler (broker:5100 onward).
|
||||
- modelOrganization.wrap derives only business/agent identity from args.name and
|
||||
unconditionally awaits modelKeys.ensure(instance) before invoking the writer
|
||||
(model-keys:227-243); it does not choose a path by definition/harness/network/tools.
|
||||
- ModelKeys.#issue:94-109 takes instance, rotation flag and optional current list;
|
||||
it registers implicit model, GETs, PUTs, confirms GET and writes the model record.
|
||||
It never reads a role definition or its declared credentials.
|
||||
- Thus successful hire still must show GET/PUT/GET and valid sec-new model metadata;
|
||||
failed-PUT hire still must refuse proxy-key-issue-failed before membership/file;
|
||||
newly-hired preflight still calls runtime.modelPreflight for demo/sec-new.
|
||||
- Runtime.modelPreflight:721-725 checks current role membership and calls the same
|
||||
ModelKeys.preflight by instance; it is not the harness plug-in preflight. That
|
||||
preflight uses the existing key, own sentinel and one /v1/models probe.
|
||||
- Both security-reviewer and aide are credential-free, have network api-only and
|
||||
no vars/harness/model overrides. They inherit the same fixture/system route. Aide
|
||||
has fewer built-in tools and different authority solely to satisfy hire eligibility;
|
||||
those fields are not inputs to this proxy issuance/preflight path. No real harness
|
||||
is spawned in these three cases. No key-issuance assertion was weakened/skipped.
|
||||
|
||||
R4 runner retains probe-first/full262/test-config/4mutants with whole-file controls,
|
||||
measured driver/child priority and start/end uptime, with identical test flags and
|
||||
timeouts. Its receipt clear field now takes MOSAIC_GATE_CLEAR supplied at invocation
|
||||
so preparation placeholders do not recur. Await separate CLEAR after288 processing
|
||||
pair and Poe330 diagnostic. Existing27 passing probe cases are not rerun now.
|
||||
|
||||
Import-graph and262 path-list digests remain a026f563... and512d0c1c... respectively.
|
||||
A new committed-blob candidate manifest will be generated for the r4 source tip;
|
||||
it has its own content digest and sourceCommit anchor.
|
||||
|
||||
|
||||
2026-10-25 — R4 gate under sage-4459, candidate 0965fe1ea, content
|
||||
manifest139b5274 (50 paths). Probe model-keys whole: rc0,30pass/0fail.
|
||||
Full frozen list:68 files rc0, then file69 project-runtime.test.mjs rc1,
|
||||
2pass/1fail. Including probe:707tests/706pass/1fail/0skip/0cancel.
|
||||
Existing test "Broker keeps the sandbox client import closure: only the listed
|
||||
imports, no lazy project import" fails its unchanged exact import-list assertion
|
||||
at project-runtime.test.mjs:14. P2's broker import of validManagementKey and
|
||||
proxyTiming from model-proxy/src/common.mjs is absent from that expected list.
|
||||
This is a deterministic assertion mismatch, not a load-sensitive timeout.
|
||||
No assertion, timeout, product source or runner edits; no retry. First red stops
|
||||
runner; remaining193 files, test-config and all4 mutants/controls unrun.
|
||||
SLOT BACK sent immediately in magica-331-0029; awaiting Sage ruling on old-test red.
|
||||
Fail-step start/end load10.39/20.98/25.16; measured driver/child nice19.
|
||||
Probe start9.64/29.21/28.18, end9.11/28.78/28.05. Every completed step records
|
||||
actual start/end uptime and priority in r4-events.jsonl/r4-receipts.json.
|
||||
Raw fail log /mnt/storage/scratch/tmp/ZK40Cc/070-packages_bus_tests_project-runtime.test.mjs.log
|
||||
SHA256 ee430ce92543c4027b4aa78f343c703fd00bb55433e6ed40d54b61668a5914d4.
|
||||
Driver archived beside raw logs. No in-review or GREEN claim.
|
||||
|
||||
|
||||
2026-10-25 — R5 bounded sandbox closure correction, sage-4470 / mos-1698,
|
||||
tracked by Sage's Vikunja646 (project19). R4 red and receipt8d88a6029 retained.
|
||||
New regressions were written/committed first in07da4cf96, with no execution while
|
||||
Poe held the lane. No RED/GREEN evidence is claimed for these new assertions.
|
||||
Then extracted the four bindings verbatim into validation.mjs: only named
|
||||
validateHeaderValue from node:http, used solely for header parsing. common imports
|
||||
and reexports these exact objects, preserving ProxyError identity and one predicate.
|
||||
Broker uses validation; CLI intentionally retains common's compatible reexport.
|
||||
Exactly two individual read-only RUNNER_FILES entries added: validation.mjs and
|
||||
first-output.mjs. No common/PIN/state/secret/config/directory bind. Marker unchanged.
|
||||
Old exact Broker import list updated only for the authorized validation import;
|
||||
all old assertions and recursive closure equality remain. New tests cover binding
|
||||
identity, error identity, behavior, exact parsing import/no I/O capability, and
|
||||
individual ro binds/no proxy directory or PIN/common exposure.
|
||||
No host copy map or Containerfile change: existing stack-copy src directory entries
|
||||
already cover the new file and marker; foundation image does not load this runner.
|
||||
Focused list is r5-focused-files.txt: all9 model-proxy whole files (common's host
|
||||
consumers), bus project-runtime and model-proxy, CLI model-proxy-guards, harness
|
||||
first-output and runner, seat sandbox and session:16 whole files, serial nice19.
|
||||
These follow actual import/caller dependencies; no case1-accept. Sandbox/session
|
||||
exercise real confined runner startup through existing controls. Any skip/unavailable
|
||||
sandbox is reported unverified, never evidence of confined success. No test flags,
|
||||
assertion relaxation, fixture behavior, deadline or threshold changes.
|
||||
Await focused CLEAR before Node/tests/proxy/sandbox/mutants. Subsequent independent
|
||||
Q246 Claude guard/security review must receive narrow8d88a6029..r5 diff, D1-D4,
|
||||
r4 closure finding, exact acceptance and fresh receipts, not conversation history.
|
||||
Any repair requires a new review round. No landing; global gate and unfulfilled
|
||||
row288 acceptance remain required.
|
||||
|
||||
|
||||
2026-10-25 — R5 focused verification, sage-4472, code4948ece0e / checkout87a2adc19.
|
||||
Exactly16 whole files rc0:181tests/181pass/0fail/0skip/0cancel.
|
||||
Measured driver and child priority19 at all16 step starts (not a continuous
|
||||
priority claim); actual uptime/load retained per step. Start6.91/9.43/16.39,
|
||||
end7.74/9.38/16.15. SLOT BACK sent in magica-331-0033 immediately after results.
|
||||
Confinement available: sandbox11/11 and session13/13, no skips. Actual confined
|
||||
runner startup, pid1 claim/answer/stop, workspace visibility, deliberate bad bind
|
||||
negative controls, confined tester refusal/outside success all ran and passed.
|
||||
UNVERIFIED confined controls: none in this focused scope.
|
||||
No extra tests/retries/source/assertion/timeout/threshold changes during verification.
|
||||
Full262/config/mutants/global landing gate/row288 acceptance remain unfulfilled.
|
||||
R4 deterministic import-closure red and8d88a6029 retained as provenance.
|
||||
Independent Q246 Claude guard/security review remains outstanding; no landing.
|
||||
|
||||
|
||||
2026-10-25 — R5 repair-only independent Q246 Claude Opus5.5/high round1
|
||||
APPROVE relayed sage-4475, no blocker/high/medium on8d88a6029..4948ece0e.
|
||||
This is not all-P2 or landing approval. Review limits retained: regex/review purity
|
||||
guard is not parser-proof; new regressions authored pre-fix but not run RED;
|
||||
r4 file69 RED preserved; confined startup/closure verified, proxy verbs inside
|
||||
sandbox not exercised; reviewer did not trace foundation-image exemption.
|
||||
|
||||
Fresh full packet prepared under sage-4475, no test/runner launch. Read-only
|
||||
r5-import-list.mjs uses already-local Node VM parser plus existing tokenizer;
|
||||
it parses repository source text without importing/evaluating it. Source inventory
|
||||
is committed base78b69e1e6..reviewed4948ece0e,17 modules; zero parse failures.
|
||||
Original green-files.txt262/hash512d0c1c and import-manifest.json/a026f563 remain
|
||||
historical and untouched. r5-full-files.txt263 is exactly original262 plus new
|
||||
validation.test.mjs, sorted without omissions, hash651cfff204fde6d5d935519181c44ac3e3eba1cc802c101aef71f1943410e2c5.
|
||||
Fresh r5-import-manifest.json selects269, hashbed8a7000b275dda0ddaa96a736ef5c9176d3f6893c274adddd6619355f277bb.
|
||||
All263 are retained. Six additional files reach the newly changed sandbox module:
|
||||
- plugins/tests/harness-compactions -> plugins/harness/claude-code/index -> seat/src/session -> seat/src/sandbox
|
||||
- processing-control/tests/mount -> seat/src/sandbox
|
||||
- seat/tests/compactions-budget -> seat/src/session -> seat/src/sandbox
|
||||
- seat/tests/compactions-ledger -> seat/src/session -> seat/src/sandbox
|
||||
- seat/tests/compactions -> seat/src/sandbox
|
||||
- seat/tests/session-workspace -> seat/src/session -> seat/src/sandbox
|
||||
All names above end .mjs, with test basenames .test.mjs. Exact paths/edges are in
|
||||
the fresh graph and r5-expanded-full-files.txt269 (same selection as dependency list).
|
||||
Proposed runner r5-full-gate.mjs differs from r4 only comment, r5 receipt filenames,
|
||||
list filename and count269. Retains whole model-keys probe first, full serial list,
|
||||
test-config timeout -k10 1800, same4 named mutants/180000ms and restored whole-file
|
||||
controls, measured priorities/start-end load, temp HOME/config/TMPDIR, same flags,
|
||||
first unexpected RED stop/no retry. Runner diff saved for review. No source/tests
|
||||
changed. Requires Sage CLEAR accepting expanded269 before any run; no automatic
|
||||
full run authorized. Content candidate remains4948ece0e/03dfc13f60paths.
|
||||
|
||||
|
||||
2026-10-25 — R5 full builder verification, sage-4477, reviewed code4948ece0e, checkout2ff10ffac.
|
||||
Probe rc0 30/30; all269 whole files rc0:2427tests/2426pass/0fail/1skip/0cancel.
|
||||
Test-config rc0:55pass/0fail. Nonmutant subtotal2512/2511pass/0fail/1skip.
|
||||
Standing FED R7 scratch two-instance acceptance SKIP: run scripts/test-federation-acceptance.sh.
|
||||
That separate acceptance is UNVERIFIED; no extra script run authorized/performed.
|
||||
Confinement available/verified: sandbox11/11, session13/13, no confined skips.
|
||||
Real startup/claim/answer/stop and sandbox visibility/bad-bind/tester controls ran.
|
||||
Four named mutants killed: rc1 counts29pass/1fail,29/1,29/1,27/3. Ignoring revoking
|
||||
also fails both revision-conflict cases, as expected. Every restored positive
|
||||
whole-file control rc0 30/30, no timeout. Model-keys source restored exactly.
|
||||
All279 measured child starts nice19; driver starts19x277 and16x2 (CLI reply-limits,
|
||||
harness raise-domain), despite per-step resets19; host renice retained, no claim
|
||||
of continuous nice19. Per-step measured raw headers, uptime/load and hashes retained.
|
||||
Startload7.08/8.10/12.53 ->end8.75/9.50/10.40; completed08:19:20Z.
|
||||
No retries, extra tests, source/assertion/deadline/threshold/scheduling edits.
|
||||
SLOT BACK sent magica-331-0036. Candidate/list/graph/executed-runner/raw-log identities
|
||||
separately pinned in r5-full-result-manifest.json. R4 red preserved as provenance.
|
||||
Builder verification only; narrow Q246 approval covers r5 repair only. Full P2
|
||||
Boyd first review/Dewey landing review, global landing gate and row288 acceptance
|
||||
remain outstanding. No automatic further gate or landing.
|
||||
|
||||
|
||||
2026-10-25 — Review handoff/queue receipt: in-review move succeeded rev4119,
|
||||
round1 candidate d62c69c86; request posting failed/outcome rev4120 because own
|
||||
MOSAIC_GITEA_CREDENTIAL_FILE unset. Command rc1, no credential search/read or retry;
|
||||
Sage fallback requested0041. Earlier no-candidate invocation rc2, no mutation.
|
||||
Full P2 named Boyd read-only review handoff0038/0039 delivered with writerC,
|
||||
whole-diff/content/graph/receipts, security provenance and outstanding acceptance.
|
||||
Boyd0048 restart/grace concern CONFIRMED by static inspection, response0042/Sage0043:
|
||||
runtime modelRuns empty164, callback209 map-only, populated bindLaunch500/503,
|
||||
sweep timer706 before launcher recovery. Persisted sessions read launcher253;
|
||||
--no-launch recovery1188-1193 never rebinds, normal recovery bind1209 is after
|
||||
kill/wait. Sweep treats empty map as no old-key run and retires before grace.
|
||||
No committed recovery path closes gap. Controller grace coverage misses restart
|
||||
persisted discovery. Review continues; no source/test edits/runs, no acceptance
|
||||
completion claim. Await consolidated verdict/owner repair ruling.
|
||||
|
||||
|
||||
2026-10-25 — Boyd fullP2 CHANGES recorded rev4123/round1/comment31701/candidate
|
||||
d62c69c86 by boyd-331-verdict-0001. Sage request posted31700 rev4121/4122; no
|
||||
further queue mutation. B1 tracked647 separately from narrow closure646.
|
||||
Static test-first preparation sage-4483/4488: c77a5444c adds only model-restart
|
||||
12cases, no runs and product unchanged4948ece0e. b1-proposal.md details real-runtime
|
||||
fixture, expected10RED/2GREEN (not observed), one-file RED list, proposed7-file later
|
||||
focus and smallest runtime-only authoritative discovery/stop-authority repair.
|
||||
Boot snapshot must survive normal Registry clearing; live:false alone cannot prove
|
||||
exit because proc reads conflate failure. Strict host identity/exit confirmation
|
||||
and prior-run no-launch preservation required; reuse existing proxy-stop-failed.
|
||||
No productfix before intended RED, no new public/schema/role/mount/authority change.
|
||||
Await CLEAR; old results and narrow r5 approval remain scoped, no landing claim.
|
||||
|
||||
|
||||
2026-10-25 — sage-4489 pre-RED fixture correction (new test only): PUT statusok;
|
||||
early guarded resource cleanup/own ChildProcess only; original sweep awaited and
|
||||
completion observed in finally, restored aftereach test; separate live/exit phases.
|
||||
Uses established5s/20ms bounded wait (host-run.test:47), production1s timer intact.
|
||||
Old7c563ece9/proposal/hash retained as preparation; amended b1-preparation-r2.md
|
||||
supersedes1250ms observation. Expected10RED/2GREEN exactcase map, still not observed.
|
||||
No oldtest/product/assertion change or Node/test/proxy launch. Await CLEAR.
|
||||
|
||||
|
||||
2026-10-25 — B1/647 intended RED observed, sage-4490, ca0e83337, product4948ece0e unchanged.
|
||||
Exactly one whole model-restart.test.mjs rc1:12tests/2pass/10fail/0skip/0cancel.
|
||||
All10 fail at old key stays remotely installed (false !== true), exact expected
|
||||
names/map. Bound unauthorized-runner stop and confirmed-exited controls pass.
|
||||
No fixture/control/harness/cleanup/observer timeout failures. Each original sweep
|
||||
was awaited through completion; live->exit case fails first live phase on old code.
|
||||
Measured driver19/child19; load8.00/7.57/8.12 ->7.53/7.48/8.08.
|
||||
Completed08:46:27Z, SLOT BACK0049. Test process exited and no scratch b1 roots remain.
|
||||
Before/after five product hashes equal; no edits/retry/extra run. Own-child cleanup
|
||||
only. No claim failed-case assertions after first failure were reached.
|
||||
Rawlog SHA25613f41a18ba8fd6e66ddf49904478589ef657ab5da78dd4e7d5d3f2cfb6e08e30,
|
||||
19069bytes, /mnt/storage/scratch/tmp/f1bW1b/001-packages_bus_tests_model-restart.test.mjs.log.
|
||||
All12 actual names/expectation match/results in b1-red-case-results.json.
|
||||
Await Sage ruling for bounded runtime implementation and separate focused GREEN;
|
||||
no product fix or new queue/review round. Prior builder evidence remains old code;
|
||||
r5 narrow closure approval/global/288/FEDR7 limits remain unchanged.
|
||||
|
||||
|
||||
2026-10-25 — sage-4491 scope boundary reported0051 BEFORE product edits/tests.
|
||||
Runtime-only view can discover/validate/authorize stop, but ModelKeys callback runs
|
||||
before asynchronous GET/PUT/GET/poll and no callback occurs before local retiring
|
||||
record deletion. Strict fresh confirmation at both mutation boundaries needs a
|
||||
small private model-keys.mjs change. UNAPPLIED exact diff saved as
|
||||
b1-mutation-boundary-proposed.diff: private optional confirm callback after remote
|
||||
GET/before PUT, and same existing-runs check after poll/before local write. No
|
||||
public constructor/IPC/schema/refusal/authority/timer change. Avoid runtime-only
|
||||
monkeypatches of client or Credentials mutation methods. Proposed two new boundary
|
||||
regressions require separate preparation/owner clearance: discovery fails during
|
||||
management GET (retain remote+local), or after remote401 (retain local/refuse).
|
||||
No product edits or runs; lane returned/unoccupied pending explicit scope ruling.
|
||||
Old12 intendedRED/resultmanifest remain provenance; no automatic rerun/fix.
|
||||
|
||||
|
||||
2026-10-25 — sage-4493 static separate two-case HTTP boundary preparation.
|
||||
New model-retirement-boundary.test.mjs uses real ModelKeys/private store/fakeHTTP,
|
||||
discovery fault only via existing runs callback: freshGET=>beforePUT holdremote/local;
|
||||
confirmed401=>beforelocal deletion holdlocal, remote already revoked/no rollback.
|
||||
Expected2 Missingexpectedrejection RED, not observed; newexactonefileREDlist.
|
||||
No Node/tests/proxy, no product changes, old12 RED retained. Precise private delta
|
||||
conditionally allowed after intended boundary RED and owner resume; await CLEAR.
|
||||
|
||||
|
||||
2026-10-25 — B1 boundary intendedRED observed, sage-4495, checkout26fad224f, product4948ece0e unchanged.
|
||||
Exactlyone whole model-retirement-boundary.test.mjs rc1:2tests/0pass/2fail/0skip/cancel.
|
||||
A fresh managementGET case: ERR_ASSERTION Missing expected rejection: fresh discovery
|
||||
refusal required before remote mutation. B confirmed401 case: ERR_ASSERTION Missing
|
||||
expected rejection: fresh discovery refusal required before local deletion.
|
||||
Both exact expected failures. No fixture/control/refusalcode/harness/cleanup/timeout
|
||||
errors. Later assertions after failed rejection check were not reached; no rollback
|
||||
or atomicity claim. Before/after five producthashes equal, no product/test edits.
|
||||
Measured driver19/child19, load6.66/7.46/7.82 before/after. Test process exited,
|
||||
zero b1-boundary fixture roots remain. SLOT BACK0053, no retries or extra files.
|
||||
Rawlog911d2a599f87e6fdcdee5ace7199fdea859ee9cc73e7d01a72dce5bc9f980e89,
|
||||
1994bytes, archived under /mnt/storage/scratch/tmp/93xQB1 with driver.
|
||||
Original12caseRED4490 remains separate evidence, not rerun. Await specific owner
|
||||
resume for minimalruntime+precise privateModelKeys delta and focused9. No queue/
|
||||
review round/landing/global/288 change.
|
||||
|
||||
|
||||
2026-10-25 — B1 implementation prepared under sage-4496 after both observed REDs.
|
||||
Only runtime.mjs and exact approved private ModelKeys delta change. Host-private
|
||||
inventory seeds existing persisted sessions before manager/timer, keeps identity
|
||||
cache through Registry[]/mapdeletion, freshreads stable registry per check. Missing/
|
||||
malformed/ambiguous boot snapshot permanently holds retirement for this runtime;
|
||||
subsequent missing/failing/disagreeing snapshots hold via proxy-stop-failed. Every
|
||||
known relevant outer and runner process is checked via strict proc stat: ENOENT
|
||||
requires proc directory absent, zombie must have same startticks; errors/recycled
|
||||
identity hold. Unknown old-key associations on live runs hold. New bound runs not
|
||||
yet in registry hold until publication. Discovered-only runs never gain stopauthority;
|
||||
require same trusted current-runtime bind plus existing stopModelRuns and registry
|
||||
identity checks. Reread/confirm exit after stop and at freshGET/beforePUT and after
|
||||
poll/beforelocal retiring metadata mutation via exact private ModelKeys confirm.
|
||||
No runtime monkeypatch, public contract, writer, mount, role, interval, grace,
|
||||
stop bound, old tests/assertions/deadlines or validation-repair change. No rollback
|
||||
claim for late discovery failure. Conservative uncertain bootstrap holds until
|
||||
restart with a valid authoritative snapshot, preserving control/human surface.
|
||||
Exact9 focused files b1-green-files.txt, sage-4496: restart12 first, boundary2 next,
|
||||
then existing model-keys/model-stop/model-proxy, seat session/sandbox, CLI launcher/
|
||||
session-launch. Test code unchanged from observed REDs. Await execution result;
|
||||
no GREEN claim, full gate/graph/review remain separate.
|
||||
|
||||
|
||||
2026-10-25 — B1 focused GREEN sage-4496, repaired code/tested checkout81cbdea37.
|
||||
Exactly9 whole files rc0: restart12, boundary2, model-keys30, model-stop7,
|
||||
model-proxy14, seat session13, sandbox11, CLI launcher34, session-launch8.
|
||||
131tests/131pass/0fail/0skip/cancel; no timeouts/harness/cleanup errors.
|
||||
Real confined startup/session/sandbox controls available and passed without skips.
|
||||
New sleep stand-ins prove real identity/discovery and unauthorized-stop refusal,
|
||||
NOT successful real-runner SIGTERM. Both new fixture roots removed by cleanup.
|
||||
Measured child/driver19 all9 starts; load8.32/7.90/7.87 ->8.35/8.02/7.91.
|
||||
SLOT BACK0055. No retries or test/expectation/deadline/threshold modifications.
|
||||
Product changes runtime only plus exact approved private ModelKeys confirm delta;
|
||||
old tests/validation/mounts/writer/public contracts unchanged. No remote rollback
|
||||
claim for late failure. Beforegrace/unboundlive/uncertain discovery remains held;
|
||||
current-runtime bind+existing identity stop checks required before any stop.
|
||||
Original12caseRED41e909bcc and boundaryREDc90dcc4b1 remain separate provenance.
|
||||
Content candidate-b1 anchors81cbdea37,111paths,704a24696cceb29b7a830180a532101dd55b99f9b37d47800645503871f692c8.
|
||||
New full graph/list packet is preparation only and requires separate CLEAR.
|
||||
Fresh full P2 and Claude Q246 review/global/FEDR7/288/landing remain outstanding.
|
||||
|
||||
|
||||
2026-10-25 — Post-focused full packet prepared under4496, no full runner launch.
|
||||
Read-only local pinned Node VM parser/tool refreshed source graph against committed
|
||||
81cbdea37 (17 changed source modules, zero parse failures). Selected271 whole files:
|
||||
all previous269 retained, exactly model-restart and model-retirement-boundary added.
|
||||
Old262/263/269 lists and graphs remain untouched/historical. b1-full-files.txt equals
|
||||
current dependency list. b1-full-gate.mjs changes only previous r5 full runner's
|
||||
comment, evidence filenames and list/count271. Original whole model-keys probe,
|
||||
serial whole files, test-config timeout-k10/1800, four original named mutants and
|
||||
restored whole positive controls180000ms, measuredpriority/load/private scratch,
|
||||
flags/deadlines/no retry unchanged. Same known standing FEDR7 skip is unverified,
|
||||
not newly executed acceptance. Separate CLEAR required for any full gate/mutants.
|
||||
No additional dependency collaterals beyond two B1 files. Candidate/content pins
|
||||
remain81cbdea37/704a2469,111committedpaths; evidence followups do not change product.
|
||||
Fresh fullP2 newreviewround+B1response and ClaudeQ246 review remain required before
|
||||
landing, original round1CHANGES4123/comment31701 preserved; no newqueue/reviewround
|
||||
posted, no global/288/FEDR7/landing approval or completion claim.
|
||||
|
||||
|
||||
2026-10-25 — B1 full builder verification sage-4498 on checkoute5a4ade07/code81cbdea37.
|
||||
Probe rc0:30/30. All271 whole files rc0:2441tests/2440pass/0fail/1skip/0cancel.
|
||||
Test-config rc0:55/55. Nonmutant subtotal2526tests/2525pass/0fail/1skip.
|
||||
Standing FEDR7 scratch two-instance acceptance is specifically UNVERIFIED until
|
||||
scripts/test-federation-acceptance.sh in authorized/global stage; not global green.
|
||||
Four original named mutants killed: rc1 counts29/1,29/1,29/1,27/3 (last also both
|
||||
revision-conflict cases). Allfour restored whole model-keys controls rc0:30/30.
|
||||
No retries/extra tests/source/test/assertion/timeout/threshold/scheduling changes.
|
||||
ModelKeys byte-restored and runtime identical to81cbdea37 after block. No timeout.
|
||||
281steps measured driver19 and child19 at start; no continuous-priority claim.
|
||||
Startload6.76/7.39/7.69 ->end8.54/9.21/8.55. Finished09:27:49Z, SLOT BACK0057.
|
||||
Confinement available: sandbox11/session13, zero confined skips; startup/negative
|
||||
controls ran. New restart12/boundary2 passed within full list. Sleep-fixture scope
|
||||
remains real process discovery/unauthorized-stop refusal, not successful runner
|
||||
SIGTERM. No cleanup/harness failures reported; no new unavailable control.
|
||||
Rawarchive /mnt/storage/scratch/tmp/cMDOAL, every run rc/count/load/priority/hash
|
||||
in b1-full-receipts/events. Builder verification only, not independent fullP2 or
|
||||
fix approval, global gate or landing. Fresh fullP2 round2, ClaudeQ246/security and
|
||||
Dewey landing reviews/global/FEDR7/row288 remain outstanding. Original12RED and
|
||||
boundary2RED plus prior r5 builder result remain separate scoped provenance.
|
||||
|
||||
|
||||
2026-10-25 — Round2 formal queue setup authorized sage-4500, source-manifest
|
||||
candidate explicitly supplied by Sage:33 lines SHA256fb0a7b68a70ebea1db745dfa3a89c0f93b06cbebeab9e2c9d1839369d276d5b6,
|
||||
verified unchanged before/after; source81/content704a2469 and full111path/result
|
||||
manifests remain separately pinned. First op magica-331-round2-start-0059 rc0,
|
||||
rev4124 in-review->in-progress. Only after definitive success, second op
|
||||
magica-331-round2-review-0060 rc1: round2 opened/in-review rev4125, request failed
|
||||
outcome rev4126 because own MOSAIC_GITEA_CREDENTIAL_FILE unset. No timeout/duplicate/
|
||||
retry/credential search or borrowed identity; authorized Sage fallback requested0060.
|
||||
Sage owns ordinary-seat Boyd fullP2round2 handoff; none duplicated here and no
|
||||
verdict recorded by Magica. No tests/proxy/newgate/landing;647/FEDR7/288 stillopen.
|
||||
|
||||
|
||||
2026-10-25 — M1 pre-fix RED sage-4520 onbc6942412/source81 unchanged.
|
||||
7cases/5pass/2intendedfail: later-generation retirement after confirmed terminal pair and initial corrupt key on exited pair; 0skip/cancel/observer/cleanupfail. Synthetic former-own proc views only, no actual OS reuse. Signalguard blocks actual kill; post-failure noSignals counter assertion not reached.
|
||||
All9productbeforeafterhashes equal81; ownfixture roots0/testprocessexited.
|
||||
SLOT BACK0065; no retry/productfix/other run/newround.
|
||||
Actualcases/assertions in case-results; rawhashes/priority/load/uptime in receipts.
|
||||
|
||||
|
||||
2026-10-25 — M2 pre-fix RED sage-4522 onbc6942412/source81 unchanged.
|
||||
17cases/9pass/8intendedfail exactly map: five proxy faults miss end, healthy cleanup mints cap, forged recovery synthesizes new launch, ended-down misclassified; 0skip/cancel/fixture/cleanupfail. Actual inprocess Store reopen+launcher, NOT processIPC proof.
|
||||
All9productbeforeafterhashes equal81; ownfixture roots0/testprocessexited.
|
||||
SLOT BACK0066; no retry/productfix/other run/newround.
|
||||
Actualcases/assertions in case-results; rawhashes/priority/load/uptime in receipts.
|
||||
|
||||
|
||||
2026-10-25 — M2 actual trusted IPC RED sage-4527, checkoute05d6a3336/source81 unchanged.
|
||||
Exactlyonewhole9cases:2controlsPASS/7intendedFAIL/0skip/cancel/timeout/cleanupfail.
|
||||
Firstdirectcleanup rawinnerinvalid-host-request; actualLauncher proxydown lacks
|
||||
historicalend; other5code-predicate failures do not individuallycaptureinnercode.
|
||||
Source dispatch routes unsupportedrecoverLaunch toinvalid-host-request, distinct
|
||||
from per-case measuredcode proof. Postfailedassertionchannelchecks not reached.
|
||||
Controls normalbind/cap/end andfreshproxydown/no-launch pass. Actual host->forked
|
||||
process route, not fakecleanup. Nineproductbeforeafterhashes equal81.
|
||||
Driver/testchild19 measured, nestedforks inherited/notindividuallymeasured.
|
||||
Load6.46/7.15/7.60 ->6.58/7.17/7.60, realhost close awaited beforeDB/proxy/root,
|
||||
no hookfailure/testprocessexited/ownroots0; no separatepre-rootlockinventoryclaim.
|
||||
SLOT BACK0068. No retry/implementation/otherfile/Nodecheck/mutant/newround.
|
||||
ExactMos1704diffs remain unapplied; accepted20focused packet requires resumeCLEAR.
|
||||
|
||||
### M1/M2 focused GREEN — sage-4529 (2026-10-25)
|
||||
Applied only exact approved diffs a9189c01 / 92f3b899 to broker/runtime/process/launcher. Independently applied both patches to a scratch HEAD copy and compared resulting bytes. Pre-run base07292713b, frozen content38c7a9e6/source26e3aef0; post-run content unchanged. Frozen20 whole files all rc0: 254/254 pass, zero fail/skip/cancel/timeout. First three M1/M2/real IPC files 7/17/9 pass; all formerly unreached identity, no-signal, code-specific refusal, channel-survival, no-cap/no-proxyPUT/modelStall-binding and claim release assertions reached. Existing restart/boundary and sandbox/session/host/launcher controls green. Measured driver+test child19 throughout; nested forks inherit, not independently measured. Load1 start8.80/end8.71, host step ended12.33. All cleanup hooks completed, no independent pre-removal lock inventory; synthetic reuse only, sleep fixtures not real runner rotation SIGTERM. Result5596c74f/receipt8e66300f pin all20 rawlogs under scratch c3mfOt. SLOT BACK0071. No retries or extra runs. FEDR7/global/row288 and direct confined first-output proof remain outside this focused evidence. Old RED and round2 CHANGES preserved. Product commit follows applicable focused GREEN; next full packet requires separate CLEAR. Message0070 timestamp correction: actual date output10:39:41Z, header manually used10:40:00Z; raw measured event timestamps unchanged.
|
||||
|
||||
### L1/L3b focused GREEN sage-4565 — 2026-10-25
|
||||
Applied only93e4de1e+43c14 to ModelKeys, exact815b92c8 independent scratch comparison. Pre-run base13d6782dd/receipt46c00e741, frozen36inputs0ebc27f9/scoped41behavior643c5f72 unchanged after run. Exact23whole files276/276 pass, no fail/skip/cancel/timeout/cleanup errors; alldriver+testchild19, nestedforks inherit/notall separatelymeasured. Load1start7.59/end8.66. Resultfe6652a8 pins23rawlogs archive57gtDZ, actualCLEAR4565/frozenCandidateSha correct. Existing sandbox11 and realIPC9 nonskip. Slot returned0085. Commit after applicablefocusedGREEN, independent650 drafts excluded.652 interaction remainsunverified/unresolved pending newonefile prep and diagnosticCLEAR; existingM1terminalproof evidence is scoped to actually acquired proof. Clock650 not implemented/executed, old274fullpacket unexecuted and willrefresh after stable scopes. No full/global/FEDR7/288/landing claim. Original L1/L3bREDs and unexpected4551 preserved separately, no compositegreen.
|
||||
|
||||
### STATIC652 diagnostic +650 revised packets (2026-10-25)
|
||||
After low6d3 focused276/276 and frozen36/41 commitmapping852a8da71, authored ONE652 runtime file13cases plus review-helper observational start/completion/receiver capture, no product seam/fix. Products remain6d3. Expected4diagnosticRED+9controls NOT observed; initial actual OSexits are explicitly distinct from terminalproof acquired by original associated-retirement sweeps. Clock650 exact755290c5/docabd21fcb remainUNAPPLIED; r4notes correct anchor semantics, fivewholefiles36expected31RED5GREEN not run. Wrongowner/unreadable0600/currentconfinedclockbounds and failurecoverage limits explicit. Both packets need independent inspectedCLEAR; no finalfull/queue/review/global/FEDR7/288/landing authority.
|
||||
@@ -1,15 +0,0 @@
|
||||
{
|
||||
"status": "expected only, not observed",
|
||||
"tests": [
|
||||
{
|
||||
"name": "B1 discovery failure during fresh management GET refuses before retirement PUT",
|
||||
"expected": "RED",
|
||||
"failure": "Missing expected rejection (fresh discovery refusal required before remote mutation)"
|
||||
},
|
||||
{
|
||||
"name": "B1 discovery failure during confirmed401 refuses before retiring metadata deletion",
|
||||
"expected": "RED",
|
||||
"failure": "Missing expected rejection (fresh discovery refusal required before local deletion)"
|
||||
}
|
||||
]
|
||||
}
|
||||
@@ -1,59 +0,0 @@
|
||||
{
|
||||
"status": "static only; product unchanged, no intended boundaryRED observed",
|
||||
"productCommit": "4948ece0e5c760943128ece963a30ab20c23c615",
|
||||
"testCommit": "cf890901d8498cfd522fbd44d88f19bb091a87f2",
|
||||
"artifacts": [
|
||||
{
|
||||
"path": "packages/bus/tests/model-retirement-boundary.test.mjs",
|
||||
"sha256": "5d2ed538b6db01530b4365675cf664ebee523ffb8ce853d58b635a7373917231",
|
||||
"bytes": 5231
|
||||
},
|
||||
{
|
||||
"path": "agents/magica/work/queue-331/b1-boundary-red-files.txt",
|
||||
"sha256": "4639f78fcda9e698ad0d03edd452cfd9a8f8d0f517ca8fc0c189eb48178af2d6",
|
||||
"bytes": 54
|
||||
},
|
||||
{
|
||||
"path": "agents/magica/work/queue-331/b1-boundary-prepared.md",
|
||||
"sha256": "c97d90fc64fe12425cc35e9ef1f5f53332838e3ab62a176b3a466619bf4057d4",
|
||||
"bytes": 2544
|
||||
},
|
||||
{
|
||||
"path": "agents/magica/work/queue-331/b1-boundary-expected-red.json",
|
||||
"sha256": "5155f36f5cbed40695caa112e69b8bc2b89792cb2b629f1a7298053fb370cd7f",
|
||||
"bytes": 542
|
||||
},
|
||||
{
|
||||
"path": "agents/magica/work/queue-331/b1-mutation-boundary-proposed.diff",
|
||||
"sha256": "5b94c4265b102909eb693fc2b74c80f6bcbcb7e97dd731f9b135df6757dca370",
|
||||
"bytes": 1122
|
||||
},
|
||||
{
|
||||
"path": "agents/magica/work/queue-331/b1-red-result-manifest.json",
|
||||
"sha256": "e69b1ac955dba265160b9f32bf0d981e62db132d9ddd38cb638f85299593b20a",
|
||||
"bytes": 2239
|
||||
}
|
||||
],
|
||||
"unchangedProduct": [
|
||||
{
|
||||
"path": "packages/bus/src/runtime.mjs",
|
||||
"sha256": "50f279fa4b4ffbe58faedcad3035e7e0dda905ea4046a92a2c1c96417597712b"
|
||||
},
|
||||
{
|
||||
"path": "packages/bus/src/model-keys.mjs",
|
||||
"sha256": "ad5b37f3078f60299f1f629f4da1a75e934f90bc352e4be56e31cd4c2a1d8c65"
|
||||
},
|
||||
{
|
||||
"path": "packages/cli/src/launcher.mjs",
|
||||
"sha256": "0272cc7c8e2ccbca9d92e4d3a34293cedc8a9bb1ec45fed88917050bd9bdede7"
|
||||
},
|
||||
{
|
||||
"path": "packages/seat/src/session.mjs",
|
||||
"sha256": "c37a6ef6f6d2b4e61443e77d800656bf31e38913bf7dbdc4ca955f4a83b13a41"
|
||||
},
|
||||
{
|
||||
"path": "packages/seat/src/proc.mjs",
|
||||
"sha256": "382cbf7e0ff336911e288ce858bdbfbec693bc2b69879720d1f0b4c7d8455198"
|
||||
}
|
||||
]
|
||||
}
|
||||
@@ -1,37 +0,0 @@
|
||||
# B1 boundary test preparation (sage-4493)
|
||||
|
||||
Product remains reviewed4948ece0e; no product delta applied and no tests run.
|
||||
Existing12-case intendedRED41e909bcc/e69b1ac9 stays intact; no pre-fix rerun.
|
||||
Current action only one new separate whole file with exactly TWO cases.
|
||||
|
||||
A: real ModelKeys/ManagementClient and real Credentials rotate into retiring
|
||||
metadata. Arm fakeHTTP only after setup. On fresh retirement managementGET, flip
|
||||
fault flag so subsequent existing runs callback throws BusError(proxy-stop-failed).
|
||||
Expected on old product: Missing expected rejection (fresh discovery refusal
|
||||
required before remote mutation); old code never invokes runs after that GET.
|
||||
After fix assert same existing refusal, exactlyGET/noPUT/noextra mutation, remote
|
||||
old key and local retiring record retained, all real receipts free of key values.
|
||||
|
||||
B: flip the same discovery fault while fakeHTTP responds confirmed models401.
|
||||
Expected on old product: Missing expected rejection (fresh discovery refusal
|
||||
required before local deletion); old code never invokes runs after revoke/poll.
|
||||
After fix assert existing refusal, exactGET/PUT/GET/PROBE, remote key already gone,
|
||||
local retiring metadata retained, actual401/key-id receipt present, no rollback or
|
||||
re-add/extra mutation. No atomicity claim or invented error receipt. Controller's
|
||||
thrown refusal propagates to existing runtime sweep-refused logging; these tests
|
||||
check actual management/controller receipts, not a fake runtime logger.
|
||||
|
||||
Both use original real controller/sweep/#replace/poll/private store and fake HTTP,
|
||||
only runs is supplied the discovery-failure callback at existing supported boundary.
|
||||
No process/timer replacement. Cleanup registered as soon as own scratch root exists;
|
||||
guarded real resources closed on setup failure too. Fake credential11characters,
|
||||
model material generated via original required prefix+random32 bytes. Boolean-only
|
||||
key comparisons; no key in error/snapshot/log. No old tests or assertions changed.
|
||||
|
||||
Proposed RED run: exactly b1-boundary-red-files.txt ONE whole file using usual
|
||||
absolute node --test --test-reporter=tap, own scratch TMPDIR/HOME/config, measured
|
||||
nice19driver+child and before/after uptime/load/producthashes. Expect2 intendedRED,
|
||||
0passing controls (controls remain existing12case evidence). Not observed yet.
|
||||
Stop after this file; no automatic fix/rerun/focused8. Await separate specificCLEAR.
|
||||
Conditional private ModelKeys diff remains UNAPPLIED; allowed only after these
|
||||
intendedRED and owner resume. No further public/schema/file/authority expansion.
|
||||
@@ -1,3 +0,0 @@
|
||||
{"name":"packages/bus/tests/model-retirement-boundary.test.mjs","event":"start","at":"2026-10-25T08:59:04.633Z","uptime":"03:59:04 up 11 days, 19:18, 2 users, load average: 6.66, 7.46, 7.82","TMPDIR":"/mnt/storage/scratch/tmp/yavBgl","nice":19}
|
||||
{"name":"packages/bus/tests/model-retirement-boundary.test.mjs","event":"end","at":"2026-10-25T08:59:04.633Z","uptime":"03:59:04 up 11 days, 19:18, 2 users, load average: 6.66, 7.46, 7.82","TMPDIR":"/mnt/storage/scratch/tmp/yavBgl","nice":19,"measuredDriverNice":19,"measuredChildNice":19,"endAt":"2026-10-25T08:59:04.843Z","endUptime":"03:59:04 up 11 days, 19:18, 2 users, load average: 6.66, 7.46, 7.82","rc":1,"signal":null,"timedOut":false,"tests":2,"pass":0,"fail":2,"skipped":0,"cancelled":0,"skippedLines":[],"failedNames":["B1 discovery failure during fresh management GET refuses before retirement PUT","B1 discovery failure during confirmed401 refuses before retiring metadata deletion"],"log":{"path":"/mnt/storage/scratch/tmp/93xQB1/001-packages_bus_tests_model-retirement-boundary.test.mjs.log","sha256":"911d2a599f87e6fdcdee5ace7199fdea859ee9cc73e7d01a72dce5bc9f980e89","bytes":1994}}
|
||||
{"event":"stopped","reason":"RED packages/bus/tests/model-retirement-boundary.test.mjs","at":"2026-10-25T08:59:04.845Z","uptime":"03:59:04 up 11 days, 19:18, 2 users, load average: 6.66, 7.46, 7.82"}
|
||||
@@ -1 +0,0 @@
|
||||
packages/bus/tests/model-retirement-boundary.test.mjs
|
||||
@@ -1,54 +0,0 @@
|
||||
// sage-4495: exactly one pre-fix boundary whole file; no retry or mutation.
|
||||
import fs from 'node:fs';
|
||||
import path from 'node:path';
|
||||
import os from 'node:os';
|
||||
import vm from 'node:vm';
|
||||
import { createHash } from 'node:crypto';
|
||||
import { execFileSync, spawn } from 'node:child_process';
|
||||
const root=process.cwd(),home=path.join(root,'agents/magica/work/queue-331');
|
||||
os.setPriority(0,19);
|
||||
const archive=execFileSync('mktemp',['-d','/mnt/storage/scratch/tmp/XXXXXX'],{encoding:'utf8'}).trim();
|
||||
const events=path.join(home,'b1-boundary-red-events.jsonl'),receipt=path.join(home,'b1-boundary-red-receipts.json');
|
||||
const candidate=execFileSync('git',['rev-parse','HEAD'],{encoding:'utf8'}).trim();
|
||||
fs.writeFileSync(events,'',{flag:'wx'});
|
||||
const rows=[];
|
||||
const uptime=()=>execFileSync('uptime',[],{encoding:'utf8'}).trim();
|
||||
const logEvent=e=>fs.appendFileSync(events,JSON.stringify(e)+'\n');
|
||||
const hash=b=>createHash('sha256').update(b).digest('hex');
|
||||
async function step(name,command,args,timeout=0){
|
||||
const temp=execFileSync('mktemp',['-d','/mnt/storage/scratch/tmp/XXXXXX'],{encoding:'utf8'}).trim();
|
||||
fs.mkdirSync(path.join(temp,'home'));fs.mkdirSync(path.join(temp,'config'));
|
||||
const env={...process.env,TMPDIR:temp,HOME:path.join(temp,'home'),MOSAIC_CONFIG:path.join(temp,'config/config.json')};
|
||||
for(const key of ['OPENAI_API_KEY','ANTHROPIC_API_KEY','ANTHROPIC_AUTH_TOKEN','CLAUDE_CODE_OAUTH_TOKEN','OPENROUTER_API_KEY','ZAI_API_KEY','MOSAIC_BUS_CAP'])delete env[key];
|
||||
os.setPriority(0,19);
|
||||
const before={name,event:'start',at:new Date().toISOString(),uptime:uptime(),TMPDIR:temp,nice:os.getPriority(0)};
|
||||
logEvent(before);
|
||||
const file=path.join(archive,String(rows.length+1).padStart(3,'0')+'-'+name.replaceAll('/','_')+'.log');
|
||||
const fd=fs.openSync(file,'wx',0o600);
|
||||
const measuredDriverNice=os.getPriority(0);fs.writeSync(fd,'driverNice='+measuredDriverNice+'\n');
|
||||
let timer,timedOut=false;
|
||||
const child=spawn(command,args,{cwd:root,env,stdio:['ignore',fd,fd]});
|
||||
let measuredChildNice=null;
|
||||
if(child.pid){os.setPriority(child.pid,19);measuredChildNice=os.getPriority(child.pid);}
|
||||
fs.writeSync(fd,'nice='+String(measuredChildNice)+'\n');fs.closeSync(fd);
|
||||
if(timeout)timer=setTimeout(()=>{timedOut=true;child.kill('SIGTERM');},timeout);
|
||||
const outcome=await new Promise(resolve=>{child.once('error',error=>resolve({rc:1,error:error.code}));child.once('close',(code,signal)=>resolve({rc:code??1,signal}));});
|
||||
clearTimeout(timer);
|
||||
const endLoad=uptime(),bytes=fs.readFileSync(file),text=bytes.toString();
|
||||
const count=key=>Number(new RegExp('^# '+key+' (\\d+)$','m').exec(text)?.[1]??0);
|
||||
const shell=/selftest: (\d+) passed, (\d+) failed/.exec(text);
|
||||
const row={...before,measuredDriverNice,measuredChildNice,event:'end',endAt:new Date().toISOString(),endUptime:endLoad,...outcome,timedOut,
|
||||
tests:shell?Number(shell[1])+Number(shell[2]):count('tests'),pass:shell?Number(shell[1]):count('pass'),fail:shell?Number(shell[2]):count('fail'),skipped:count('skipped'),cancelled:count('cancelled'),
|
||||
skippedLines:text.split('\n').filter(s=>/\bSKIP\b/.test(s)),
|
||||
failedNames:text.split('\n').filter(s=>s.startsWith('not ok ')).map(s=>s.replace(/^not ok \d+ - /,'')),log:{path:file,sha256:hash(bytes),bytes:bytes.length}};
|
||||
rows.push(row);logEvent(row);fs.writeFileSync(receipt,JSON.stringify({clear:process.env.MOSAIC_GATE_CLEAR??'not supplied',candidate,archive,rows},null,2)+'\n');
|
||||
process.stdout.write(`${name} rc=${row.rc} pass=${row.pass} fail=${row.fail} skip=${row.skipped} start=[${row.uptime}] end=[${endLoad}]\n`);
|
||||
return row;
|
||||
}
|
||||
const testArgs=file=>['--test','--test-reporter=tap',path.join(root,file)];
|
||||
try {
|
||||
const list=fs.readFileSync(path.join(home,'b1-boundary-red-files.txt'),'utf8').trim().split('\n');
|
||||
if(list.length!==1||list.includes('packages/cli/tests/case1-accept.test.mjs'))throw Error('focused list mismatch');
|
||||
for(const file of list){const row=await step(file,process.execPath,testArgs(file));if(row.rc!==0)throw Error('RED '+file);}
|
||||
logEvent({event:'complete',at:new Date().toISOString(),uptime:uptime()});
|
||||
}catch(error){logEvent({event:'stopped',reason:error.message,at:new Date().toISOString(),uptime:uptime()});process.stdout.write(error.message+'\n');process.exitCode=1;}
|
||||
@@ -1,22 +0,0 @@
|
||||
[
|
||||
{
|
||||
"path": "packages/bus/src/runtime.mjs",
|
||||
"sha256": "50f279fa4b4ffbe58faedcad3035e7e0dda905ea4046a92a2c1c96417597712b"
|
||||
},
|
||||
{
|
||||
"path": "packages/bus/src/model-keys.mjs",
|
||||
"sha256": "ad5b37f3078f60299f1f629f4da1a75e934f90bc352e4be56e31cd4c2a1d8c65"
|
||||
},
|
||||
{
|
||||
"path": "packages/cli/src/launcher.mjs",
|
||||
"sha256": "0272cc7c8e2ccbca9d92e4d3a34293cedc8a9bb1ec45fed88917050bd9bdede7"
|
||||
},
|
||||
{
|
||||
"path": "packages/seat/src/session.mjs",
|
||||
"sha256": "c37a6ef6f6d2b4e61443e77d800656bf31e38913bf7dbdc4ca955f4a83b13a41"
|
||||
},
|
||||
{
|
||||
"path": "packages/seat/src/proc.mjs",
|
||||
"sha256": "382cbf7e0ff336911e288ce858bdbfbec693bc2b69879720d1f0b4c7d8455198"
|
||||
}
|
||||
]
|
||||
@@ -1,22 +0,0 @@
|
||||
[
|
||||
{
|
||||
"path": "packages/bus/src/runtime.mjs",
|
||||
"sha256": "50f279fa4b4ffbe58faedcad3035e7e0dda905ea4046a92a2c1c96417597712b"
|
||||
},
|
||||
{
|
||||
"path": "packages/bus/src/model-keys.mjs",
|
||||
"sha256": "ad5b37f3078f60299f1f629f4da1a75e934f90bc352e4be56e31cd4c2a1d8c65"
|
||||
},
|
||||
{
|
||||
"path": "packages/cli/src/launcher.mjs",
|
||||
"sha256": "0272cc7c8e2ccbca9d92e4d3a34293cedc8a9bb1ec45fed88917050bd9bdede7"
|
||||
},
|
||||
{
|
||||
"path": "packages/seat/src/session.mjs",
|
||||
"sha256": "c37a6ef6f6d2b4e61443e77d800656bf31e38913bf7dbdc4ca955f4a83b13a41"
|
||||
},
|
||||
{
|
||||
"path": "packages/seat/src/proc.mjs",
|
||||
"sha256": "382cbf7e0ff336911e288ce858bdbfbec693bc2b69879720d1f0b4c7d8455198"
|
||||
}
|
||||
]
|
||||
@@ -1,37 +0,0 @@
|
||||
{
|
||||
"clear": "sage-4495",
|
||||
"candidate": "26fad224fef9ea49eab9948a18107c9b7987c10f",
|
||||
"archive": "/mnt/storage/scratch/tmp/93xQB1",
|
||||
"rows": [
|
||||
{
|
||||
"name": "packages/bus/tests/model-retirement-boundary.test.mjs",
|
||||
"event": "end",
|
||||
"at": "2026-10-25T08:59:04.633Z",
|
||||
"uptime": "03:59:04 up 11 days, 19:18, 2 users, load average: 6.66, 7.46, 7.82",
|
||||
"TMPDIR": "/mnt/storage/scratch/tmp/yavBgl",
|
||||
"nice": 19,
|
||||
"measuredDriverNice": 19,
|
||||
"measuredChildNice": 19,
|
||||
"endAt": "2026-10-25T08:59:04.843Z",
|
||||
"endUptime": "03:59:04 up 11 days, 19:18, 2 users, load average: 6.66, 7.46, 7.82",
|
||||
"rc": 1,
|
||||
"signal": null,
|
||||
"timedOut": false,
|
||||
"tests": 2,
|
||||
"pass": 0,
|
||||
"fail": 2,
|
||||
"skipped": 0,
|
||||
"cancelled": 0,
|
||||
"skippedLines": [],
|
||||
"failedNames": [
|
||||
"B1 discovery failure during fresh management GET refuses before retirement PUT",
|
||||
"B1 discovery failure during confirmed401 refuses before retiring metadata deletion"
|
||||
],
|
||||
"log": {
|
||||
"path": "/mnt/storage/scratch/tmp/93xQB1/001-packages_bus_tests_model-retirement-boundary.test.mjs.log",
|
||||
"sha256": "911d2a599f87e6fdcdee5ace7199fdea859ee9cc73e7d01a72dce5bc9f980e89",
|
||||
"bytes": 1994
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
@@ -1,58 +0,0 @@
|
||||
{
|
||||
"clear": "sage-4495",
|
||||
"testedCheckout": "26fad224fef9ea49eab9948a18107c9b7987c10f",
|
||||
"unchangedProduct": "4948ece0e5c760943128ece963a30ab20c23c615",
|
||||
"artifacts": [
|
||||
{
|
||||
"path": "agents/magica/work/queue-331/b1-boundary-prepared-manifest.json",
|
||||
"sha256": "cff4465b0a2df4ba09844e7f89710b5b2b66d802d1ac93d5613a168c9fb2e52b",
|
||||
"bytes": 2111
|
||||
},
|
||||
{
|
||||
"path": "agents/magica/work/queue-331/b1-boundary-red-files.txt",
|
||||
"sha256": "4639f78fcda9e698ad0d03edd452cfd9a8f8d0f517ca8fc0c189eb48178af2d6",
|
||||
"bytes": 54
|
||||
},
|
||||
{
|
||||
"path": "agents/magica/work/queue-331/b1-boundary-red-gate.mjs",
|
||||
"sha256": "65f4d92de3bcee492ae4c177ba098e9e055b6147ed9df0ba1ff0da553d79f971",
|
||||
"bytes": 4211
|
||||
},
|
||||
{
|
||||
"path": "agents/magica/work/queue-331/b1-boundary-red-events.jsonl",
|
||||
"sha256": "faac1a9694fad9ff5721f1f468fa2b1fbcf04133ea449240ef13f93a7b87bc84",
|
||||
"bytes": 1352
|
||||
},
|
||||
{
|
||||
"path": "agents/magica/work/queue-331/b1-boundary-red-receipts.json",
|
||||
"sha256": "7fa8e123c6be63de24fb02d76e73935eb29abbb0cb39e36295ba8a8026d819ba",
|
||||
"bytes": 1293
|
||||
},
|
||||
{
|
||||
"path": "agents/magica/work/queue-331/b1-boundary-red-product-before.json",
|
||||
"sha256": "b21470d8b0dc1dad1a23a8f005f3173cc517e70c0625fc4cd3a849681b41ab01",
|
||||
"bytes": 676
|
||||
},
|
||||
{
|
||||
"path": "agents/magica/work/queue-331/b1-boundary-red-product-after.json",
|
||||
"sha256": "b21470d8b0dc1dad1a23a8f005f3173cc517e70c0625fc4cd3a849681b41ab01",
|
||||
"bytes": 676
|
||||
},
|
||||
{
|
||||
"path": "agents/magica/work/queue-331/b1-boundary-red-summary.md",
|
||||
"sha256": "fe6f444537f5be5085a3299f2bf87d06b3489944254eb6899e3e3ad6f10fb4fc",
|
||||
"bytes": 1185
|
||||
}
|
||||
],
|
||||
"rawLogs": [
|
||||
{
|
||||
"path": "/mnt/storage/scratch/tmp/93xQB1/001-packages_bus_tests_model-retirement-boundary.test.mjs.log",
|
||||
"sha256": "911d2a599f87e6fdcdee5ace7199fdea859ee9cc73e7d01a72dce5bc9f980e89",
|
||||
"bytes": 1994
|
||||
},
|
||||
{
|
||||
"path": "/mnt/storage/scratch/tmp/93xQB1/b1-boundary-red-driver.log",
|
||||
"sha256": "bcb49d807bc468352c1dffebdf849ead629eb4461417a342ad26470e90049139"
|
||||
}
|
||||
]
|
||||
}
|
||||
@@ -1,15 +0,0 @@
|
||||
B1 boundary intendedRED observed, sage-4495, checkout26fad224f, product4948ece0e unchanged.
|
||||
Exactlyone whole model-retirement-boundary.test.mjs rc1:2tests/0pass/2fail/0skip/cancel.
|
||||
A fresh managementGET case: ERR_ASSERTION Missing expected rejection: fresh discovery
|
||||
refusal required before remote mutation. B confirmed401 case: ERR_ASSERTION Missing
|
||||
expected rejection: fresh discovery refusal required before local deletion.
|
||||
Both exact expected failures. No fixture/control/refusalcode/harness/cleanup/timeout
|
||||
errors. Later assertions after failed rejection check were not reached; no rollback
|
||||
or atomicity claim. Before/after five producthashes equal, no product/test edits.
|
||||
Measured driver19/child19, load6.66/7.46/7.82 before/after. Test process exited,
|
||||
zero b1-boundary fixture roots remain. SLOT BACK0053, no retries or extra files.
|
||||
Rawlog911d2a599f87e6fdcdee5ace7199fdea859ee9cc73e7d01a72dce5bc9f980e89,
|
||||
1994bytes, archived under /mnt/storage/scratch/tmp/93xQB1 with driver.
|
||||
Original12caseRED4490 remains separate evidence, not rerun. Await specific owner
|
||||
resume for minimalruntime+precise privateModelKeys delta and focused9. No queue/
|
||||
review round/landing/global/288 change.
|
||||
@@ -1,271 +0,0 @@
|
||||
packages/bus/tests/access-revoke.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/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/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/human.test.mjs
|
||||
packages/bus/tests/instances-verb.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-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-credential-store.test.mjs
|
||||
packages/bus/tests/model-keys.test.mjs
|
||||
packages/bus/tests/model-proxy.test.mjs
|
||||
packages/bus/tests/model-restart.test.mjs
|
||||
packages/bus/tests/model-retirement-boundary.test.mjs
|
||||
packages/bus/tests/model-stop.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.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/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-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/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-runtime.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-guards.test.mjs
|
||||
packages/cli/tests/model-proxy.test.mjs
|
||||
packages/cli/tests/model-stall.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/first-output.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-probe.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/p2-settings.test.mjs
|
||||
packages/model-proxy/tests/runner.test.mjs
|
||||
packages/model-proxy/tests/settings.test.mjs
|
||||
packages/model-proxy/tests/validation.test.mjs
|
||||
packages/plugins/tests/harness-compactions.test.mjs
|
||||
packages/processing-control/tests/mount.test.mjs
|
||||
packages/processing-control/tests/task.test.mjs
|
||||
packages/seat/tests/compactions-budget.test.mjs
|
||||
packages/seat/tests/compactions-ledger.test.mjs
|
||||
packages/seat/tests/compactions.test.mjs
|
||||
packages/seat/tests/sandbox.test.mjs
|
||||
packages/seat/tests/session-workspace.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
|
||||
@@ -1,77 +0,0 @@
|
||||
{
|
||||
"status": "expected only; no tests run",
|
||||
"tests": [
|
||||
{
|
||||
"name": "B1 restart before grace discovers persisted old-key run without bindLaunch",
|
||||
"expected": "RED",
|
||||
"why": "empty bound map retires live persisted key before grace",
|
||||
"assertion": "old key stays remotely installed"
|
||||
},
|
||||
{
|
||||
"name": "B1 no-launch restart past grace neither signals nor ends a prior session",
|
||||
"expected": "RED",
|
||||
"why": "prior session deliberately never bound, so old key removed",
|
||||
"assertion": "old key stays remotely installed"
|
||||
},
|
||||
{
|
||||
"name": "B1 normal recovery gap retains boot inventory when Registry clears before rebinding",
|
||||
"expected": "RED",
|
||||
"why": "empty map and cleared registry discard surviving run",
|
||||
"assertion": "old key stays remotely installed"
|
||||
},
|
||||
{
|
||||
"name": "B1 malformed persisted discovery never authorizes retirement",
|
||||
"expected": "RED",
|
||||
"why": "old runtime never reads registry for retirement",
|
||||
"assertion": "old key stays remotely installed"
|
||||
},
|
||||
{
|
||||
"name": "B1 missing persisted discovery never authorizes retirement",
|
||||
"expected": "RED",
|
||||
"why": "old runtime never reads registry for retirement",
|
||||
"assertion": "old key stays remotely installed"
|
||||
},
|
||||
{
|
||||
"name": "B1 persisted identity disagreement in startTime retains key and record",
|
||||
"expected": "RED",
|
||||
"why": "old retirement has no persisted identity discovery",
|
||||
"assertion": "old key stays remotely installed"
|
||||
},
|
||||
{
|
||||
"name": "B1 persisted identity disagreement in runnerStartTime retains key and record",
|
||||
"expected": "RED",
|
||||
"why": "old retirement has no persisted identity discovery",
|
||||
"assertion": "old key stays remotely installed"
|
||||
},
|
||||
{
|
||||
"name": "B1 persisted identity disagreement in modelKeyId retains key and record",
|
||||
"expected": "RED",
|
||||
"why": "old retirement has no persisted identity discovery",
|
||||
"assertion": "old key stays remotely installed"
|
||||
},
|
||||
{
|
||||
"name": "B1 discovery failure after boot retains the cached live old-key inventory",
|
||||
"expected": "RED",
|
||||
"why": "old runtime map-only callback ignores failed registry discovery",
|
||||
"assertion": "old key stays remotely installed"
|
||||
},
|
||||
{
|
||||
"name": "B1 bound run with unauthorized runner stop retains key and retiring record",
|
||||
"expected": "GREEN",
|
||||
"why": "existing stopSession refuses scratch non-runner; map is populated",
|
||||
"assertion": "existing positive control"
|
||||
},
|
||||
{
|
||||
"name": "B1 confirmed persisted runner exit permits old-key retirement after grace",
|
||||
"expected": "GREEN",
|
||||
"why": "old code removes key, consistent with positively exited scratch process",
|
||||
"assertion": "existing positive control"
|
||||
},
|
||||
{
|
||||
"name": "B1 an observed persisted exit after restart permits retirement, never an empty registry alone",
|
||||
"expected": "RED",
|
||||
"why": "first live-retention phase fails before subsequent confirmed-exit phase",
|
||||
"assertion": "old key stays remotely installed"
|
||||
}
|
||||
]
|
||||
}
|
||||
@@ -1,567 +0,0 @@
|
||||
{"name":"probe-model-keys","event":"start","at":"2026-10-25T09:10:35.929Z","uptime":"04:10:35 up 11 days, 19:30, 2 users, load average: 6.76, 7.39, 7.69","TMPDIR":"/mnt/storage/scratch/tmp/vgUkDh","nice":19}
|
||||
{"name":"probe-model-keys","event":"end","at":"2026-10-25T09:10:35.929Z","uptime":"04:10:35 up 11 days, 19:30, 2 users, load average: 6.76, 7.39, 7.69","TMPDIR":"/mnt/storage/scratch/tmp/vgUkDh","nice":19,"measuredDriverNice":19,"measuredChildNice":19,"endAt":"2026-10-25T09:10:42.360Z","endUptime":"04:10:42 up 11 days, 19:30, 2 users, load average: 6.46, 7.31, 7.67","rc":0,"signal":null,"timedOut":false,"tests":30,"pass":30,"fail":0,"skipped":0,"cancelled":0,"failedNames":[],"log":{"path":"/mnt/storage/scratch/tmp/cMDOAL/001-probe-model-keys.log","sha256":"555e3810c2d560f9220ebebabf1cee35dabd251346bd4dccbb29b5b3bfc9b363","bytes":11075}}
|
||||
{"name":"packages/bus/tests/access-revoke.test.mjs","event":"start","at":"2026-10-25T09:10:42.364Z","uptime":"04:10:42 up 11 days, 19:30, 2 users, load average: 6.46, 7.31, 7.67","TMPDIR":"/mnt/storage/scratch/tmp/KU6vnC","nice":19}
|
||||
{"name":"packages/bus/tests/access-revoke.test.mjs","event":"end","at":"2026-10-25T09:10:42.364Z","uptime":"04:10:42 up 11 days, 19:30, 2 users, load average: 6.46, 7.31, 7.67","TMPDIR":"/mnt/storage/scratch/tmp/KU6vnC","nice":19,"measuredDriverNice":19,"measuredChildNice":19,"endAt":"2026-10-25T09:10:43.185Z","endUptime":"04:10:43 up 11 days, 19:30, 2 users, load average: 6.46, 7.31, 7.67","rc":0,"signal":null,"timedOut":false,"tests":10,"pass":10,"fail":0,"skipped":0,"cancelled":0,"failedNames":[],"log":{"path":"/mnt/storage/scratch/tmp/cMDOAL/002-packages_bus_tests_access-revoke.test.mjs.log","sha256":"67398713914902e18debd73e2ac229b202027a4eeee8db9cc270ea88add3e99f","bytes":2695}}
|
||||
{"name":"packages/bus/tests/agents.test.mjs","event":"start","at":"2026-10-25T09:10:43.189Z","uptime":"04:10:43 up 11 days, 19:30, 2 users, load average: 6.46, 7.31, 7.67","TMPDIR":"/mnt/storage/scratch/tmp/gc6Tqj","nice":19}
|
||||
{"name":"packages/bus/tests/agents.test.mjs","event":"end","at":"2026-10-25T09:10:43.189Z","uptime":"04:10:43 up 11 days, 19:30, 2 users, load average: 6.46, 7.31, 7.67","TMPDIR":"/mnt/storage/scratch/tmp/gc6Tqj","nice":19,"measuredDriverNice":19,"measuredChildNice":19,"endAt":"2026-10-25T09:10:43.985Z","endUptime":"04:10:43 up 11 days, 19:30, 2 users, load average: 6.46, 7.31, 7.67","rc":0,"signal":null,"timedOut":false,"tests":11,"pass":11,"fail":0,"skipped":0,"cancelled":0,"failedNames":[],"log":{"path":"/mnt/storage/scratch/tmp/cMDOAL/003-packages_bus_tests_agents.test.mjs.log","sha256":"832a85509e8feb1d668c3dba8cd5c4f9d175f38efdc762be30d9d9815a45de7d","bytes":2740}}
|
||||
{"name":"packages/bus/tests/approval-binding.test.mjs","event":"start","at":"2026-10-25T09:10:43.988Z","uptime":"04:10:43 up 11 days, 19:30, 2 users, load average: 6.46, 7.31, 7.67","TMPDIR":"/mnt/storage/scratch/tmp/hmke9N","nice":19}
|
||||
{"name":"packages/bus/tests/approval-binding.test.mjs","event":"end","at":"2026-10-25T09:10:43.988Z","uptime":"04:10:43 up 11 days, 19:30, 2 users, load average: 6.46, 7.31, 7.67","TMPDIR":"/mnt/storage/scratch/tmp/hmke9N","nice":19,"measuredDriverNice":19,"measuredChildNice":19,"endAt":"2026-10-25T09:10:44.529Z","endUptime":"04:10:44 up 11 days, 19:30, 2 users, load average: 6.83, 7.37, 7.68","rc":0,"signal":null,"timedOut":false,"tests":6,"pass":6,"fail":0,"skipped":0,"cancelled":0,"failedNames":[],"log":{"path":"/mnt/storage/scratch/tmp/cMDOAL/004-packages_bus_tests_approval-binding.test.mjs.log","sha256":"e1c311fcdb8ab3887d82fff14113c15b1311d1015f7344aa5ec35dc31dd3893d","bytes":1743}}
|
||||
{"name":"packages/bus/tests/broker.test.mjs","event":"start","at":"2026-10-25T09:10:44.532Z","uptime":"04:10:44 up 11 days, 19:30, 2 users, load average: 6.83, 7.37, 7.68","TMPDIR":"/mnt/storage/scratch/tmp/wbz598","nice":19}
|
||||
{"name":"packages/bus/tests/broker.test.mjs","event":"end","at":"2026-10-25T09:10:44.532Z","uptime":"04:10:44 up 11 days, 19:30, 2 users, load average: 6.83, 7.37, 7.68","TMPDIR":"/mnt/storage/scratch/tmp/wbz598","nice":19,"measuredDriverNice":19,"measuredChildNice":19,"endAt":"2026-10-25T09:10:45.366Z","endUptime":"04:10:45 up 11 days, 19:30, 2 users, load average: 6.83, 7.37, 7.68","rc":0,"signal":null,"timedOut":false,"tests":16,"pass":16,"fail":0,"skipped":0,"cancelled":0,"failedNames":[],"log":{"path":"/mnt/storage/scratch/tmp/cMDOAL/005-packages_bus_tests_broker.test.mjs.log","sha256":"f3b3a6f2a66e797bbadea7d3006ab8436093fb6d672745b1559d0e16daa2873f","bytes":4160}}
|
||||
{"name":"packages/bus/tests/business.test.mjs","event":"start","at":"2026-10-25T09:10:45.371Z","uptime":"04:10:45 up 11 days, 19:30, 2 users, load average: 6.83, 7.37, 7.68","TMPDIR":"/mnt/storage/scratch/tmp/yRDVbZ","nice":19}
|
||||
{"name":"packages/bus/tests/business.test.mjs","event":"end","at":"2026-10-25T09:10:45.371Z","uptime":"04:10:45 up 11 days, 19:30, 2 users, load average: 6.83, 7.37, 7.68","TMPDIR":"/mnt/storage/scratch/tmp/yRDVbZ","nice":19,"measuredDriverNice":19,"measuredChildNice":19,"endAt":"2026-10-25T09:10:45.598Z","endUptime":"04:10:45 up 11 days, 19:30, 2 users, load average: 6.83, 7.37, 7.68","rc":0,"signal":null,"timedOut":false,"tests":1,"pass":1,"fail":0,"skipped":0,"cancelled":0,"failedNames":[],"log":{"path":"/mnt/storage/scratch/tmp/cMDOAL/006-packages_bus_tests_business.test.mjs.log","sha256":"537016428b81ddb4467ccb624c1907f808d25feff327e56b311441c8cbcd73a2","bytes":394}}
|
||||
{"name":"packages/bus/tests/channel-proof.test.mjs","event":"start","at":"2026-10-25T09:10:45.602Z","uptime":"04:10:45 up 11 days, 19:30, 2 users, load average: 6.83, 7.37, 7.68","TMPDIR":"/mnt/storage/scratch/tmp/OfIAH4","nice":19}
|
||||
{"name":"packages/bus/tests/channel-proof.test.mjs","event":"end","at":"2026-10-25T09:10:45.602Z","uptime":"04:10:45 up 11 days, 19:30, 2 users, load average: 6.83, 7.37, 7.68","TMPDIR":"/mnt/storage/scratch/tmp/OfIAH4","nice":19,"measuredDriverNice":19,"measuredChildNice":19,"endAt":"2026-10-25T09:10:46.844Z","endUptime":"04:10:46 up 11 days, 19:30, 2 users, load average: 6.83, 7.37, 7.68","rc":0,"signal":null,"timedOut":false,"tests":2,"pass":2,"fail":0,"skipped":0,"cancelled":0,"failedNames":[],"log":{"path":"/mnt/storage/scratch/tmp/cMDOAL/007-packages_bus_tests_channel-proof.test.mjs.log","sha256":"7ca13b5e837589659e60d0e4eae31098bbb47b4bb071c65b82f86253c09be6ac","bytes":679}}
|
||||
{"name":"packages/bus/tests/chief-of-staff.test.mjs","event":"start","at":"2026-10-25T09:10:46.847Z","uptime":"04:10:46 up 11 days, 19:30, 2 users, load average: 6.83, 7.37, 7.68","TMPDIR":"/mnt/storage/scratch/tmp/9KVxpj","nice":19}
|
||||
{"name":"packages/bus/tests/chief-of-staff.test.mjs","event":"end","at":"2026-10-25T09:10:46.847Z","uptime":"04:10:46 up 11 days, 19:30, 2 users, load average: 6.83, 7.37, 7.68","TMPDIR":"/mnt/storage/scratch/tmp/9KVxpj","nice":19,"measuredDriverNice":19,"measuredChildNice":19,"endAt":"2026-10-25T09:10:51.023Z","endUptime":"04:10:51 up 11 days, 19:30, 2 users, load average: 7.40, 7.48, 7.72","rc":0,"signal":null,"timedOut":false,"tests":42,"pass":42,"fail":0,"skipped":0,"cancelled":0,"failedNames":[],"log":{"path":"/mnt/storage/scratch/tmp/cMDOAL/008-packages_bus_tests_chief-of-staff.test.mjs.log","sha256":"789e2c8bd96f8639816598dd0b958bb877f89ab6a74f3ef9b2ee8a0372c5990f","bytes":13039}}
|
||||
{"name":"packages/bus/tests/citation-availability.test.mjs","event":"start","at":"2026-10-25T09:10:51.027Z","uptime":"04:10:51 up 11 days, 19:30, 2 users, load average: 7.40, 7.48, 7.72","TMPDIR":"/mnt/storage/scratch/tmp/zMiF2V","nice":19}
|
||||
{"name":"packages/bus/tests/citation-availability.test.mjs","event":"end","at":"2026-10-25T09:10:51.027Z","uptime":"04:10:51 up 11 days, 19:30, 2 users, load average: 7.40, 7.48, 7.72","TMPDIR":"/mnt/storage/scratch/tmp/zMiF2V","nice":19,"measuredDriverNice":19,"measuredChildNice":19,"endAt":"2026-10-25T09:10:56.736Z","endUptime":"04:10:56 up 11 days, 19:30, 2 users, load average: 7.13, 7.43, 7.70","rc":0,"signal":null,"timedOut":false,"tests":3,"pass":3,"fail":0,"skipped":0,"cancelled":0,"failedNames":[],"log":{"path":"/mnt/storage/scratch/tmp/cMDOAL/009-packages_bus_tests_citation-availability.test.mjs.log","sha256":"82db3bf8be209aea17b37236e9b134b8cee8f2de0c7a8c387c7a0d63b91000e8","bytes":850}}
|
||||
{"name":"packages/bus/tests/citation-guard.test.mjs","event":"start","at":"2026-10-25T09:10:56.739Z","uptime":"04:10:56 up 11 days, 19:30, 2 users, load average: 7.13, 7.43, 7.70","TMPDIR":"/mnt/storage/scratch/tmp/6eqYXQ","nice":19}
|
||||
{"name":"packages/bus/tests/citation-guard.test.mjs","event":"end","at":"2026-10-25T09:10:56.739Z","uptime":"04:10:56 up 11 days, 19:30, 2 users, load average: 7.13, 7.43, 7.70","TMPDIR":"/mnt/storage/scratch/tmp/6eqYXQ","nice":19,"measuredDriverNice":19,"measuredChildNice":19,"endAt":"2026-10-25T09:10:58.349Z","endUptime":"04:10:58 up 11 days, 19:30, 2 users, load average: 7.13, 7.43, 7.70","rc":0,"signal":null,"timedOut":false,"tests":13,"pass":13,"fail":0,"skipped":0,"cancelled":0,"failedNames":[],"log":{"path":"/mnt/storage/scratch/tmp/cMDOAL/010-packages_bus_tests_citation-guard.test.mjs.log","sha256":"939798138c1422229011b9caf79707f609a1a299706e9a8159d593ff9019e1be","bytes":3163}}
|
||||
{"name":"packages/bus/tests/citation-runtime.test.mjs","event":"start","at":"2026-10-25T09:10:58.352Z","uptime":"04:10:58 up 11 days, 19:30, 2 users, load average: 7.13, 7.43, 7.70","TMPDIR":"/mnt/storage/scratch/tmp/5sMYdw","nice":19}
|
||||
{"name":"packages/bus/tests/citation-runtime.test.mjs","event":"end","at":"2026-10-25T09:10:58.352Z","uptime":"04:10:58 up 11 days, 19:30, 2 users, load average: 7.13, 7.43, 7.70","TMPDIR":"/mnt/storage/scratch/tmp/5sMYdw","nice":19,"measuredDriverNice":19,"measuredChildNice":19,"endAt":"2026-10-25T09:10:58.740Z","endUptime":"04:10:58 up 11 days, 19:30, 2 users, load average: 7.13, 7.43, 7.70","rc":0,"signal":null,"timedOut":false,"tests":1,"pass":1,"fail":0,"skipped":0,"cancelled":0,"failedNames":[],"log":{"path":"/mnt/storage/scratch/tmp/cMDOAL/011-packages_bus_tests_citation-runtime.test.mjs.log","sha256":"0ed754fcd925c4e31fde1c5ccd3cedb20a6068f7182b812b8f460d9d783477ea","bytes":362}}
|
||||
{"name":"packages/bus/tests/comment-cursors.test.mjs","event":"start","at":"2026-10-25T09:10:58.743Z","uptime":"04:10:58 up 11 days, 19:30, 2 users, load average: 7.13, 7.43, 7.70","TMPDIR":"/mnt/storage/scratch/tmp/GEOpRb","nice":19}
|
||||
{"name":"packages/bus/tests/comment-cursors.test.mjs","event":"end","at":"2026-10-25T09:10:58.743Z","uptime":"04:10:58 up 11 days, 19:30, 2 users, load average: 7.13, 7.43, 7.70","TMPDIR":"/mnt/storage/scratch/tmp/GEOpRb","nice":19,"measuredDriverNice":19,"measuredChildNice":19,"endAt":"2026-10-25T09:10:58.988Z","endUptime":"04:10:58 up 11 days, 19:30, 2 users, load average: 7.13, 7.43, 7.70","rc":0,"signal":null,"timedOut":false,"tests":2,"pass":2,"fail":0,"skipped":0,"cancelled":0,"failedNames":[],"log":{"path":"/mnt/storage/scratch/tmp/cMDOAL/012-packages_bus_tests_comment-cursors.test.mjs.log","sha256":"b4ffc400c984b977d88c7b6ba59049196b8027ae57dbedcaea3e2e8ea052bc33","bytes":589}}
|
||||
{"name":"packages/bus/tests/console-decide.test.mjs","event":"start","at":"2026-10-25T09:10:58.990Z","uptime":"04:10:58 up 11 days, 19:30, 2 users, load average: 7.13, 7.43, 7.70","TMPDIR":"/mnt/storage/scratch/tmp/L3e3tv","nice":19}
|
||||
{"name":"packages/bus/tests/console-decide.test.mjs","event":"end","at":"2026-10-25T09:10:58.990Z","uptime":"04:10:58 up 11 days, 19:30, 2 users, load average: 7.13, 7.43, 7.70","TMPDIR":"/mnt/storage/scratch/tmp/L3e3tv","nice":19,"measuredDriverNice":19,"measuredChildNice":19,"endAt":"2026-10-25T09:11:00.044Z","endUptime":"04:11:00 up 11 days, 19:30, 2 users, load average: 6.96, 7.39, 7.68","rc":0,"signal":null,"timedOut":false,"tests":12,"pass":12,"fail":0,"skipped":0,"cancelled":0,"failedNames":[],"log":{"path":"/mnt/storage/scratch/tmp/cMDOAL/013-packages_bus_tests_console-decide.test.mjs.log","sha256":"77eff891165811d6d96a08d727b9012c8d55c7b9409bf588bf960b651010d491","bytes":3071}}
|
||||
{"name":"packages/bus/tests/creative.test.mjs","event":"start","at":"2026-10-25T09:11:00.047Z","uptime":"04:11:00 up 11 days, 19:30, 2 users, load average: 6.96, 7.39, 7.68","TMPDIR":"/mnt/storage/scratch/tmp/yt26yr","nice":19}
|
||||
{"name":"packages/bus/tests/creative.test.mjs","event":"end","at":"2026-10-25T09:11:00.047Z","uptime":"04:11:00 up 11 days, 19:30, 2 users, load average: 6.96, 7.39, 7.68","TMPDIR":"/mnt/storage/scratch/tmp/yt26yr","nice":19,"measuredDriverNice":19,"measuredChildNice":19,"endAt":"2026-10-25T09:11:00.605Z","endUptime":"04:11:00 up 11 days, 19:30, 2 users, load average: 6.96, 7.39, 7.68","rc":0,"signal":null,"timedOut":false,"tests":4,"pass":4,"fail":0,"skipped":0,"cancelled":0,"failedNames":[],"log":{"path":"/mnt/storage/scratch/tmp/cMDOAL/014-packages_bus_tests_creative.test.mjs.log","sha256":"9e5f649c9d8c2fb12e58a71692636d35ffd54e7c64e426189fe81cb64618c317","bytes":1412}}
|
||||
{"name":"packages/bus/tests/credential-claim.test.mjs","event":"start","at":"2026-10-25T09:11:00.607Z","uptime":"04:11:00 up 11 days, 19:30, 2 users, load average: 6.96, 7.39, 7.68","TMPDIR":"/mnt/storage/scratch/tmp/1qizzm","nice":19}
|
||||
{"name":"packages/bus/tests/credential-claim.test.mjs","event":"end","at":"2026-10-25T09:11:00.607Z","uptime":"04:11:00 up 11 days, 19:30, 2 users, load average: 6.96, 7.39, 7.68","TMPDIR":"/mnt/storage/scratch/tmp/1qizzm","nice":19,"measuredDriverNice":19,"measuredChildNice":19,"endAt":"2026-10-25T09:11:00.843Z","endUptime":"04:11:00 up 11 days, 19:30, 2 users, load average: 6.96, 7.39, 7.68","rc":0,"signal":null,"timedOut":false,"tests":8,"pass":8,"fail":0,"skipped":0,"cancelled":0,"failedNames":[],"log":{"path":"/mnt/storage/scratch/tmp/cMDOAL/015-packages_bus_tests_credential-claim.test.mjs.log","sha256":"0070050f2dab61749130eeb906496b111b01f6176a4673757957f3f11618c638","bytes":1932}}
|
||||
{"name":"packages/bus/tests/credential-status.test.mjs","event":"start","at":"2026-10-25T09:11:00.846Z","uptime":"04:11:00 up 11 days, 19:30, 2 users, load average: 6.96, 7.39, 7.68","TMPDIR":"/mnt/storage/scratch/tmp/K9QY4g","nice":19}
|
||||
{"name":"packages/bus/tests/credential-status.test.mjs","event":"end","at":"2026-10-25T09:11:00.846Z","uptime":"04:11:00 up 11 days, 19:30, 2 users, load average: 6.96, 7.39, 7.68","TMPDIR":"/mnt/storage/scratch/tmp/K9QY4g","nice":19,"measuredDriverNice":19,"measuredChildNice":19,"endAt":"2026-10-25T09:11:01.327Z","endUptime":"04:11:01 up 11 days, 19:30, 2 users, load average: 6.96, 7.39, 7.68","rc":0,"signal":null,"timedOut":false,"tests":4,"pass":4,"fail":0,"skipped":0,"cancelled":0,"failedNames":[],"log":{"path":"/mnt/storage/scratch/tmp/cMDOAL/016-packages_bus_tests_credential-status.test.mjs.log","sha256":"55e8217548696442abcdded0847619aea4b86ffae29fccc1f09bca3dd35dbeb8","bytes":1094}}
|
||||
{"name":"packages/bus/tests/credential-store.test.mjs","event":"start","at":"2026-10-25T09:11:01.330Z","uptime":"04:11:01 up 11 days, 19:30, 2 users, load average: 6.96, 7.39, 7.68","TMPDIR":"/mnt/storage/scratch/tmp/FYSChY","nice":19}
|
||||
{"name":"packages/bus/tests/credential-store.test.mjs","event":"end","at":"2026-10-25T09:11:01.330Z","uptime":"04:11:01 up 11 days, 19:30, 2 users, load average: 6.96, 7.39, 7.68","TMPDIR":"/mnt/storage/scratch/tmp/FYSChY","nice":19,"measuredDriverNice":19,"measuredChildNice":19,"endAt":"2026-10-25T09:11:01.531Z","endUptime":"04:11:01 up 11 days, 19:30, 2 users, load average: 6.96, 7.39, 7.68","rc":0,"signal":null,"timedOut":false,"tests":12,"pass":12,"fail":0,"skipped":0,"cancelled":0,"failedNames":[],"log":{"path":"/mnt/storage/scratch/tmp/cMDOAL/017-packages_bus_tests_credential-store.test.mjs.log","sha256":"24a5564ff43e1ed5e9e9962ce6338428e7972d04a39fe6a981e0a7e9a9992060","bytes":2856}}
|
||||
{"name":"packages/bus/tests/credential-verbs.test.mjs","event":"start","at":"2026-10-25T09:11:01.533Z","uptime":"04:11:01 up 11 days, 19:30, 2 users, load average: 6.96, 7.39, 7.68","TMPDIR":"/mnt/storage/scratch/tmp/kdeE9J","nice":19}
|
||||
{"name":"packages/bus/tests/credential-verbs.test.mjs","event":"end","at":"2026-10-25T09:11:01.533Z","uptime":"04:11:01 up 11 days, 19:30, 2 users, load average: 6.96, 7.39, 7.68","TMPDIR":"/mnt/storage/scratch/tmp/kdeE9J","nice":19,"measuredDriverNice":19,"measuredChildNice":19,"endAt":"2026-10-25T09:11:01.941Z","endUptime":"04:11:01 up 11 days, 19:30, 2 users, load average: 6.96, 7.39, 7.68","rc":0,"signal":null,"timedOut":false,"tests":2,"pass":2,"fail":0,"skipped":0,"cancelled":0,"failedNames":[],"log":{"path":"/mnt/storage/scratch/tmp/cMDOAL/018-packages_bus_tests_credential-verbs.test.mjs.log","sha256":"f642ec15998fc17db8cbc31761560395da2d4c387c595935ee21ad6966cdd074","bytes":716}}
|
||||
{"name":"packages/bus/tests/credentials.test.mjs","event":"start","at":"2026-10-25T09:11:01.943Z","uptime":"04:11:01 up 11 days, 19:30, 2 users, load average: 6.96, 7.39, 7.68","TMPDIR":"/mnt/storage/scratch/tmp/CYQCE0","nice":19}
|
||||
{"name":"packages/bus/tests/credentials.test.mjs","event":"end","at":"2026-10-25T09:11:01.943Z","uptime":"04:11:01 up 11 days, 19:30, 2 users, load average: 6.96, 7.39, 7.68","TMPDIR":"/mnt/storage/scratch/tmp/CYQCE0","nice":19,"measuredDriverNice":19,"measuredChildNice":19,"endAt":"2026-10-25T09:11:02.105Z","endUptime":"04:11:02 up 11 days, 19:30, 2 users, load average: 6.96, 7.39, 7.68","rc":0,"signal":null,"timedOut":false,"tests":5,"pass":5,"fail":0,"skipped":0,"cancelled":0,"failedNames":[],"log":{"path":"/mnt/storage/scratch/tmp/cMDOAL/019-packages_bus_tests_credentials.test.mjs.log","sha256":"30c632b5eadcb84d338d58b286a1ab819bf546b0e688f15ef5244f3ecf47536f","bytes":1290}}
|
||||
{"name":"packages/bus/tests/csuite-messaging.test.mjs","event":"start","at":"2026-10-25T09:11:02.108Z","uptime":"04:11:02 up 11 days, 19:30, 2 users, load average: 6.96, 7.39, 7.68","TMPDIR":"/mnt/storage/scratch/tmp/dpwSsT","nice":19}
|
||||
{"name":"packages/bus/tests/csuite-messaging.test.mjs","event":"end","at":"2026-10-25T09:11:02.108Z","uptime":"04:11:02 up 11 days, 19:30, 2 users, load average: 6.96, 7.39, 7.68","TMPDIR":"/mnt/storage/scratch/tmp/dpwSsT","nice":19,"measuredDriverNice":19,"measuredChildNice":19,"endAt":"2026-10-25T09:11:03.079Z","endUptime":"04:11:03 up 11 days, 19:30, 2 users, load average: 6.96, 7.39, 7.68","rc":0,"signal":null,"timedOut":false,"tests":16,"pass":16,"fail":0,"skipped":0,"cancelled":0,"failedNames":[],"log":{"path":"/mnt/storage/scratch/tmp/cMDOAL/020-packages_bus_tests_csuite-messaging.test.mjs.log","sha256":"a0dfbee5087b7fe4d0f779010504ad7206897c7c6f08e78eda9053aa63135cf7","bytes":4351}}
|
||||
{"name":"packages/bus/tests/daily-quota-runtime.test.mjs","event":"start","at":"2026-10-25T09:11:03.082Z","uptime":"04:11:03 up 11 days, 19:30, 2 users, load average: 6.96, 7.39, 7.68","TMPDIR":"/mnt/storage/scratch/tmp/KzX0ju","nice":19}
|
||||
{"name":"packages/bus/tests/daily-quota-runtime.test.mjs","event":"end","at":"2026-10-25T09:11:03.082Z","uptime":"04:11:03 up 11 days, 19:30, 2 users, load average: 6.96, 7.39, 7.68","TMPDIR":"/mnt/storage/scratch/tmp/KzX0ju","nice":19,"measuredDriverNice":19,"measuredChildNice":19,"endAt":"2026-10-25T09:11:03.563Z","endUptime":"04:11:03 up 11 days, 19:30, 2 users, load average: 6.96, 7.39, 7.68","rc":0,"signal":null,"timedOut":false,"tests":4,"pass":4,"fail":0,"skipped":0,"cancelled":0,"failedNames":[],"log":{"path":"/mnt/storage/scratch/tmp/cMDOAL/021-packages_bus_tests_daily-quota-runtime.test.mjs.log","sha256":"a9811cf8f1a06b743a6526454545266a722c8a2aeb3d848b30744452002c02a1","bytes":2145}}
|
||||
{"name":"packages/bus/tests/decision-close.test.mjs","event":"start","at":"2026-10-25T09:11:03.565Z","uptime":"04:11:03 up 11 days, 19:30, 2 users, load average: 6.96, 7.39, 7.68","TMPDIR":"/mnt/storage/scratch/tmp/MShvWI","nice":19}
|
||||
{"name":"packages/bus/tests/decision-close.test.mjs","event":"end","at":"2026-10-25T09:11:03.565Z","uptime":"04:11:03 up 11 days, 19:30, 2 users, load average: 6.96, 7.39, 7.68","TMPDIR":"/mnt/storage/scratch/tmp/MShvWI","nice":19,"measuredDriverNice":19,"measuredChildNice":19,"endAt":"2026-10-25T09:11:04.036Z","endUptime":"04:11:04 up 11 days, 19:30, 2 users, load average: 6.96, 7.39, 7.68","rc":0,"signal":null,"timedOut":false,"tests":8,"pass":8,"fail":0,"skipped":0,"cancelled":0,"failedNames":[],"log":{"path":"/mnt/storage/scratch/tmp/cMDOAL/022-packages_bus_tests_decision-close.test.mjs.log","sha256":"49249579005e17dfb13f4deed97757234dbcde0035fad7a407745372b54bea56","bytes":1983}}
|
||||
{"name":"packages/bus/tests/decision-route.test.mjs","event":"start","at":"2026-10-25T09:11:04.038Z","uptime":"04:11:04 up 11 days, 19:30, 2 users, load average: 6.96, 7.39, 7.68","TMPDIR":"/mnt/storage/scratch/tmp/Gvg4aJ","nice":19}
|
||||
{"name":"packages/bus/tests/decision-route.test.mjs","event":"end","at":"2026-10-25T09:11:04.038Z","uptime":"04:11:04 up 11 days, 19:30, 2 users, load average: 6.96, 7.39, 7.68","TMPDIR":"/mnt/storage/scratch/tmp/Gvg4aJ","nice":19,"measuredDriverNice":19,"measuredChildNice":19,"endAt":"2026-10-25T09:11:04.439Z","endUptime":"04:11:04 up 11 days, 19:30, 2 users, load average: 6.56, 7.30, 7.65","rc":0,"signal":null,"timedOut":false,"tests":5,"pass":5,"fail":0,"skipped":0,"cancelled":0,"failedNames":[],"log":{"path":"/mnt/storage/scratch/tmp/cMDOAL/023-packages_bus_tests_decision-route.test.mjs.log","sha256":"4e96eb167d0002b5b8b6faba758f5e9c89bb4ac60f69011bdf42f8b7bbbc4ee4","bytes":1198}}
|
||||
{"name":"packages/bus/tests/decisions.test.mjs","event":"start","at":"2026-10-25T09:11:04.441Z","uptime":"04:11:04 up 11 days, 19:30, 2 users, load average: 6.56, 7.30, 7.65","TMPDIR":"/mnt/storage/scratch/tmp/BNUkEI","nice":19}
|
||||
{"name":"packages/bus/tests/decisions.test.mjs","event":"end","at":"2026-10-25T09:11:04.441Z","uptime":"04:11:04 up 11 days, 19:30, 2 users, load average: 6.56, 7.30, 7.65","TMPDIR":"/mnt/storage/scratch/tmp/BNUkEI","nice":19,"measuredDriverNice":19,"measuredChildNice":19,"endAt":"2026-10-25T09:11:05.039Z","endUptime":"04:11:05 up 11 days, 19:30, 2 users, load average: 6.56, 7.30, 7.65","rc":0,"signal":null,"timedOut":false,"tests":7,"pass":7,"fail":0,"skipped":0,"cancelled":0,"failedNames":[],"log":{"path":"/mnt/storage/scratch/tmp/cMDOAL/024-packages_bus_tests_decisions.test.mjs.log","sha256":"93eb6470acc180e2345fe841affded76850c9e842a11da891bb4ae8bb1fce58e","bytes":1591}}
|
||||
{"name":"packages/bus/tests/end-launch.test.mjs","event":"start","at":"2026-10-25T09:11:05.041Z","uptime":"04:11:05 up 11 days, 19:30, 2 users, load average: 6.56, 7.30, 7.65","TMPDIR":"/mnt/storage/scratch/tmp/R85UMY","nice":19}
|
||||
{"name":"packages/bus/tests/end-launch.test.mjs","event":"end","at":"2026-10-25T09:11:05.041Z","uptime":"04:11:05 up 11 days, 19:30, 2 users, load average: 6.56, 7.30, 7.65","TMPDIR":"/mnt/storage/scratch/tmp/R85UMY","nice":19,"measuredDriverNice":19,"measuredChildNice":19,"endAt":"2026-10-25T09:11:05.586Z","endUptime":"04:11:05 up 11 days, 19:30, 2 users, load average: 6.56, 7.30, 7.65","rc":0,"signal":null,"timedOut":false,"tests":7,"pass":7,"fail":0,"skipped":0,"cancelled":0,"failedNames":[],"log":{"path":"/mnt/storage/scratch/tmp/cMDOAL/025-packages_bus_tests_end-launch.test.mjs.log","sha256":"1cf75e513665c4f1ebeeeb502ff7254b3ca689b1c777fdc9282efa322ede5e11","bytes":1664}}
|
||||
{"name":"packages/bus/tests/fire-revokes-grants.test.mjs","event":"start","at":"2026-10-25T09:11:05.589Z","uptime":"04:11:05 up 11 days, 19:30, 2 users, load average: 6.56, 7.30, 7.65","TMPDIR":"/mnt/storage/scratch/tmp/9vY9rw","nice":19}
|
||||
{"name":"packages/bus/tests/fire-revokes-grants.test.mjs","event":"end","at":"2026-10-25T09:11:05.589Z","uptime":"04:11:05 up 11 days, 19:30, 2 users, load average: 6.56, 7.30, 7.65","TMPDIR":"/mnt/storage/scratch/tmp/9vY9rw","nice":19,"measuredDriverNice":19,"measuredChildNice":19,"endAt":"2026-10-25T09:11:10.715Z","endUptime":"04:11:10 up 11 days, 19:31, 2 users, load average: 6.60, 7.29, 7.65","rc":0,"signal":null,"timedOut":false,"tests":24,"pass":24,"fail":0,"skipped":0,"cancelled":0,"failedNames":[],"log":{"path":"/mnt/storage/scratch/tmp/cMDOAL/026-packages_bus_tests_fire-revokes-grants.test.mjs.log","sha256":"4aed62b4dc0babe9e64bfd1f5673ae1e01aeb8cc58bc7581694f5bee1daf6ac2","bytes":7290}}
|
||||
{"name":"packages/bus/tests/gitea-grant-docker.test.mjs","event":"start","at":"2026-10-25T09:11:10.718Z","uptime":"04:11:10 up 11 days, 19:31, 2 users, load average: 6.60, 7.29, 7.65","TMPDIR":"/mnt/storage/scratch/tmp/zf7kKk","nice":19}
|
||||
{"name":"packages/bus/tests/gitea-grant-docker.test.mjs","event":"end","at":"2026-10-25T09:11:10.718Z","uptime":"04:11:10 up 11 days, 19:31, 2 users, load average: 6.60, 7.29, 7.65","TMPDIR":"/mnt/storage/scratch/tmp/zf7kKk","nice":19,"measuredDriverNice":19,"measuredChildNice":19,"endAt":"2026-10-25T09:11:39.796Z","endUptime":"04:11:39 up 11 days, 19:31, 2 users, load average: 7.08, 7.33, 7.65","rc":0,"signal":null,"timedOut":false,"tests":2,"pass":2,"fail":0,"skipped":0,"cancelled":0,"failedNames":[],"log":{"path":"/mnt/storage/scratch/tmp/cMDOAL/027-packages_bus_tests_gitea-grant-docker.test.mjs.log","sha256":"9cba46f93a1bba689f24cfe496059107c570086ce137825daeff79dc7898341a","bytes":1473}}
|
||||
{"name":"packages/bus/tests/gitea-grant.test.mjs","event":"start","at":"2026-10-25T09:11:39.799Z","uptime":"04:11:39 up 11 days, 19:31, 2 users, load average: 7.08, 7.33, 7.65","TMPDIR":"/mnt/storage/scratch/tmp/eDZcOu","nice":19}
|
||||
{"name":"packages/bus/tests/gitea-grant.test.mjs","event":"end","at":"2026-10-25T09:11:39.799Z","uptime":"04:11:39 up 11 days, 19:31, 2 users, load average: 7.08, 7.33, 7.65","TMPDIR":"/mnt/storage/scratch/tmp/eDZcOu","nice":19,"measuredDriverNice":19,"measuredChildNice":19,"endAt":"2026-10-25T09:11:55.726Z","endUptime":"04:11:55 up 11 days, 19:31, 2 users, load average: 7.14, 7.33, 7.64","rc":0,"signal":null,"timedOut":false,"tests":66,"pass":66,"fail":0,"skipped":0,"cancelled":0,"failedNames":[],"log":{"path":"/mnt/storage/scratch/tmp/cMDOAL/028-packages_bus_tests_gitea-grant.test.mjs.log","sha256":"e2a25af54558736f303ef120ac0d6e2073aca3d40147a1c87621392b37f51fd4","bytes":16601}}
|
||||
{"name":"packages/bus/tests/grant-enroll.test.mjs","event":"start","at":"2026-10-25T09:11:55.730Z","uptime":"04:11:55 up 11 days, 19:31, 2 users, load average: 7.14, 7.33, 7.64","TMPDIR":"/mnt/storage/scratch/tmp/Bpy3yd","nice":19}
|
||||
{"name":"packages/bus/tests/grant-enroll.test.mjs","event":"end","at":"2026-10-25T09:11:55.730Z","uptime":"04:11:55 up 11 days, 19:31, 2 users, load average: 7.14, 7.33, 7.64","TMPDIR":"/mnt/storage/scratch/tmp/Bpy3yd","nice":19,"measuredDriverNice":19,"measuredChildNice":19,"endAt":"2026-10-25T09:11:58.349Z","endUptime":"04:11:58 up 11 days, 19:31, 2 users, load average: 7.14, 7.33, 7.64","rc":0,"signal":null,"timedOut":false,"tests":24,"pass":24,"fail":0,"skipped":0,"cancelled":0,"failedNames":[],"log":{"path":"/mnt/storage/scratch/tmp/cMDOAL/029-packages_bus_tests_grant-enroll.test.mjs.log","sha256":"37847dc7f3e4229e89fc09a82a7f42508b6f3d4f917c8915a58754b14028bbfe","bytes":6381}}
|
||||
{"name":"packages/bus/tests/grant-executor.test.mjs","event":"start","at":"2026-10-25T09:11:58.360Z","uptime":"04:11:58 up 11 days, 19:31, 2 users, load average: 7.14, 7.33, 7.64","TMPDIR":"/mnt/storage/scratch/tmp/GBtctL","nice":19}
|
||||
{"name":"packages/bus/tests/grant-executor.test.mjs","event":"end","at":"2026-10-25T09:11:58.360Z","uptime":"04:11:58 up 11 days, 19:31, 2 users, load average: 7.14, 7.33, 7.64","TMPDIR":"/mnt/storage/scratch/tmp/GBtctL","nice":19,"measuredDriverNice":19,"measuredChildNice":19,"endAt":"2026-10-25T09:12:23.348Z","endUptime":"04:12:23 up 11 days, 19:32, 2 users, load average: 7.33, 7.37, 7.65","rc":0,"signal":null,"timedOut":false,"tests":42,"pass":42,"fail":0,"skipped":0,"cancelled":0,"failedNames":[],"log":{"path":"/mnt/storage/scratch/tmp/cMDOAL/030-packages_bus_tests_grant-executor.test.mjs.log","sha256":"df7846b7b3b906460c5f0525580e85703bfacddb53471f354d740549386f5171","bytes":11777}}
|
||||
{"name":"packages/bus/tests/grant-host.test.mjs","event":"start","at":"2026-10-25T09:12:23.351Z","uptime":"04:12:23 up 11 days, 19:32, 2 users, load average: 7.33, 7.37, 7.65","TMPDIR":"/mnt/storage/scratch/tmp/TETyjq","nice":19}
|
||||
{"name":"packages/bus/tests/grant-host.test.mjs","event":"end","at":"2026-10-25T09:12:23.351Z","uptime":"04:12:23 up 11 days, 19:32, 2 users, load average: 7.33, 7.37, 7.65","TMPDIR":"/mnt/storage/scratch/tmp/TETyjq","nice":19,"measuredDriverNice":19,"measuredChildNice":19,"endAt":"2026-10-25T09:12:23.926Z","endUptime":"04:12:23 up 11 days, 19:32, 2 users, load average: 7.33, 7.37, 7.65","rc":0,"signal":null,"timedOut":false,"tests":10,"pass":10,"fail":0,"skipped":0,"cancelled":0,"failedNames":[],"log":{"path":"/mnt/storage/scratch/tmp/cMDOAL/031-packages_bus_tests_grant-host.test.mjs.log","sha256":"6afbd8923a64e35a94ee271c2c23b24505752982c577e044e46411016ac73694","bytes":2862}}
|
||||
{"name":"packages/bus/tests/grant-migration.test.mjs","event":"start","at":"2026-10-25T09:12:23.929Z","uptime":"04:12:23 up 11 days, 19:32, 2 users, load average: 7.33, 7.37, 7.65","TMPDIR":"/mnt/storage/scratch/tmp/uD8LBl","nice":19}
|
||||
{"name":"packages/bus/tests/grant-migration.test.mjs","event":"end","at":"2026-10-25T09:12:23.929Z","uptime":"04:12:23 up 11 days, 19:32, 2 users, load average: 7.33, 7.37, 7.65","TMPDIR":"/mnt/storage/scratch/tmp/uD8LBl","nice":19,"measuredDriverNice":19,"measuredChildNice":19,"endAt":"2026-10-25T09:12:24.579Z","endUptime":"04:12:24 up 11 days, 19:32, 2 users, load average: 7.23, 7.34, 7.64","rc":0,"signal":null,"timedOut":false,"tests":6,"pass":6,"fail":0,"skipped":0,"cancelled":0,"failedNames":[],"log":{"path":"/mnt/storage/scratch/tmp/cMDOAL/032-packages_bus_tests_grant-migration.test.mjs.log","sha256":"5dc3350556c8ed2798188e4b48b7b27062f3234bf12d08fda9ebc77885d0d13a","bytes":1746}}
|
||||
{"name":"packages/bus/tests/grant-scope-runtime.test.mjs","event":"start","at":"2026-10-25T09:12:24.582Z","uptime":"04:12:24 up 11 days, 19:32, 2 users, load average: 7.23, 7.34, 7.64","TMPDIR":"/mnt/storage/scratch/tmp/RcmsZd","nice":19}
|
||||
{"name":"packages/bus/tests/grant-scope-runtime.test.mjs","event":"end","at":"2026-10-25T09:12:24.582Z","uptime":"04:12:24 up 11 days, 19:32, 2 users, load average: 7.23, 7.34, 7.64","TMPDIR":"/mnt/storage/scratch/tmp/RcmsZd","nice":19,"measuredDriverNice":19,"measuredChildNice":19,"endAt":"2026-10-25T09:12:24.917Z","endUptime":"04:12:24 up 11 days, 19:32, 2 users, load average: 7.23, 7.34, 7.64","rc":0,"signal":null,"timedOut":false,"tests":1,"pass":1,"fail":0,"skipped":0,"cancelled":0,"failedNames":[],"log":{"path":"/mnt/storage/scratch/tmp/cMDOAL/033-packages_bus_tests_grant-scope-runtime.test.mjs.log","sha256":"621b3e9459382c89a3df8248329f0166fac5bbaa4891e080293843c61bdee647","bytes":487}}
|
||||
{"name":"packages/bus/tests/grant-scope.test.mjs","event":"start","at":"2026-10-25T09:12:24.922Z","uptime":"04:12:24 up 11 days, 19:32, 2 users, load average: 7.23, 7.34, 7.64","TMPDIR":"/mnt/storage/scratch/tmp/aAnPor","nice":19}
|
||||
{"name":"packages/bus/tests/grant-scope.test.mjs","event":"end","at":"2026-10-25T09:12:24.922Z","uptime":"04:12:24 up 11 days, 19:32, 2 users, load average: 7.23, 7.34, 7.64","TMPDIR":"/mnt/storage/scratch/tmp/aAnPor","nice":19,"measuredDriverNice":19,"measuredChildNice":19,"endAt":"2026-10-25T09:12:26.660Z","endUptime":"04:12:26 up 11 days, 19:32, 2 users, load average: 7.23, 7.34, 7.64","rc":0,"signal":null,"timedOut":false,"tests":14,"pass":14,"fail":0,"skipped":0,"cancelled":0,"failedNames":[],"log":{"path":"/mnt/storage/scratch/tmp/cMDOAL/034-packages_bus_tests_grant-scope.test.mjs.log","sha256":"d342d5308c9f99b17af2cdf98a7ab445baf3a3016fde1d53a41c391c01b20b93","bytes":3772}}
|
||||
{"name":"packages/bus/tests/hard-waits.test.mjs","event":"start","at":"2026-10-25T09:12:26.663Z","uptime":"04:12:26 up 11 days, 19:32, 2 users, load average: 7.23, 7.34, 7.64","TMPDIR":"/mnt/storage/scratch/tmp/Arl9l6","nice":19}
|
||||
{"name":"packages/bus/tests/hard-waits.test.mjs","event":"end","at":"2026-10-25T09:12:26.663Z","uptime":"04:12:26 up 11 days, 19:32, 2 users, load average: 7.23, 7.34, 7.64","TMPDIR":"/mnt/storage/scratch/tmp/Arl9l6","nice":19,"measuredDriverNice":19,"measuredChildNice":19,"endAt":"2026-10-25T09:12:28.865Z","endUptime":"04:12:28 up 11 days, 19:32, 2 users, load average: 7.23, 7.34, 7.64","rc":0,"signal":null,"timedOut":false,"tests":13,"pass":13,"fail":0,"skipped":0,"cancelled":0,"failedNames":[],"log":{"path":"/mnt/storage/scratch/tmp/cMDOAL/035-packages_bus_tests_hard-waits.test.mjs.log","sha256":"271775fe1c5b9c2a3267baa74d1ad9247eb80d83ee6fe10aa9418d00c1eef8b2","bytes":3772}}
|
||||
{"name":"packages/bus/tests/host-run.test.mjs","event":"start","at":"2026-10-25T09:12:28.867Z","uptime":"04:12:28 up 11 days, 19:32, 2 users, load average: 7.23, 7.34, 7.64","TMPDIR":"/mnt/storage/scratch/tmp/v4dxzj","nice":19}
|
||||
{"name":"packages/bus/tests/host-run.test.mjs","event":"end","at":"2026-10-25T09:12:28.867Z","uptime":"04:12:28 up 11 days, 19:32, 2 users, load average: 7.23, 7.34, 7.64","TMPDIR":"/mnt/storage/scratch/tmp/v4dxzj","nice":19,"measuredDriverNice":19,"measuredChildNice":19,"endAt":"2026-10-25T09:12:44.504Z","endUptime":"04:12:44 up 11 days, 19:32, 2 users, load average: 6.20, 7.11, 7.55","rc":0,"signal":null,"timedOut":false,"tests":26,"pass":26,"fail":0,"skipped":0,"cancelled":0,"failedNames":[],"log":{"path":"/mnt/storage/scratch/tmp/cMDOAL/036-packages_bus_tests_host-run.test.mjs.log","sha256":"6685aae4322ef8b8e71c4c76c5b33d4baddbf2052cf3318c41abce622bc3d920","bytes":6241}}
|
||||
{"name":"packages/bus/tests/human.test.mjs","event":"start","at":"2026-10-25T09:12:44.507Z","uptime":"04:12:44 up 11 days, 19:32, 2 users, load average: 6.20, 7.11, 7.55","TMPDIR":"/mnt/storage/scratch/tmp/PPClpF","nice":19}
|
||||
{"name":"packages/bus/tests/human.test.mjs","event":"end","at":"2026-10-25T09:12:44.507Z","uptime":"04:12:44 up 11 days, 19:32, 2 users, load average: 6.20, 7.11, 7.55","TMPDIR":"/mnt/storage/scratch/tmp/PPClpF","nice":19,"measuredDriverNice":19,"measuredChildNice":19,"endAt":"2026-10-25T09:12:44.663Z","endUptime":"04:12:44 up 11 days, 19:32, 2 users, load average: 6.20, 7.11, 7.55","rc":0,"signal":null,"timedOut":false,"tests":4,"pass":4,"fail":0,"skipped":0,"cancelled":0,"failedNames":[],"log":{"path":"/mnt/storage/scratch/tmp/cMDOAL/037-packages_bus_tests_human.test.mjs.log","sha256":"941e4a97159072c8e0e7b2a429285a877dfd896432d9477273e459b883ca1b58","bytes":1071}}
|
||||
{"name":"packages/bus/tests/instances-verb.test.mjs","event":"start","at":"2026-10-25T09:12:44.666Z","uptime":"04:12:44 up 11 days, 19:32, 2 users, load average: 6.20, 7.11, 7.55","TMPDIR":"/mnt/storage/scratch/tmp/EeSMJY","nice":19}
|
||||
{"name":"packages/bus/tests/instances-verb.test.mjs","event":"end","at":"2026-10-25T09:12:44.666Z","uptime":"04:12:44 up 11 days, 19:32, 2 users, load average: 6.20, 7.11, 7.55","TMPDIR":"/mnt/storage/scratch/tmp/EeSMJY","nice":19,"measuredDriverNice":19,"measuredChildNice":19,"endAt":"2026-10-25T09:12:45.125Z","endUptime":"04:12:45 up 11 days, 19:32, 2 users, load average: 6.20, 7.11, 7.55","rc":0,"signal":null,"timedOut":false,"tests":3,"pass":3,"fail":0,"skipped":0,"cancelled":0,"failedNames":[],"log":{"path":"/mnt/storage/scratch/tmp/cMDOAL/038-packages_bus_tests_instances-verb.test.mjs.log","sha256":"a97e135319e702746a0d088b2f6197a9ddf1c450f16547c9022e3b5dcc59615b","bytes":1363}}
|
||||
{"name":"packages/bus/tests/land.test.mjs","event":"start","at":"2026-10-25T09:12:45.130Z","uptime":"04:12:45 up 11 days, 19:32, 2 users, load average: 6.20, 7.11, 7.55","TMPDIR":"/mnt/storage/scratch/tmp/CtuxVD","nice":19}
|
||||
{"name":"packages/bus/tests/land.test.mjs","event":"end","at":"2026-10-25T09:12:45.130Z","uptime":"04:12:45 up 11 days, 19:32, 2 users, load average: 6.20, 7.11, 7.55","TMPDIR":"/mnt/storage/scratch/tmp/CtuxVD","nice":19,"measuredDriverNice":19,"measuredChildNice":19,"endAt":"2026-10-25T09:12:46.353Z","endUptime":"04:12:46 up 11 days, 19:32, 2 users, load average: 6.20, 7.11, 7.55","rc":0,"signal":null,"timedOut":false,"tests":18,"pass":18,"fail":0,"skipped":0,"cancelled":0,"failedNames":[],"log":{"path":"/mnt/storage/scratch/tmp/cMDOAL/039-packages_bus_tests_land.test.mjs.log","sha256":"cf029cdfec42286157a3bdd263df2a893ab85038d6f36aaec627fc7619486f4f","bytes":5281}}
|
||||
{"name":"packages/bus/tests/launch-notice.test.mjs","event":"start","at":"2026-10-25T09:12:46.356Z","uptime":"04:12:46 up 11 days, 19:32, 2 users, load average: 6.20, 7.11, 7.55","TMPDIR":"/mnt/storage/scratch/tmp/Tncw6O","nice":19}
|
||||
{"name":"packages/bus/tests/launch-notice.test.mjs","event":"end","at":"2026-10-25T09:12:46.356Z","uptime":"04:12:46 up 11 days, 19:32, 2 users, load average: 6.20, 7.11, 7.55","TMPDIR":"/mnt/storage/scratch/tmp/Tncw6O","nice":19,"measuredDriverNice":19,"measuredChildNice":19,"endAt":"2026-10-25T09:12:46.738Z","endUptime":"04:12:46 up 11 days, 19:32, 2 users, load average: 6.20, 7.11, 7.55","rc":0,"signal":null,"timedOut":false,"tests":8,"pass":8,"fail":0,"skipped":0,"cancelled":0,"failedNames":[],"log":{"path":"/mnt/storage/scratch/tmp/cMDOAL/040-packages_bus_tests_launch-notice.test.mjs.log","sha256":"7ba7566e122a1329d612ffdbf1cdd85d62dabe4272f38dff6b29235c5bce28d5","bytes":2046}}
|
||||
{"name":"packages/bus/tests/launcher-released.test.mjs","event":"start","at":"2026-10-25T09:12:46.741Z","uptime":"04:12:46 up 11 days, 19:32, 2 users, load average: 6.20, 7.11, 7.55","TMPDIR":"/mnt/storage/scratch/tmp/l49bVL","nice":19}
|
||||
{"name":"packages/bus/tests/launcher-released.test.mjs","event":"end","at":"2026-10-25T09:12:46.741Z","uptime":"04:12:46 up 11 days, 19:32, 2 users, load average: 6.20, 7.11, 7.55","TMPDIR":"/mnt/storage/scratch/tmp/l49bVL","nice":19,"measuredDriverNice":19,"measuredChildNice":19,"endAt":"2026-10-25T09:12:47.203Z","endUptime":"04:12:47 up 11 days, 19:32, 2 users, load average: 6.20, 7.11, 7.55","rc":0,"signal":null,"timedOut":false,"tests":3,"pass":3,"fail":0,"skipped":0,"cancelled":0,"failedNames":[],"log":{"path":"/mnt/storage/scratch/tmp/cMDOAL/041-packages_bus_tests_launcher-released.test.mjs.log","sha256":"05307a41bd8e38bd216008c0a2f726ef5ce9aa4e30cf25e78e2a149daaae3015","bytes":987}}
|
||||
{"name":"packages/bus/tests/library-credential.test.mjs","event":"start","at":"2026-10-25T09:12:47.209Z","uptime":"04:12:47 up 11 days, 19:32, 2 users, load average: 6.20, 7.11, 7.55","TMPDIR":"/mnt/storage/scratch/tmp/wYcdhW","nice":19}
|
||||
{"name":"packages/bus/tests/library-credential.test.mjs","event":"end","at":"2026-10-25T09:12:47.209Z","uptime":"04:12:47 up 11 days, 19:32, 2 users, load average: 6.20, 7.11, 7.55","TMPDIR":"/mnt/storage/scratch/tmp/wYcdhW","nice":19,"measuredDriverNice":19,"measuredChildNice":19,"endAt":"2026-10-25T09:12:49.325Z","endUptime":"04:12:49 up 11 days, 19:32, 2 users, load average: 6.43, 7.14, 7.56","rc":0,"signal":null,"timedOut":false,"tests":6,"pass":6,"fail":0,"skipped":0,"cancelled":0,"failedNames":[],"log":{"path":"/mnt/storage/scratch/tmp/cMDOAL/042-packages_bus_tests_library-credential.test.mjs.log","sha256":"99d90323f6f5e7678831cd87aadd1cf3f26e309b24a9576a77bfad66be2d229a","bytes":1793}}
|
||||
{"name":"packages/bus/tests/library-lookups.test.mjs","event":"start","at":"2026-10-25T09:12:49.328Z","uptime":"04:12:49 up 11 days, 19:32, 2 users, load average: 6.43, 7.14, 7.56","TMPDIR":"/mnt/storage/scratch/tmp/yx4oWh","nice":19}
|
||||
{"name":"packages/bus/tests/library-lookups.test.mjs","event":"end","at":"2026-10-25T09:12:49.328Z","uptime":"04:12:49 up 11 days, 19:32, 2 users, load average: 6.43, 7.14, 7.56","TMPDIR":"/mnt/storage/scratch/tmp/yx4oWh","nice":19,"measuredDriverNice":19,"measuredChildNice":19,"endAt":"2026-10-25T09:12:51.180Z","endUptime":"04:12:51 up 11 days, 19:32, 2 users, load average: 6.43, 7.14, 7.56","rc":0,"signal":null,"timedOut":false,"tests":12,"pass":12,"fail":0,"skipped":0,"cancelled":0,"failedNames":[],"log":{"path":"/mnt/storage/scratch/tmp/cMDOAL/043-packages_bus_tests_library-lookups.test.mjs.log","sha256":"75a2a4d0f310af2db82645cec5593438fb8aef33146a7fb664ea8a42c90b9aa7","bytes":2881}}
|
||||
{"name":"packages/bus/tests/library-sync.test.mjs","event":"start","at":"2026-10-25T09:12:51.182Z","uptime":"04:12:51 up 11 days, 19:32, 2 users, load average: 6.43, 7.14, 7.56","TMPDIR":"/mnt/storage/scratch/tmp/gTIFOn","nice":19}
|
||||
{"name":"packages/bus/tests/library-sync.test.mjs","event":"end","at":"2026-10-25T09:12:51.182Z","uptime":"04:12:51 up 11 days, 19:32, 2 users, load average: 6.43, 7.14, 7.56","TMPDIR":"/mnt/storage/scratch/tmp/gTIFOn","nice":19,"measuredDriverNice":19,"measuredChildNice":19,"endAt":"2026-10-25T09:12:58.462Z","endUptime":"04:12:58 up 11 days, 19:32, 2 users, load average: 6.55, 7.15, 7.56","rc":0,"signal":null,"timedOut":false,"tests":6,"pass":6,"fail":0,"skipped":0,"cancelled":0,"failedNames":[],"log":{"path":"/mnt/storage/scratch/tmp/cMDOAL/044-packages_bus_tests_library-sync.test.mjs.log","sha256":"e633377b758828aba06332cabf4590d3778fd7570c0de854f5bfb8858776e7e1","bytes":1719}}
|
||||
{"name":"packages/bus/tests/library.test.mjs","event":"start","at":"2026-10-25T09:12:58.465Z","uptime":"04:12:58 up 11 days, 19:32, 2 users, load average: 6.55, 7.15, 7.56","TMPDIR":"/mnt/storage/scratch/tmp/QRP2Py","nice":19}
|
||||
{"name":"packages/bus/tests/library.test.mjs","event":"end","at":"2026-10-25T09:12:58.465Z","uptime":"04:12:58 up 11 days, 19:32, 2 users, load average: 6.55, 7.15, 7.56","TMPDIR":"/mnt/storage/scratch/tmp/QRP2Py","nice":19,"measuredDriverNice":19,"measuredChildNice":19,"endAt":"2026-10-25T09:12:59.362Z","endUptime":"04:12:59 up 11 days, 19:32, 2 users, load average: 6.43, 7.12, 7.55","rc":0,"signal":null,"timedOut":false,"tests":6,"pass":6,"fail":0,"skipped":0,"cancelled":0,"failedNames":[],"log":{"path":"/mnt/storage/scratch/tmp/cMDOAL/045-packages_bus_tests_library.test.mjs.log","sha256":"a117638eb3a5e754523160ca5d3bc7272261e3e025ab0ca3bd58959997964dbe","bytes":1604}}
|
||||
{"name":"packages/bus/tests/lifecycle-revoke.test.mjs","event":"start","at":"2026-10-25T09:12:59.365Z","uptime":"04:12:59 up 11 days, 19:32, 2 users, load average: 6.43, 7.12, 7.55","TMPDIR":"/mnt/storage/scratch/tmp/XcWoJl","nice":19}
|
||||
{"name":"packages/bus/tests/lifecycle-revoke.test.mjs","event":"end","at":"2026-10-25T09:12:59.365Z","uptime":"04:12:59 up 11 days, 19:32, 2 users, load average: 6.43, 7.12, 7.55","TMPDIR":"/mnt/storage/scratch/tmp/XcWoJl","nice":19,"measuredDriverNice":19,"measuredChildNice":19,"endAt":"2026-10-25T09:13:00.282Z","endUptime":"04:13:00 up 11 days, 19:32, 2 users, load average: 6.43, 7.12, 7.55","rc":0,"signal":null,"timedOut":false,"tests":8,"pass":8,"fail":0,"skipped":0,"cancelled":0,"failedNames":[],"log":{"path":"/mnt/storage/scratch/tmp/cMDOAL/046-packages_bus_tests_lifecycle-revoke.test.mjs.log","sha256":"9704d27e6852130cd11cec5e038a669c75dd3a1e43cdc760f0a6720acb743462","bytes":2598}}
|
||||
{"name":"packages/bus/tests/lifecycle-verbs.test.mjs","event":"start","at":"2026-10-25T09:13:00.285Z","uptime":"04:13:00 up 11 days, 19:32, 2 users, load average: 6.43, 7.12, 7.55","TMPDIR":"/mnt/storage/scratch/tmp/n2rZLO","nice":19}
|
||||
{"name":"packages/bus/tests/lifecycle-verbs.test.mjs","event":"end","at":"2026-10-25T09:13:00.285Z","uptime":"04:13:00 up 11 days, 19:32, 2 users, load average: 6.43, 7.12, 7.55","TMPDIR":"/mnt/storage/scratch/tmp/n2rZLO","nice":19,"measuredDriverNice":19,"measuredChildNice":19,"endAt":"2026-10-25T09:13:01.009Z","endUptime":"04:13:01 up 11 days, 19:32, 2 users, load average: 6.43, 7.12, 7.55","rc":0,"signal":null,"timedOut":false,"tests":13,"pass":13,"fail":0,"skipped":0,"cancelled":0,"failedNames":[],"log":{"path":"/mnt/storage/scratch/tmp/cMDOAL/047-packages_bus_tests_lifecycle-verbs.test.mjs.log","sha256":"d7217fe46220649bfe7f15f6463c0b39871641f222c637994597e2bc040508b7","bytes":4538}}
|
||||
{"name":"packages/bus/tests/limit-stop.test.mjs","event":"start","at":"2026-10-25T09:13:01.012Z","uptime":"04:13:01 up 11 days, 19:32, 2 users, load average: 6.43, 7.12, 7.55","TMPDIR":"/mnt/storage/scratch/tmp/GhgPfc","nice":19}
|
||||
{"name":"packages/bus/tests/limit-stop.test.mjs","event":"end","at":"2026-10-25T09:13:01.012Z","uptime":"04:13:01 up 11 days, 19:32, 2 users, load average: 6.43, 7.12, 7.55","TMPDIR":"/mnt/storage/scratch/tmp/GhgPfc","nice":19,"measuredDriverNice":19,"measuredChildNice":19,"endAt":"2026-10-25T09:13:01.453Z","endUptime":"04:13:01 up 11 days, 19:32, 2 users, load average: 6.43, 7.12, 7.55","rc":0,"signal":null,"timedOut":false,"tests":5,"pass":5,"fail":0,"skipped":0,"cancelled":0,"failedNames":[],"log":{"path":"/mnt/storage/scratch/tmp/cMDOAL/048-packages_bus_tests_limit-stop.test.mjs.log","sha256":"421ee4bd48cdb18d1b292f6845596bfedd573f583c034d09e856207b89716574","bytes":1475}}
|
||||
{"name":"packages/bus/tests/limits-runtime.test.mjs","event":"start","at":"2026-10-25T09:13:01.456Z","uptime":"04:13:01 up 11 days, 19:32, 2 users, load average: 6.43, 7.12, 7.55","TMPDIR":"/mnt/storage/scratch/tmp/8NvThs","nice":19}
|
||||
{"name":"packages/bus/tests/limits-runtime.test.mjs","event":"end","at":"2026-10-25T09:13:01.456Z","uptime":"04:13:01 up 11 days, 19:32, 2 users, load average: 6.43, 7.12, 7.55","TMPDIR":"/mnt/storage/scratch/tmp/8NvThs","nice":19,"measuredDriverNice":19,"measuredChildNice":19,"endAt":"2026-10-25T09:13:02.064Z","endUptime":"04:13:02 up 11 days, 19:32, 2 users, load average: 6.43, 7.12, 7.55","rc":0,"signal":null,"timedOut":false,"tests":5,"pass":5,"fail":0,"skipped":0,"cancelled":0,"failedNames":[],"log":{"path":"/mnt/storage/scratch/tmp/cMDOAL/049-packages_bus_tests_limits-runtime.test.mjs.log","sha256":"bf3a201b568cdd505fbe0376862b296c56fc571a83110465c0b0e8b674779b15","bytes":2621}}
|
||||
{"name":"packages/bus/tests/limits.test.mjs","event":"start","at":"2026-10-25T09:13:02.068Z","uptime":"04:13:02 up 11 days, 19:32, 2 users, load average: 6.43, 7.12, 7.55","TMPDIR":"/mnt/storage/scratch/tmp/AmOv8N","nice":19}
|
||||
{"name":"packages/bus/tests/limits.test.mjs","event":"end","at":"2026-10-25T09:13:02.068Z","uptime":"04:13:02 up 11 days, 19:32, 2 users, load average: 6.43, 7.12, 7.55","TMPDIR":"/mnt/storage/scratch/tmp/AmOv8N","nice":19,"measuredDriverNice":19,"measuredChildNice":19,"endAt":"2026-10-25T09:13:02.495Z","endUptime":"04:13:02 up 11 days, 19:32, 2 users, load average: 6.43, 7.12, 7.55","rc":0,"signal":null,"timedOut":false,"tests":3,"pass":3,"fail":0,"skipped":0,"cancelled":0,"failedNames":[],"log":{"path":"/mnt/storage/scratch/tmp/cMDOAL/050-packages_bus_tests_limits.test.mjs.log","sha256":"643816cf2007a439638b00577e2b4017153a6cf2eaf6753a9b503e105f8d74c1","bytes":1050}}
|
||||
{"name":"packages/bus/tests/message-citation.test.mjs","event":"start","at":"2026-10-25T09:13:02.497Z","uptime":"04:13:02 up 11 days, 19:32, 2 users, load average: 6.43, 7.12, 7.55","TMPDIR":"/mnt/storage/scratch/tmp/ywKmJ2","nice":19}
|
||||
{"name":"packages/bus/tests/message-citation.test.mjs","event":"end","at":"2026-10-25T09:13:02.497Z","uptime":"04:13:02 up 11 days, 19:32, 2 users, load average: 6.43, 7.12, 7.55","TMPDIR":"/mnt/storage/scratch/tmp/ywKmJ2","nice":19,"measuredDriverNice":19,"measuredChildNice":19,"endAt":"2026-10-25T09:13:02.757Z","endUptime":"04:13:02 up 11 days, 19:32, 2 users, load average: 6.43, 7.12, 7.55","rc":0,"signal":null,"timedOut":false,"tests":3,"pass":3,"fail":0,"skipped":0,"cancelled":0,"failedNames":[],"log":{"path":"/mnt/storage/scratch/tmp/cMDOAL/051-packages_bus_tests_message-citation.test.mjs.log","sha256":"214f9054cf7e78f1851ded920f5c3bcdf22bf4ebf22f6deeb3ccf5a6e5d7fba5","bytes":851}}
|
||||
{"name":"packages/bus/tests/message-filter.test.mjs","event":"start","at":"2026-10-25T09:13:02.760Z","uptime":"04:13:02 up 11 days, 19:32, 2 users, load average: 6.43, 7.12, 7.55","TMPDIR":"/mnt/storage/scratch/tmp/Mvcqjt","nice":19}
|
||||
{"name":"packages/bus/tests/message-filter.test.mjs","event":"end","at":"2026-10-25T09:13:02.760Z","uptime":"04:13:02 up 11 days, 19:32, 2 users, load average: 6.43, 7.12, 7.55","TMPDIR":"/mnt/storage/scratch/tmp/Mvcqjt","nice":19,"measuredDriverNice":19,"measuredChildNice":19,"endAt":"2026-10-25T09:13:03.490Z","endUptime":"04:13:03 up 11 days, 19:32, 2 users, load average: 6.43, 7.12, 7.55","rc":0,"signal":null,"timedOut":false,"tests":6,"pass":6,"fail":0,"skipped":0,"cancelled":0,"failedNames":[],"log":{"path":"/mnt/storage/scratch/tmp/cMDOAL/052-packages_bus_tests_message-filter.test.mjs.log","sha256":"937cfeb6ab746b621381fb384fd3a2e124e6e4f0bb79fea3cc9661fb7b564cdf","bytes":1747}}
|
||||
{"name":"packages/bus/tests/messages.test.mjs","event":"start","at":"2026-10-25T09:13:03.493Z","uptime":"04:13:03 up 11 days, 19:32, 2 users, load average: 6.43, 7.12, 7.55","TMPDIR":"/mnt/storage/scratch/tmp/ZCJsE4","nice":19}
|
||||
{"name":"packages/bus/tests/messages.test.mjs","event":"end","at":"2026-10-25T09:13:03.493Z","uptime":"04:13:03 up 11 days, 19:32, 2 users, load average: 6.43, 7.12, 7.55","TMPDIR":"/mnt/storage/scratch/tmp/ZCJsE4","nice":19,"measuredDriverNice":19,"measuredChildNice":19,"endAt":"2026-10-25T09:13:04.151Z","endUptime":"04:13:04 up 11 days, 19:32, 2 users, load average: 6.55, 7.13, 7.55","rc":0,"signal":null,"timedOut":false,"tests":4,"pass":4,"fail":0,"skipped":0,"cancelled":0,"failedNames":[],"log":{"path":"/mnt/storage/scratch/tmp/cMDOAL/053-packages_bus_tests_messages.test.mjs.log","sha256":"b87b3a1af99da4a13c47590463fa108b13331e2fd47b4f9fea51eed43f93e8b4","bytes":991}}
|
||||
{"name":"packages/bus/tests/messaging.test.mjs","event":"start","at":"2026-10-25T09:13:04.154Z","uptime":"04:13:04 up 11 days, 19:32, 2 users, load average: 6.55, 7.13, 7.55","TMPDIR":"/mnt/storage/scratch/tmp/PYwmWq","nice":19}
|
||||
{"name":"packages/bus/tests/messaging.test.mjs","event":"end","at":"2026-10-25T09:13:04.154Z","uptime":"04:13:04 up 11 days, 19:32, 2 users, load average: 6.55, 7.13, 7.55","TMPDIR":"/mnt/storage/scratch/tmp/PYwmWq","nice":19,"measuredDriverNice":19,"measuredChildNice":19,"endAt":"2026-10-25T09:13:04.877Z","endUptime":"04:13:04 up 11 days, 19:32, 2 users, load average: 6.55, 7.13, 7.55","rc":0,"signal":null,"timedOut":false,"tests":13,"pass":13,"fail":0,"skipped":0,"cancelled":0,"failedNames":[],"log":{"path":"/mnt/storage/scratch/tmp/cMDOAL/054-packages_bus_tests_messaging.test.mjs.log","sha256":"b4a57edba89de794d3e96f1b1f42aaeb84bde69a16ebeb2f8a6c9631dc7905f0","bytes":2962}}
|
||||
{"name":"packages/bus/tests/model-credential-store.test.mjs","event":"start","at":"2026-10-25T09:13:04.880Z","uptime":"04:13:04 up 11 days, 19:32, 2 users, load average: 6.55, 7.13, 7.55","TMPDIR":"/mnt/storage/scratch/tmp/sb83zB","nice":19}
|
||||
{"name":"packages/bus/tests/model-credential-store.test.mjs","event":"end","at":"2026-10-25T09:13:04.880Z","uptime":"04:13:04 up 11 days, 19:32, 2 users, load average: 6.55, 7.13, 7.55","TMPDIR":"/mnt/storage/scratch/tmp/sb83zB","nice":19,"measuredDriverNice":19,"measuredChildNice":19,"endAt":"2026-10-25T09:13:05.069Z","endUptime":"04:13:05 up 11 days, 19:32, 2 users, load average: 6.55, 7.13, 7.55","rc":0,"signal":null,"timedOut":false,"tests":7,"pass":7,"fail":0,"skipped":0,"cancelled":0,"failedNames":[],"log":{"path":"/mnt/storage/scratch/tmp/cMDOAL/055-packages_bus_tests_model-credential-store.test.mjs.log","sha256":"4f3d9981e333a2ed6f9eab5f3794ca0a4df10666017424b368f6bb8ea12cd2d7","bytes":1684}}
|
||||
{"name":"packages/bus/tests/model-keys.test.mjs","event":"start","at":"2026-10-25T09:13:05.072Z","uptime":"04:13:05 up 11 days, 19:32, 2 users, load average: 6.55, 7.13, 7.55","TMPDIR":"/mnt/storage/scratch/tmp/EGUqOt","nice":19}
|
||||
{"name":"packages/bus/tests/model-keys.test.mjs","event":"end","at":"2026-10-25T09:13:05.072Z","uptime":"04:13:05 up 11 days, 19:32, 2 users, load average: 6.55, 7.13, 7.55","TMPDIR":"/mnt/storage/scratch/tmp/EGUqOt","nice":19,"measuredDriverNice":19,"measuredChildNice":19,"endAt":"2026-10-25T09:13:11.571Z","endUptime":"04:13:11 up 11 days, 19:33, 2 users, load average: 6.67, 7.15, 7.56","rc":0,"signal":null,"timedOut":false,"tests":30,"pass":30,"fail":0,"skipped":0,"cancelled":0,"failedNames":[],"log":{"path":"/mnt/storage/scratch/tmp/cMDOAL/056-packages_bus_tests_model-keys.test.mjs.log","sha256":"fadb8734fca603ea8bfedca359e0e230cc8bbfaab23d8c808b8bef562af0daaa","bytes":11079}}
|
||||
{"name":"packages/bus/tests/model-proxy.test.mjs","event":"start","at":"2026-10-25T09:13:11.575Z","uptime":"04:13:11 up 11 days, 19:33, 2 users, load average: 6.67, 7.15, 7.56","TMPDIR":"/mnt/storage/scratch/tmp/VNZ8iL","nice":19}
|
||||
{"name":"packages/bus/tests/model-proxy.test.mjs","event":"end","at":"2026-10-25T09:13:11.575Z","uptime":"04:13:11 up 11 days, 19:33, 2 users, load average: 6.67, 7.15, 7.56","TMPDIR":"/mnt/storage/scratch/tmp/VNZ8iL","nice":19,"measuredDriverNice":19,"measuredChildNice":19,"endAt":"2026-10-25T09:13:12.186Z","endUptime":"04:13:12 up 11 days, 19:33, 2 users, load average: 6.67, 7.15, 7.56","rc":0,"signal":null,"timedOut":false,"tests":14,"pass":14,"fail":0,"skipped":0,"cancelled":0,"failedNames":[],"log":{"path":"/mnt/storage/scratch/tmp/cMDOAL/057-packages_bus_tests_model-proxy.test.mjs.log","sha256":"303ebbc1fed1d6c4b45cc193393e606252d0d7f5e2e041f288dd3d65ad816e3c","bytes":2832}}
|
||||
{"name":"packages/bus/tests/model-restart.test.mjs","event":"start","at":"2026-10-25T09:13:12.189Z","uptime":"04:13:12 up 11 days, 19:33, 2 users, load average: 6.67, 7.15, 7.56","TMPDIR":"/mnt/storage/scratch/tmp/3WX8i4","nice":19}
|
||||
{"name":"packages/bus/tests/model-restart.test.mjs","event":"end","at":"2026-10-25T09:13:12.189Z","uptime":"04:13:12 up 11 days, 19:33, 2 users, load average: 6.67, 7.15, 7.56","TMPDIR":"/mnt/storage/scratch/tmp/3WX8i4","nice":19,"measuredDriverNice":19,"measuredChildNice":19,"endAt":"2026-10-25T09:13:26.662Z","endUptime":"04:13:26 up 11 days, 19:33, 2 users, load average: 6.84, 7.17, 7.56","rc":0,"signal":null,"timedOut":false,"tests":12,"pass":12,"fail":0,"skipped":0,"cancelled":0,"failedNames":[],"log":{"path":"/mnt/storage/scratch/tmp/cMDOAL/058-packages_bus_tests_model-restart.test.mjs.log","sha256":"0a62cff911b0da8b63f506cc181abafd28b24455fbd62241b95554fc2a84046f","bytes":7248}}
|
||||
{"name":"packages/bus/tests/model-retirement-boundary.test.mjs","event":"start","at":"2026-10-25T09:13:26.665Z","uptime":"04:13:26 up 11 days, 19:33, 2 users, load average: 6.84, 7.17, 7.56","TMPDIR":"/mnt/storage/scratch/tmp/kOe9qi","nice":19}
|
||||
{"name":"packages/bus/tests/model-retirement-boundary.test.mjs","event":"end","at":"2026-10-25T09:13:26.665Z","uptime":"04:13:26 up 11 days, 19:33, 2 users, load average: 6.84, 7.17, 7.56","TMPDIR":"/mnt/storage/scratch/tmp/kOe9qi","nice":19,"measuredDriverNice":19,"measuredChildNice":19,"endAt":"2026-10-25T09:13:26.875Z","endUptime":"04:13:26 up 11 days, 19:33, 2 users, load average: 6.84, 7.17, 7.56","rc":0,"signal":null,"timedOut":false,"tests":2,"pass":2,"fail":0,"skipped":0,"cancelled":0,"failedNames":[],"log":{"path":"/mnt/storage/scratch/tmp/cMDOAL/059-packages_bus_tests_model-retirement-boundary.test.mjs.log","sha256":"224dbc59e77f1df74a4e988a5c3d4ea9e425b842f7928166dd8a8a2240f14a5b","bytes":604}}
|
||||
{"name":"packages/bus/tests/model-stop.test.mjs","event":"start","at":"2026-10-25T09:13:26.878Z","uptime":"04:13:26 up 11 days, 19:33, 2 users, load average: 6.84, 7.17, 7.56","TMPDIR":"/mnt/storage/scratch/tmp/Flcs1s","nice":19}
|
||||
{"name":"packages/bus/tests/model-stop.test.mjs","event":"end","at":"2026-10-25T09:13:26.878Z","uptime":"04:13:26 up 11 days, 19:33, 2 users, load average: 6.84, 7.17, 7.56","TMPDIR":"/mnt/storage/scratch/tmp/Flcs1s","nice":19,"measuredDriverNice":19,"measuredChildNice":19,"endAt":"2026-10-25T09:13:27.035Z","endUptime":"04:13:27 up 11 days, 19:33, 2 users, load average: 6.84, 7.17, 7.56","rc":0,"signal":null,"timedOut":false,"tests":7,"pass":7,"fail":0,"skipped":0,"cancelled":0,"failedNames":[],"log":{"path":"/mnt/storage/scratch/tmp/cMDOAL/060-packages_bus_tests_model-stop.test.mjs.log","sha256":"abc36cd8445c3994a10b9a5f5ff8276c83642129b4c38fba633182354fd16aac","bytes":1468}}
|
||||
{"name":"packages/bus/tests/names.test.mjs","event":"start","at":"2026-10-25T09:13:27.039Z","uptime":"04:13:27 up 11 days, 19:33, 2 users, load average: 6.84, 7.17, 7.56","TMPDIR":"/mnt/storage/scratch/tmp/nekRRE","nice":19}
|
||||
{"name":"packages/bus/tests/names.test.mjs","event":"end","at":"2026-10-25T09:13:27.039Z","uptime":"04:13:27 up 11 days, 19:33, 2 users, load average: 6.84, 7.17, 7.56","TMPDIR":"/mnt/storage/scratch/tmp/nekRRE","nice":19,"measuredDriverNice":19,"measuredChildNice":19,"endAt":"2026-10-25T09:13:27.436Z","endUptime":"04:13:27 up 11 days, 19:33, 2 users, load average: 6.84, 7.17, 7.56","rc":0,"signal":null,"timedOut":false,"tests":7,"pass":7,"fail":0,"skipped":0,"cancelled":0,"failedNames":[],"log":{"path":"/mnt/storage/scratch/tmp/cMDOAL/061-packages_bus_tests_names.test.mjs.log","sha256":"7ed7a743e583a362c5f9eb0486fa2b35a15f7c9923b0fb1f950f938c154fe412","bytes":1900}}
|
||||
{"name":"packages/bus/tests/peer-transport.test.mjs","event":"start","at":"2026-10-25T09:13:27.439Z","uptime":"04:13:27 up 11 days, 19:33, 2 users, load average: 6.84, 7.17, 7.56","TMPDIR":"/mnt/storage/scratch/tmp/kKaMyy","nice":19}
|
||||
{"name":"packages/bus/tests/peer-transport.test.mjs","event":"end","at":"2026-10-25T09:13:27.439Z","uptime":"04:13:27 up 11 days, 19:33, 2 users, load average: 6.84, 7.17, 7.56","TMPDIR":"/mnt/storage/scratch/tmp/kKaMyy","nice":19,"measuredDriverNice":19,"measuredChildNice":19,"endAt":"2026-10-25T09:13:27.692Z","endUptime":"04:13:27 up 11 days, 19:33, 2 users, load average: 6.84, 7.17, 7.56","rc":0,"signal":null,"timedOut":false,"tests":4,"pass":4,"fail":0,"skipped":0,"cancelled":0,"failedNames":[],"log":{"path":"/mnt/storage/scratch/tmp/cMDOAL/062-packages_bus_tests_peer-transport.test.mjs.log","sha256":"5fbd08734f1a43aa7e13022ce2137ed4456da32614420aeec6d0c429ef78f0a4","bytes":1099}}
|
||||
{"name":"packages/bus/tests/peercred.test.mjs","event":"start","at":"2026-10-25T09:13:27.695Z","uptime":"04:13:27 up 11 days, 19:33, 2 users, load average: 6.84, 7.17, 7.56","TMPDIR":"/mnt/storage/scratch/tmp/7PpwqU","nice":19}
|
||||
{"name":"packages/bus/tests/peercred.test.mjs","event":"end","at":"2026-10-25T09:13:27.695Z","uptime":"04:13:27 up 11 days, 19:33, 2 users, load average: 6.84, 7.17, 7.56","TMPDIR":"/mnt/storage/scratch/tmp/7PpwqU","nice":19,"measuredDriverNice":19,"measuredChildNice":19,"endAt":"2026-10-25T09:13:28.274Z","endUptime":"04:13:28 up 11 days, 19:33, 2 users, load average: 6.84, 7.17, 7.56","rc":0,"signal":null,"timedOut":false,"tests":5,"pass":5,"fail":0,"skipped":0,"cancelled":0,"failedNames":[],"log":{"path":"/mnt/storage/scratch/tmp/cMDOAL/063-packages_bus_tests_peercred.test.mjs.log","sha256":"bee1e5c13ac3a3097fb1e143a0d68e47a1b696213d28edfe4d3da6e6eaa22ee2","bytes":1229}}
|
||||
{"name":"packages/bus/tests/plugins-verb.test.mjs","event":"start","at":"2026-10-25T09:13:28.277Z","uptime":"04:13:28 up 11 days, 19:33, 2 users, load average: 6.84, 7.17, 7.56","TMPDIR":"/mnt/storage/scratch/tmp/UuHFB7","nice":19}
|
||||
{"name":"packages/bus/tests/plugins-verb.test.mjs","event":"end","at":"2026-10-25T09:13:28.277Z","uptime":"04:13:28 up 11 days, 19:33, 2 users, load average: 6.84, 7.17, 7.56","TMPDIR":"/mnt/storage/scratch/tmp/UuHFB7","nice":19,"measuredDriverNice":19,"measuredChildNice":19,"endAt":"2026-10-25T09:13:28.741Z","endUptime":"04:13:28 up 11 days, 19:33, 2 users, load average: 6.84, 7.17, 7.56","rc":0,"signal":null,"timedOut":false,"tests":3,"pass":3,"fail":0,"skipped":0,"cancelled":0,"failedNames":[],"log":{"path":"/mnt/storage/scratch/tmp/cMDOAL/064-packages_bus_tests_plugins-verb.test.mjs.log","sha256":"a3cc64b2fcafc357fc3e52e2161c23afbf3127a2752bb57d466b9d5add7e8e98","bytes":1464}}
|
||||
{"name":"packages/bus/tests/principal.test.mjs","event":"start","at":"2026-10-25T09:13:28.744Z","uptime":"04:13:28 up 11 days, 19:33, 2 users, load average: 6.84, 7.17, 7.56","TMPDIR":"/mnt/storage/scratch/tmp/ZkgPtL","nice":19}
|
||||
{"name":"packages/bus/tests/principal.test.mjs","event":"end","at":"2026-10-25T09:13:28.744Z","uptime":"04:13:28 up 11 days, 19:33, 2 users, load average: 6.84, 7.17, 7.56","TMPDIR":"/mnt/storage/scratch/tmp/ZkgPtL","nice":19,"measuredDriverNice":19,"measuredChildNice":19,"endAt":"2026-10-25T09:13:28.907Z","endUptime":"04:13:28 up 11 days, 19:33, 2 users, load average: 6.84, 7.17, 7.56","rc":0,"signal":null,"timedOut":false,"tests":5,"pass":5,"fail":0,"skipped":0,"cancelled":0,"failedNames":[],"log":{"path":"/mnt/storage/scratch/tmp/cMDOAL/065-packages_bus_tests_principal.test.mjs.log","sha256":"342dec71c8ccc90d62e52d3b848a8c523f8307975b26bf957253bb49c6339fae","bytes":1322}}
|
||||
{"name":"packages/bus/tests/process.test.mjs","event":"start","at":"2026-10-25T09:13:28.910Z","uptime":"04:13:28 up 11 days, 19:33, 2 users, load average: 6.84, 7.17, 7.56","TMPDIR":"/mnt/storage/scratch/tmp/RiGQR8","nice":19}
|
||||
{"name":"packages/bus/tests/process.test.mjs","event":"end","at":"2026-10-25T09:13:28.910Z","uptime":"04:13:28 up 11 days, 19:33, 2 users, load average: 6.84, 7.17, 7.56","TMPDIR":"/mnt/storage/scratch/tmp/RiGQR8","nice":19,"measuredDriverNice":19,"measuredChildNice":19,"endAt":"2026-10-25T09:13:30.897Z","endUptime":"04:13:30 up 11 days, 19:33, 2 users, load average: 7.17, 7.23, 7.58","rc":0,"signal":null,"timedOut":false,"tests":8,"pass":8,"fail":0,"skipped":0,"cancelled":0,"failedNames":[],"log":{"path":"/mnt/storage/scratch/tmp/cMDOAL/066-packages_bus_tests_process.test.mjs.log","sha256":"eda61f60763b811c6133cf537a2d406352fbb5d02d2159984b0041b8d75e66ea","bytes":2164}}
|
||||
{"name":"packages/bus/tests/processing-runtime.test.mjs","event":"start","at":"2026-10-25T09:13:30.900Z","uptime":"04:13:30 up 11 days, 19:33, 2 users, load average: 7.17, 7.23, 7.58","TMPDIR":"/mnt/storage/scratch/tmp/mn0v9r","nice":19}
|
||||
{"name":"packages/bus/tests/processing-runtime.test.mjs","event":"end","at":"2026-10-25T09:13:30.900Z","uptime":"04:13:30 up 11 days, 19:33, 2 users, load average: 7.17, 7.23, 7.58","TMPDIR":"/mnt/storage/scratch/tmp/mn0v9r","nice":19,"measuredDriverNice":19,"measuredChildNice":19,"endAt":"2026-10-25T09:13:31.417Z","endUptime":"04:13:31 up 11 days, 19:33, 2 users, load average: 7.17, 7.23, 7.58","rc":0,"signal":null,"timedOut":false,"tests":2,"pass":2,"fail":0,"skipped":0,"cancelled":0,"failedNames":[],"log":{"path":"/mnt/storage/scratch/tmp/cMDOAL/067-packages_bus_tests_processing-runtime.test.mjs.log","sha256":"46c0a57d01f6917f81c11c9fc9d4509a4138c4c6a0164572e43aa930c4ecf582","bytes":650}}
|
||||
{"name":"packages/bus/tests/processing-timeout.test.mjs","event":"start","at":"2026-10-25T09:13:31.420Z","uptime":"04:13:31 up 11 days, 19:33, 2 users, load average: 7.17, 7.23, 7.58","TMPDIR":"/mnt/storage/scratch/tmp/DIXsgs","nice":19}
|
||||
{"name":"packages/bus/tests/processing-timeout.test.mjs","event":"end","at":"2026-10-25T09:13:31.420Z","uptime":"04:13:31 up 11 days, 19:33, 2 users, load average: 7.17, 7.23, 7.58","TMPDIR":"/mnt/storage/scratch/tmp/DIXsgs","nice":19,"measuredDriverNice":19,"measuredChildNice":19,"endAt":"2026-10-25T09:13:31.748Z","endUptime":"04:13:31 up 11 days, 19:33, 2 users, load average: 7.17, 7.23, 7.58","rc":0,"signal":null,"timedOut":false,"tests":1,"pass":1,"fail":0,"skipped":0,"cancelled":0,"failedNames":[],"log":{"path":"/mnt/storage/scratch/tmp/cMDOAL/068-packages_bus_tests_processing-timeout.test.mjs.log","sha256":"bb68da37c5fc2ec22f8a3dc6e0be0b020e3e0666e083f1be83ba3759a630bed1","bytes":430}}
|
||||
{"name":"packages/bus/tests/processing.test.mjs","event":"start","at":"2026-10-25T09:13:31.751Z","uptime":"04:13:31 up 11 days, 19:33, 2 users, load average: 7.17, 7.23, 7.58","TMPDIR":"/mnt/storage/scratch/tmp/sCil2u","nice":19}
|
||||
{"name":"packages/bus/tests/processing.test.mjs","event":"end","at":"2026-10-25T09:13:31.751Z","uptime":"04:13:31 up 11 days, 19:33, 2 users, load average: 7.17, 7.23, 7.58","TMPDIR":"/mnt/storage/scratch/tmp/sCil2u","nice":19,"measuredDriverNice":19,"measuredChildNice":19,"endAt":"2026-10-25T09:13:32.281Z","endUptime":"04:13:32 up 11 days, 19:33, 2 users, load average: 7.17, 7.23, 7.58","rc":0,"signal":null,"timedOut":false,"tests":14,"pass":14,"fail":0,"skipped":0,"cancelled":0,"failedNames":[],"log":{"path":"/mnt/storage/scratch/tmp/cMDOAL/069-packages_bus_tests_processing.test.mjs.log","sha256":"bc8fb0e687f9ec9130860c6827cd00562c6e26051a4a4e281cf3ac58f53954b2","bytes":3011}}
|
||||
{"name":"packages/bus/tests/project-await.test.mjs","event":"start","at":"2026-10-25T09:13:32.284Z","uptime":"04:13:32 up 11 days, 19:33, 2 users, load average: 7.17, 7.23, 7.58","TMPDIR":"/mnt/storage/scratch/tmp/rWwjNc","nice":19}
|
||||
{"name":"packages/bus/tests/project-await.test.mjs","event":"end","at":"2026-10-25T09:13:32.284Z","uptime":"04:13:32 up 11 days, 19:33, 2 users, load average: 7.17, 7.23, 7.58","TMPDIR":"/mnt/storage/scratch/tmp/rWwjNc","nice":19,"measuredDriverNice":19,"measuredChildNice":19,"endAt":"2026-10-25T09:13:32.560Z","endUptime":"04:13:32 up 11 days, 19:33, 2 users, load average: 7.17, 7.23, 7.58","rc":0,"signal":null,"timedOut":false,"tests":4,"pass":4,"fail":0,"skipped":0,"cancelled":0,"failedNames":[],"log":{"path":"/mnt/storage/scratch/tmp/cMDOAL/070-packages_bus_tests_project-await.test.mjs.log","sha256":"dde98a122be89772a96ef86ae42fa91718a0d293d8342e18209dcaf2ad19b889","bytes":1023}}
|
||||
{"name":"packages/bus/tests/project-files.test.mjs","event":"start","at":"2026-10-25T09:13:32.562Z","uptime":"04:13:32 up 11 days, 19:33, 2 users, load average: 7.17, 7.23, 7.58","TMPDIR":"/mnt/storage/scratch/tmp/tpTN9j","nice":19}
|
||||
{"name":"packages/bus/tests/project-files.test.mjs","event":"end","at":"2026-10-25T09:13:32.562Z","uptime":"04:13:32 up 11 days, 19:33, 2 users, load average: 7.17, 7.23, 7.58","TMPDIR":"/mnt/storage/scratch/tmp/tpTN9j","nice":19,"measuredDriverNice":19,"measuredChildNice":19,"endAt":"2026-10-25T09:13:33.928Z","endUptime":"04:13:33 up 11 days, 19:33, 2 users, load average: 7.17, 7.23, 7.58","rc":0,"signal":null,"timedOut":false,"tests":8,"pass":8,"fail":0,"skipped":0,"cancelled":0,"failedNames":[],"log":{"path":"/mnt/storage/scratch/tmp/cMDOAL/071-packages_bus_tests_project-files.test.mjs.log","sha256":"3b68d6336ce379160e69c8b59a5ef0b14f269bdbd44ed8e85eb5091ee4b20423","bytes":1882}}
|
||||
{"name":"packages/bus/tests/project-runtime.test.mjs","event":"start","at":"2026-10-25T09:13:33.931Z","uptime":"04:13:33 up 11 days, 19:33, 2 users, load average: 7.17, 7.23, 7.58","TMPDIR":"/mnt/storage/scratch/tmp/VPfX9P","nice":19}
|
||||
{"name":"packages/bus/tests/project-runtime.test.mjs","event":"end","at":"2026-10-25T09:13:33.931Z","uptime":"04:13:33 up 11 days, 19:33, 2 users, load average: 7.17, 7.23, 7.58","TMPDIR":"/mnt/storage/scratch/tmp/VPfX9P","nice":19,"measuredDriverNice":19,"measuredChildNice":19,"endAt":"2026-10-25T09:13:34.522Z","endUptime":"04:13:34 up 11 days, 19:33, 2 users, load average: 7.48, 7.30, 7.59","rc":0,"signal":null,"timedOut":false,"tests":3,"pass":3,"fail":0,"skipped":0,"cancelled":0,"failedNames":[],"log":{"path":"/mnt/storage/scratch/tmp/cMDOAL/072-packages_bus_tests_project-runtime.test.mjs.log","sha256":"c5ccd27d9a1cf6ae66d74ec8d5d0d301df687d86b18ecf0859dff631f8eff13e","bytes":900}}
|
||||
{"name":"packages/bus/tests/publish.test.mjs","event":"start","at":"2026-10-25T09:13:34.525Z","uptime":"04:13:34 up 11 days, 19:33, 2 users, load average: 7.48, 7.30, 7.59","TMPDIR":"/mnt/storage/scratch/tmp/YptGx8","nice":19}
|
||||
{"name":"packages/bus/tests/publish.test.mjs","event":"end","at":"2026-10-25T09:13:34.525Z","uptime":"04:13:34 up 11 days, 19:33, 2 users, load average: 7.48, 7.30, 7.59","TMPDIR":"/mnt/storage/scratch/tmp/YptGx8","nice":19,"measuredDriverNice":19,"measuredChildNice":19,"endAt":"2026-10-25T09:13:35.598Z","endUptime":"04:13:35 up 11 days, 19:33, 2 users, load average: 7.48, 7.30, 7.59","rc":0,"signal":null,"timedOut":false,"tests":13,"pass":13,"fail":0,"skipped":0,"cancelled":0,"failedNames":[],"log":{"path":"/mnt/storage/scratch/tmp/cMDOAL/073-packages_bus_tests_publish.test.mjs.log","sha256":"e5a516e68c389e9c8b2618b98a3b02b427e5cad0f255f8208a2602fa492452c0","bytes":3010}}
|
||||
{"name":"packages/bus/tests/reload.test.mjs","event":"start","at":"2026-10-25T09:13:35.600Z","uptime":"04:13:35 up 11 days, 19:33, 2 users, load average: 7.48, 7.30, 7.59","TMPDIR":"/mnt/storage/scratch/tmp/hP6U6Q","nice":19}
|
||||
{"name":"packages/bus/tests/reload.test.mjs","event":"end","at":"2026-10-25T09:13:35.600Z","uptime":"04:13:35 up 11 days, 19:33, 2 users, load average: 7.48, 7.30, 7.59","TMPDIR":"/mnt/storage/scratch/tmp/hP6U6Q","nice":19,"measuredDriverNice":19,"measuredChildNice":19,"endAt":"2026-10-25T09:13:36.882Z","endUptime":"04:13:36 up 11 days, 19:33, 2 users, load average: 7.48, 7.30, 7.59","rc":0,"signal":null,"timedOut":false,"tests":10,"pass":10,"fail":0,"skipped":0,"cancelled":0,"failedNames":[],"log":{"path":"/mnt/storage/scratch/tmp/cMDOAL/074-packages_bus_tests_reload.test.mjs.log","sha256":"b2eb14cf3b4b101ef52d77266ea4200ff0c06c4af1b65d9afc405fb315be4c68","bytes":3789}}
|
||||
{"name":"packages/bus/tests/replies.test.mjs","event":"start","at":"2026-10-25T09:13:36.884Z","uptime":"04:13:36 up 11 days, 19:33, 2 users, load average: 7.48, 7.30, 7.59","TMPDIR":"/mnt/storage/scratch/tmp/Uo3EIH","nice":19}
|
||||
{"name":"packages/bus/tests/replies.test.mjs","event":"end","at":"2026-10-25T09:13:36.884Z","uptime":"04:13:36 up 11 days, 19:33, 2 users, load average: 7.48, 7.30, 7.59","TMPDIR":"/mnt/storage/scratch/tmp/Uo3EIH","nice":19,"measuredDriverNice":19,"measuredChildNice":19,"endAt":"2026-10-25T09:13:37.340Z","endUptime":"04:13:37 up 11 days, 19:33, 2 users, load average: 7.48, 7.30, 7.59","rc":0,"signal":null,"timedOut":false,"tests":7,"pass":7,"fail":0,"skipped":0,"cancelled":0,"failedNames":[],"log":{"path":"/mnt/storage/scratch/tmp/cMDOAL/075-packages_bus_tests_replies.test.mjs.log","sha256":"6ee4185a119a7dd904e551daaced23d6e68ae3d0a6da3cb861bc58b4d73aaaa2","bytes":1573}}
|
||||
{"name":"packages/bus/tests/requirements.test.mjs","event":"start","at":"2026-10-25T09:13:37.343Z","uptime":"04:13:37 up 11 days, 19:33, 2 users, load average: 7.48, 7.30, 7.59","TMPDIR":"/mnt/storage/scratch/tmp/w2Zg33","nice":19}
|
||||
{"name":"packages/bus/tests/requirements.test.mjs","event":"end","at":"2026-10-25T09:13:37.343Z","uptime":"04:13:37 up 11 days, 19:33, 2 users, load average: 7.48, 7.30, 7.59","TMPDIR":"/mnt/storage/scratch/tmp/w2Zg33","nice":19,"measuredDriverNice":19,"measuredChildNice":19,"endAt":"2026-10-25T09:13:37.614Z","endUptime":"04:13:37 up 11 days, 19:33, 2 users, load average: 7.48, 7.30, 7.59","rc":0,"signal":null,"timedOut":false,"tests":3,"pass":3,"fail":0,"skipped":0,"cancelled":0,"failedNames":[],"log":{"path":"/mnt/storage/scratch/tmp/cMDOAL/076-packages_bus_tests_requirements.test.mjs.log","sha256":"33cdd4c907c4d7232e4f5af5d36e950b65127be1fb89adf3db802266e619190e","bytes":817}}
|
||||
{"name":"packages/bus/tests/review.test.mjs","event":"start","at":"2026-10-25T09:13:37.617Z","uptime":"04:13:37 up 11 days, 19:33, 2 users, load average: 7.48, 7.30, 7.59","TMPDIR":"/mnt/storage/scratch/tmp/T0F2pN","nice":19}
|
||||
{"name":"packages/bus/tests/review.test.mjs","event":"end","at":"2026-10-25T09:13:37.617Z","uptime":"04:13:37 up 11 days, 19:33, 2 users, load average: 7.48, 7.30, 7.59","TMPDIR":"/mnt/storage/scratch/tmp/T0F2pN","nice":19,"measuredDriverNice":19,"measuredChildNice":19,"endAt":"2026-10-25T09:13:38.094Z","endUptime":"04:13:38 up 11 days, 19:33, 2 users, load average: 7.48, 7.30, 7.59","rc":0,"signal":null,"timedOut":false,"tests":8,"pass":8,"fail":0,"skipped":0,"cancelled":0,"failedNames":[],"log":{"path":"/mnt/storage/scratch/tmp/cMDOAL/077-packages_bus_tests_review.test.mjs.log","sha256":"dc91c0031ea858c7cdb4f6e129d8bb434a968f7584b5cb3638bade6e3f2d13cb","bytes":2086}}
|
||||
{"name":"packages/bus/tests/revoke-window.test.mjs","event":"start","at":"2026-10-25T09:13:38.096Z","uptime":"04:13:38 up 11 days, 19:33, 2 users, load average: 7.48, 7.30, 7.59","TMPDIR":"/mnt/storage/scratch/tmp/x43uth","nice":19}
|
||||
{"name":"packages/bus/tests/revoke-window.test.mjs","event":"end","at":"2026-10-25T09:13:38.096Z","uptime":"04:13:38 up 11 days, 19:33, 2 users, load average: 7.48, 7.30, 7.59","TMPDIR":"/mnt/storage/scratch/tmp/x43uth","nice":19,"measuredDriverNice":19,"measuredChildNice":19,"endAt":"2026-10-25T09:13:38.432Z","endUptime":"04:13:38 up 11 days, 19:33, 2 users, load average: 7.48, 7.30, 7.59","rc":0,"signal":null,"timedOut":false,"tests":3,"pass":3,"fail":0,"skipped":0,"cancelled":0,"failedNames":[],"log":{"path":"/mnt/storage/scratch/tmp/cMDOAL/078-packages_bus_tests_revoke-window.test.mjs.log","sha256":"3928d10d194593a612733e7a35bdd52843f3333e19d1f2f56df53d6543e43f2b","bytes":1053}}
|
||||
{"name":"packages/bus/tests/room-check.test.mjs","event":"start","at":"2026-10-25T09:13:38.435Z","uptime":"04:13:38 up 11 days, 19:33, 2 users, load average: 7.48, 7.30, 7.59","TMPDIR":"/mnt/storage/scratch/tmp/bLw3nQ","nice":19}
|
||||
{"name":"packages/bus/tests/room-check.test.mjs","event":"end","at":"2026-10-25T09:13:38.435Z","uptime":"04:13:38 up 11 days, 19:33, 2 users, load average: 7.48, 7.30, 7.59","TMPDIR":"/mnt/storage/scratch/tmp/bLw3nQ","nice":19,"measuredDriverNice":19,"measuredChildNice":19,"endAt":"2026-10-25T09:13:38.767Z","endUptime":"04:13:38 up 11 days, 19:33, 2 users, load average: 7.48, 7.30, 7.59","rc":0,"signal":null,"timedOut":false,"tests":2,"pass":2,"fail":0,"skipped":0,"cancelled":0,"failedNames":[],"log":{"path":"/mnt/storage/scratch/tmp/cMDOAL/079-packages_bus_tests_room-check.test.mjs.log","sha256":"8576379917f84c1aee3e974e057ff1362605bd74bdf84835ee67aca32babb900","bytes":598}}
|
||||
{"name":"packages/bus/tests/rooms.test.mjs","event":"start","at":"2026-10-25T09:13:38.771Z","uptime":"04:13:38 up 11 days, 19:33, 2 users, load average: 7.48, 7.30, 7.59","TMPDIR":"/mnt/storage/scratch/tmp/QJJcko","nice":19}
|
||||
{"name":"packages/bus/tests/rooms.test.mjs","event":"end","at":"2026-10-25T09:13:38.771Z","uptime":"04:13:38 up 11 days, 19:33, 2 users, load average: 7.48, 7.30, 7.59","TMPDIR":"/mnt/storage/scratch/tmp/QJJcko","nice":19,"measuredDriverNice":19,"measuredChildNice":19,"endAt":"2026-10-25T09:13:40.167Z","endUptime":"04:13:40 up 11 days, 19:33, 2 users, load average: 7.44, 7.29, 7.59","rc":0,"signal":null,"timedOut":false,"tests":18,"pass":18,"fail":0,"skipped":0,"cancelled":0,"failedNames":[],"log":{"path":"/mnt/storage/scratch/tmp/cMDOAL/080-packages_bus_tests_rooms.test.mjs.log","sha256":"f7dbaab50847b0562ae9a4fef0dab44d338f1e1f522fa877b187813398a5ed36","bytes":4221}}
|
||||
{"name":"packages/bus/tests/routes-verb.test.mjs","event":"start","at":"2026-10-25T09:13:40.170Z","uptime":"04:13:40 up 11 days, 19:33, 2 users, load average: 7.44, 7.29, 7.59","TMPDIR":"/mnt/storage/scratch/tmp/KYyHOx","nice":19}
|
||||
{"name":"packages/bus/tests/routes-verb.test.mjs","event":"end","at":"2026-10-25T09:13:40.170Z","uptime":"04:13:40 up 11 days, 19:33, 2 users, load average: 7.44, 7.29, 7.59","TMPDIR":"/mnt/storage/scratch/tmp/KYyHOx","nice":19,"measuredDriverNice":19,"measuredChildNice":19,"endAt":"2026-10-25T09:13:40.598Z","endUptime":"04:13:40 up 11 days, 19:33, 2 users, load average: 7.44, 7.29, 7.59","rc":0,"signal":null,"timedOut":false,"tests":4,"pass":4,"fail":0,"skipped":0,"cancelled":0,"failedNames":[],"log":{"path":"/mnt/storage/scratch/tmp/cMDOAL/081-packages_bus_tests_routes-verb.test.mjs.log","sha256":"ed0ae37870cb637da20ac9eaaad5e1d18b7cb92ba59d8595b53acb9cfbd73f5b","bytes":1659}}
|
||||
{"name":"packages/bus/tests/session-clear.test.mjs","event":"start","at":"2026-10-25T09:13:40.601Z","uptime":"04:13:40 up 11 days, 19:33, 2 users, load average: 7.44, 7.29, 7.59","TMPDIR":"/mnt/storage/scratch/tmp/FHqyyN","nice":19}
|
||||
{"name":"packages/bus/tests/session-clear.test.mjs","event":"end","at":"2026-10-25T09:13:40.601Z","uptime":"04:13:40 up 11 days, 19:33, 2 users, load average: 7.44, 7.29, 7.59","TMPDIR":"/mnt/storage/scratch/tmp/FHqyyN","nice":19,"measuredDriverNice":19,"measuredChildNice":19,"endAt":"2026-10-25T09:13:41.641Z","endUptime":"04:13:41 up 11 days, 19:33, 2 users, load average: 7.44, 7.29, 7.59","rc":0,"signal":null,"timedOut":false,"tests":19,"pass":19,"fail":0,"skipped":0,"cancelled":0,"failedNames":[],"log":{"path":"/mnt/storage/scratch/tmp/cMDOAL/082-packages_bus_tests_session-clear.test.mjs.log","sha256":"036ff330d616aea4107bf3fb1fa52465f4f937c06ecdf97144d72d02f9d41c74","bytes":5721}}
|
||||
{"name":"packages/bus/tests/session-compactions.test.mjs","event":"start","at":"2026-10-25T09:13:41.644Z","uptime":"04:13:41 up 11 days, 19:33, 2 users, load average: 7.44, 7.29, 7.59","TMPDIR":"/mnt/storage/scratch/tmp/CI4YmX","nice":19}
|
||||
{"name":"packages/bus/tests/session-compactions.test.mjs","event":"end","at":"2026-10-25T09:13:41.644Z","uptime":"04:13:41 up 11 days, 19:33, 2 users, load average: 7.44, 7.29, 7.59","TMPDIR":"/mnt/storage/scratch/tmp/CI4YmX","nice":19,"measuredDriverNice":19,"measuredChildNice":19,"endAt":"2026-10-25T09:13:41.929Z","endUptime":"04:13:41 up 11 days, 19:33, 2 users, load average: 7.44, 7.29, 7.59","rc":0,"signal":null,"timedOut":false,"tests":4,"pass":4,"fail":0,"skipped":0,"cancelled":0,"failedNames":[],"log":{"path":"/mnt/storage/scratch/tmp/cMDOAL/083-packages_bus_tests_session-compactions.test.mjs.log","sha256":"22835e28c4efe46e07697392870c1a700d206b693dd249d97332bcffa3966ee7","bytes":919}}
|
||||
{"name":"packages/bus/tests/sessions.test.mjs","event":"start","at":"2026-10-25T09:13:41.932Z","uptime":"04:13:41 up 11 days, 19:33, 2 users, load average: 7.44, 7.29, 7.59","TMPDIR":"/mnt/storage/scratch/tmp/RCe8xd","nice":19}
|
||||
{"name":"packages/bus/tests/sessions.test.mjs","event":"end","at":"2026-10-25T09:13:41.932Z","uptime":"04:13:41 up 11 days, 19:33, 2 users, load average: 7.44, 7.29, 7.59","TMPDIR":"/mnt/storage/scratch/tmp/RCe8xd","nice":19,"measuredDriverNice":19,"measuredChildNice":19,"endAt":"2026-10-25T09:13:42.704Z","endUptime":"04:13:42 up 11 days, 19:33, 2 users, load average: 7.44, 7.29, 7.59","rc":0,"signal":null,"timedOut":false,"tests":7,"pass":7,"fail":0,"skipped":0,"cancelled":0,"failedNames":[],"log":{"path":"/mnt/storage/scratch/tmp/cMDOAL/084-packages_bus_tests_sessions.test.mjs.log","sha256":"3e4897da6640ddab2b5b742295dd52342cf1331afd7700637187afa8bd9f2f9e","bytes":2096}}
|
||||
{"name":"packages/bus/tests/single-use.test.mjs","event":"start","at":"2026-10-25T09:13:42.715Z","uptime":"04:13:42 up 11 days, 19:33, 2 users, load average: 7.44, 7.29, 7.59","TMPDIR":"/mnt/storage/scratch/tmp/E5EvBY","nice":19}
|
||||
{"name":"packages/bus/tests/single-use.test.mjs","event":"end","at":"2026-10-25T09:13:42.715Z","uptime":"04:13:42 up 11 days, 19:33, 2 users, load average: 7.44, 7.29, 7.59","TMPDIR":"/mnt/storage/scratch/tmp/E5EvBY","nice":19,"measuredDriverNice":19,"measuredChildNice":19,"endAt":"2026-10-25T09:13:43.281Z","endUptime":"04:13:43 up 11 days, 19:33, 2 users, load average: 7.44, 7.29, 7.59","rc":0,"signal":null,"timedOut":false,"tests":12,"pass":12,"fail":0,"skipped":0,"cancelled":0,"failedNames":[],"log":{"path":"/mnt/storage/scratch/tmp/cMDOAL/085-packages_bus_tests_single-use.test.mjs.log","sha256":"3df48399a209761dee380a7851725015cecabb0372afbc2652da062e569e4efa","bytes":2662}}
|
||||
{"name":"packages/bus/tests/spec-review.test.mjs","event":"start","at":"2026-10-25T09:13:43.283Z","uptime":"04:13:43 up 11 days, 19:33, 2 users, load average: 7.44, 7.29, 7.59","TMPDIR":"/mnt/storage/scratch/tmp/QJZWoM","nice":19}
|
||||
{"name":"packages/bus/tests/spec-review.test.mjs","event":"end","at":"2026-10-25T09:13:43.283Z","uptime":"04:13:43 up 11 days, 19:33, 2 users, load average: 7.44, 7.29, 7.59","TMPDIR":"/mnt/storage/scratch/tmp/QJZWoM","nice":19,"measuredDriverNice":19,"measuredChildNice":19,"endAt":"2026-10-25T09:13:45.222Z","endUptime":"04:13:45 up 11 days, 19:33, 2 users, load average: 7.57, 7.32, 7.60","rc":0,"signal":null,"timedOut":false,"tests":12,"pass":12,"fail":0,"skipped":0,"cancelled":0,"failedNames":[],"log":{"path":"/mnt/storage/scratch/tmp/cMDOAL/086-packages_bus_tests_spec-review.test.mjs.log","sha256":"ae0373d19f7c84dec660b667887d4cd491fcc9c686aae009833a9b727119878e","bytes":3203}}
|
||||
{"name":"packages/bus/tests/spec-socket.test.mjs","event":"start","at":"2026-10-25T09:13:45.225Z","uptime":"04:13:45 up 11 days, 19:33, 2 users, load average: 7.57, 7.32, 7.60","TMPDIR":"/mnt/storage/scratch/tmp/aFFYJc","nice":19}
|
||||
{"name":"packages/bus/tests/spec-socket.test.mjs","event":"end","at":"2026-10-25T09:13:45.225Z","uptime":"04:13:45 up 11 days, 19:33, 2 users, load average: 7.57, 7.32, 7.60","TMPDIR":"/mnt/storage/scratch/tmp/aFFYJc","nice":19,"measuredDriverNice":19,"measuredChildNice":19,"endAt":"2026-10-25T09:13:46.211Z","endUptime":"04:13:46 up 11 days, 19:33, 2 users, load average: 7.57, 7.32, 7.60","rc":0,"signal":null,"timedOut":false,"tests":6,"pass":6,"fail":0,"skipped":0,"cancelled":0,"failedNames":[],"log":{"path":"/mnt/storage/scratch/tmp/cMDOAL/087-packages_bus_tests_spec-socket.test.mjs.log","sha256":"6f413bff7dc9ae60815cb989409d5c42bee31716e734244b3eb908a183f69d39","bytes":1490}}
|
||||
{"name":"packages/bus/tests/spec.test.mjs","event":"start","at":"2026-10-25T09:13:46.214Z","uptime":"04:13:46 up 11 days, 19:33, 2 users, load average: 7.57, 7.32, 7.60","TMPDIR":"/mnt/storage/scratch/tmp/QMkP28","nice":19}
|
||||
{"name":"packages/bus/tests/spec.test.mjs","event":"end","at":"2026-10-25T09:13:46.214Z","uptime":"04:13:46 up 11 days, 19:33, 2 users, load average: 7.57, 7.32, 7.60","TMPDIR":"/mnt/storage/scratch/tmp/QMkP28","nice":19,"measuredDriverNice":19,"measuredChildNice":19,"endAt":"2026-10-25T09:13:46.885Z","endUptime":"04:13:46 up 11 days, 19:33, 2 users, load average: 7.57, 7.32, 7.60","rc":0,"signal":null,"timedOut":false,"tests":4,"pass":4,"fail":0,"skipped":0,"cancelled":0,"failedNames":[],"log":{"path":"/mnt/storage/scratch/tmp/cMDOAL/088-packages_bus_tests_spec.test.mjs.log","sha256":"0e3342c8c0a969a89af5bba9976afb458b93720bdf2f501632582ed2a9e41ada","bytes":1206}}
|
||||
{"name":"packages/bus/tests/staff-request.test.mjs","event":"start","at":"2026-10-25T09:13:46.888Z","uptime":"04:13:46 up 11 days, 19:33, 2 users, load average: 7.57, 7.32, 7.60","TMPDIR":"/mnt/storage/scratch/tmp/pZpLDc","nice":19}
|
||||
{"name":"packages/bus/tests/staff-request.test.mjs","event":"end","at":"2026-10-25T09:13:46.888Z","uptime":"04:13:46 up 11 days, 19:33, 2 users, load average: 7.57, 7.32, 7.60","TMPDIR":"/mnt/storage/scratch/tmp/pZpLDc","nice":19,"measuredDriverNice":19,"measuredChildNice":19,"endAt":"2026-10-25T09:13:47.502Z","endUptime":"04:13:47 up 11 days, 19:33, 2 users, load average: 7.57, 7.32, 7.60","rc":0,"signal":null,"timedOut":false,"tests":10,"pass":10,"fail":0,"skipped":0,"cancelled":0,"failedNames":[],"log":{"path":"/mnt/storage/scratch/tmp/cMDOAL/089-packages_bus_tests_staff-request.test.mjs.log","sha256":"b882a68dfb79fdf2f17c3e7a58ff8ce53ccd937a03d7bd0abafab09633e9a18f","bytes":3051}}
|
||||
{"name":"packages/bus/tests/state.test.mjs","event":"start","at":"2026-10-25T09:13:47.505Z","uptime":"04:13:47 up 11 days, 19:33, 2 users, load average: 7.57, 7.32, 7.60","TMPDIR":"/mnt/storage/scratch/tmp/ujPXvm","nice":19}
|
||||
{"name":"packages/bus/tests/state.test.mjs","event":"end","at":"2026-10-25T09:13:47.505Z","uptime":"04:13:47 up 11 days, 19:33, 2 users, load average: 7.57, 7.32, 7.60","TMPDIR":"/mnt/storage/scratch/tmp/ujPXvm","nice":19,"measuredDriverNice":19,"measuredChildNice":19,"endAt":"2026-10-25T09:13:47.857Z","endUptime":"04:13:47 up 11 days, 19:33, 2 users, load average: 7.57, 7.32, 7.60","rc":0,"signal":null,"timedOut":false,"tests":8,"pass":8,"fail":0,"skipped":0,"cancelled":0,"failedNames":[],"log":{"path":"/mnt/storage/scratch/tmp/cMDOAL/090-packages_bus_tests_state.test.mjs.log","sha256":"e52823932746d50985ed9dba3e307b98c09cf1bbc3cace1805f2df76b6e35ddf","bytes":1791}}
|
||||
{"name":"packages/bus/tests/task-page.test.mjs","event":"start","at":"2026-10-25T09:13:47.861Z","uptime":"04:13:47 up 11 days, 19:33, 2 users, load average: 7.57, 7.32, 7.60","TMPDIR":"/mnt/storage/scratch/tmp/pNZCY1","nice":19}
|
||||
{"name":"packages/bus/tests/task-page.test.mjs","event":"end","at":"2026-10-25T09:13:47.861Z","uptime":"04:13:47 up 11 days, 19:33, 2 users, load average: 7.57, 7.32, 7.60","TMPDIR":"/mnt/storage/scratch/tmp/pNZCY1","nice":19,"measuredDriverNice":19,"measuredChildNice":19,"endAt":"2026-10-25T09:13:49.448Z","endUptime":"04:13:49 up 11 days, 19:33, 2 users, load average: 7.52, 7.31, 7.59","rc":0,"signal":null,"timedOut":false,"tests":6,"pass":6,"fail":0,"skipped":0,"cancelled":0,"failedNames":[],"log":{"path":"/mnt/storage/scratch/tmp/cMDOAL/091-packages_bus_tests_task-page.test.mjs.log","sha256":"b96b67c713b1a1820d4691b089c817917d97e76e5c1f6aa912a8bc45fe987ce3","bytes":1342}}
|
||||
{"name":"packages/bus/tests/task-read.test.mjs","event":"start","at":"2026-10-25T09:13:49.450Z","uptime":"04:13:49 up 11 days, 19:33, 2 users, load average: 7.52, 7.31, 7.59","TMPDIR":"/mnt/storage/scratch/tmp/WqXsnQ","nice":19}
|
||||
{"name":"packages/bus/tests/task-read.test.mjs","event":"end","at":"2026-10-25T09:13:49.450Z","uptime":"04:13:49 up 11 days, 19:33, 2 users, load average: 7.52, 7.31, 7.59","TMPDIR":"/mnt/storage/scratch/tmp/WqXsnQ","nice":19,"measuredDriverNice":19,"measuredChildNice":19,"endAt":"2026-10-25T09:13:49.758Z","endUptime":"04:13:49 up 11 days, 19:33, 2 users, load average: 7.52, 7.31, 7.59","rc":0,"signal":null,"timedOut":false,"tests":3,"pass":3,"fail":0,"skipped":0,"cancelled":0,"failedNames":[],"log":{"path":"/mnt/storage/scratch/tmp/cMDOAL/092-packages_bus_tests_task-read.test.mjs.log","sha256":"d0a6c405a92d57e53bd59a7a53811e27fca7e5a62bdbfed26858a54e4667aa8c","bytes":836}}
|
||||
{"name":"packages/bus/tests/tasks.test.mjs","event":"start","at":"2026-10-25T09:13:49.761Z","uptime":"04:13:49 up 11 days, 19:33, 2 users, load average: 7.52, 7.31, 7.59","TMPDIR":"/mnt/storage/scratch/tmp/ExwVoZ","nice":19}
|
||||
{"name":"packages/bus/tests/tasks.test.mjs","event":"end","at":"2026-10-25T09:13:49.761Z","uptime":"04:13:49 up 11 days, 19:33, 2 users, load average: 7.52, 7.31, 7.59","TMPDIR":"/mnt/storage/scratch/tmp/ExwVoZ","nice":19,"measuredDriverNice":19,"measuredChildNice":19,"endAt":"2026-10-25T09:13:51.007Z","endUptime":"04:13:51 up 11 days, 19:33, 2 users, load average: 7.52, 7.31, 7.59","rc":0,"signal":null,"timedOut":false,"tests":9,"pass":9,"fail":0,"skipped":0,"cancelled":0,"failedNames":[],"log":{"path":"/mnt/storage/scratch/tmp/cMDOAL/093-packages_bus_tests_tasks.test.mjs.log","sha256":"686b58370b4383a88b2a835727170e0242fa9609b96854711b7a9022017f10b1","bytes":1917}}
|
||||
{"name":"packages/bus/tests/tester-threads.test.mjs","event":"start","at":"2026-10-25T09:13:51.010Z","uptime":"04:13:51 up 11 days, 19:33, 2 users, load average: 7.52, 7.31, 7.59","TMPDIR":"/mnt/storage/scratch/tmp/g7nyDV","nice":19}
|
||||
{"name":"packages/bus/tests/tester-threads.test.mjs","event":"end","at":"2026-10-25T09:13:51.010Z","uptime":"04:13:51 up 11 days, 19:33, 2 users, load average: 7.52, 7.31, 7.59","TMPDIR":"/mnt/storage/scratch/tmp/g7nyDV","nice":19,"measuredDriverNice":19,"measuredChildNice":19,"endAt":"2026-10-25T09:13:51.607Z","endUptime":"04:13:51 up 11 days, 19:33, 2 users, load average: 7.52, 7.31, 7.59","rc":0,"signal":null,"timedOut":false,"tests":15,"pass":15,"fail":0,"skipped":0,"cancelled":0,"failedNames":[],"log":{"path":"/mnt/storage/scratch/tmp/cMDOAL/094-packages_bus_tests_tester-threads.test.mjs.log","sha256":"63cddaf7fb3463e27635d1b0e316020e15b123f6202524f5c78524dfdf849bb3","bytes":3585}}
|
||||
{"name":"packages/bus/tests/tester-writes.test.mjs","event":"start","at":"2026-10-25T09:13:51.611Z","uptime":"04:13:51 up 11 days, 19:33, 2 users, load average: 7.52, 7.31, 7.59","TMPDIR":"/mnt/storage/scratch/tmp/jyHOw9","nice":19}
|
||||
{"name":"packages/bus/tests/tester-writes.test.mjs","event":"end","at":"2026-10-25T09:13:51.611Z","uptime":"04:13:51 up 11 days, 19:33, 2 users, load average: 7.52, 7.31, 7.59","TMPDIR":"/mnt/storage/scratch/tmp/jyHOw9","nice":19,"measuredDriverNice":19,"measuredChildNice":19,"endAt":"2026-10-25T09:13:52.414Z","endUptime":"04:13:52 up 11 days, 19:33, 2 users, load average: 7.52, 7.31, 7.59","rc":0,"signal":null,"timedOut":false,"tests":8,"pass":8,"fail":0,"skipped":0,"cancelled":0,"failedNames":[],"log":{"path":"/mnt/storage/scratch/tmp/cMDOAL/095-packages_bus_tests_tester-writes.test.mjs.log","sha256":"36ebd00176992379eb7e64ee19e3945a360c7bcd2fd3a3d5a825e3235e28bd7f","bytes":2446}}
|
||||
{"name":"packages/bus/tests/tester.test.mjs","event":"start","at":"2026-10-25T09:13:52.417Z","uptime":"04:13:52 up 11 days, 19:33, 2 users, load average: 7.52, 7.31, 7.59","TMPDIR":"/mnt/storage/scratch/tmp/YXPk35","nice":19}
|
||||
{"name":"packages/bus/tests/tester.test.mjs","event":"end","at":"2026-10-25T09:13:52.417Z","uptime":"04:13:52 up 11 days, 19:33, 2 users, load average: 7.52, 7.31, 7.59","TMPDIR":"/mnt/storage/scratch/tmp/YXPk35","nice":19,"measuredDriverNice":19,"measuredChildNice":19,"endAt":"2026-10-25T09:13:55.379Z","endUptime":"04:13:55 up 11 days, 19:33, 2 users, load average: 7.56, 7.33, 7.60","rc":0,"signal":null,"timedOut":false,"tests":14,"pass":14,"fail":0,"skipped":0,"cancelled":0,"failedNames":[],"log":{"path":"/mnt/storage/scratch/tmp/cMDOAL/096-packages_bus_tests_tester.test.mjs.log","sha256":"49171daab403c507f480b845eaa4f91206ecbed1860819a7f351609ed50af539","bytes":3499}}
|
||||
{"name":"packages/bus/tests/thread-claims.test.mjs","event":"start","at":"2026-10-25T09:13:55.382Z","uptime":"04:13:55 up 11 days, 19:33, 2 users, load average: 7.56, 7.33, 7.60","TMPDIR":"/mnt/storage/scratch/tmp/kaSgNU","nice":19}
|
||||
{"name":"packages/bus/tests/thread-claims.test.mjs","event":"end","at":"2026-10-25T09:13:55.382Z","uptime":"04:13:55 up 11 days, 19:33, 2 users, load average: 7.56, 7.33, 7.60","TMPDIR":"/mnt/storage/scratch/tmp/kaSgNU","nice":19,"measuredDriverNice":19,"measuredChildNice":19,"endAt":"2026-10-25T09:13:55.733Z","endUptime":"04:13:55 up 11 days, 19:33, 2 users, load average: 7.56, 7.33, 7.60","rc":0,"signal":null,"timedOut":false,"tests":6,"pass":6,"fail":0,"skipped":0,"cancelled":0,"failedNames":[],"log":{"path":"/mnt/storage/scratch/tmp/cMDOAL/097-packages_bus_tests_thread-claims.test.mjs.log","sha256":"e56f091ec7f3cd931711bf92f95e7f58dc2f5e07b6315456e67c05895b9c4fb6","bytes":1573}}
|
||||
{"name":"packages/bus/tests/thread-migration.test.mjs","event":"start","at":"2026-10-25T09:13:55.736Z","uptime":"04:13:55 up 11 days, 19:33, 2 users, load average: 7.56, 7.33, 7.60","TMPDIR":"/mnt/storage/scratch/tmp/qxFh0f","nice":19}
|
||||
{"name":"packages/bus/tests/thread-migration.test.mjs","event":"end","at":"2026-10-25T09:13:55.736Z","uptime":"04:13:55 up 11 days, 19:33, 2 users, load average: 7.56, 7.33, 7.60","TMPDIR":"/mnt/storage/scratch/tmp/qxFh0f","nice":19,"measuredDriverNice":19,"measuredChildNice":19,"endAt":"2026-10-25T09:13:56.472Z","endUptime":"04:13:56 up 11 days, 19:33, 2 users, load average: 7.56, 7.33, 7.60","rc":0,"signal":null,"timedOut":false,"tests":3,"pass":3,"fail":0,"skipped":0,"cancelled":0,"failedNames":[],"log":{"path":"/mnt/storage/scratch/tmp/cMDOAL/098-packages_bus_tests_thread-migration.test.mjs.log","sha256":"2f831901015dfa47ed72827f618a3a030c5447d26831323812b7c2eda63b3b90","bytes":946}}
|
||||
{"name":"packages/bus/tests/thread-shares.test.mjs","event":"start","at":"2026-10-25T09:13:56.476Z","uptime":"04:13:56 up 11 days, 19:33, 2 users, load average: 7.56, 7.33, 7.60","TMPDIR":"/mnt/storage/scratch/tmp/KgZZws","nice":19}
|
||||
{"name":"packages/bus/tests/thread-shares.test.mjs","event":"end","at":"2026-10-25T09:13:56.476Z","uptime":"04:13:56 up 11 days, 19:33, 2 users, load average: 7.56, 7.33, 7.60","TMPDIR":"/mnt/storage/scratch/tmp/KgZZws","nice":19,"measuredDriverNice":19,"measuredChildNice":19,"endAt":"2026-10-25T09:13:57.520Z","endUptime":"04:13:57 up 11 days, 19:33, 2 users, load average: 7.56, 7.33, 7.60","rc":0,"signal":null,"timedOut":false,"tests":16,"pass":16,"fail":0,"skipped":0,"cancelled":0,"failedNames":[],"log":{"path":"/mnt/storage/scratch/tmp/cMDOAL/099-packages_bus_tests_thread-shares.test.mjs.log","sha256":"c217d3ca1a26d1c8f0b48e324f765536117675a220f84e438de1754e1329b2c6","bytes":4315}}
|
||||
{"name":"packages/bus/tests/threads.test.mjs","event":"start","at":"2026-10-25T09:13:57.531Z","uptime":"04:13:57 up 11 days, 19:33, 2 users, load average: 7.56, 7.33, 7.60","TMPDIR":"/mnt/storage/scratch/tmp/OhU1eJ","nice":19}
|
||||
{"name":"packages/bus/tests/threads.test.mjs","event":"end","at":"2026-10-25T09:13:57.531Z","uptime":"04:13:57 up 11 days, 19:33, 2 users, load average: 7.56, 7.33, 7.60","TMPDIR":"/mnt/storage/scratch/tmp/OhU1eJ","nice":19,"measuredDriverNice":19,"measuredChildNice":19,"endAt":"2026-10-25T09:13:59.441Z","endUptime":"04:13:59 up 11 days, 19:33, 2 users, load average: 8.40, 7.50, 7.65","rc":0,"signal":null,"timedOut":false,"tests":20,"pass":20,"fail":0,"skipped":0,"cancelled":0,"failedNames":[],"log":{"path":"/mnt/storage/scratch/tmp/cMDOAL/100-packages_bus_tests_threads.test.mjs.log","sha256":"d8cd04db3c3bff27a2b95b954d48f4a9cd38e527f778630a1779def935753e83","bytes":4981}}
|
||||
{"name":"packages/bus/tests/transport.test.mjs","event":"start","at":"2026-10-25T09:13:59.444Z","uptime":"04:13:59 up 11 days, 19:33, 2 users, load average: 8.40, 7.50, 7.65","TMPDIR":"/mnt/storage/scratch/tmp/M15W3c","nice":19}
|
||||
{"name":"packages/bus/tests/transport.test.mjs","event":"end","at":"2026-10-25T09:13:59.444Z","uptime":"04:13:59 up 11 days, 19:33, 2 users, load average: 8.40, 7.50, 7.65","TMPDIR":"/mnt/storage/scratch/tmp/M15W3c","nice":19,"measuredDriverNice":19,"measuredChildNice":19,"endAt":"2026-10-25T09:13:59.853Z","endUptime":"04:13:59 up 11 days, 19:33, 2 users, load average: 8.40, 7.50, 7.65","rc":0,"signal":null,"timedOut":false,"tests":5,"pass":5,"fail":0,"skipped":0,"cancelled":0,"failedNames":[],"log":{"path":"/mnt/storage/scratch/tmp/cMDOAL/101-packages_bus_tests_transport.test.mjs.log","sha256":"315d52e43187f41782bd2243796972d3989afcc3de9dec7fc08e90488cd9cfbd","bytes":1249}}
|
||||
{"name":"packages/bus/tests/usage-broker.test.mjs","event":"start","at":"2026-10-25T09:13:59.863Z","uptime":"04:13:59 up 11 days, 19:33, 2 users, load average: 8.40, 7.50, 7.65","TMPDIR":"/mnt/storage/scratch/tmp/Jdzodu","nice":19}
|
||||
{"name":"packages/bus/tests/usage-broker.test.mjs","event":"end","at":"2026-10-25T09:13:59.863Z","uptime":"04:13:59 up 11 days, 19:33, 2 users, load average: 8.40, 7.50, 7.65","TMPDIR":"/mnt/storage/scratch/tmp/Jdzodu","nice":19,"measuredDriverNice":19,"measuredChildNice":19,"endAt":"2026-10-25T09:14:00.097Z","endUptime":"04:14:00 up 11 days, 19:33, 2 users, load average: 8.40, 7.50, 7.65","rc":0,"signal":null,"timedOut":false,"tests":1,"pass":1,"fail":0,"skipped":0,"cancelled":0,"failedNames":[],"log":{"path":"/mnt/storage/scratch/tmp/cMDOAL/102-packages_bus_tests_usage-broker.test.mjs.log","sha256":"fd03a28f444feb765986682cb11eafc552641b81a20937906c89bcbb838a479a","bytes":405}}
|
||||
{"name":"packages/bus/tests/usage-runtime.test.mjs","event":"start","at":"2026-10-25T09:14:00.100Z","uptime":"04:14:00 up 11 days, 19:33, 2 users, load average: 8.40, 7.50, 7.65","TMPDIR":"/mnt/storage/scratch/tmp/Ioqot3","nice":19}
|
||||
{"name":"packages/bus/tests/usage-runtime.test.mjs","event":"end","at":"2026-10-25T09:14:00.100Z","uptime":"04:14:00 up 11 days, 19:33, 2 users, load average: 8.40, 7.50, 7.65","TMPDIR":"/mnt/storage/scratch/tmp/Ioqot3","nice":19,"measuredDriverNice":19,"measuredChildNice":19,"endAt":"2026-10-25T09:14:00.423Z","endUptime":"04:14:00 up 11 days, 19:33, 2 users, load average: 8.40, 7.50, 7.65","rc":0,"signal":null,"timedOut":false,"tests":1,"pass":1,"fail":0,"skipped":0,"cancelled":0,"failedNames":[],"log":{"path":"/mnt/storage/scratch/tmp/cMDOAL/103-packages_bus_tests_usage-runtime.test.mjs.log","sha256":"8a15025023b8da48523e438697e40130d39de13c31fbec2552029154ecca4150","bytes":379}}
|
||||
{"name":"packages/bus/tests/user-principal.test.mjs","event":"start","at":"2026-10-25T09:14:00.427Z","uptime":"04:14:00 up 11 days, 19:33, 2 users, load average: 8.40, 7.50, 7.65","TMPDIR":"/mnt/storage/scratch/tmp/pbozfm","nice":19}
|
||||
{"name":"packages/bus/tests/user-principal.test.mjs","event":"end","at":"2026-10-25T09:14:00.427Z","uptime":"04:14:00 up 11 days, 19:33, 2 users, load average: 8.40, 7.50, 7.65","TMPDIR":"/mnt/storage/scratch/tmp/pbozfm","nice":19,"measuredDriverNice":19,"measuredChildNice":19,"endAt":"2026-10-25T09:14:01.295Z","endUptime":"04:14:01 up 11 days, 19:33, 2 users, load average: 8.40, 7.50, 7.65","rc":0,"signal":null,"timedOut":false,"tests":24,"pass":24,"fail":0,"skipped":0,"cancelled":0,"failedNames":[],"log":{"path":"/mnt/storage/scratch/tmp/cMDOAL/104-packages_bus_tests_user-principal.test.mjs.log","sha256":"9c8b7ade664df01fe4ce0b7a3972ec364a0adb83291772a2c62e2584fb66de37","bytes":5610}}
|
||||
{"name":"packages/bus/tests/viewer.test.mjs","event":"start","at":"2026-10-25T09:14:01.298Z","uptime":"04:14:01 up 11 days, 19:33, 2 users, load average: 8.40, 7.50, 7.65","TMPDIR":"/mnt/storage/scratch/tmp/mN4Oew","nice":19}
|
||||
{"name":"packages/bus/tests/viewer.test.mjs","event":"end","at":"2026-10-25T09:14:01.298Z","uptime":"04:14:01 up 11 days, 19:33, 2 users, load average: 8.40, 7.50, 7.65","TMPDIR":"/mnt/storage/scratch/tmp/mN4Oew","nice":19,"measuredDriverNice":19,"measuredChildNice":19,"endAt":"2026-10-25T09:14:01.898Z","endUptime":"04:14:01 up 11 days, 19:33, 2 users, load average: 8.40, 7.50, 7.65","rc":0,"signal":null,"timedOut":false,"tests":7,"pass":7,"fail":0,"skipped":0,"cancelled":0,"failedNames":[],"log":{"path":"/mnt/storage/scratch/tmp/cMDOAL/105-packages_bus_tests_viewer.test.mjs.log","sha256":"c3105c5137df97519337b125055d146b09fc5ecca18b2b5110c4d1c4da6a1ae2","bytes":1862}}
|
||||
{"name":"packages/bus/tests/web.test.mjs","event":"start","at":"2026-10-25T09:14:01.901Z","uptime":"04:14:01 up 11 days, 19:33, 2 users, load average: 8.40, 7.50, 7.65","TMPDIR":"/mnt/storage/scratch/tmp/j9uqMj","nice":19}
|
||||
{"name":"packages/bus/tests/web.test.mjs","event":"end","at":"2026-10-25T09:14:01.901Z","uptime":"04:14:01 up 11 days, 19:33, 2 users, load average: 8.40, 7.50, 7.65","TMPDIR":"/mnt/storage/scratch/tmp/j9uqMj","nice":19,"measuredDriverNice":19,"measuredChildNice":19,"endAt":"2026-10-25T09:14:03.152Z","endUptime":"04:14:03 up 11 days, 19:33, 2 users, load average: 8.40, 7.50, 7.65","rc":0,"signal":null,"timedOut":false,"tests":19,"pass":19,"fail":0,"skipped":0,"cancelled":0,"failedNames":[],"log":{"path":"/mnt/storage/scratch/tmp/cMDOAL/106-packages_bus_tests_web.test.mjs.log","sha256":"8d7de00c1ed85dd97bdf2e36f174a1027501aca2dd3c8583403b5ee18314ffa4","bytes":5012}}
|
||||
{"name":"packages/bus/tests/workflow-roles.test.mjs","event":"start","at":"2026-10-25T09:14:03.155Z","uptime":"04:14:03 up 11 days, 19:33, 2 users, load average: 8.40, 7.50, 7.65","TMPDIR":"/mnt/storage/scratch/tmp/qFpvjQ","nice":19}
|
||||
{"name":"packages/bus/tests/workflow-roles.test.mjs","event":"end","at":"2026-10-25T09:14:03.155Z","uptime":"04:14:03 up 11 days, 19:33, 2 users, load average: 8.40, 7.50, 7.65","TMPDIR":"/mnt/storage/scratch/tmp/qFpvjQ","nice":19,"measuredDriverNice":19,"measuredChildNice":19,"endAt":"2026-10-25T09:14:03.501Z","endUptime":"04:14:03 up 11 days, 19:33, 2 users, load average: 8.40, 7.50, 7.65","rc":0,"signal":null,"timedOut":false,"tests":4,"pass":4,"fail":0,"skipped":0,"cancelled":0,"failedNames":[],"log":{"path":"/mnt/storage/scratch/tmp/cMDOAL/107-packages_bus_tests_workflow-roles.test.mjs.log","sha256":"4fc8a48159d94e4964483c4352f1e4b959417c5b23b84beaab8bd050a13311af","bytes":1153}}
|
||||
{"name":"packages/business/tests/case1-business-file.test.mjs","event":"start","at":"2026-10-25T09:14:03.504Z","uptime":"04:14:03 up 11 days, 19:33, 2 users, load average: 8.40, 7.50, 7.65","TMPDIR":"/mnt/storage/scratch/tmp/iEksPM","nice":19}
|
||||
{"name":"packages/business/tests/case1-business-file.test.mjs","event":"end","at":"2026-10-25T09:14:03.504Z","uptime":"04:14:03 up 11 days, 19:33, 2 users, load average: 8.40, 7.50, 7.65","TMPDIR":"/mnt/storage/scratch/tmp/iEksPM","nice":19,"measuredDriverNice":19,"measuredChildNice":19,"endAt":"2026-10-25T09:14:04.502Z","endUptime":"04:14:04 up 11 days, 19:33, 2 users, load average: 8.12, 7.46, 7.64","rc":0,"signal":null,"timedOut":false,"tests":7,"pass":7,"fail":0,"skipped":0,"cancelled":0,"failedNames":[],"log":{"path":"/mnt/storage/scratch/tmp/cMDOAL/108-packages_business_tests_case1-business-file.test.mjs.log","sha256":"0b8f3af8b57d092e4ab19cf1279ca40d95e95bf6a9a3388609b26222573a32ac","bytes":1701}}
|
||||
{"name":"packages/cli/tests/access-boot.test.mjs","event":"start","at":"2026-10-25T09:14:04.506Z","uptime":"04:14:04 up 11 days, 19:33, 2 users, load average: 8.12, 7.46, 7.64","TMPDIR":"/mnt/storage/scratch/tmp/uRCrei","nice":19}
|
||||
{"name":"packages/cli/tests/access-boot.test.mjs","event":"end","at":"2026-10-25T09:14:04.506Z","uptime":"04:14:04 up 11 days, 19:33, 2 users, load average: 8.12, 7.46, 7.64","TMPDIR":"/mnt/storage/scratch/tmp/uRCrei","nice":19,"measuredDriverNice":19,"measuredChildNice":19,"endAt":"2026-10-25T09:14:05.247Z","endUptime":"04:14:05 up 11 days, 19:33, 2 users, load average: 8.12, 7.46, 7.64","rc":0,"signal":null,"timedOut":false,"tests":4,"pass":4,"fail":0,"skipped":0,"cancelled":0,"failedNames":[],"log":{"path":"/mnt/storage/scratch/tmp/cMDOAL/109-packages_cli_tests_access-boot.test.mjs.log","sha256":"5255252523de3287d8d88a0ddea922244f01ad5a984e831f58bed1f85447538c","bytes":1065}}
|
||||
{"name":"packages/cli/tests/access.test.mjs","event":"start","at":"2026-10-25T09:14:05.250Z","uptime":"04:14:05 up 11 days, 19:33, 2 users, load average: 8.12, 7.46, 7.64","TMPDIR":"/mnt/storage/scratch/tmp/Lo3t2i","nice":19}
|
||||
{"name":"packages/cli/tests/access.test.mjs","event":"end","at":"2026-10-25T09:14:05.250Z","uptime":"04:14:05 up 11 days, 19:33, 2 users, load average: 8.12, 7.46, 7.64","TMPDIR":"/mnt/storage/scratch/tmp/Lo3t2i","nice":19,"measuredDriverNice":19,"measuredChildNice":19,"endAt":"2026-10-25T09:14:13.033Z","endUptime":"04:14:13 up 11 days, 19:34, 2 users, load average: 7.71, 7.39, 7.61","rc":0,"signal":null,"timedOut":false,"tests":34,"pass":34,"fail":0,"skipped":0,"cancelled":0,"failedNames":[],"log":{"path":"/mnt/storage/scratch/tmp/cMDOAL/110-packages_cli_tests_access.test.mjs.log","sha256":"bda4d11055ff21a67d35a213a604090025e23f4c1b7b1afbe654bb7f9fe34bae","bytes":7266}}
|
||||
{"name":"packages/cli/tests/app.test.mjs","event":"start","at":"2026-10-25T09:14:13.036Z","uptime":"04:14:13 up 11 days, 19:34, 2 users, load average: 7.71, 7.39, 7.61","TMPDIR":"/mnt/storage/scratch/tmp/LPCcE3","nice":19}
|
||||
{"name":"packages/cli/tests/app.test.mjs","event":"end","at":"2026-10-25T09:14:13.036Z","uptime":"04:14:13 up 11 days, 19:34, 2 users, load average: 7.71, 7.39, 7.61","TMPDIR":"/mnt/storage/scratch/tmp/LPCcE3","nice":19,"measuredDriverNice":19,"measuredChildNice":19,"endAt":"2026-10-25T09:14:34.875Z","endUptime":"04:14:34 up 11 days, 19:34, 2 users, load average: 9.09, 7.75, 7.73","rc":0,"signal":null,"timedOut":false,"tests":30,"pass":30,"fail":0,"skipped":0,"cancelled":0,"failedNames":[],"log":{"path":"/mnt/storage/scratch/tmp/cMDOAL/111-packages_cli_tests_app.test.mjs.log","sha256":"791631427f70975751bad6582dcdf1a1de3a20c782b5effa5e2e229cca8914ed","bytes":7224}}
|
||||
{"name":"packages/cli/tests/boot-status.test.mjs","event":"start","at":"2026-10-25T09:14:34.878Z","uptime":"04:14:34 up 11 days, 19:34, 2 users, load average: 9.09, 7.75, 7.73","TMPDIR":"/mnt/storage/scratch/tmp/pZG1PZ","nice":19}
|
||||
{"name":"packages/cli/tests/boot-status.test.mjs","event":"end","at":"2026-10-25T09:14:34.878Z","uptime":"04:14:34 up 11 days, 19:34, 2 users, load average: 9.09, 7.75, 7.73","TMPDIR":"/mnt/storage/scratch/tmp/pZG1PZ","nice":19,"measuredDriverNice":19,"measuredChildNice":19,"endAt":"2026-10-25T09:14:36.785Z","endUptime":"04:14:36 up 11 days, 19:34, 2 users, load average: 9.09, 7.75, 7.73","rc":0,"signal":null,"timedOut":false,"tests":3,"pass":3,"fail":0,"skipped":0,"cancelled":0,"failedNames":[],"log":{"path":"/mnt/storage/scratch/tmp/cMDOAL/112-packages_cli_tests_boot-status.test.mjs.log","sha256":"015a977ee1a303e4e2b24786e7b671bbafb58fab12092b607efa0fc01e84b7a5","bytes":911}}
|
||||
{"name":"packages/cli/tests/case1-hostcheck.test.mjs","event":"start","at":"2026-10-25T09:14:36.788Z","uptime":"04:14:36 up 11 days, 19:34, 2 users, load average: 9.09, 7.75, 7.73","TMPDIR":"/mnt/storage/scratch/tmp/7LRho6","nice":19}
|
||||
{"name":"packages/cli/tests/case1-hostcheck.test.mjs","event":"end","at":"2026-10-25T09:14:36.788Z","uptime":"04:14:36 up 11 days, 19:34, 2 users, load average: 9.09, 7.75, 7.73","TMPDIR":"/mnt/storage/scratch/tmp/7LRho6","nice":19,"measuredDriverNice":19,"measuredChildNice":19,"endAt":"2026-10-25T09:14:40.988Z","endUptime":"04:14:40 up 11 days, 19:34, 2 users, load average: 9.33, 7.83, 7.75","rc":0,"signal":null,"timedOut":false,"tests":19,"pass":19,"fail":0,"skipped":0,"cancelled":0,"failedNames":[],"log":{"path":"/mnt/storage/scratch/tmp/cMDOAL/113-packages_cli_tests_case1-hostcheck.test.mjs.log","sha256":"030734e4c6599c10409bec020289a51ad44f145d4f1d1c08647de37acbcd1b22","bytes":4892}}
|
||||
{"name":"packages/cli/tests/case2-install.test.mjs","event":"start","at":"2026-10-25T09:14:40.991Z","uptime":"04:14:40 up 11 days, 19:34, 2 users, load average: 9.33, 7.83, 7.75","TMPDIR":"/mnt/storage/scratch/tmp/nraZVi","nice":19}
|
||||
{"name":"packages/cli/tests/case2-install.test.mjs","event":"end","at":"2026-10-25T09:14:40.991Z","uptime":"04:14:40 up 11 days, 19:34, 2 users, load average: 9.33, 7.83, 7.75","TMPDIR":"/mnt/storage/scratch/tmp/nraZVi","nice":19,"measuredDriverNice":19,"measuredChildNice":19,"endAt":"2026-10-25T09:14:52.701Z","endUptime":"04:14:52 up 11 days, 19:34, 2 users, load average: 8.81, 7.76, 7.73","rc":0,"signal":null,"timedOut":false,"tests":27,"pass":27,"fail":0,"skipped":0,"cancelled":0,"failedNames":[],"log":{"path":"/mnt/storage/scratch/tmp/cMDOAL/114-packages_cli_tests_case2-install.test.mjs.log","sha256":"ae82aa3b3720a9fbe3f2abc3306322def77fa1fd8cbfaecc2c826056d361ed55","bytes":6003}}
|
||||
{"name":"packages/cli/tests/case2-persona-import.test.mjs","event":"start","at":"2026-10-25T09:14:52.704Z","uptime":"04:14:52 up 11 days, 19:34, 2 users, load average: 8.81, 7.76, 7.73","TMPDIR":"/mnt/storage/scratch/tmp/C1DPZj","nice":19}
|
||||
{"name":"packages/cli/tests/case2-persona-import.test.mjs","event":"end","at":"2026-10-25T09:14:52.704Z","uptime":"04:14:52 up 11 days, 19:34, 2 users, load average: 8.81, 7.76, 7.73","TMPDIR":"/mnt/storage/scratch/tmp/C1DPZj","nice":19,"measuredDriverNice":19,"measuredChildNice":19,"endAt":"2026-10-25T09:14:56.958Z","endUptime":"04:14:56 up 11 days, 19:34, 2 users, load average: 8.66, 7.75, 7.73","rc":0,"signal":null,"timedOut":false,"tests":14,"pass":14,"fail":0,"skipped":0,"cancelled":0,"failedNames":[],"log":{"path":"/mnt/storage/scratch/tmp/cMDOAL/115-packages_cli_tests_case2-persona-import.test.mjs.log","sha256":"decb0d3f7768cba7983bf3f7d40631349b166867c7de4bc01bf78ec202fc2f38","bytes":3627}}
|
||||
{"name":"packages/cli/tests/case2-unit.test.mjs","event":"start","at":"2026-10-25T09:14:56.961Z","uptime":"04:14:56 up 11 days, 19:34, 2 users, load average: 8.66, 7.75, 7.73","TMPDIR":"/mnt/storage/scratch/tmp/MACPeD","nice":19}
|
||||
{"name":"packages/cli/tests/case2-unit.test.mjs","event":"end","at":"2026-10-25T09:14:56.961Z","uptime":"04:14:56 up 11 days, 19:34, 2 users, load average: 8.66, 7.75, 7.73","TMPDIR":"/mnt/storage/scratch/tmp/MACPeD","nice":19,"measuredDriverNice":19,"measuredChildNice":19,"endAt":"2026-10-25T09:16:18.991Z","endUptime":"04:16:18 up 11 days, 19:36, 2 users, load average: 7.46, 7.57, 7.66","rc":0,"signal":null,"timedOut":false,"tests":47,"pass":47,"fail":0,"skipped":0,"cancelled":0,"failedNames":[],"log":{"path":"/mnt/storage/scratch/tmp/cMDOAL/116-packages_cli_tests_case2-unit.test.mjs.log","sha256":"18d91cb7f1322dd349630a8b169452bbe1e734153a3c44dab98e5f7a3324b4e3","bytes":11016}}
|
||||
{"name":"packages/cli/tests/channel-cli.test.mjs","event":"start","at":"2026-10-25T09:16:18.998Z","uptime":"04:16:19 up 11 days, 19:36, 2 users, load average: 7.46, 7.57, 7.66","TMPDIR":"/mnt/storage/scratch/tmp/RgCkkK","nice":19}
|
||||
{"name":"packages/cli/tests/channel-cli.test.mjs","event":"end","at":"2026-10-25T09:16:18.998Z","uptime":"04:16:19 up 11 days, 19:36, 2 users, load average: 7.46, 7.57, 7.66","TMPDIR":"/mnt/storage/scratch/tmp/RgCkkK","nice":19,"measuredDriverNice":19,"measuredChildNice":19,"endAt":"2026-10-25T09:16:19.490Z","endUptime":"04:16:19 up 11 days, 19:36, 2 users, load average: 10.07, 8.10, 7.84","rc":0,"signal":null,"timedOut":false,"tests":2,"pass":2,"fail":0,"skipped":0,"cancelled":0,"failedNames":[],"log":{"path":"/mnt/storage/scratch/tmp/cMDOAL/117-packages_cli_tests_channel-cli.test.mjs.log","sha256":"4df0bb4b66cf075366a1a149db1cefa73e6d786a0da09eb7baeb242537b46626","bytes":650}}
|
||||
{"name":"packages/cli/tests/channel-recovery.test.mjs","event":"start","at":"2026-10-25T09:16:19.493Z","uptime":"04:16:19 up 11 days, 19:36, 2 users, load average: 10.07, 8.10, 7.84","TMPDIR":"/mnt/storage/scratch/tmp/VwKCeh","nice":19}
|
||||
{"name":"packages/cli/tests/channel-recovery.test.mjs","event":"end","at":"2026-10-25T09:16:19.493Z","uptime":"04:16:19 up 11 days, 19:36, 2 users, load average: 10.07, 8.10, 7.84","TMPDIR":"/mnt/storage/scratch/tmp/VwKCeh","nice":19,"measuredDriverNice":19,"measuredChildNice":19,"endAt":"2026-10-25T09:16:23.361Z","endUptime":"04:16:23 up 11 days, 19:36, 2 users, load average: 10.07, 8.10, 7.84","rc":0,"signal":null,"timedOut":false,"tests":1,"pass":1,"fail":0,"skipped":0,"cancelled":0,"failedNames":[],"log":{"path":"/mnt/storage/scratch/tmp/cMDOAL/118-packages_cli_tests_channel-recovery.test.mjs.log","sha256":"e8dcc2e40c8b5b1e4744555054e687fac01d0b93b9ba57f79c0eec784ae0837a","bytes":392}}
|
||||
{"name":"packages/cli/tests/cli.test.mjs","event":"start","at":"2026-10-25T09:16:23.364Z","uptime":"04:16:23 up 11 days, 19:36, 2 users, load average: 10.07, 8.10, 7.84","TMPDIR":"/mnt/storage/scratch/tmp/L3AI6z","nice":19}
|
||||
{"name":"packages/cli/tests/cli.test.mjs","event":"end","at":"2026-10-25T09:16:23.364Z","uptime":"04:16:23 up 11 days, 19:36, 2 users, load average: 10.07, 8.10, 7.84","TMPDIR":"/mnt/storage/scratch/tmp/L3AI6z","nice":19,"measuredDriverNice":19,"measuredChildNice":19,"endAt":"2026-10-25T09:16:23.849Z","endUptime":"04:16:23 up 11 days, 19:36, 2 users, load average: 10.07, 8.10, 7.84","rc":0,"signal":null,"timedOut":false,"tests":12,"pass":12,"fail":0,"skipped":0,"cancelled":0,"failedNames":[],"log":{"path":"/mnt/storage/scratch/tmp/cMDOAL/119-packages_cli_tests_cli.test.mjs.log","sha256":"c6e48e0e08bc833e58c4f7d19bb6cea393c30b4ab85b5db5140c06ca40edb05d","bytes":2779}}
|
||||
{"name":"packages/cli/tests/compactions-launch.test.mjs","event":"start","at":"2026-10-25T09:16:23.852Z","uptime":"04:16:23 up 11 days, 19:36, 2 users, load average: 10.07, 8.10, 7.84","TMPDIR":"/mnt/storage/scratch/tmp/plDqxs","nice":19}
|
||||
{"name":"packages/cli/tests/compactions-launch.test.mjs","event":"end","at":"2026-10-25T09:16:23.852Z","uptime":"04:16:23 up 11 days, 19:36, 2 users, load average: 10.07, 8.10, 7.84","TMPDIR":"/mnt/storage/scratch/tmp/plDqxs","nice":19,"measuredDriverNice":19,"measuredChildNice":19,"endAt":"2026-10-25T09:16:39.977Z","endUptime":"04:16:39 up 11 days, 19:36, 2 users, load average: 9.29, 8.08, 7.83","rc":0,"signal":null,"timedOut":false,"tests":5,"pass":5,"fail":0,"skipped":0,"cancelled":0,"failedNames":[],"log":{"path":"/mnt/storage/scratch/tmp/cMDOAL/120-packages_cli_tests_compactions-launch.test.mjs.log","sha256":"f13308b90774cadd197917c45c3642c25026727388fa6a5542a00d11dede715d","bytes":3424}}
|
||||
{"name":"packages/cli/tests/config.test.mjs","event":"start","at":"2026-10-25T09:16:39.980Z","uptime":"04:16:39 up 11 days, 19:36, 2 users, load average: 9.29, 8.08, 7.83","TMPDIR":"/mnt/storage/scratch/tmp/4v7opY","nice":19}
|
||||
{"name":"packages/cli/tests/config.test.mjs","event":"end","at":"2026-10-25T09:16:39.980Z","uptime":"04:16:39 up 11 days, 19:36, 2 users, load average: 9.29, 8.08, 7.83","TMPDIR":"/mnt/storage/scratch/tmp/4v7opY","nice":19,"measuredDriverNice":19,"measuredChildNice":19,"endAt":"2026-10-25T09:16:40.605Z","endUptime":"04:16:40 up 11 days, 19:36, 2 users, load average: 9.29, 8.08, 7.83","rc":0,"signal":null,"timedOut":false,"tests":7,"pass":7,"fail":0,"skipped":0,"cancelled":0,"failedNames":[],"log":{"path":"/mnt/storage/scratch/tmp/cMDOAL/121-packages_cli_tests_config.test.mjs.log","sha256":"0ebd5bb8b3231408929fa4c4eb773037067474a73d78526b31faa738afe87f86","bytes":1897}}
|
||||
{"name":"packages/cli/tests/credentials.test.mjs","event":"start","at":"2026-10-25T09:16:40.608Z","uptime":"04:16:40 up 11 days, 19:36, 2 users, load average: 9.29, 8.08, 7.83","TMPDIR":"/mnt/storage/scratch/tmp/tvFfRL","nice":19}
|
||||
{"name":"packages/cli/tests/credentials.test.mjs","event":"end","at":"2026-10-25T09:16:40.608Z","uptime":"04:16:40 up 11 days, 19:36, 2 users, load average: 9.29, 8.08, 7.83","TMPDIR":"/mnt/storage/scratch/tmp/tvFfRL","nice":19,"measuredDriverNice":19,"measuredChildNice":19,"endAt":"2026-10-25T09:16:40.979Z","endUptime":"04:16:40 up 11 days, 19:36, 2 users, load average: 9.29, 8.08, 7.83","rc":0,"signal":null,"timedOut":false,"tests":5,"pass":5,"fail":0,"skipped":0,"cancelled":0,"failedNames":[],"log":{"path":"/mnt/storage/scratch/tmp/cMDOAL/122-packages_cli_tests_credentials.test.mjs.log","sha256":"efb1eb081b8b5ac7e59fd90fb2d1c0545a24aa57171d48df9c12abb8c6b4d00b","bytes":1346}}
|
||||
{"name":"packages/cli/tests/federation-acceptance.test.mjs","event":"start","at":"2026-10-25T09:16:40.982Z","uptime":"04:16:40 up 11 days, 19:36, 2 users, load average: 9.29, 8.08, 7.83","TMPDIR":"/mnt/storage/scratch/tmp/IJP5SZ","nice":19}
|
||||
{"name":"packages/cli/tests/federation-acceptance.test.mjs","event":"end","at":"2026-10-25T09:16:40.982Z","uptime":"04:16:40 up 11 days, 19:36, 2 users, load average: 9.29, 8.08, 7.83","TMPDIR":"/mnt/storage/scratch/tmp/IJP5SZ","nice":19,"measuredDriverNice":19,"measuredChildNice":19,"endAt":"2026-10-25T09:16:41.156Z","endUptime":"04:16:41 up 11 days, 19:36, 2 users, load average: 9.29, 8.08, 7.83","rc":0,"signal":null,"timedOut":false,"tests":1,"pass":0,"fail":0,"skipped":1,"cancelled":0,"failedNames":[],"log":{"path":"/mnt/storage/scratch/tmp/cMDOAL/123-packages_cli_tests_federation-acceptance.test.mjs.log","sha256":"8942a5c08dcc6b753b54a1a3e694a283c8e239313ac84c04935c86b65c87c789","bytes":336}}
|
||||
{"name":"packages/cli/tests/follow.test.mjs","event":"start","at":"2026-10-25T09:16:41.160Z","uptime":"04:16:41 up 11 days, 19:36, 2 users, load average: 9.29, 8.08, 7.83","TMPDIR":"/mnt/storage/scratch/tmp/DmZnAh","nice":19}
|
||||
{"name":"packages/cli/tests/follow.test.mjs","event":"end","at":"2026-10-25T09:16:41.160Z","uptime":"04:16:41 up 11 days, 19:36, 2 users, load average: 9.29, 8.08, 7.83","TMPDIR":"/mnt/storage/scratch/tmp/DmZnAh","nice":19,"measuredDriverNice":19,"measuredChildNice":19,"endAt":"2026-10-25T09:16:42.092Z","endUptime":"04:16:42 up 11 days, 19:36, 2 users, load average: 9.29, 8.08, 7.83","rc":0,"signal":null,"timedOut":false,"tests":6,"pass":6,"fail":0,"skipped":0,"cancelled":0,"failedNames":[],"log":{"path":"/mnt/storage/scratch/tmp/cMDOAL/124-packages_cli_tests_follow.test.mjs.log","sha256":"6e578a3de494eec5ab064b45f64bd9ce552b3fdf00e6813c251f17f93df03fcc","bytes":1396}}
|
||||
{"name":"packages/cli/tests/git-socket.test.mjs","event":"start","at":"2026-10-25T09:16:42.097Z","uptime":"04:16:42 up 11 days, 19:36, 2 users, load average: 9.29, 8.08, 7.83","TMPDIR":"/mnt/storage/scratch/tmp/Vkoc9S","nice":19}
|
||||
{"name":"packages/cli/tests/git-socket.test.mjs","event":"end","at":"2026-10-25T09:16:42.097Z","uptime":"04:16:42 up 11 days, 19:36, 2 users, load average: 9.29, 8.08, 7.83","TMPDIR":"/mnt/storage/scratch/tmp/Vkoc9S","nice":19,"measuredDriverNice":19,"measuredChildNice":19,"endAt":"2026-10-25T09:17:07.152Z","endUptime":"04:17:07 up 11 days, 19:36, 2 users, load average: 9.65, 8.26, 7.90","rc":0,"signal":null,"timedOut":false,"tests":24,"pass":24,"fail":0,"skipped":0,"cancelled":0,"failedNames":[],"log":{"path":"/mnt/storage/scratch/tmp/cMDOAL/125-packages_cli_tests_git-socket.test.mjs.log","sha256":"0e2cff40bd44ba5b0f13d6ad8117f89c2809ab7b512d4d9b8b7f32f64fe04432","bytes":6183}}
|
||||
{"name":"packages/cli/tests/grants-scope.test.mjs","event":"start","at":"2026-10-25T09:17:07.155Z","uptime":"04:17:07 up 11 days, 19:36, 2 users, load average: 9.65, 8.26, 7.90","TMPDIR":"/mnt/storage/scratch/tmp/LtyjKk","nice":19}
|
||||
{"name":"packages/cli/tests/grants-scope.test.mjs","event":"end","at":"2026-10-25T09:17:07.155Z","uptime":"04:17:07 up 11 days, 19:36, 2 users, load average: 9.65, 8.26, 7.90","TMPDIR":"/mnt/storage/scratch/tmp/LtyjKk","nice":19,"measuredDriverNice":19,"measuredChildNice":19,"endAt":"2026-10-25T09:17:07.387Z","endUptime":"04:17:07 up 11 days, 19:36, 2 users, load average: 9.65, 8.26, 7.90","rc":0,"signal":null,"timedOut":false,"tests":4,"pass":4,"fail":0,"skipped":0,"cancelled":0,"failedNames":[],"log":{"path":"/mnt/storage/scratch/tmp/cMDOAL/126-packages_cli_tests_grants-scope.test.mjs.log","sha256":"692f5358172d64b1ed165257943ff8c90d663cae05549bf4a073a5e89a44fa14","bytes":1003}}
|
||||
{"name":"packages/cli/tests/grants.test.mjs","event":"start","at":"2026-10-25T09:17:07.389Z","uptime":"04:17:07 up 11 days, 19:36, 2 users, load average: 9.65, 8.26, 7.90","TMPDIR":"/mnt/storage/scratch/tmp/7lw2pC","nice":19}
|
||||
{"name":"packages/cli/tests/grants.test.mjs","event":"end","at":"2026-10-25T09:17:07.389Z","uptime":"04:17:07 up 11 days, 19:36, 2 users, load average: 9.65, 8.26, 7.90","TMPDIR":"/mnt/storage/scratch/tmp/7lw2pC","nice":19,"measuredDriverNice":19,"measuredChildNice":19,"endAt":"2026-10-25T09:17:07.787Z","endUptime":"04:17:07 up 11 days, 19:36, 2 users, load average: 9.65, 8.26, 7.90","rc":0,"signal":null,"timedOut":false,"tests":6,"pass":6,"fail":0,"skipped":0,"cancelled":0,"failedNames":[],"log":{"path":"/mnt/storage/scratch/tmp/cMDOAL/127-packages_cli_tests_grants.test.mjs.log","sha256":"53321990a57141efbf21f61080932c46da1583a9cdbdd2fd3b04da5ca047d776","bytes":1391}}
|
||||
{"name":"packages/cli/tests/host.test.mjs","event":"start","at":"2026-10-25T09:17:07.790Z","uptime":"04:17:07 up 11 days, 19:36, 2 users, load average: 9.65, 8.26, 7.90","TMPDIR":"/mnt/storage/scratch/tmp/pY5cJE","nice":19}
|
||||
{"name":"packages/cli/tests/host.test.mjs","event":"end","at":"2026-10-25T09:17:07.790Z","uptime":"04:17:07 up 11 days, 19:36, 2 users, load average: 9.65, 8.26, 7.90","TMPDIR":"/mnt/storage/scratch/tmp/pY5cJE","nice":19,"measuredDriverNice":19,"measuredChildNice":19,"endAt":"2026-10-25T09:17:24.006Z","endUptime":"04:17:24 up 11 days, 19:37, 2 users, load average: 9.85, 8.38, 7.95","rc":0,"signal":null,"timedOut":false,"tests":43,"pass":43,"fail":0,"skipped":0,"cancelled":0,"failedNames":[],"log":{"path":"/mnt/storage/scratch/tmp/cMDOAL/128-packages_cli_tests_host.test.mjs.log","sha256":"24b3a53271ac1f6e552b70b324837acc90644f03c4fb3e3ad05fff8a6cecf1b5","bytes":11312}}
|
||||
{"name":"packages/cli/tests/hosts.test.mjs","event":"start","at":"2026-10-25T09:17:24.009Z","uptime":"04:17:24 up 11 days, 19:37, 2 users, load average: 9.85, 8.38, 7.95","TMPDIR":"/mnt/storage/scratch/tmp/VvRFkZ","nice":19}
|
||||
{"name":"packages/cli/tests/hosts.test.mjs","event":"end","at":"2026-10-25T09:17:24.009Z","uptime":"04:17:24 up 11 days, 19:37, 2 users, load average: 9.85, 8.38, 7.95","TMPDIR":"/mnt/storage/scratch/tmp/VvRFkZ","nice":19,"measuredDriverNice":19,"measuredChildNice":19,"endAt":"2026-10-25T09:17:24.391Z","endUptime":"04:17:24 up 11 days, 19:37, 2 users, load average: 9.46, 8.32, 7.93","rc":0,"signal":null,"timedOut":false,"tests":8,"pass":8,"fail":0,"skipped":0,"cancelled":0,"failedNames":[],"log":{"path":"/mnt/storage/scratch/tmp/cMDOAL/129-packages_cli_tests_hosts.test.mjs.log","sha256":"3bc36f0f8786b73c70fa053c3cf44dc3f43e9c123aa1118c4b6c7703aec52289","bytes":1882}}
|
||||
{"name":"packages/cli/tests/idle-stop-race.test.mjs","event":"start","at":"2026-10-25T09:17:24.394Z","uptime":"04:17:24 up 11 days, 19:37, 2 users, load average: 9.46, 8.32, 7.93","TMPDIR":"/mnt/storage/scratch/tmp/F4Fyq2","nice":19}
|
||||
{"name":"packages/cli/tests/idle-stop-race.test.mjs","event":"end","at":"2026-10-25T09:17:24.394Z","uptime":"04:17:24 up 11 days, 19:37, 2 users, load average: 9.46, 8.32, 7.93","TMPDIR":"/mnt/storage/scratch/tmp/F4Fyq2","nice":19,"measuredDriverNice":19,"measuredChildNice":19,"endAt":"2026-10-25T09:17:26.475Z","endUptime":"04:17:26 up 11 days, 19:37, 2 users, load average: 9.46, 8.32, 7.93","rc":0,"signal":null,"timedOut":false,"tests":1,"pass":1,"fail":0,"skipped":0,"cancelled":0,"failedNames":[],"log":{"path":"/mnt/storage/scratch/tmp/cMDOAL/130-packages_cli_tests_idle-stop-race.test.mjs.log","sha256":"0b1bd7561dfcad34cef71bc64d27c4ba7b1ff8b8a8698d227621f410762d097e","bytes":946}}
|
||||
{"name":"packages/cli/tests/instances.test.mjs","event":"start","at":"2026-10-25T09:17:26.479Z","uptime":"04:17:26 up 11 days, 19:37, 2 users, load average: 9.46, 8.32, 7.93","TMPDIR":"/mnt/storage/scratch/tmp/A05V5X","nice":19}
|
||||
{"name":"packages/cli/tests/instances.test.mjs","event":"end","at":"2026-10-25T09:17:26.479Z","uptime":"04:17:26 up 11 days, 19:37, 2 users, load average: 9.46, 8.32, 7.93","TMPDIR":"/mnt/storage/scratch/tmp/A05V5X","nice":19,"measuredDriverNice":19,"measuredChildNice":19,"endAt":"2026-10-25T09:17:30.083Z","endUptime":"04:17:30 up 11 days, 19:37, 2 users, load average: 9.19, 8.28, 7.92","rc":0,"signal":null,"timedOut":false,"tests":15,"pass":15,"fail":0,"skipped":0,"cancelled":0,"failedNames":[],"log":{"path":"/mnt/storage/scratch/tmp/cMDOAL/131-packages_cli_tests_instances.test.mjs.log","sha256":"684880a8db1acd7d293a88f9dc13d8f45e80b44110832248b6fee3a1546245b3","bytes":4693}}
|
||||
{"name":"packages/cli/tests/launch-account.test.mjs","event":"start","at":"2026-10-25T09:17:30.086Z","uptime":"04:17:30 up 11 days, 19:37, 2 users, load average: 9.19, 8.28, 7.92","TMPDIR":"/mnt/storage/scratch/tmp/cg7FAI","nice":19}
|
||||
{"name":"packages/cli/tests/launch-account.test.mjs","event":"end","at":"2026-10-25T09:17:30.086Z","uptime":"04:17:30 up 11 days, 19:37, 2 users, load average: 9.19, 8.28, 7.92","TMPDIR":"/mnt/storage/scratch/tmp/cg7FAI","nice":19,"measuredDriverNice":19,"measuredChildNice":19,"endAt":"2026-10-25T09:17:30.522Z","endUptime":"04:17:30 up 11 days, 19:37, 2 users, load average: 9.19, 8.28, 7.92","rc":0,"signal":null,"timedOut":false,"tests":7,"pass":7,"fail":0,"skipped":0,"cancelled":0,"failedNames":[],"log":{"path":"/mnt/storage/scratch/tmp/cMDOAL/132-packages_cli_tests_launch-account.test.mjs.log","sha256":"51eaa2fd50afa2fab4b3f78a9f92495142083dbbef272eb8e3bac75f812123fa","bytes":2053}}
|
||||
{"name":"packages/cli/tests/launch-limit-checks.test.mjs","event":"start","at":"2026-10-25T09:17:30.525Z","uptime":"04:17:30 up 11 days, 19:37, 2 users, load average: 9.19, 8.28, 7.92","TMPDIR":"/mnt/storage/scratch/tmp/UTonIh","nice":19}
|
||||
{"name":"packages/cli/tests/launch-limit-checks.test.mjs","event":"end","at":"2026-10-25T09:17:30.525Z","uptime":"04:17:30 up 11 days, 19:37, 2 users, load average: 9.19, 8.28, 7.92","TMPDIR":"/mnt/storage/scratch/tmp/UTonIh","nice":19,"measuredDriverNice":19,"measuredChildNice":19,"endAt":"2026-10-25T09:17:30.930Z","endUptime":"04:17:30 up 11 days, 19:37, 2 users, load average: 9.19, 8.28, 7.92","rc":0,"signal":null,"timedOut":false,"tests":5,"pass":5,"fail":0,"skipped":0,"cancelled":0,"failedNames":[],"log":{"path":"/mnt/storage/scratch/tmp/cMDOAL/133-packages_cli_tests_launch-limit-checks.test.mjs.log","sha256":"82e1bf6e98f82f96738c16487214829faa9ba44639aaf12f8b21614227b72150","bytes":1669}}
|
||||
{"name":"packages/cli/tests/launch-limits.test.mjs","event":"start","at":"2026-10-25T09:17:30.934Z","uptime":"04:17:30 up 11 days, 19:37, 2 users, load average: 9.19, 8.28, 7.92","TMPDIR":"/mnt/storage/scratch/tmp/nz5aHd","nice":19}
|
||||
{"name":"packages/cli/tests/launch-limits.test.mjs","event":"end","at":"2026-10-25T09:17:30.934Z","uptime":"04:17:30 up 11 days, 19:37, 2 users, load average: 9.19, 8.28, 7.92","TMPDIR":"/mnt/storage/scratch/tmp/nz5aHd","nice":19,"measuredDriverNice":19,"measuredChildNice":19,"endAt":"2026-10-25T09:17:31.173Z","endUptime":"04:17:31 up 11 days, 19:37, 2 users, load average: 9.19, 8.28, 7.92","rc":0,"signal":null,"timedOut":false,"tests":1,"pass":1,"fail":0,"skipped":0,"cancelled":0,"failedNames":[],"log":{"path":"/mnt/storage/scratch/tmp/cMDOAL/134-packages_cli_tests_launch-limits.test.mjs.log","sha256":"fd456410ad6274ab300c9bc4c097b5ab4c712b6c7f41ae117cae4278af142ec6","bytes":402}}
|
||||
{"name":"packages/cli/tests/launch-routes.test.mjs","event":"start","at":"2026-10-25T09:17:31.176Z","uptime":"04:17:31 up 11 days, 19:37, 2 users, load average: 9.19, 8.28, 7.92","TMPDIR":"/mnt/storage/scratch/tmp/bOik30","nice":19}
|
||||
{"name":"packages/cli/tests/launch-routes.test.mjs","event":"end","at":"2026-10-25T09:17:31.176Z","uptime":"04:17:31 up 11 days, 19:37, 2 users, load average: 9.19, 8.28, 7.92","TMPDIR":"/mnt/storage/scratch/tmp/bOik30","nice":19,"measuredDriverNice":19,"measuredChildNice":19,"endAt":"2026-10-25T09:17:31.889Z","endUptime":"04:17:31 up 11 days, 19:37, 2 users, load average: 9.19, 8.28, 7.92","rc":0,"signal":null,"timedOut":false,"tests":9,"pass":9,"fail":0,"skipped":0,"cancelled":0,"failedNames":[],"log":{"path":"/mnt/storage/scratch/tmp/cMDOAL/135-packages_cli_tests_launch-routes.test.mjs.log","sha256":"94ccf3e1422ea39b429ac535093c32fb433ac87a48598deaa26e08780559fe8a","bytes":2709}}
|
||||
{"name":"packages/cli/tests/launcher.test.mjs","event":"start","at":"2026-10-25T09:17:31.892Z","uptime":"04:17:31 up 11 days, 19:37, 2 users, load average: 9.19, 8.28, 7.92","TMPDIR":"/mnt/storage/scratch/tmp/9FSTIF","nice":19}
|
||||
{"name":"packages/cli/tests/launcher.test.mjs","event":"end","at":"2026-10-25T09:17:31.892Z","uptime":"04:17:31 up 11 days, 19:37, 2 users, load average: 9.19, 8.28, 7.92","TMPDIR":"/mnt/storage/scratch/tmp/9FSTIF","nice":19,"measuredDriverNice":19,"measuredChildNice":19,"endAt":"2026-10-25T09:18:09.228Z","endUptime":"04:18:09 up 11 days, 19:37, 2 users, load average: 8.75, 8.27, 7.93","rc":0,"signal":null,"timedOut":false,"tests":34,"pass":34,"fail":0,"skipped":0,"cancelled":0,"failedNames":[],"log":{"path":"/mnt/storage/scratch/tmp/cMDOAL/136-packages_cli_tests_launcher.test.mjs.log","sha256":"cd677b19c23f43a94210ceca35f97b496c045fb2fb31296d006c9b1b8296ed2e","bytes":13118}}
|
||||
{"name":"packages/cli/tests/lifecycle.test.mjs","event":"start","at":"2026-10-25T09:18:09.231Z","uptime":"04:18:09 up 11 days, 19:37, 2 users, load average: 8.75, 8.27, 7.93","TMPDIR":"/mnt/storage/scratch/tmp/anHlSx","nice":19}
|
||||
{"name":"packages/cli/tests/lifecycle.test.mjs","event":"end","at":"2026-10-25T09:18:09.231Z","uptime":"04:18:09 up 11 days, 19:37, 2 users, load average: 8.75, 8.27, 7.93","TMPDIR":"/mnt/storage/scratch/tmp/anHlSx","nice":19,"measuredDriverNice":19,"measuredChildNice":19,"endAt":"2026-10-25T09:18:25.490Z","endUptime":"04:18:25 up 11 days, 19:38, 2 users, load average: 7.91, 8.11, 7.88","rc":0,"signal":null,"timedOut":false,"tests":24,"pass":24,"fail":0,"skipped":0,"cancelled":0,"failedNames":[],"log":{"path":"/mnt/storage/scratch/tmp/cMDOAL/137-packages_cli_tests_lifecycle.test.mjs.log","sha256":"84cafc591b2f305d6254231e1fa476662602063ee11048ab98406003688f448a","bytes":9150}}
|
||||
{"name":"packages/cli/tests/limits-tokens.test.mjs","event":"start","at":"2026-10-25T09:18:25.493Z","uptime":"04:18:25 up 11 days, 19:38, 2 users, load average: 7.91, 8.11, 7.88","TMPDIR":"/mnt/storage/scratch/tmp/i792Fo","nice":19}
|
||||
{"name":"packages/cli/tests/limits-tokens.test.mjs","event":"end","at":"2026-10-25T09:18:25.493Z","uptime":"04:18:25 up 11 days, 19:38, 2 users, load average: 7.91, 8.11, 7.88","TMPDIR":"/mnt/storage/scratch/tmp/i792Fo","nice":19,"measuredDriverNice":19,"measuredChildNice":19,"endAt":"2026-10-25T09:18:25.745Z","endUptime":"04:18:25 up 11 days, 19:38, 2 users, load average: 7.91, 8.11, 7.88","rc":0,"signal":null,"timedOut":false,"tests":5,"pass":5,"fail":0,"skipped":0,"cancelled":0,"failedNames":[],"log":{"path":"/mnt/storage/scratch/tmp/cMDOAL/138-packages_cli_tests_limits-tokens.test.mjs.log","sha256":"b014457f7aab68eb1b7e0c3f3c6fa8d66a4944969a019b5cea0a86f5729cad1d","bytes":1477}}
|
||||
{"name":"packages/cli/tests/limits.test.mjs","event":"start","at":"2026-10-25T09:18:25.748Z","uptime":"04:18:25 up 11 days, 19:38, 2 users, load average: 7.91, 8.11, 7.88","TMPDIR":"/mnt/storage/scratch/tmp/UR1TR3","nice":19}
|
||||
{"name":"packages/cli/tests/limits.test.mjs","event":"end","at":"2026-10-25T09:18:25.748Z","uptime":"04:18:25 up 11 days, 19:38, 2 users, load average: 7.91, 8.11, 7.88","TMPDIR":"/mnt/storage/scratch/tmp/UR1TR3","nice":19,"measuredDriverNice":19,"measuredChildNice":19,"endAt":"2026-10-25T09:18:26.237Z","endUptime":"04:18:26 up 11 days, 19:38, 2 users, load average: 7.91, 8.11, 7.88","rc":0,"signal":null,"timedOut":false,"tests":5,"pass":5,"fail":0,"skipped":0,"cancelled":0,"failedNames":[],"log":{"path":"/mnt/storage/scratch/tmp/cMDOAL/139-packages_cli_tests_limits.test.mjs.log","sha256":"8a61b8d42f29dfbde42dd4da203c94350ab5a0edf5e36067ca491077f9b1dd15","bytes":1402}}
|
||||
{"name":"packages/cli/tests/mark-read.test.mjs","event":"start","at":"2026-10-25T09:18:26.239Z","uptime":"04:18:26 up 11 days, 19:38, 2 users, load average: 7.91, 8.11, 7.88","TMPDIR":"/mnt/storage/scratch/tmp/ga71sX","nice":19}
|
||||
{"name":"packages/cli/tests/mark-read.test.mjs","event":"end","at":"2026-10-25T09:18:26.239Z","uptime":"04:18:26 up 11 days, 19:38, 2 users, load average: 7.91, 8.11, 7.88","TMPDIR":"/mnt/storage/scratch/tmp/ga71sX","nice":19,"measuredDriverNice":19,"measuredChildNice":19,"endAt":"2026-10-25T09:18:27.493Z","endUptime":"04:18:27 up 11 days, 19:38, 2 users, load average: 7.91, 8.11, 7.88","rc":0,"signal":null,"timedOut":false,"tests":6,"pass":6,"fail":0,"skipped":0,"cancelled":0,"failedNames":[],"log":{"path":"/mnt/storage/scratch/tmp/cMDOAL/140-packages_cli_tests_mark-read.test.mjs.log","sha256":"13b7ec75170a129dbeb112662a12a5f0700a6c9ed1c3e777605c218bdf92608e","bytes":1679}}
|
||||
{"name":"packages/cli/tests/model-proxy-guards.test.mjs","event":"start","at":"2026-10-25T09:18:27.496Z","uptime":"04:18:27 up 11 days, 19:38, 2 users, load average: 7.91, 8.11, 7.88","TMPDIR":"/mnt/storage/scratch/tmp/gNSvmO","nice":19}
|
||||
{"name":"packages/cli/tests/model-proxy-guards.test.mjs","event":"end","at":"2026-10-25T09:18:27.496Z","uptime":"04:18:27 up 11 days, 19:38, 2 users, load average: 7.91, 8.11, 7.88","TMPDIR":"/mnt/storage/scratch/tmp/gNSvmO","nice":19,"measuredDriverNice":19,"measuredChildNice":19,"endAt":"2026-10-25T09:18:27.699Z","endUptime":"04:18:27 up 11 days, 19:38, 2 users, load average: 7.91, 8.11, 7.88","rc":0,"signal":null,"timedOut":false,"tests":10,"pass":10,"fail":0,"skipped":0,"cancelled":0,"failedNames":[],"log":{"path":"/mnt/storage/scratch/tmp/cMDOAL/141-packages_cli_tests_model-proxy-guards.test.mjs.log","sha256":"e101bd959641f44bdae27dc66e1b62fee43ddcfe7531aeb57ed5f1e070bebf52","bytes":2193}}
|
||||
{"name":"packages/cli/tests/model-proxy.test.mjs","event":"start","at":"2026-10-25T09:18:27.702Z","uptime":"04:18:27 up 11 days, 19:38, 2 users, load average: 7.91, 8.11, 7.88","TMPDIR":"/mnt/storage/scratch/tmp/CQqFUR","nice":19}
|
||||
{"name":"packages/cli/tests/model-proxy.test.mjs","event":"end","at":"2026-10-25T09:18:27.702Z","uptime":"04:18:27 up 11 days, 19:38, 2 users, load average: 7.91, 8.11, 7.88","TMPDIR":"/mnt/storage/scratch/tmp/CQqFUR","nice":19,"measuredDriverNice":19,"measuredChildNice":19,"endAt":"2026-10-25T09:18:27.949Z","endUptime":"04:18:27 up 11 days, 19:38, 2 users, load average: 7.91, 8.11, 7.88","rc":0,"signal":null,"timedOut":false,"tests":9,"pass":9,"fail":0,"skipped":0,"cancelled":0,"failedNames":[],"log":{"path":"/mnt/storage/scratch/tmp/cMDOAL/142-packages_cli_tests_model-proxy.test.mjs.log","sha256":"b74bad531dff5f8f514fa711a3fa7961edf25839b71cee9c929a959ed12c3ca9","bytes":1874}}
|
||||
{"name":"packages/cli/tests/model-stall.test.mjs","event":"start","at":"2026-10-25T09:18:27.952Z","uptime":"04:18:27 up 11 days, 19:38, 2 users, load average: 7.91, 8.11, 7.88","TMPDIR":"/mnt/storage/scratch/tmp/dRLELm","nice":19}
|
||||
{"name":"packages/cli/tests/model-stall.test.mjs","event":"end","at":"2026-10-25T09:18:27.952Z","uptime":"04:18:27 up 11 days, 19:38, 2 users, load average: 7.91, 8.11, 7.88","TMPDIR":"/mnt/storage/scratch/tmp/dRLELm","nice":19,"measuredDriverNice":19,"measuredChildNice":19,"endAt":"2026-10-25T09:18:28.102Z","endUptime":"04:18:28 up 11 days, 19:38, 2 users, load average: 7.91, 8.11, 7.88","rc":0,"signal":null,"timedOut":false,"tests":4,"pass":4,"fail":0,"skipped":0,"cancelled":0,"failedNames":[],"log":{"path":"/mnt/storage/scratch/tmp/cMDOAL/143-packages_cli_tests_model-stall.test.mjs.log","sha256":"1bf6b17ea7bcd3203de65453e97d13d1125fd5ef7caaae29995c923765b7ecec","bytes":1006}}
|
||||
{"name":"packages/cli/tests/names.test.mjs","event":"start","at":"2026-10-25T09:18:28.105Z","uptime":"04:18:28 up 11 days, 19:38, 2 users, load average: 7.91, 8.11, 7.88","TMPDIR":"/mnt/storage/scratch/tmp/w3CRd5","nice":19}
|
||||
{"name":"packages/cli/tests/names.test.mjs","event":"end","at":"2026-10-25T09:18:28.105Z","uptime":"04:18:28 up 11 days, 19:38, 2 users, load average: 7.91, 8.11, 7.88","TMPDIR":"/mnt/storage/scratch/tmp/w3CRd5","nice":19,"measuredDriverNice":19,"measuredChildNice":19,"endAt":"2026-10-25T09:18:28.374Z","endUptime":"04:18:28 up 11 days, 19:38, 2 users, load average: 7.91, 8.11, 7.88","rc":0,"signal":null,"timedOut":false,"tests":2,"pass":2,"fail":0,"skipped":0,"cancelled":0,"failedNames":[],"log":{"path":"/mnt/storage/scratch/tmp/cMDOAL/144-packages_cli_tests_names.test.mjs.log","sha256":"a50e56c8f3b28caa7527cf5ff37ecdb7c68ac10f5e9a2558f5c55ef18d1897be","bytes":589}}
|
||||
{"name":"packages/cli/tests/notifier.test.mjs","event":"start","at":"2026-10-25T09:18:28.377Z","uptime":"04:18:28 up 11 days, 19:38, 2 users, load average: 7.91, 8.11, 7.88","TMPDIR":"/mnt/storage/scratch/tmp/Ztc8ti","nice":19}
|
||||
{"name":"packages/cli/tests/notifier.test.mjs","event":"end","at":"2026-10-25T09:18:28.377Z","uptime":"04:18:28 up 11 days, 19:38, 2 users, load average: 7.91, 8.11, 7.88","TMPDIR":"/mnt/storage/scratch/tmp/Ztc8ti","nice":19,"measuredDriverNice":19,"measuredChildNice":19,"endAt":"2026-10-25T09:18:29.266Z","endUptime":"04:18:29 up 11 days, 19:38, 2 users, load average: 7.44, 8.00, 7.85","rc":0,"signal":null,"timedOut":false,"tests":27,"pass":27,"fail":0,"skipped":0,"cancelled":0,"failedNames":[],"log":{"path":"/mnt/storage/scratch/tmp/cMDOAL/145-packages_cli_tests_notifier.test.mjs.log","sha256":"faa684ffde018abadadbbc28d39015de01db6c99b417502779e1f28fba7d0fd1","bytes":6371}}
|
||||
{"name":"packages/cli/tests/optional-tracker.test.mjs","event":"start","at":"2026-10-25T09:18:29.269Z","uptime":"04:18:29 up 11 days, 19:38, 2 users, load average: 7.44, 8.00, 7.85","TMPDIR":"/mnt/storage/scratch/tmp/hlMXir","nice":19}
|
||||
{"name":"packages/cli/tests/optional-tracker.test.mjs","event":"end","at":"2026-10-25T09:18:29.269Z","uptime":"04:18:29 up 11 days, 19:38, 2 users, load average: 7.44, 8.00, 7.85","TMPDIR":"/mnt/storage/scratch/tmp/hlMXir","nice":19,"measuredDriverNice":19,"measuredChildNice":19,"endAt":"2026-10-25T09:18:29.644Z","endUptime":"04:18:29 up 11 days, 19:38, 2 users, load average: 7.44, 8.00, 7.85","rc":0,"signal":null,"timedOut":false,"tests":4,"pass":4,"fail":0,"skipped":0,"cancelled":0,"failedNames":[],"log":{"path":"/mnt/storage/scratch/tmp/cMDOAL/146-packages_cli_tests_optional-tracker.test.mjs.log","sha256":"3c4fe466bc9c15c714249706458464d004a09d79aa9d8f046cd8f74d70ebb960","bytes":1028}}
|
||||
{"name":"packages/cli/tests/other-tree.test.mjs","event":"start","at":"2026-10-25T09:18:29.647Z","uptime":"04:18:29 up 11 days, 19:38, 2 users, load average: 7.44, 8.00, 7.85","TMPDIR":"/mnt/storage/scratch/tmp/s0RJVR","nice":19}
|
||||
{"name":"packages/cli/tests/other-tree.test.mjs","event":"end","at":"2026-10-25T09:18:29.647Z","uptime":"04:18:29 up 11 days, 19:38, 2 users, load average: 7.44, 8.00, 7.85","TMPDIR":"/mnt/storage/scratch/tmp/s0RJVR","nice":19,"measuredDriverNice":19,"measuredChildNice":19,"endAt":"2026-10-25T09:18:29.892Z","endUptime":"04:18:29 up 11 days, 19:38, 2 users, load average: 7.44, 8.00, 7.85","rc":0,"signal":null,"timedOut":false,"tests":4,"pass":4,"fail":0,"skipped":0,"cancelled":0,"failedNames":[],"log":{"path":"/mnt/storage/scratch/tmp/cMDOAL/147-packages_cli_tests_other-tree.test.mjs.log","sha256":"3065952f7a564541b8785a25e9c07e504e92748766c8f73903047850669b169a","bytes":897}}
|
||||
{"name":"packages/cli/tests/processing-cli.test.mjs","event":"start","at":"2026-10-25T09:18:29.903Z","uptime":"04:18:29 up 11 days, 19:38, 2 users, load average: 7.44, 8.00, 7.85","TMPDIR":"/mnt/storage/scratch/tmp/ryxn7a","nice":19}
|
||||
{"name":"packages/cli/tests/processing-cli.test.mjs","event":"end","at":"2026-10-25T09:18:29.903Z","uptime":"04:18:29 up 11 days, 19:38, 2 users, load average: 7.44, 8.00, 7.85","TMPDIR":"/mnt/storage/scratch/tmp/ryxn7a","nice":19,"measuredDriverNice":19,"measuredChildNice":19,"endAt":"2026-10-25T09:18:30.202Z","endUptime":"04:18:30 up 11 days, 19:38, 2 users, load average: 7.44, 8.00, 7.85","rc":0,"signal":null,"timedOut":false,"tests":4,"pass":4,"fail":0,"skipped":0,"cancelled":0,"failedNames":[],"log":{"path":"/mnt/storage/scratch/tmp/cMDOAL/148-packages_cli_tests_processing-cli.test.mjs.log","sha256":"cbfbd4785859c71d056633837fe8bffae2dc1da0298f0abd196b4ff839d0e907","bytes":925}}
|
||||
{"name":"packages/cli/tests/project-name-repo.test.mjs","event":"start","at":"2026-10-25T09:18:30.206Z","uptime":"04:18:30 up 11 days, 19:38, 2 users, load average: 7.44, 8.00, 7.85","TMPDIR":"/mnt/storage/scratch/tmp/QKtq6D","nice":19}
|
||||
{"name":"packages/cli/tests/project-name-repo.test.mjs","event":"end","at":"2026-10-25T09:18:30.206Z","uptime":"04:18:30 up 11 days, 19:38, 2 users, load average: 7.44, 8.00, 7.85","TMPDIR":"/mnt/storage/scratch/tmp/QKtq6D","nice":19,"measuredDriverNice":19,"measuredChildNice":19,"endAt":"2026-10-25T09:18:30.533Z","endUptime":"04:18:30 up 11 days, 19:38, 2 users, load average: 7.44, 8.00, 7.85","rc":0,"signal":null,"timedOut":false,"tests":2,"pass":2,"fail":0,"skipped":0,"cancelled":0,"failedNames":[],"log":{"path":"/mnt/storage/scratch/tmp/cMDOAL/149-packages_cli_tests_project-name-repo.test.mjs.log","sha256":"b03b6506ef2d22748ce3eb705e6b7f3f8652c510e94ad8f6e1b43c9db75bd591","bytes":635}}
|
||||
{"name":"packages/cli/tests/project.test.mjs","event":"start","at":"2026-10-25T09:18:30.536Z","uptime":"04:18:30 up 11 days, 19:38, 2 users, load average: 7.44, 8.00, 7.85","TMPDIR":"/mnt/storage/scratch/tmp/K8hhHa","nice":19}
|
||||
{"name":"packages/cli/tests/project.test.mjs","event":"end","at":"2026-10-25T09:18:30.536Z","uptime":"04:18:30 up 11 days, 19:38, 2 users, load average: 7.44, 8.00, 7.85","TMPDIR":"/mnt/storage/scratch/tmp/K8hhHa","nice":19,"measuredDriverNice":19,"measuredChildNice":19,"endAt":"2026-10-25T09:18:31.186Z","endUptime":"04:18:31 up 11 days, 19:38, 2 users, load average: 7.44, 8.00, 7.85","rc":0,"signal":null,"timedOut":false,"tests":4,"pass":4,"fail":0,"skipped":0,"cancelled":0,"failedNames":[],"log":{"path":"/mnt/storage/scratch/tmp/cMDOAL/150-packages_cli_tests_project.test.mjs.log","sha256":"914996f63bbf7e76a553bb0021784a828618a3c33b1a8026e718fea1104955a4","bytes":940}}
|
||||
{"name":"packages/cli/tests/publish-socket.test.mjs","event":"start","at":"2026-10-25T09:18:31.189Z","uptime":"04:18:31 up 11 days, 19:38, 2 users, load average: 7.44, 8.00, 7.85","TMPDIR":"/mnt/storage/scratch/tmp/yvJPgH","nice":19}
|
||||
{"name":"packages/cli/tests/publish-socket.test.mjs","event":"end","at":"2026-10-25T09:18:31.189Z","uptime":"04:18:31 up 11 days, 19:38, 2 users, load average: 7.44, 8.00, 7.85","TMPDIR":"/mnt/storage/scratch/tmp/yvJPgH","nice":19,"measuredDriverNice":19,"measuredChildNice":19,"endAt":"2026-10-25T09:18:38.883Z","endUptime":"04:18:38 up 11 days, 19:38, 2 users, load average: 7.33, 7.97, 7.84","rc":0,"signal":null,"timedOut":false,"tests":9,"pass":9,"fail":0,"skipped":0,"cancelled":0,"failedNames":[],"log":{"path":"/mnt/storage/scratch/tmp/cMDOAL/151-packages_cli_tests_publish-socket.test.mjs.log","sha256":"7fd998cdb1e0e89e446a584d34d5ce958241f68b1643c327275b4fb50e1cbf20","bytes":2903}}
|
||||
{"name":"packages/cli/tests/reply-limits.test.mjs","event":"start","at":"2026-10-25T09:18:38.886Z","uptime":"04:18:38 up 11 days, 19:38, 2 users, load average: 7.33, 7.97, 7.84","TMPDIR":"/mnt/storage/scratch/tmp/NcLyoz","nice":19}
|
||||
{"name":"packages/cli/tests/reply-limits.test.mjs","event":"end","at":"2026-10-25T09:18:38.886Z","uptime":"04:18:38 up 11 days, 19:38, 2 users, load average: 7.33, 7.97, 7.84","TMPDIR":"/mnt/storage/scratch/tmp/NcLyoz","nice":19,"measuredDriverNice":19,"measuredChildNice":19,"endAt":"2026-10-25T09:18:39.049Z","endUptime":"04:18:39 up 11 days, 19:38, 2 users, load average: 7.33, 7.97, 7.84","rc":0,"signal":null,"timedOut":false,"tests":2,"pass":2,"fail":0,"skipped":0,"cancelled":0,"failedNames":[],"log":{"path":"/mnt/storage/scratch/tmp/cMDOAL/152-packages_cli_tests_reply-limits.test.mjs.log","sha256":"e5598cdfe85ee6c1f49747a1bb722ce4ef10577a5e220ce0d450f37b5096ef7d","bytes":601}}
|
||||
{"name":"packages/cli/tests/revoke-window.test.mjs","event":"start","at":"2026-10-25T09:18:39.052Z","uptime":"04:18:39 up 11 days, 19:38, 2 users, load average: 7.33, 7.97, 7.84","TMPDIR":"/mnt/storage/scratch/tmp/iYB2AF","nice":19}
|
||||
{"name":"packages/cli/tests/revoke-window.test.mjs","event":"end","at":"2026-10-25T09:18:39.052Z","uptime":"04:18:39 up 11 days, 19:38, 2 users, load average: 7.33, 7.97, 7.84","TMPDIR":"/mnt/storage/scratch/tmp/iYB2AF","nice":19,"measuredDriverNice":19,"measuredChildNice":19,"endAt":"2026-10-25T09:18:40.193Z","endUptime":"04:18:40 up 11 days, 19:38, 2 users, load average: 7.14, 7.92, 7.82","rc":0,"signal":null,"timedOut":false,"tests":1,"pass":1,"fail":0,"skipped":0,"cancelled":0,"failedNames":[],"log":{"path":"/mnt/storage/scratch/tmp/cMDOAL/153-packages_cli_tests_revoke-window.test.mjs.log","sha256":"d703c601d900bf3dfe89d885958dc0f07b41baa2f89279173437c4afed946e6c","bytes":912}}
|
||||
{"name":"packages/cli/tests/session-clear.test.mjs","event":"start","at":"2026-10-25T09:18:40.195Z","uptime":"04:18:40 up 11 days, 19:38, 2 users, load average: 7.14, 7.92, 7.82","TMPDIR":"/mnt/storage/scratch/tmp/pO1Z2N","nice":19}
|
||||
{"name":"packages/cli/tests/session-clear.test.mjs","event":"end","at":"2026-10-25T09:18:40.195Z","uptime":"04:18:40 up 11 days, 19:38, 2 users, load average: 7.14, 7.92, 7.82","TMPDIR":"/mnt/storage/scratch/tmp/pO1Z2N","nice":19,"measuredDriverNice":19,"measuredChildNice":19,"endAt":"2026-10-25T09:18:52.321Z","endUptime":"04:18:52 up 11 days, 19:38, 2 users, load average: 6.88, 7.84, 7.80","rc":0,"signal":null,"timedOut":false,"tests":5,"pass":5,"fail":0,"skipped":0,"cancelled":0,"failedNames":[],"log":{"path":"/mnt/storage/scratch/tmp/cMDOAL/154-packages_cli_tests_session-clear.test.mjs.log","sha256":"a6d60e4645c2e72d833dfd1f1330263f8c3ddce5d458babf11d5f81a04297dc6","bytes":2944}}
|
||||
{"name":"packages/cli/tests/session-cli.test.mjs","event":"start","at":"2026-10-25T09:18:52.325Z","uptime":"04:18:52 up 11 days, 19:38, 2 users, load average: 6.88, 7.84, 7.80","TMPDIR":"/mnt/storage/scratch/tmp/3E6GMK","nice":19}
|
||||
{"name":"packages/cli/tests/session-cli.test.mjs","event":"end","at":"2026-10-25T09:18:52.325Z","uptime":"04:18:52 up 11 days, 19:38, 2 users, load average: 6.88, 7.84, 7.80","TMPDIR":"/mnt/storage/scratch/tmp/3E6GMK","nice":19,"measuredDriverNice":19,"measuredChildNice":19,"endAt":"2026-10-25T09:18:52.615Z","endUptime":"04:18:52 up 11 days, 19:38, 2 users, load average: 6.88, 7.84, 7.80","rc":0,"signal":null,"timedOut":false,"tests":14,"pass":14,"fail":0,"skipped":0,"cancelled":0,"failedNames":[],"log":{"path":"/mnt/storage/scratch/tmp/cMDOAL/155-packages_cli_tests_session-cli.test.mjs.log","sha256":"08200eaf4d52d99c27be45b72eefd854eb69aaecda0201619c08e58f7a93afce","bytes":3367}}
|
||||
{"name":"packages/cli/tests/session-launch.test.mjs","event":"start","at":"2026-10-25T09:18:52.618Z","uptime":"04:18:52 up 11 days, 19:38, 2 users, load average: 6.88, 7.84, 7.80","TMPDIR":"/mnt/storage/scratch/tmp/rrjbmG","nice":19}
|
||||
{"name":"packages/cli/tests/session-launch.test.mjs","event":"end","at":"2026-10-25T09:18:52.618Z","uptime":"04:18:52 up 11 days, 19:38, 2 users, load average: 6.88, 7.84, 7.80","TMPDIR":"/mnt/storage/scratch/tmp/rrjbmG","nice":19,"measuredDriverNice":19,"measuredChildNice":19,"endAt":"2026-10-25T09:19:04.288Z","endUptime":"04:19:04 up 11 days, 19:38, 2 users, load average: 6.73, 7.75, 7.77","rc":0,"signal":null,"timedOut":false,"tests":8,"pass":8,"fail":0,"skipped":0,"cancelled":0,"failedNames":[],"log":{"path":"/mnt/storage/scratch/tmp/cMDOAL/156-packages_cli_tests_session-launch.test.mjs.log","sha256":"d7b9d39e81b7835fba3033835e42a28819ac3dff39a0aba7c0ed826485756d68","bytes":4201}}
|
||||
{"name":"packages/cli/tests/stack-copy.test.mjs","event":"start","at":"2026-10-25T09:19:04.291Z","uptime":"04:19:04 up 11 days, 19:38, 2 users, load average: 6.73, 7.75, 7.77","TMPDIR":"/mnt/storage/scratch/tmp/A8bNE3","nice":19}
|
||||
{"name":"packages/cli/tests/stack-copy.test.mjs","event":"end","at":"2026-10-25T09:19:04.291Z","uptime":"04:19:04 up 11 days, 19:38, 2 users, load average: 6.73, 7.75, 7.77","TMPDIR":"/mnt/storage/scratch/tmp/A8bNE3","nice":19,"measuredDriverNice":19,"measuredChildNice":19,"endAt":"2026-10-25T09:19:31.997Z","endUptime":"04:19:31 up 11 days, 19:39, 2 users, load average: 7.93, 7.99, 7.85","rc":0,"signal":null,"timedOut":false,"tests":18,"pass":18,"fail":0,"skipped":0,"cancelled":0,"failedNames":[],"log":{"path":"/mnt/storage/scratch/tmp/cMDOAL/157-packages_cli_tests_stack-copy.test.mjs.log","sha256":"76cead0157ce0ca1a365a01471ff3626a3c61e63be6f1ee9f09dbb8132926bda","bytes":4637}}
|
||||
{"name":"packages/cli/tests/stack-instances.test.mjs","event":"start","at":"2026-10-25T09:19:32.001Z","uptime":"04:19:32 up 11 days, 19:39, 2 users, load average: 7.93, 7.99, 7.85","TMPDIR":"/mnt/storage/scratch/tmp/FPRI4W","nice":19}
|
||||
{"name":"packages/cli/tests/stack-instances.test.mjs","event":"end","at":"2026-10-25T09:19:32.001Z","uptime":"04:19:32 up 11 days, 19:39, 2 users, load average: 7.93, 7.99, 7.85","TMPDIR":"/mnt/storage/scratch/tmp/FPRI4W","nice":19,"measuredDriverNice":19,"measuredChildNice":19,"endAt":"2026-10-25T09:19:37.298Z","endUptime":"04:19:37 up 11 days, 19:39, 2 users, load average: 7.70, 7.94, 7.83","rc":0,"signal":null,"timedOut":false,"tests":24,"pass":24,"fail":0,"skipped":0,"cancelled":0,"failedNames":[],"log":{"path":"/mnt/storage/scratch/tmp/cMDOAL/158-packages_cli_tests_stack-instances.test.mjs.log","sha256":"28c653c4f3bfdbb55d8c62aff60a74ff471ccd8255ad872f67b2155792251b7c","bytes":6431}}
|
||||
{"name":"packages/cli/tests/tester-http.test.mjs","event":"start","at":"2026-10-25T09:19:37.301Z","uptime":"04:19:37 up 11 days, 19:39, 2 users, load average: 7.70, 7.94, 7.83","TMPDIR":"/mnt/storage/scratch/tmp/zUDKDz","nice":19}
|
||||
{"name":"packages/cli/tests/tester-http.test.mjs","event":"end","at":"2026-10-25T09:19:37.301Z","uptime":"04:19:37 up 11 days, 19:39, 2 users, load average: 7.70, 7.94, 7.83","TMPDIR":"/mnt/storage/scratch/tmp/zUDKDz","nice":19,"measuredDriverNice":19,"measuredChildNice":19,"endAt":"2026-10-25T09:19:37.479Z","endUptime":"04:19:37 up 11 days, 19:39, 2 users, load average: 7.70, 7.94, 7.83","rc":0,"signal":null,"timedOut":false,"tests":2,"pass":2,"fail":0,"skipped":0,"cancelled":0,"failedNames":[],"log":{"path":"/mnt/storage/scratch/tmp/cMDOAL/159-packages_cli_tests_tester-http.test.mjs.log","sha256":"d188a69984322b3df4a6cde0281b63ba71b8accad2baef53b48c94e84f6415cc","bytes":559}}
|
||||
{"name":"packages/cli/tests/tester-reads.test.mjs","event":"start","at":"2026-10-25T09:19:37.482Z","uptime":"04:19:37 up 11 days, 19:39, 2 users, load average: 7.70, 7.94, 7.83","TMPDIR":"/mnt/storage/scratch/tmp/Ffby1t","nice":19}
|
||||
{"name":"packages/cli/tests/tester-reads.test.mjs","event":"end","at":"2026-10-25T09:19:37.482Z","uptime":"04:19:37 up 11 days, 19:39, 2 users, load average: 7.70, 7.94, 7.83","TMPDIR":"/mnt/storage/scratch/tmp/Ffby1t","nice":19,"measuredDriverNice":19,"measuredChildNice":19,"endAt":"2026-10-25T09:19:41.201Z","endUptime":"04:19:41 up 11 days, 19:39, 2 users, load average: 7.72, 7.94, 7.84","rc":0,"signal":null,"timedOut":false,"tests":6,"pass":6,"fail":0,"skipped":0,"cancelled":0,"failedNames":[],"log":{"path":"/mnt/storage/scratch/tmp/cMDOAL/160-packages_cli_tests_tester-reads.test.mjs.log","sha256":"3e00a8d257c75c1aed1026f7d8d0295bea76084fea027072503b5738a89d6ce3","bytes":1900}}
|
||||
{"name":"packages/cli/tests/tester-threads.test.mjs","event":"start","at":"2026-10-25T09:19:41.204Z","uptime":"04:19:41 up 11 days, 19:39, 2 users, load average: 7.72, 7.94, 7.84","TMPDIR":"/mnt/storage/scratch/tmp/3R9ijX","nice":19}
|
||||
{"name":"packages/cli/tests/tester-threads.test.mjs","event":"end","at":"2026-10-25T09:19:41.204Z","uptime":"04:19:41 up 11 days, 19:39, 2 users, load average: 7.72, 7.94, 7.84","TMPDIR":"/mnt/storage/scratch/tmp/3R9ijX","nice":19,"measuredDriverNice":19,"measuredChildNice":19,"endAt":"2026-10-25T09:19:45.952Z","endUptime":"04:19:45 up 11 days, 19:39, 2 users, load average: 7.58, 7.91, 7.83","rc":0,"signal":null,"timedOut":false,"tests":5,"pass":5,"fail":0,"skipped":0,"cancelled":0,"failedNames":[],"log":{"path":"/mnt/storage/scratch/tmp/cMDOAL/161-packages_cli_tests_tester-threads.test.mjs.log","sha256":"521011817407d4f80d4a5b01fcc797bafd684f3a1621b8c2b86db4334fdb4c64","bytes":1649}}
|
||||
{"name":"packages/cli/tests/tester.test.mjs","event":"start","at":"2026-10-25T09:19:45.955Z","uptime":"04:19:45 up 11 days, 19:39, 2 users, load average: 7.58, 7.91, 7.83","TMPDIR":"/mnt/storage/scratch/tmp/e5tJn1","nice":19}
|
||||
{"name":"packages/cli/tests/tester.test.mjs","event":"end","at":"2026-10-25T09:19:45.955Z","uptime":"04:19:45 up 11 days, 19:39, 2 users, load average: 7.58, 7.91, 7.83","TMPDIR":"/mnt/storage/scratch/tmp/e5tJn1","nice":19,"measuredDriverNice":19,"measuredChildNice":19,"endAt":"2026-10-25T09:19:46.394Z","endUptime":"04:19:46 up 11 days, 19:39, 2 users, load average: 7.58, 7.91, 7.83","rc":0,"signal":null,"timedOut":false,"tests":11,"pass":11,"fail":0,"skipped":0,"cancelled":0,"failedNames":[],"log":{"path":"/mnt/storage/scratch/tmp/cMDOAL/162-packages_cli_tests_tester.test.mjs.log","sha256":"b5ee17a3a2a54210bea5308758fbd68b367ecf659f2789496041687d39874368","bytes":2615}}
|
||||
{"name":"packages/cli/tests/thread-cli.test.mjs","event":"start","at":"2026-10-25T09:19:46.397Z","uptime":"04:19:46 up 11 days, 19:39, 2 users, load average: 7.58, 7.91, 7.83","TMPDIR":"/mnt/storage/scratch/tmp/X90LOQ","nice":19}
|
||||
{"name":"packages/cli/tests/thread-cli.test.mjs","event":"end","at":"2026-10-25T09:19:46.397Z","uptime":"04:19:46 up 11 days, 19:39, 2 users, load average: 7.58, 7.91, 7.83","TMPDIR":"/mnt/storage/scratch/tmp/X90LOQ","nice":19,"measuredDriverNice":19,"measuredChildNice":19,"endAt":"2026-10-25T09:19:48.486Z","endUptime":"04:19:48 up 11 days, 19:39, 2 users, load average: 7.58, 7.91, 7.83","rc":0,"signal":null,"timedOut":false,"tests":11,"pass":11,"fail":0,"skipped":0,"cancelled":0,"failedNames":[],"log":{"path":"/mnt/storage/scratch/tmp/cMDOAL/163-packages_cli_tests_thread-cli.test.mjs.log","sha256":"863814327201a1613fcb124ce7c90b38ed36af43eec222994bbb660585918923","bytes":2868}}
|
||||
{"name":"packages/cli/tests/thread-launch.test.mjs","event":"start","at":"2026-10-25T09:19:48.489Z","uptime":"04:19:48 up 11 days, 19:39, 2 users, load average: 7.58, 7.91, 7.83","TMPDIR":"/mnt/storage/scratch/tmp/xlEGH4","nice":19}
|
||||
{"name":"packages/cli/tests/thread-launch.test.mjs","event":"end","at":"2026-10-25T09:19:48.489Z","uptime":"04:19:48 up 11 days, 19:39, 2 users, load average: 7.58, 7.91, 7.83","TMPDIR":"/mnt/storage/scratch/tmp/xlEGH4","nice":19,"measuredDriverNice":19,"measuredChildNice":19,"endAt":"2026-10-25T09:20:10.140Z","endUptime":"04:20:10 up 11 days, 19:40, 2 users, load average: 6.72, 7.67, 7.75","rc":0,"signal":null,"timedOut":false,"tests":15,"pass":15,"fail":0,"skipped":0,"cancelled":0,"failedNames":[],"log":{"path":"/mnt/storage/scratch/tmp/cMDOAL/164-packages_cli_tests_thread-launch.test.mjs.log","sha256":"adca1a5c2a118dbc6defe9ad082fe6330bd85d03edd4426676b0fdf46cd4d84e","bytes":8406}}
|
||||
{"name":"packages/cli/tests/thread-revoke.test.mjs","event":"start","at":"2026-10-25T09:20:10.145Z","uptime":"04:20:10 up 11 days, 19:40, 2 users, load average: 6.72, 7.67, 7.75","TMPDIR":"/mnt/storage/scratch/tmp/kUB6xm","nice":19}
|
||||
{"name":"packages/cli/tests/thread-revoke.test.mjs","event":"end","at":"2026-10-25T09:20:10.145Z","uptime":"04:20:10 up 11 days, 19:40, 2 users, load average: 6.72, 7.67, 7.75","TMPDIR":"/mnt/storage/scratch/tmp/kUB6xm","nice":19,"measuredDriverNice":19,"measuredChildNice":19,"endAt":"2026-10-25T09:20:11.386Z","endUptime":"04:20:11 up 11 days, 19:40, 2 users, load average: 6.72, 7.67, 7.75","rc":0,"signal":null,"timedOut":false,"tests":3,"pass":3,"fail":0,"skipped":0,"cancelled":0,"failedNames":[],"log":{"path":"/mnt/storage/scratch/tmp/cMDOAL/165-packages_cli_tests_thread-revoke.test.mjs.log","sha256":"85a043aa904c4ab8ba4ce631683f76218c360315f8472e5f4091727e24a43a35","bytes":1180}}
|
||||
{"name":"packages/cli/tests/trackers-boot.test.mjs","event":"start","at":"2026-10-25T09:20:11.389Z","uptime":"04:20:11 up 11 days, 19:40, 2 users, load average: 6.72, 7.67, 7.75","TMPDIR":"/mnt/storage/scratch/tmp/S9b5sV","nice":19}
|
||||
{"name":"packages/cli/tests/trackers-boot.test.mjs","event":"end","at":"2026-10-25T09:20:11.389Z","uptime":"04:20:11 up 11 days, 19:40, 2 users, load average: 6.72, 7.67, 7.75","TMPDIR":"/mnt/storage/scratch/tmp/S9b5sV","nice":19,"measuredDriverNice":19,"measuredChildNice":19,"endAt":"2026-10-25T09:20:12.531Z","endUptime":"04:20:12 up 11 days, 19:40, 2 users, load average: 6.72, 7.67, 7.75","rc":0,"signal":null,"timedOut":false,"tests":2,"pass":2,"fail":0,"skipped":0,"cancelled":0,"failedNames":[],"log":{"path":"/mnt/storage/scratch/tmp/cMDOAL/166-packages_cli_tests_trackers-boot.test.mjs.log","sha256":"5ce4495ced6a1935526dfa7f05d2941a7b75cf43352419dd09003462f8f9a8c1","bytes":883}}
|
||||
{"name":"packages/cli/tests/transport.test.mjs","event":"start","at":"2026-10-25T09:20:12.535Z","uptime":"04:20:12 up 11 days, 19:40, 2 users, load average: 6.72, 7.67, 7.75","TMPDIR":"/mnt/storage/scratch/tmp/kQhcHm","nice":19}
|
||||
{"name":"packages/cli/tests/transport.test.mjs","event":"end","at":"2026-10-25T09:20:12.535Z","uptime":"04:20:12 up 11 days, 19:40, 2 users, load average: 6.72, 7.67, 7.75","TMPDIR":"/mnt/storage/scratch/tmp/kQhcHm","nice":19,"measuredDriverNice":19,"measuredChildNice":19,"endAt":"2026-10-25T09:20:14.991Z","endUptime":"04:20:14 up 11 days, 19:40, 2 users, load average: 6.51, 7.61, 7.73","rc":0,"signal":null,"timedOut":false,"tests":3,"pass":3,"fail":0,"skipped":0,"cancelled":0,"failedNames":[],"log":{"path":"/mnt/storage/scratch/tmp/cMDOAL/167-packages_cli_tests_transport.test.mjs.log","sha256":"dd09755a911d0601880eda0917c20d5c990080d8afec808017bd77006bc252bf","bytes":737}}
|
||||
{"name":"packages/cli/tests/usage.test.mjs","event":"start","at":"2026-10-25T09:20:14.994Z","uptime":"04:20:14 up 11 days, 19:40, 2 users, load average: 6.51, 7.61, 7.73","TMPDIR":"/mnt/storage/scratch/tmp/jGMkqT","nice":19}
|
||||
{"name":"packages/cli/tests/usage.test.mjs","event":"end","at":"2026-10-25T09:20:14.994Z","uptime":"04:20:14 up 11 days, 19:40, 2 users, load average: 6.51, 7.61, 7.73","TMPDIR":"/mnt/storage/scratch/tmp/jGMkqT","nice":19,"measuredDriverNice":19,"measuredChildNice":19,"endAt":"2026-10-25T09:20:15.511Z","endUptime":"04:20:15 up 11 days, 19:40, 2 users, load average: 6.51, 7.61, 7.73","rc":0,"signal":null,"timedOut":false,"tests":2,"pass":2,"fail":0,"skipped":0,"cancelled":0,"failedNames":[],"log":{"path":"/mnt/storage/scratch/tmp/cMDOAL/168-packages_cli_tests_usage.test.mjs.log","sha256":"5898576b6ba29117aab1f89eaed715416c02e9e88b35f8a6da04e9dde458f3bc","bytes":583}}
|
||||
{"name":"packages/cli/tests/verbs.test.mjs","event":"start","at":"2026-10-25T09:20:15.514Z","uptime":"04:20:15 up 11 days, 19:40, 2 users, load average: 6.51, 7.61, 7.73","TMPDIR":"/mnt/storage/scratch/tmp/OIephB","nice":19}
|
||||
{"name":"packages/cli/tests/verbs.test.mjs","event":"end","at":"2026-10-25T09:20:15.514Z","uptime":"04:20:15 up 11 days, 19:40, 2 users, load average: 6.51, 7.61, 7.73","TMPDIR":"/mnt/storage/scratch/tmp/OIephB","nice":19,"measuredDriverNice":19,"measuredChildNice":19,"endAt":"2026-10-25T09:20:19.193Z","endUptime":"04:20:19 up 11 days, 19:40, 2 users, load average: 7.19, 7.74, 7.77","rc":0,"signal":null,"timedOut":false,"tests":9,"pass":9,"fail":0,"skipped":0,"cancelled":0,"failedNames":[],"log":{"path":"/mnt/storage/scratch/tmp/cMDOAL/169-packages_cli_tests_verbs.test.mjs.log","sha256":"27e6e3149bcc9553116827a7c7cb84ce68d697dcd70d70af105a4b2dad68489e","bytes":2368}}
|
||||
{"name":"packages/harness/tests/citation-runner.test.mjs","event":"start","at":"2026-10-25T09:20:19.196Z","uptime":"04:20:19 up 11 days, 19:40, 2 users, load average: 7.19, 7.74, 7.77","TMPDIR":"/mnt/storage/scratch/tmp/l8bLGs","nice":19}
|
||||
{"name":"packages/harness/tests/citation-runner.test.mjs","event":"end","at":"2026-10-25T09:20:19.196Z","uptime":"04:20:19 up 11 days, 19:40, 2 users, load average: 7.19, 7.74, 7.77","TMPDIR":"/mnt/storage/scratch/tmp/l8bLGs","nice":19,"measuredDriverNice":19,"measuredChildNice":19,"endAt":"2026-10-25T09:20:28.391Z","endUptime":"04:20:28 up 11 days, 19:40, 2 users, load average: 7.41, 7.77, 7.78","rc":0,"signal":null,"timedOut":false,"tests":21,"pass":21,"fail":0,"skipped":0,"cancelled":0,"failedNames":[],"log":{"path":"/mnt/storage/scratch/tmp/cMDOAL/170-packages_harness_tests_citation-runner.test.mjs.log","sha256":"7a90f5a74851870524ba6c90f26dd2e8fcecc8988cc505fe4b0680bfe1a17a4f","bytes":5071}}
|
||||
{"name":"packages/harness/tests/claude-session.test.mjs","event":"start","at":"2026-10-25T09:20:28.396Z","uptime":"04:20:28 up 11 days, 19:40, 2 users, load average: 7.41, 7.77, 7.78","TMPDIR":"/mnt/storage/scratch/tmp/5vkYrk","nice":19}
|
||||
{"name":"packages/harness/tests/claude-session.test.mjs","event":"end","at":"2026-10-25T09:20:28.396Z","uptime":"04:20:28 up 11 days, 19:40, 2 users, load average: 7.41, 7.77, 7.78","TMPDIR":"/mnt/storage/scratch/tmp/5vkYrk","nice":19,"measuredDriverNice":19,"measuredChildNice":19,"endAt":"2026-10-25T09:20:39.476Z","endUptime":"04:20:39 up 11 days, 19:40, 2 users, load average: 9.13, 8.14, 7.90","rc":0,"signal":null,"timedOut":false,"tests":10,"pass":10,"fail":0,"skipped":0,"cancelled":0,"failedNames":[],"log":{"path":"/mnt/storage/scratch/tmp/cMDOAL/171-packages_harness_tests_claude-session.test.mjs.log","sha256":"1b97534cdf6c0543e9f8c167cba18495e7dddd24e84f4440eda27d85c1d4e47d","bytes":2486}}
|
||||
{"name":"packages/harness/tests/creative.test.mjs","event":"start","at":"2026-10-25T09:20:39.480Z","uptime":"04:20:39 up 11 days, 19:40, 2 users, load average: 9.13, 8.14, 7.90","TMPDIR":"/mnt/storage/scratch/tmp/Xt50rz","nice":19}
|
||||
{"name":"packages/harness/tests/creative.test.mjs","event":"end","at":"2026-10-25T09:20:39.480Z","uptime":"04:20:39 up 11 days, 19:40, 2 users, load average: 9.13, 8.14, 7.90","TMPDIR":"/mnt/storage/scratch/tmp/Xt50rz","nice":19,"measuredDriverNice":19,"measuredChildNice":19,"endAt":"2026-10-25T09:20:39.860Z","endUptime":"04:20:39 up 11 days, 19:40, 2 users, load average: 9.13, 8.14, 7.90","rc":0,"signal":null,"timedOut":false,"tests":7,"pass":7,"fail":0,"skipped":0,"cancelled":0,"failedNames":[],"log":{"path":"/mnt/storage/scratch/tmp/cMDOAL/172-packages_harness_tests_creative.test.mjs.log","sha256":"406c74b030842f90fbc834247be8986261af42cf724516e4ed85def89992693d","bytes":1960}}
|
||||
{"name":"packages/harness/tests/first-output.test.mjs","event":"start","at":"2026-10-25T09:20:39.863Z","uptime":"04:20:39 up 11 days, 19:40, 2 users, load average: 9.13, 8.14, 7.90","TMPDIR":"/mnt/storage/scratch/tmp/3Sldmm","nice":19}
|
||||
{"name":"packages/harness/tests/first-output.test.mjs","event":"end","at":"2026-10-25T09:20:39.863Z","uptime":"04:20:39 up 11 days, 19:40, 2 users, load average: 9.13, 8.14, 7.90","TMPDIR":"/mnt/storage/scratch/tmp/3Sldmm","nice":19,"measuredDriverNice":19,"measuredChildNice":19,"endAt":"2026-10-25T09:20:39.998Z","endUptime":"04:20:39 up 11 days, 19:40, 2 users, load average: 9.13, 8.14, 7.90","rc":0,"signal":null,"timedOut":false,"tests":1,"pass":1,"fail":0,"skipped":0,"cancelled":0,"failedNames":[],"log":{"path":"/mnt/storage/scratch/tmp/cMDOAL/173-packages_harness_tests_first-output.test.mjs.log","sha256":"ff776a570cf1104dd7d043e36560a9506a596d608d819488db6e785a1b064943","bytes":403}}
|
||||
{"name":"packages/harness/tests/pi-session.test.mjs","event":"start","at":"2026-10-25T09:20:40.001Z","uptime":"04:20:40 up 11 days, 19:40, 2 users, load average: 9.13, 8.14, 7.90","TMPDIR":"/mnt/storage/scratch/tmp/zH8JvI","nice":19}
|
||||
{"name":"packages/harness/tests/pi-session.test.mjs","event":"end","at":"2026-10-25T09:20:40.001Z","uptime":"04:20:40 up 11 days, 19:40, 2 users, load average: 9.13, 8.14, 7.90","TMPDIR":"/mnt/storage/scratch/tmp/zH8JvI","nice":19,"measuredDriverNice":19,"measuredChildNice":19,"endAt":"2026-10-25T09:20:48.546Z","endUptime":"04:20:48 up 11 days, 19:40, 2 users, load average: 8.88, 8.11, 7.89","rc":0,"signal":null,"timedOut":false,"tests":10,"pass":10,"fail":0,"skipped":0,"cancelled":0,"failedNames":[],"log":{"path":"/mnt/storage/scratch/tmp/cMDOAL/174-packages_harness_tests_pi-session.test.mjs.log","sha256":"169fa566c6ffb7dc5139faa00f52e9c08e1c13d90e740aeb9666ac833482adbd","bytes":2523}}
|
||||
{"name":"packages/harness/tests/raise-domain.test.mjs","event":"start","at":"2026-10-25T09:20:48.550Z","uptime":"04:20:48 up 11 days, 19:40, 2 users, load average: 8.88, 8.11, 7.89","TMPDIR":"/mnt/storage/scratch/tmp/wIGj91","nice":19}
|
||||
{"name":"packages/harness/tests/raise-domain.test.mjs","event":"end","at":"2026-10-25T09:20:48.550Z","uptime":"04:20:48 up 11 days, 19:40, 2 users, load average: 8.88, 8.11, 7.89","TMPDIR":"/mnt/storage/scratch/tmp/wIGj91","nice":19,"measuredDriverNice":19,"measuredChildNice":19,"endAt":"2026-10-25T09:20:48.876Z","endUptime":"04:20:48 up 11 days, 19:40, 2 users, load average: 8.88, 8.11, 7.89","rc":0,"signal":null,"timedOut":false,"tests":2,"pass":2,"fail":0,"skipped":0,"cancelled":0,"failedNames":[],"log":{"path":"/mnt/storage/scratch/tmp/cMDOAL/175-packages_harness_tests_raise-domain.test.mjs.log","sha256":"8e2afce1b695cc04e5401d1e678dabdcbbc82f20d7467c810a5fb2a37493db89","bytes":643}}
|
||||
{"name":"packages/harness/tests/runner.test.mjs","event":"start","at":"2026-10-25T09:20:48.880Z","uptime":"04:20:48 up 11 days, 19:40, 2 users, load average: 8.88, 8.11, 7.89","TMPDIR":"/mnt/storage/scratch/tmp/gArz1Q","nice":19}
|
||||
{"name":"packages/harness/tests/runner.test.mjs","event":"end","at":"2026-10-25T09:20:48.880Z","uptime":"04:20:48 up 11 days, 19:40, 2 users, load average: 8.88, 8.11, 7.89","TMPDIR":"/mnt/storage/scratch/tmp/gArz1Q","nice":19,"measuredDriverNice":19,"measuredChildNice":19,"endAt":"2026-10-25T09:21:02.322Z","endUptime":"04:21:02 up 11 days, 19:40, 2 users, load average: 8.55, 8.08, 7.89","rc":0,"signal":null,"timedOut":false,"tests":40,"pass":40,"fail":0,"skipped":0,"cancelled":0,"failedNames":[],"log":{"path":"/mnt/storage/scratch/tmp/cMDOAL/176-packages_harness_tests_runner.test.mjs.log","sha256":"e0aa1c48d0329dd6d9d3f297eeacffc939edc63965b556533f7bc89736fbb07c","bytes":9581}}
|
||||
{"name":"packages/harness/tests/skills.test.mjs","event":"start","at":"2026-10-25T09:21:02.325Z","uptime":"04:21:02 up 11 days, 19:40, 2 users, load average: 8.55, 8.08, 7.89","TMPDIR":"/mnt/storage/scratch/tmp/vbi1OH","nice":19}
|
||||
{"name":"packages/harness/tests/skills.test.mjs","event":"end","at":"2026-10-25T09:21:02.325Z","uptime":"04:21:02 up 11 days, 19:40, 2 users, load average: 8.55, 8.08, 7.89","TMPDIR":"/mnt/storage/scratch/tmp/vbi1OH","nice":19,"measuredDriverNice":19,"measuredChildNice":19,"endAt":"2026-10-25T09:21:02.618Z","endUptime":"04:21:02 up 11 days, 19:40, 2 users, load average: 8.55, 8.08, 7.89","rc":0,"signal":null,"timedOut":false,"tests":10,"pass":10,"fail":0,"skipped":0,"cancelled":0,"failedNames":[],"log":{"path":"/mnt/storage/scratch/tmp/cMDOAL/177-packages_harness_tests_skills.test.mjs.log","sha256":"1058a274f8a261901713307232e82ddfaed76d53548903a2dfd1ff0faf2b34d7","bytes":2623}}
|
||||
{"name":"packages/harness/tests/spec-tools.test.mjs","event":"start","at":"2026-10-25T09:21:02.621Z","uptime":"04:21:02 up 11 days, 19:40, 2 users, load average: 8.55, 8.08, 7.89","TMPDIR":"/mnt/storage/scratch/tmp/E6GvtG","nice":19}
|
||||
{"name":"packages/harness/tests/spec-tools.test.mjs","event":"end","at":"2026-10-25T09:21:02.621Z","uptime":"04:21:02 up 11 days, 19:40, 2 users, load average: 8.55, 8.08, 7.89","TMPDIR":"/mnt/storage/scratch/tmp/E6GvtG","nice":19,"measuredDriverNice":19,"measuredChildNice":19,"endAt":"2026-10-25T09:21:02.973Z","endUptime":"04:21:02 up 11 days, 19:40, 2 users, load average: 8.55, 8.08, 7.89","rc":0,"signal":null,"timedOut":false,"tests":2,"pass":2,"fail":0,"skipped":0,"cancelled":0,"failedNames":[],"log":{"path":"/mnt/storage/scratch/tmp/cMDOAL/178-packages_harness_tests_spec-tools.test.mjs.log","sha256":"e38b147c9ff7ab96c68091a368bdf0f1e6718264f9c1105f56070502d6562368","bytes":643}}
|
||||
{"name":"packages/harness/tests/tools.test.mjs","event":"start","at":"2026-10-25T09:21:02.976Z","uptime":"04:21:02 up 11 days, 19:40, 2 users, load average: 8.55, 8.08, 7.89","TMPDIR":"/mnt/storage/scratch/tmp/rKicht","nice":19}
|
||||
{"name":"packages/harness/tests/tools.test.mjs","event":"end","at":"2026-10-25T09:21:02.976Z","uptime":"04:21:02 up 11 days, 19:40, 2 users, load average: 8.55, 8.08, 7.89","TMPDIR":"/mnt/storage/scratch/tmp/rKicht","nice":19,"measuredDriverNice":19,"measuredChildNice":19,"endAt":"2026-10-25T09:21:03.242Z","endUptime":"04:21:03 up 11 days, 19:40, 2 users, load average: 8.55, 8.08, 7.89","rc":0,"signal":null,"timedOut":false,"tests":23,"pass":23,"fail":0,"skipped":0,"cancelled":0,"failedNames":[],"log":{"path":"/mnt/storage/scratch/tmp/cMDOAL/179-packages_harness_tests_tools.test.mjs.log","sha256":"68fbb56587f6923879c597303bfdbd9898647ef04eb6f5ac15e023dfb94c7919","bytes":5823}}
|
||||
{"name":"packages/model-proxy/tests/client-probe.test.mjs","event":"start","at":"2026-10-25T09:21:03.245Z","uptime":"04:21:03 up 11 days, 19:40, 2 users, load average: 8.55, 8.08, 7.89","TMPDIR":"/mnt/storage/scratch/tmp/9RnDYE","nice":19}
|
||||
{"name":"packages/model-proxy/tests/client-probe.test.mjs","event":"end","at":"2026-10-25T09:21:03.245Z","uptime":"04:21:03 up 11 days, 19:40, 2 users, load average: 8.55, 8.08, 7.89","TMPDIR":"/mnt/storage/scratch/tmp/9RnDYE","nice":19,"measuredDriverNice":19,"measuredChildNice":19,"endAt":"2026-10-25T09:21:03.467Z","endUptime":"04:21:03 up 11 days, 19:40, 2 users, load average: 8.55, 8.08, 7.89","rc":0,"signal":null,"timedOut":false,"tests":6,"pass":6,"fail":0,"skipped":0,"cancelled":0,"failedNames":[],"log":{"path":"/mnt/storage/scratch/tmp/cMDOAL/180-packages_model-proxy_tests_client-probe.test.mjs.log","sha256":"6169752dbdf33d643877ccf38835ab2961c6db046323c0684bb92e368f9db0b0","bytes":1369}}
|
||||
{"name":"packages/model-proxy/tests/client.test.mjs","event":"start","at":"2026-10-25T09:21:03.479Z","uptime":"04:21:03 up 11 days, 19:40, 2 users, load average: 8.55, 8.08, 7.89","TMPDIR":"/mnt/storage/scratch/tmp/4V75zD","nice":19}
|
||||
{"name":"packages/model-proxy/tests/client.test.mjs","event":"end","at":"2026-10-25T09:21:03.479Z","uptime":"04:21:03 up 11 days, 19:40, 2 users, load average: 8.55, 8.08, 7.89","TMPDIR":"/mnt/storage/scratch/tmp/4V75zD","nice":19,"measuredDriverNice":19,"measuredChildNice":19,"endAt":"2026-10-25T09:21:03.672Z","endUptime":"04:21:03 up 11 days, 19:40, 2 users, load average: 8.55, 8.08, 7.89","rc":0,"signal":null,"timedOut":false,"tests":16,"pass":16,"fail":0,"skipped":0,"cancelled":0,"failedNames":[],"log":{"path":"/mnt/storage/scratch/tmp/cMDOAL/181-packages_model-proxy_tests_client.test.mjs.log","sha256":"33ee4fa25c35c734e1958f437ace630de13ccbaea3ecb8c6a3da035801193ef0","bytes":2998}}
|
||||
{"name":"packages/model-proxy/tests/config-unit.test.mjs","event":"start","at":"2026-10-25T09:21:03.675Z","uptime":"04:21:03 up 11 days, 19:40, 2 users, load average: 8.55, 8.08, 7.89","TMPDIR":"/mnt/storage/scratch/tmp/vbnm1p","nice":19}
|
||||
{"name":"packages/model-proxy/tests/config-unit.test.mjs","event":"end","at":"2026-10-25T09:21:03.675Z","uptime":"04:21:03 up 11 days, 19:40, 2 users, load average: 8.55, 8.08, 7.89","TMPDIR":"/mnt/storage/scratch/tmp/vbnm1p","nice":19,"measuredDriverNice":19,"measuredChildNice":19,"endAt":"2026-10-25T09:21:05.951Z","endUptime":"04:21:05 up 11 days, 19:40, 2 users, load average: 8.18, 8.02, 7.87","rc":0,"signal":null,"timedOut":false,"tests":15,"pass":15,"fail":0,"skipped":0,"cancelled":0,"failedNames":[],"log":{"path":"/mnt/storage/scratch/tmp/cMDOAL/182-packages_model-proxy_tests_config-unit.test.mjs.log","sha256":"f7df5d3b1b91f20b4084c5b7288f4f4fe119ece41f36553ee1b3f01e66276c9a","bytes":3078}}
|
||||
{"name":"packages/model-proxy/tests/fetch.test.mjs","event":"start","at":"2026-10-25T09:21:05.954Z","uptime":"04:21:05 up 11 days, 19:40, 2 users, load average: 8.18, 8.02, 7.87","TMPDIR":"/mnt/storage/scratch/tmp/5FBk7T","nice":19}
|
||||
{"name":"packages/model-proxy/tests/fetch.test.mjs","event":"end","at":"2026-10-25T09:21:05.954Z","uptime":"04:21:05 up 11 days, 19:40, 2 users, load average: 8.18, 8.02, 7.87","TMPDIR":"/mnt/storage/scratch/tmp/5FBk7T","nice":19,"measuredDriverNice":19,"measuredChildNice":19,"endAt":"2026-10-25T09:21:06.271Z","endUptime":"04:21:06 up 11 days, 19:40, 2 users, load average: 8.18, 8.02, 7.87","rc":0,"signal":null,"timedOut":false,"tests":8,"pass":8,"fail":0,"skipped":0,"cancelled":0,"failedNames":[],"log":{"path":"/mnt/storage/scratch/tmp/cMDOAL/183-packages_model-proxy_tests_fetch.test.mjs.log","sha256":"70554ceca3ef1de03799890dafcbedc7aa33ec77e79b19c36c029dfba363bbb0","bytes":1883}}
|
||||
{"name":"packages/model-proxy/tests/management-key-encoding.test.mjs","event":"start","at":"2026-10-25T09:21:06.275Z","uptime":"04:21:06 up 11 days, 19:40, 2 users, load average: 8.18, 8.02, 7.87","TMPDIR":"/mnt/storage/scratch/tmp/K1gWOy","nice":19}
|
||||
{"name":"packages/model-proxy/tests/management-key-encoding.test.mjs","event":"end","at":"2026-10-25T09:21:06.275Z","uptime":"04:21:06 up 11 days, 19:40, 2 users, load average: 8.18, 8.02, 7.87","TMPDIR":"/mnt/storage/scratch/tmp/K1gWOy","nice":19,"measuredDriverNice":19,"measuredChildNice":19,"endAt":"2026-10-25T09:21:06.443Z","endUptime":"04:21:06 up 11 days, 19:40, 2 users, load average: 8.18, 8.02, 7.87","rc":0,"signal":null,"timedOut":false,"tests":5,"pass":5,"fail":0,"skipped":0,"cancelled":0,"failedNames":[],"log":{"path":"/mnt/storage/scratch/tmp/cMDOAL/184-packages_model-proxy_tests_management-key-encoding.test.mjs.log","sha256":"8134606bb3c485577d2d21363f27193b36c3b11ddebab98295d173427e981bfb","bytes":1330}}
|
||||
{"name":"packages/model-proxy/tests/p2-settings.test.mjs","event":"start","at":"2026-10-25T09:21:06.445Z","uptime":"04:21:06 up 11 days, 19:40, 2 users, load average: 8.18, 8.02, 7.87","TMPDIR":"/mnt/storage/scratch/tmp/ENWP1R","nice":19}
|
||||
{"name":"packages/model-proxy/tests/p2-settings.test.mjs","event":"end","at":"2026-10-25T09:21:06.445Z","uptime":"04:21:06 up 11 days, 19:40, 2 users, load average: 8.18, 8.02, 7.87","TMPDIR":"/mnt/storage/scratch/tmp/ENWP1R","nice":19,"measuredDriverNice":19,"measuredChildNice":19,"endAt":"2026-10-25T09:21:06.586Z","endUptime":"04:21:06 up 11 days, 19:40, 2 users, load average: 8.18, 8.02, 7.87","rc":0,"signal":null,"timedOut":false,"tests":14,"pass":14,"fail":0,"skipped":0,"cancelled":0,"failedNames":[],"log":{"path":"/mnt/storage/scratch/tmp/cMDOAL/185-packages_model-proxy_tests_p2-settings.test.mjs.log","sha256":"d5e0880177ef89b3a59bf09d8d5ffe1382192f32fa0fa71125bc793153beeddc","bytes":2097}}
|
||||
{"name":"packages/model-proxy/tests/runner.test.mjs","event":"start","at":"2026-10-25T09:21:06.589Z","uptime":"04:21:06 up 11 days, 19:40, 2 users, load average: 8.18, 8.02, 7.87","TMPDIR":"/mnt/storage/scratch/tmp/2gBg0M","nice":19}
|
||||
{"name":"packages/model-proxy/tests/runner.test.mjs","event":"end","at":"2026-10-25T09:21:06.589Z","uptime":"04:21:06 up 11 days, 19:40, 2 users, load average: 8.18, 8.02, 7.87","TMPDIR":"/mnt/storage/scratch/tmp/2gBg0M","nice":19,"measuredDriverNice":19,"measuredChildNice":19,"endAt":"2026-10-25T09:21:06.739Z","endUptime":"04:21:06 up 11 days, 19:40, 2 users, load average: 8.18, 8.02, 7.87","rc":0,"signal":null,"timedOut":false,"tests":3,"pass":3,"fail":0,"skipped":0,"cancelled":0,"failedNames":[],"log":{"path":"/mnt/storage/scratch/tmp/cMDOAL/186-packages_model-proxy_tests_runner.test.mjs.log","sha256":"d315d915a0f98a7ce14f4acf0c0a05dbf31d810c37811a529484a17e67924d2b","bytes":811}}
|
||||
{"name":"packages/model-proxy/tests/settings.test.mjs","event":"start","at":"2026-10-25T09:21:06.742Z","uptime":"04:21:06 up 11 days, 19:40, 2 users, load average: 8.18, 8.02, 7.87","TMPDIR":"/mnt/storage/scratch/tmp/baJvpd","nice":19}
|
||||
{"name":"packages/model-proxy/tests/settings.test.mjs","event":"end","at":"2026-10-25T09:21:06.742Z","uptime":"04:21:06 up 11 days, 19:40, 2 users, load average: 8.18, 8.02, 7.87","TMPDIR":"/mnt/storage/scratch/tmp/baJvpd","nice":19,"measuredDriverNice":19,"measuredChildNice":19,"endAt":"2026-10-25T09:21:06.914Z","endUptime":"04:21:06 up 11 days, 19:40, 2 users, load average: 8.18, 8.02, 7.87","rc":0,"signal":null,"timedOut":false,"tests":19,"pass":19,"fail":0,"skipped":0,"cancelled":0,"failedNames":[],"log":{"path":"/mnt/storage/scratch/tmp/cMDOAL/187-packages_model-proxy_tests_settings.test.mjs.log","sha256":"6da1f7047fc761eaee71688bb5b3b49659e60e82e919893d499e7cdd5eabc1da","bytes":3497}}
|
||||
{"name":"packages/model-proxy/tests/validation.test.mjs","event":"start","at":"2026-10-25T09:21:06.925Z","uptime":"04:21:06 up 11 days, 19:40, 2 users, load average: 8.18, 8.02, 7.87","TMPDIR":"/mnt/storage/scratch/tmp/MP5IO6","nice":19}
|
||||
{"name":"packages/model-proxy/tests/validation.test.mjs","event":"end","at":"2026-10-25T09:21:06.925Z","uptime":"04:21:06 up 11 days, 19:40, 2 users, load average: 8.18, 8.02, 7.87","TMPDIR":"/mnt/storage/scratch/tmp/MP5IO6","nice":19,"measuredDriverNice":19,"measuredChildNice":19,"endAt":"2026-10-25T09:21:07.070Z","endUptime":"04:21:07 up 11 days, 19:40, 2 users, load average: 8.18, 8.02, 7.87","rc":0,"signal":null,"timedOut":false,"tests":3,"pass":3,"fail":0,"skipped":0,"cancelled":0,"failedNames":[],"log":{"path":"/mnt/storage/scratch/tmp/cMDOAL/188-packages_model-proxy_tests_validation.test.mjs.log","sha256":"4c10443f3819cd09b7f303133c28138b56778f5e16e9b435b39a5de99c2accfa","bytes":782}}
|
||||
{"name":"packages/plugins/tests/harness-compactions.test.mjs","event":"start","at":"2026-10-25T09:21:07.073Z","uptime":"04:21:07 up 11 days, 19:40, 2 users, load average: 8.18, 8.02, 7.87","TMPDIR":"/mnt/storage/scratch/tmp/d64tge","nice":19}
|
||||
{"name":"packages/plugins/tests/harness-compactions.test.mjs","event":"end","at":"2026-10-25T09:21:07.073Z","uptime":"04:21:07 up 11 days, 19:40, 2 users, load average: 8.18, 8.02, 7.87","TMPDIR":"/mnt/storage/scratch/tmp/d64tge","nice":19,"measuredDriverNice":19,"measuredChildNice":19,"endAt":"2026-10-25T09:21:07.241Z","endUptime":"04:21:07 up 11 days, 19:40, 2 users, load average: 8.18, 8.02, 7.87","rc":0,"signal":null,"timedOut":false,"tests":8,"pass":8,"fail":0,"skipped":0,"cancelled":0,"failedNames":[],"log":{"path":"/mnt/storage/scratch/tmp/cMDOAL/189-packages_plugins_tests_harness-compactions.test.mjs.log","sha256":"22f687ac41969ade16d6def87436d49ab65f47aab6f1094e10f2310bdfbfd498","bytes":1675}}
|
||||
{"name":"packages/processing-control/tests/mount.test.mjs","event":"start","at":"2026-10-25T09:21:07.245Z","uptime":"04:21:07 up 11 days, 19:40, 2 users, load average: 8.18, 8.02, 7.87","TMPDIR":"/mnt/storage/scratch/tmp/ZIOaTm","nice":19}
|
||||
{"name":"packages/processing-control/tests/mount.test.mjs","event":"end","at":"2026-10-25T09:21:07.245Z","uptime":"04:21:07 up 11 days, 19:40, 2 users, load average: 8.18, 8.02, 7.87","TMPDIR":"/mnt/storage/scratch/tmp/ZIOaTm","nice":19,"measuredDriverNice":19,"measuredChildNice":19,"endAt":"2026-10-25T09:21:07.551Z","endUptime":"04:21:07 up 11 days, 19:40, 2 users, load average: 8.18, 8.02, 7.87","rc":0,"signal":null,"timedOut":false,"tests":2,"pass":2,"fail":0,"skipped":0,"cancelled":0,"failedNames":[],"log":{"path":"/mnt/storage/scratch/tmp/cMDOAL/190-packages_processing-control_tests_mount.test.mjs.log","sha256":"d251d090a1bfc3b298d3dd8c713de07bfaba0ac8e8250d6c8299e9f39f406c92","bytes":624}}
|
||||
{"name":"packages/processing-control/tests/task.test.mjs","event":"start","at":"2026-10-25T09:21:07.555Z","uptime":"04:21:07 up 11 days, 19:40, 2 users, load average: 8.18, 8.02, 7.87","TMPDIR":"/mnt/storage/scratch/tmp/zaWTeK","nice":19}
|
||||
{"name":"packages/processing-control/tests/task.test.mjs","event":"end","at":"2026-10-25T09:21:07.555Z","uptime":"04:21:07 up 11 days, 19:40, 2 users, load average: 8.18, 8.02, 7.87","TMPDIR":"/mnt/storage/scratch/tmp/zaWTeK","nice":19,"measuredDriverNice":19,"measuredChildNice":19,"endAt":"2026-10-25T09:21:09.263Z","endUptime":"04:21:09 up 11 days, 19:40, 2 users, load average: 7.77, 7.93, 7.84","rc":0,"signal":null,"timedOut":false,"tests":7,"pass":7,"fail":0,"skipped":0,"cancelled":0,"failedNames":[],"log":{"path":"/mnt/storage/scratch/tmp/cMDOAL/191-packages_processing-control_tests_task.test.mjs.log","sha256":"db4eea7ad2a626586e63021b349215262bf3b9a9d6902e7ba09eb4e43174b96a","bytes":1773}}
|
||||
{"name":"packages/seat/tests/compactions-budget.test.mjs","event":"start","at":"2026-10-25T09:21:09.268Z","uptime":"04:21:09 up 11 days, 19:40, 2 users, load average: 7.77, 7.93, 7.84","TMPDIR":"/mnt/storage/scratch/tmp/Mlz52G","nice":19}
|
||||
{"name":"packages/seat/tests/compactions-budget.test.mjs","event":"end","at":"2026-10-25T09:21:09.268Z","uptime":"04:21:09 up 11 days, 19:40, 2 users, load average: 7.77, 7.93, 7.84","TMPDIR":"/mnt/storage/scratch/tmp/Mlz52G","nice":19,"measuredDriverNice":19,"measuredChildNice":19,"endAt":"2026-10-25T09:21:09.535Z","endUptime":"04:21:09 up 11 days, 19:40, 2 users, load average: 7.77, 7.93, 7.84","rc":0,"signal":null,"timedOut":false,"tests":10,"pass":10,"fail":0,"skipped":0,"cancelled":0,"failedNames":[],"log":{"path":"/mnt/storage/scratch/tmp/cMDOAL/192-packages_seat_tests_compactions-budget.test.mjs.log","sha256":"e08d0aea9c8e1788f7a9f64fd16e39b5d5ccca577e068eaf1e034dbdccc43053","bytes":2713}}
|
||||
{"name":"packages/seat/tests/compactions-ledger.test.mjs","event":"start","at":"2026-10-25T09:21:09.539Z","uptime":"04:21:09 up 11 days, 19:40, 2 users, load average: 7.77, 7.93, 7.84","TMPDIR":"/mnt/storage/scratch/tmp/lwCjOW","nice":19}
|
||||
{"name":"packages/seat/tests/compactions-ledger.test.mjs","event":"end","at":"2026-10-25T09:21:09.539Z","uptime":"04:21:09 up 11 days, 19:40, 2 users, load average: 7.77, 7.93, 7.84","TMPDIR":"/mnt/storage/scratch/tmp/lwCjOW","nice":19,"measuredDriverNice":19,"measuredChildNice":19,"endAt":"2026-10-25T09:21:09.692Z","endUptime":"04:21:09 up 11 days, 19:40, 2 users, load average: 7.77, 7.93, 7.84","rc":0,"signal":null,"timedOut":false,"tests":16,"pass":16,"fail":0,"skipped":0,"cancelled":0,"failedNames":[],"log":{"path":"/mnt/storage/scratch/tmp/cMDOAL/193-packages_seat_tests_compactions-ledger.test.mjs.log","sha256":"ed98cb97e40bb9235adf7c488a75ad903d0dda582aea859db31d2814d045bbe3","bytes":3894}}
|
||||
{"name":"packages/seat/tests/compactions.test.mjs","event":"start","at":"2026-10-25T09:21:09.694Z","uptime":"04:21:09 up 11 days, 19:40, 2 users, load average: 7.77, 7.93, 7.84","TMPDIR":"/mnt/storage/scratch/tmp/RJsuoL","nice":19}
|
||||
{"name":"packages/seat/tests/compactions.test.mjs","event":"end","at":"2026-10-25T09:21:09.694Z","uptime":"04:21:09 up 11 days, 19:40, 2 users, load average: 7.77, 7.93, 7.84","TMPDIR":"/mnt/storage/scratch/tmp/RJsuoL","nice":19,"measuredDriverNice":19,"measuredChildNice":19,"endAt":"2026-10-25T09:21:09.884Z","endUptime":"04:21:09 up 11 days, 19:41, 2 users, load average: 7.77, 7.93, 7.84","rc":0,"signal":null,"timedOut":false,"tests":20,"pass":20,"fail":0,"skipped":0,"cancelled":0,"failedNames":[],"log":{"path":"/mnt/storage/scratch/tmp/cMDOAL/194-packages_seat_tests_compactions.test.mjs.log","sha256":"cba551dbc5d214e7971e8008f2b67db888f0cb194ee2d1af143a1f3557f8ae5c","bytes":3984}}
|
||||
{"name":"packages/seat/tests/sandbox.test.mjs","event":"start","at":"2026-10-25T09:21:09.889Z","uptime":"04:21:09 up 11 days, 19:41, 2 users, load average: 7.77, 7.93, 7.84","TMPDIR":"/mnt/storage/scratch/tmp/myPVOT","nice":19}
|
||||
{"name":"packages/seat/tests/sandbox.test.mjs","event":"end","at":"2026-10-25T09:21:09.889Z","uptime":"04:21:09 up 11 days, 19:41, 2 users, load average: 7.77, 7.93, 7.84","TMPDIR":"/mnt/storage/scratch/tmp/myPVOT","nice":19,"measuredDriverNice":19,"measuredChildNice":19,"endAt":"2026-10-25T09:21:16.945Z","endUptime":"04:21:16 up 11 days, 19:41, 2 users, load average: 7.31, 7.83, 7.81","rc":0,"signal":null,"timedOut":false,"tests":11,"pass":11,"fail":0,"skipped":0,"cancelled":0,"failedNames":[],"log":{"path":"/mnt/storage/scratch/tmp/cMDOAL/195-packages_seat_tests_sandbox.test.mjs.log","sha256":"030d2fc9183e23c7047c3080dca773d591b6e5ba4f874469c7d02f1f7d25a003","bytes":2958}}
|
||||
{"name":"packages/seat/tests/session-workspace.test.mjs","event":"start","at":"2026-10-25T09:21:16.948Z","uptime":"04:21:16 up 11 days, 19:41, 2 users, load average: 7.31, 7.83, 7.81","TMPDIR":"/mnt/storage/scratch/tmp/4ROeZB","nice":19}
|
||||
{"name":"packages/seat/tests/session-workspace.test.mjs","event":"end","at":"2026-10-25T09:21:16.948Z","uptime":"04:21:16 up 11 days, 19:41, 2 users, load average: 7.31, 7.83, 7.81","TMPDIR":"/mnt/storage/scratch/tmp/4ROeZB","nice":19,"measuredDriverNice":19,"measuredChildNice":19,"endAt":"2026-10-25T09:21:17.086Z","endUptime":"04:21:17 up 11 days, 19:41, 2 users, load average: 7.31, 7.83, 7.81","rc":0,"signal":null,"timedOut":false,"tests":5,"pass":5,"fail":0,"skipped":0,"cancelled":0,"failedNames":[],"log":{"path":"/mnt/storage/scratch/tmp/cMDOAL/196-packages_seat_tests_session-workspace.test.mjs.log","sha256":"f45320750986dab7a656c7d6490d7519da0bd54424a46961e64a64dcb3de7bf6","bytes":1654}}
|
||||
{"name":"packages/seat/tests/session.test.mjs","event":"start","at":"2026-10-25T09:21:17.090Z","uptime":"04:21:17 up 11 days, 19:41, 2 users, load average: 7.31, 7.83, 7.81","TMPDIR":"/mnt/storage/scratch/tmp/qZQRjd","nice":19}
|
||||
{"name":"packages/seat/tests/session.test.mjs","event":"end","at":"2026-10-25T09:21:17.090Z","uptime":"04:21:17 up 11 days, 19:41, 2 users, load average: 7.31, 7.83, 7.81","TMPDIR":"/mnt/storage/scratch/tmp/qZQRjd","nice":19,"measuredDriverNice":19,"measuredChildNice":19,"endAt":"2026-10-25T09:21:17.673Z","endUptime":"04:21:17 up 11 days, 19:41, 2 users, load average: 7.31, 7.83, 7.81","rc":0,"signal":null,"timedOut":false,"tests":13,"pass":13,"fail":0,"skipped":0,"cancelled":0,"failedNames":[],"log":{"path":"/mnt/storage/scratch/tmp/cMDOAL/197-packages_seat_tests_session.test.mjs.log","sha256":"a5a0f41f99cd392a1e94caa256c7b42a7283dfa4f5360122b995c74ded9cebe1","bytes":3242}}
|
||||
{"name":"packages/tasks/tests/adapter.test.mjs","event":"start","at":"2026-10-25T09:21:17.677Z","uptime":"04:21:17 up 11 days, 19:41, 2 users, load average: 7.31, 7.83, 7.81","TMPDIR":"/mnt/storage/scratch/tmp/LURFQK","nice":19}
|
||||
{"name":"packages/tasks/tests/adapter.test.mjs","event":"end","at":"2026-10-25T09:21:17.677Z","uptime":"04:21:17 up 11 days, 19:41, 2 users, load average: 7.31, 7.83, 7.81","TMPDIR":"/mnt/storage/scratch/tmp/LURFQK","nice":19,"measuredDriverNice":19,"measuredChildNice":19,"endAt":"2026-10-25T09:21:18.109Z","endUptime":"04:21:18 up 11 days, 19:41, 2 users, load average: 7.31, 7.83, 7.81","rc":0,"signal":null,"timedOut":false,"tests":8,"pass":8,"fail":0,"skipped":0,"cancelled":0,"failedNames":[],"log":{"path":"/mnt/storage/scratch/tmp/cMDOAL/198-packages_tasks_tests_adapter.test.mjs.log","sha256":"15dc06c3a411283766998cb8c18cd0f85b71580d8f0cca574977eb09cc999f83","bytes":1656}}
|
||||
{"name":"packages/tasks/tests/comment-restart.test.mjs","event":"start","at":"2026-10-25T09:21:18.112Z","uptime":"04:21:18 up 11 days, 19:41, 2 users, load average: 7.31, 7.83, 7.81","TMPDIR":"/mnt/storage/scratch/tmp/qU7W0f","nice":19}
|
||||
{"name":"packages/tasks/tests/comment-restart.test.mjs","event":"end","at":"2026-10-25T09:21:18.112Z","uptime":"04:21:18 up 11 days, 19:41, 2 users, load average: 7.31, 7.83, 7.81","TMPDIR":"/mnt/storage/scratch/tmp/qU7W0f","nice":19,"measuredDriverNice":19,"measuredChildNice":19,"endAt":"2026-10-25T09:21:18.465Z","endUptime":"04:21:18 up 11 days, 19:41, 2 users, load average: 7.31, 7.83, 7.81","rc":0,"signal":null,"timedOut":false,"tests":5,"pass":5,"fail":0,"skipped":0,"cancelled":0,"failedNames":[],"log":{"path":"/mnt/storage/scratch/tmp/cMDOAL/199-packages_tasks_tests_comment-restart.test.mjs.log","sha256":"b2c9f172ffdb9cf78366d7a20f3d603c1e46b731943f7d808f990b975c41ab68","bytes":1289}}
|
||||
{"name":"packages/tasks/tests/fields.test.mjs","event":"start","at":"2026-10-25T09:21:18.469Z","uptime":"04:21:18 up 11 days, 19:41, 2 users, load average: 7.31, 7.83, 7.81","TMPDIR":"/mnt/storage/scratch/tmp/cXBQdP","nice":19}
|
||||
{"name":"packages/tasks/tests/fields.test.mjs","event":"end","at":"2026-10-25T09:21:18.469Z","uptime":"04:21:18 up 11 days, 19:41, 2 users, load average: 7.31, 7.83, 7.81","TMPDIR":"/mnt/storage/scratch/tmp/cXBQdP","nice":19,"measuredDriverNice":19,"measuredChildNice":19,"endAt":"2026-10-25T09:21:18.936Z","endUptime":"04:21:18 up 11 days, 19:41, 2 users, load average: 7.31, 7.83, 7.81","rc":0,"signal":null,"timedOut":false,"tests":5,"pass":5,"fail":0,"skipped":0,"cancelled":0,"failedNames":[],"log":{"path":"/mnt/storage/scratch/tmp/cMDOAL/200-packages_tasks_tests_fields.test.mjs.log","sha256":"d504ae8d9c50c93fe62a6924b2afc2823e40773e6bdfc78c0c71a55c3d357e64","bytes":1165}}
|
||||
{"name":"packages/tasks/tests/processing.test.mjs","event":"start","at":"2026-10-25T09:21:18.940Z","uptime":"04:21:18 up 11 days, 19:41, 2 users, load average: 7.31, 7.83, 7.81","TMPDIR":"/mnt/storage/scratch/tmp/60A9iG","nice":19}
|
||||
{"name":"packages/tasks/tests/processing.test.mjs","event":"end","at":"2026-10-25T09:21:18.940Z","uptime":"04:21:18 up 11 days, 19:41, 2 users, load average: 7.31, 7.83, 7.81","TMPDIR":"/mnt/storage/scratch/tmp/60A9iG","nice":19,"measuredDriverNice":19,"measuredChildNice":19,"endAt":"2026-10-25T09:21:19.260Z","endUptime":"04:21:19 up 11 days, 19:41, 2 users, load average: 7.12, 7.79, 7.79","rc":0,"signal":null,"timedOut":false,"tests":3,"pass":3,"fail":0,"skipped":0,"cancelled":0,"failedNames":[],"log":{"path":"/mnt/storage/scratch/tmp/cMDOAL/201-packages_tasks_tests_processing.test.mjs.log","sha256":"290d35c6ab2b38bcf03f84ca508942e7709c3ed1b9b1e2309581e0e7b065efff","bytes":772}}
|
||||
{"name":"packages/tasks/tests/shapes.test.mjs","event":"start","at":"2026-10-25T09:21:19.263Z","uptime":"04:21:19 up 11 days, 19:41, 2 users, load average: 7.12, 7.79, 7.79","TMPDIR":"/mnt/storage/scratch/tmp/nB937e","nice":19}
|
||||
{"name":"packages/tasks/tests/shapes.test.mjs","event":"end","at":"2026-10-25T09:21:19.263Z","uptime":"04:21:19 up 11 days, 19:41, 2 users, load average: 7.12, 7.79, 7.79","TMPDIR":"/mnt/storage/scratch/tmp/nB937e","nice":19,"measuredDriverNice":19,"measuredChildNice":19,"endAt":"2026-10-25T09:21:19.766Z","endUptime":"04:21:19 up 11 days, 19:41, 2 users, load average: 7.12, 7.79, 7.79","rc":0,"signal":null,"timedOut":false,"tests":4,"pass":4,"fail":0,"skipped":0,"cancelled":0,"failedNames":[],"log":{"path":"/mnt/storage/scratch/tmp/cMDOAL/202-packages_tasks_tests_shapes.test.mjs.log","sha256":"ba18591b8b8f4e5f056e8942b69ab81d7ab21ad34486764d60e5c1dc7cb8e20b","bytes":1009}}
|
||||
{"name":"packages/tasks/tests/startup.test.mjs","event":"start","at":"2026-10-25T09:21:19.770Z","uptime":"04:21:19 up 11 days, 19:41, 2 users, load average: 7.12, 7.79, 7.79","TMPDIR":"/mnt/storage/scratch/tmp/dsuEyA","nice":19}
|
||||
{"name":"packages/tasks/tests/startup.test.mjs","event":"end","at":"2026-10-25T09:21:19.770Z","uptime":"04:21:19 up 11 days, 19:41, 2 users, load average: 7.12, 7.79, 7.79","TMPDIR":"/mnt/storage/scratch/tmp/dsuEyA","nice":19,"measuredDriverNice":19,"measuredChildNice":19,"endAt":"2026-10-25T09:21:20.266Z","endUptime":"04:21:20 up 11 days, 19:41, 2 users, load average: 7.12, 7.79, 7.79","rc":0,"signal":null,"timedOut":false,"tests":9,"pass":9,"fail":0,"skipped":0,"cancelled":0,"failedNames":[],"log":{"path":"/mnt/storage/scratch/tmp/cMDOAL/203-packages_tasks_tests_startup.test.mjs.log","sha256":"5b089c588f5d24936f53914db35c09720e485c8a04e3fd2696b789885b6d0dfa","bytes":1909}}
|
||||
{"name":"packages/tasks/tests/sync.test.mjs","event":"start","at":"2026-10-25T09:21:20.270Z","uptime":"04:21:20 up 11 days, 19:41, 2 users, load average: 7.12, 7.79, 7.79","TMPDIR":"/mnt/storage/scratch/tmp/MtJiNs","nice":19}
|
||||
{"name":"packages/tasks/tests/sync.test.mjs","event":"end","at":"2026-10-25T09:21:20.270Z","uptime":"04:21:20 up 11 days, 19:41, 2 users, load average: 7.12, 7.79, 7.79","TMPDIR":"/mnt/storage/scratch/tmp/MtJiNs","nice":19,"measuredDriverNice":19,"measuredChildNice":19,"endAt":"2026-10-25T09:21:21.273Z","endUptime":"04:21:21 up 11 days, 19:41, 2 users, load average: 7.12, 7.79, 7.79","rc":0,"signal":null,"timedOut":false,"tests":11,"pass":11,"fail":0,"skipped":0,"cancelled":0,"failedNames":[],"log":{"path":"/mnt/storage/scratch/tmp/cMDOAL/204-packages_tasks_tests_sync.test.mjs.log","sha256":"6d17b8e5584fa8ebdae5b82f6a08187f0ba0125389f0324a10c905e276b92543","bytes":2336}}
|
||||
{"name":"packages/tasks/tests/tree.test.mjs","event":"start","at":"2026-10-25T09:21:21.276Z","uptime":"04:21:21 up 11 days, 19:41, 2 users, load average: 7.12, 7.79, 7.79","TMPDIR":"/mnt/storage/scratch/tmp/4WELwv","nice":19}
|
||||
{"name":"packages/tasks/tests/tree.test.mjs","event":"end","at":"2026-10-25T09:21:21.276Z","uptime":"04:21:21 up 11 days, 19:41, 2 users, load average: 7.12, 7.79, 7.79","TMPDIR":"/mnt/storage/scratch/tmp/4WELwv","nice":19,"measuredDriverNice":19,"measuredChildNice":19,"endAt":"2026-10-25T09:21:22.440Z","endUptime":"04:21:22 up 11 days, 19:41, 2 users, load average: 7.12, 7.79, 7.79","rc":0,"signal":null,"timedOut":false,"tests":19,"pass":19,"fail":0,"skipped":0,"cancelled":0,"failedNames":[],"log":{"path":"/mnt/storage/scratch/tmp/cMDOAL/205-packages_tasks_tests_tree.test.mjs.log","sha256":"0155f5f9faf11ceb478561c4d1c01c4a4d0ed16229c15292065b3e0519f3edbe","bytes":4314}}
|
||||
{"name":"packages/tasks/tests/verbs.test.mjs","event":"start","at":"2026-10-25T09:21:22.444Z","uptime":"04:21:22 up 11 days, 19:41, 2 users, load average: 7.12, 7.79, 7.79","TMPDIR":"/mnt/storage/scratch/tmp/5uJyVb","nice":19}
|
||||
{"name":"packages/tasks/tests/verbs.test.mjs","event":"end","at":"2026-10-25T09:21:22.444Z","uptime":"04:21:22 up 11 days, 19:41, 2 users, load average: 7.12, 7.79, 7.79","TMPDIR":"/mnt/storage/scratch/tmp/5uJyVb","nice":19,"measuredDriverNice":19,"measuredChildNice":19,"endAt":"2026-10-25T09:21:24.139Z","endUptime":"04:21:24 up 11 days, 19:41, 2 users, load average: 7.12, 7.79, 7.79","rc":0,"signal":null,"timedOut":false,"tests":31,"pass":31,"fail":0,"skipped":0,"cancelled":0,"failedNames":[],"log":{"path":"/mnt/storage/scratch/tmp/cMDOAL/206-packages_tasks_tests_verbs.test.mjs.log","sha256":"2bdb8561fbab73fddf4617537d266bda58bb4ef30851486d50fe0114932b9763","bytes":6793}}
|
||||
{"name":"packages/webui/tests/agents-browser.test.mjs","event":"start","at":"2026-10-25T09:21:24.143Z","uptime":"04:21:24 up 11 days, 19:41, 2 users, load average: 7.12, 7.79, 7.79","TMPDIR":"/mnt/storage/scratch/tmp/PudQ6g","nice":19}
|
||||
{"name":"packages/webui/tests/agents-browser.test.mjs","event":"end","at":"2026-10-25T09:21:24.143Z","uptime":"04:21:24 up 11 days, 19:41, 2 users, load average: 7.12, 7.79, 7.79","TMPDIR":"/mnt/storage/scratch/tmp/PudQ6g","nice":19,"measuredDriverNice":19,"measuredChildNice":19,"endAt":"2026-10-25T09:21:39.436Z","endUptime":"04:21:39 up 11 days, 19:41, 2 users, load average: 7.02, 7.72, 7.77","rc":0,"signal":null,"timedOut":false,"tests":2,"pass":2,"fail":0,"skipped":0,"cancelled":0,"failedNames":[],"log":{"path":"/mnt/storage/scratch/tmp/cMDOAL/207-packages_webui_tests_agents-browser.test.mjs.log","sha256":"4187d0620a398164a67341d91ec44c0bbf85eaa84538567428273f3980a296c2","bytes":694}}
|
||||
{"name":"packages/webui/tests/agents.test.mjs","event":"start","at":"2026-10-25T09:21:39.442Z","uptime":"04:21:39 up 11 days, 19:41, 2 users, load average: 7.02, 7.72, 7.77","TMPDIR":"/mnt/storage/scratch/tmp/oyHVZe","nice":19}
|
||||
{"name":"packages/webui/tests/agents.test.mjs","event":"end","at":"2026-10-25T09:21:39.442Z","uptime":"04:21:39 up 11 days, 19:41, 2 users, load average: 7.02, 7.72, 7.77","TMPDIR":"/mnt/storage/scratch/tmp/oyHVZe","nice":19,"measuredDriverNice":19,"measuredChildNice":19,"endAt":"2026-10-25T09:21:39.859Z","endUptime":"04:21:39 up 11 days, 19:41, 2 users, load average: 7.02, 7.72, 7.77","rc":0,"signal":null,"timedOut":false,"tests":9,"pass":9,"fail":0,"skipped":0,"cancelled":0,"failedNames":[],"log":{"path":"/mnt/storage/scratch/tmp/cMDOAL/208-packages_webui_tests_agents.test.mjs.log","sha256":"b6b7bae137c85fc6d7839d1875ace76016ab880de912b15db8ba1a26351d5eba","bytes":2556}}
|
||||
{"name":"packages/webui/tests/assistant.test.mjs","event":"start","at":"2026-10-25T09:21:39.863Z","uptime":"04:21:39 up 11 days, 19:41, 2 users, load average: 7.02, 7.72, 7.77","TMPDIR":"/mnt/storage/scratch/tmp/si7z4t","nice":19}
|
||||
{"name":"packages/webui/tests/assistant.test.mjs","event":"end","at":"2026-10-25T09:21:39.863Z","uptime":"04:21:39 up 11 days, 19:41, 2 users, load average: 7.02, 7.72, 7.77","TMPDIR":"/mnt/storage/scratch/tmp/si7z4t","nice":19,"measuredDriverNice":19,"measuredChildNice":19,"endAt":"2026-10-25T09:21:40.238Z","endUptime":"04:21:40 up 11 days, 19:41, 2 users, load average: 7.02, 7.72, 7.77","rc":0,"signal":null,"timedOut":false,"tests":6,"pass":6,"fail":0,"skipped":0,"cancelled":0,"failedNames":[],"log":{"path":"/mnt/storage/scratch/tmp/cMDOAL/209-packages_webui_tests_assistant.test.mjs.log","sha256":"fc01eef6e5124964a4d9799d876d2d638869296f2768fc1e6762e0d63ec42476","bytes":1709}}
|
||||
{"name":"packages/webui/tests/board-held.test.mjs","event":"start","at":"2026-10-25T09:21:40.242Z","uptime":"04:21:40 up 11 days, 19:41, 2 users, load average: 7.02, 7.72, 7.77","TMPDIR":"/mnt/storage/scratch/tmp/eDld0v","nice":19}
|
||||
{"name":"packages/webui/tests/board-held.test.mjs","event":"end","at":"2026-10-25T09:21:40.242Z","uptime":"04:21:40 up 11 days, 19:41, 2 users, load average: 7.02, 7.72, 7.77","TMPDIR":"/mnt/storage/scratch/tmp/eDld0v","nice":19,"measuredDriverNice":19,"measuredChildNice":19,"endAt":"2026-10-25T09:21:51.892Z","endUptime":"04:21:51 up 11 days, 19:41, 2 users, load average: 7.48, 7.79, 7.80","rc":0,"signal":null,"timedOut":false,"tests":3,"pass":3,"fail":0,"skipped":0,"cancelled":0,"failedNames":[],"log":{"path":"/mnt/storage/scratch/tmp/cMDOAL/210-packages_webui_tests_board-held.test.mjs.log","sha256":"3d6589ee3d25c0c80828135e764c2efd1fc428261aba24ccfb6134db4b5695ff","bytes":1131}}
|
||||
{"name":"packages/webui/tests/browser-edge.test.mjs","event":"start","at":"2026-10-25T09:21:51.900Z","uptime":"04:21:51 up 11 days, 19:41, 2 users, load average: 7.48, 7.79, 7.80","TMPDIR":"/mnt/storage/scratch/tmp/YwjKVq","nice":19}
|
||||
{"name":"packages/webui/tests/browser-edge.test.mjs","event":"end","at":"2026-10-25T09:21:51.900Z","uptime":"04:21:51 up 11 days, 19:41, 2 users, load average: 7.48, 7.79, 7.80","TMPDIR":"/mnt/storage/scratch/tmp/YwjKVq","nice":19,"measuredDriverNice":19,"measuredChildNice":19,"endAt":"2026-10-25T09:21:53.959Z","endUptime":"04:21:53 up 11 days, 19:41, 2 users, load average: 7.48, 7.79, 7.80","rc":0,"signal":null,"timedOut":false,"tests":1,"pass":1,"fail":0,"skipped":0,"cancelled":0,"failedNames":[],"log":{"path":"/mnt/storage/scratch/tmp/cMDOAL/211-packages_webui_tests_browser-edge.test.mjs.log","sha256":"b83f4a3e577b07cf9910d7cbc2cdc5fa6349f3d585d56330b8893b0f7566c197","bytes":446}}
|
||||
{"name":"packages/webui/tests/browser.test.mjs","event":"start","at":"2026-10-25T09:21:53.962Z","uptime":"04:21:53 up 11 days, 19:41, 2 users, load average: 7.48, 7.79, 7.80","TMPDIR":"/mnt/storage/scratch/tmp/hTBCyr","nice":19}
|
||||
{"name":"packages/webui/tests/browser.test.mjs","event":"end","at":"2026-10-25T09:21:53.962Z","uptime":"04:21:53 up 11 days, 19:41, 2 users, load average: 7.48, 7.79, 7.80","TMPDIR":"/mnt/storage/scratch/tmp/hTBCyr","nice":19,"measuredDriverNice":19,"measuredChildNice":19,"endAt":"2026-10-25T09:21:55.982Z","endUptime":"04:21:55 up 11 days, 19:41, 2 users, load average: 7.36, 7.76, 7.79","rc":0,"signal":null,"timedOut":false,"tests":1,"pass":1,"fail":0,"skipped":0,"cancelled":0,"failedNames":[],"log":{"path":"/mnt/storage/scratch/tmp/cMDOAL/212-packages_webui_tests_browser.test.mjs.log","sha256":"2f5526b445104abf479fcc5d67b66c44ff4378dda6ab7b46f1874baf925d67d2","bytes":490}}
|
||||
{"name":"packages/webui/tests/bus-browser.test.mjs","event":"start","at":"2026-10-25T09:21:55.987Z","uptime":"04:21:55 up 11 days, 19:41, 2 users, load average: 7.36, 7.76, 7.79","TMPDIR":"/mnt/storage/scratch/tmp/x11Vaj","nice":19}
|
||||
{"name":"packages/webui/tests/bus-browser.test.mjs","event":"end","at":"2026-10-25T09:21:55.987Z","uptime":"04:21:55 up 11 days, 19:41, 2 users, load average: 7.36, 7.76, 7.79","TMPDIR":"/mnt/storage/scratch/tmp/x11Vaj","nice":19,"measuredDriverNice":19,"measuredChildNice":19,"endAt":"2026-10-25T09:21:59.835Z","endUptime":"04:21:59 up 11 days, 19:41, 2 users, load average: 8.21, 7.93, 7.84","rc":0,"signal":null,"timedOut":false,"tests":2,"pass":2,"fail":0,"skipped":0,"cancelled":0,"failedNames":[],"log":{"path":"/mnt/storage/scratch/tmp/cMDOAL/213-packages_webui_tests_bus-browser.test.mjs.log","sha256":"1f7baf26ac29dc0d4b0b742f66d7bd8328b33860005d93be80bf28e5d4254362","bytes":651}}
|
||||
{"name":"packages/webui/tests/bus.test.mjs","event":"start","at":"2026-10-25T09:21:59.840Z","uptime":"04:21:59 up 11 days, 19:41, 2 users, load average: 8.21, 7.93, 7.84","TMPDIR":"/mnt/storage/scratch/tmp/MugFKt","nice":19}
|
||||
{"name":"packages/webui/tests/bus.test.mjs","event":"end","at":"2026-10-25T09:21:59.840Z","uptime":"04:21:59 up 11 days, 19:41, 2 users, load average: 8.21, 7.93, 7.84","TMPDIR":"/mnt/storage/scratch/tmp/MugFKt","nice":19,"measuredDriverNice":19,"measuredChildNice":19,"endAt":"2026-10-25T09:22:03.291Z","endUptime":"04:22:03 up 11 days, 19:41, 2 users, load average: 8.21, 7.93, 7.84","rc":0,"signal":null,"timedOut":false,"tests":10,"pass":10,"fail":0,"skipped":0,"cancelled":0,"failedNames":[],"log":{"path":"/mnt/storage/scratch/tmp/cMDOAL/214-packages_webui_tests_bus.test.mjs.log","sha256":"af879fb30518ebf7689db9b6b4dab7c67fdac2070a9fda8785b24d7ebaa503cd","bytes":2251}}
|
||||
{"name":"packages/webui/tests/channel-chat.test.mjs","event":"start","at":"2026-10-25T09:22:03.294Z","uptime":"04:22:03 up 11 days, 19:41, 2 users, load average: 8.21, 7.93, 7.84","TMPDIR":"/mnt/storage/scratch/tmp/9BWLYa","nice":19}
|
||||
{"name":"packages/webui/tests/channel-chat.test.mjs","event":"end","at":"2026-10-25T09:22:03.294Z","uptime":"04:22:03 up 11 days, 19:41, 2 users, load average: 8.21, 7.93, 7.84","TMPDIR":"/mnt/storage/scratch/tmp/9BWLYa","nice":19,"measuredDriverNice":19,"measuredChildNice":19,"endAt":"2026-10-25T09:22:03.557Z","endUptime":"04:22:03 up 11 days, 19:41, 2 users, load average: 8.21, 7.93, 7.84","rc":0,"signal":null,"timedOut":false,"tests":3,"pass":3,"fail":0,"skipped":0,"cancelled":0,"failedNames":[],"log":{"path":"/mnt/storage/scratch/tmp/cMDOAL/215-packages_webui_tests_channel-chat.test.mjs.log","sha256":"f6ccc49bed1d337fc84b83c45ffb6fcec0beeca7b52d9b70b524281afba61957","bytes":859}}
|
||||
{"name":"packages/webui/tests/chat-browser.test.mjs","event":"start","at":"2026-10-25T09:22:03.560Z","uptime":"04:22:03 up 11 days, 19:41, 2 users, load average: 8.21, 7.93, 7.84","TMPDIR":"/mnt/storage/scratch/tmp/1sHh28","nice":19}
|
||||
{"name":"packages/webui/tests/chat-browser.test.mjs","event":"end","at":"2026-10-25T09:22:03.560Z","uptime":"04:22:03 up 11 days, 19:41, 2 users, load average: 8.21, 7.93, 7.84","TMPDIR":"/mnt/storage/scratch/tmp/1sHh28","nice":19,"measuredDriverNice":19,"measuredChildNice":19,"endAt":"2026-10-25T09:22:32.630Z","endUptime":"04:22:32 up 11 days, 19:42, 2 users, load average: 10.31, 8.44, 8.01","rc":0,"signal":null,"timedOut":false,"tests":19,"pass":19,"fail":0,"skipped":0,"cancelled":0,"failedNames":[],"log":{"path":"/mnt/storage/scratch/tmp/cMDOAL/216-packages_webui_tests_chat-browser.test.mjs.log","sha256":"187dd61c9d8a8101a9991e19e9c8592ec4dfa4f2e9f5439c6d03ae25be3ad25e","bytes":4960}}
|
||||
{"name":"packages/webui/tests/chat-instances.test.mjs","event":"start","at":"2026-10-25T09:22:32.633Z","uptime":"04:22:32 up 11 days, 19:42, 2 users, load average: 10.31, 8.44, 8.01","TMPDIR":"/mnt/storage/scratch/tmp/EwvI7X","nice":19}
|
||||
{"name":"packages/webui/tests/chat-instances.test.mjs","event":"end","at":"2026-10-25T09:22:32.633Z","uptime":"04:22:32 up 11 days, 19:42, 2 users, load average: 10.31, 8.44, 8.01","TMPDIR":"/mnt/storage/scratch/tmp/EwvI7X","nice":19,"measuredDriverNice":19,"measuredChildNice":19,"endAt":"2026-10-25T09:22:32.894Z","endUptime":"04:22:32 up 11 days, 19:42, 2 users, load average: 10.31, 8.44, 8.01","rc":0,"signal":null,"timedOut":false,"tests":4,"pass":4,"fail":0,"skipped":0,"cancelled":0,"failedNames":[],"log":{"path":"/mnt/storage/scratch/tmp/cMDOAL/217-packages_webui_tests_chat-instances.test.mjs.log","sha256":"7ecfc3e818bb7c740e6158f564a6888e5ddd5e419f7755ab421e7207e5b5c3b7","bytes":1134}}
|
||||
{"name":"packages/webui/tests/chat-replies-browser.test.mjs","event":"start","at":"2026-10-25T09:22:32.898Z","uptime":"04:22:32 up 11 days, 19:42, 2 users, load average: 10.31, 8.44, 8.01","TMPDIR":"/mnt/storage/scratch/tmp/CqRiZt","nice":19}
|
||||
{"name":"packages/webui/tests/chat-replies-browser.test.mjs","event":"end","at":"2026-10-25T09:22:32.898Z","uptime":"04:22:32 up 11 days, 19:42, 2 users, load average: 10.31, 8.44, 8.01","TMPDIR":"/mnt/storage/scratch/tmp/CqRiZt","nice":19,"measuredDriverNice":19,"measuredChildNice":19,"endAt":"2026-10-25T09:22:42.897Z","endUptime":"04:22:42 up 11 days, 19:42, 2 users, load average: 10.81, 8.61, 8.07","rc":0,"signal":null,"timedOut":false,"tests":11,"pass":11,"fail":0,"skipped":0,"cancelled":0,"failedNames":[],"log":{"path":"/mnt/storage/scratch/tmp/cMDOAL/218-packages_webui_tests_chat-replies-browser.test.mjs.log","sha256":"22b4aa4ba82effcf856db91159deecc23c43193089c272acbf6d4a08d0af4a39","bytes":2769}}
|
||||
{"name":"packages/webui/tests/chat-sessions-access.test.mjs","event":"start","at":"2026-10-25T09:22:42.900Z","uptime":"04:22:42 up 11 days, 19:42, 2 users, load average: 10.81, 8.61, 8.07","TMPDIR":"/mnt/storage/scratch/tmp/4XCyTq","nice":19}
|
||||
{"name":"packages/webui/tests/chat-sessions-access.test.mjs","event":"end","at":"2026-10-25T09:22:42.900Z","uptime":"04:22:42 up 11 days, 19:42, 2 users, load average: 10.81, 8.61, 8.07","TMPDIR":"/mnt/storage/scratch/tmp/4XCyTq","nice":19,"measuredDriverNice":19,"measuredChildNice":19,"endAt":"2026-10-25T09:22:48.437Z","endUptime":"04:22:48 up 11 days, 19:42, 2 users, load average: 11.30, 8.75, 8.12","rc":0,"signal":null,"timedOut":false,"tests":7,"pass":7,"fail":0,"skipped":0,"cancelled":0,"failedNames":[],"log":{"path":"/mnt/storage/scratch/tmp/cMDOAL/219-packages_webui_tests_chat-sessions-access.test.mjs.log","sha256":"11a3a89638deef2964a4792fa47b02f21fcb3cfdd9e04605d77bd6135b5c4a5b","bytes":1860}}
|
||||
{"name":"packages/webui/tests/chat.test.mjs","event":"start","at":"2026-10-25T09:22:48.442Z","uptime":"04:22:48 up 11 days, 19:42, 2 users, load average: 11.30, 8.75, 8.12","TMPDIR":"/mnt/storage/scratch/tmp/VA46yC","nice":19}
|
||||
{"name":"packages/webui/tests/chat.test.mjs","event":"end","at":"2026-10-25T09:22:48.442Z","uptime":"04:22:48 up 11 days, 19:42, 2 users, load average: 11.30, 8.75, 8.12","TMPDIR":"/mnt/storage/scratch/tmp/VA46yC","nice":19,"measuredDriverNice":19,"measuredChildNice":19,"endAt":"2026-10-25T09:22:49.561Z","endUptime":"04:22:49 up 11 days, 19:42, 2 users, load average: 12.32, 9.00, 8.20","rc":0,"signal":null,"timedOut":false,"tests":30,"pass":30,"fail":0,"skipped":0,"cancelled":0,"failedNames":[],"log":{"path":"/mnt/storage/scratch/tmp/cMDOAL/220-packages_webui_tests_chat.test.mjs.log","sha256":"a44a621bfe4270e547d31ab0afc0e4bdeae6f45bf00aa01b8366275482155e83","bytes":7085}}
|
||||
{"name":"packages/webui/tests/conversation.test.mjs","event":"start","at":"2026-10-25T09:22:49.567Z","uptime":"04:22:49 up 11 days, 19:42, 2 users, load average: 12.32, 9.00, 8.20","TMPDIR":"/mnt/storage/scratch/tmp/PZsNBr","nice":19}
|
||||
{"name":"packages/webui/tests/conversation.test.mjs","event":"end","at":"2026-10-25T09:22:49.567Z","uptime":"04:22:49 up 11 days, 19:42, 2 users, load average: 12.32, 9.00, 8.20","TMPDIR":"/mnt/storage/scratch/tmp/PZsNBr","nice":19,"measuredDriverNice":19,"measuredChildNice":19,"endAt":"2026-10-25T09:22:56.532Z","endUptime":"04:22:56 up 11 days, 19:42, 2 users, load average: 13.49, 9.30, 8.31","rc":0,"signal":null,"timedOut":false,"tests":4,"pass":4,"fail":0,"skipped":0,"cancelled":0,"failedNames":[],"log":{"path":"/mnt/storage/scratch/tmp/cMDOAL/221-packages_webui_tests_conversation.test.mjs.log","sha256":"80a7f7436c363425e49d3db0ba2ec083bde2850947a886e6969dc77000f83d95","bytes":1142}}
|
||||
{"name":"packages/webui/tests/decide-browser.test.mjs","event":"start","at":"2026-10-25T09:22:56.538Z","uptime":"04:22:56 up 11 days, 19:42, 2 users, load average: 13.49, 9.30, 8.31","TMPDIR":"/mnt/storage/scratch/tmp/yyReZk","nice":19}
|
||||
{"name":"packages/webui/tests/decide-browser.test.mjs","event":"end","at":"2026-10-25T09:22:56.538Z","uptime":"04:22:56 up 11 days, 19:42, 2 users, load average: 13.49, 9.30, 8.31","TMPDIR":"/mnt/storage/scratch/tmp/yyReZk","nice":19,"measuredDriverNice":19,"measuredChildNice":19,"endAt":"2026-10-25T09:23:08.843Z","endUptime":"04:23:08 up 11 days, 19:42, 2 users, load average: 12.85, 9.31, 8.32","rc":0,"signal":null,"timedOut":false,"tests":3,"pass":3,"fail":0,"skipped":0,"cancelled":0,"failedNames":[],"log":{"path":"/mnt/storage/scratch/tmp/cMDOAL/222-packages_webui_tests_decide-browser.test.mjs.log","sha256":"3c8499bcc89f71286a1aad43ba05b1b30d6688f31761ffe9c2d3fb067780afa9","bytes":947}}
|
||||
{"name":"packages/webui/tests/decide-sso.test.mjs","event":"start","at":"2026-10-25T09:23:08.847Z","uptime":"04:23:08 up 11 days, 19:42, 2 users, load average: 12.85, 9.31, 8.32","TMPDIR":"/mnt/storage/scratch/tmp/bnOpmC","nice":19}
|
||||
{"name":"packages/webui/tests/decide-sso.test.mjs","event":"end","at":"2026-10-25T09:23:08.847Z","uptime":"04:23:08 up 11 days, 19:42, 2 users, load average: 12.85, 9.31, 8.32","TMPDIR":"/mnt/storage/scratch/tmp/bnOpmC","nice":19,"measuredDriverNice":19,"measuredChildNice":19,"endAt":"2026-10-25T09:23:09.859Z","endUptime":"04:23:09 up 11 days, 19:43, 2 users, load average: 12.46, 9.28, 8.32","rc":0,"signal":null,"timedOut":false,"tests":5,"pass":5,"fail":0,"skipped":0,"cancelled":0,"failedNames":[],"log":{"path":"/mnt/storage/scratch/tmp/cMDOAL/223-packages_webui_tests_decide-sso.test.mjs.log","sha256":"5f85e3b81986b47cb183a77487bc3f3456c1a2f58f3c9a780b2914cd58d76090","bytes":1667}}
|
||||
{"name":"packages/webui/tests/decision-http.test.mjs","event":"start","at":"2026-10-25T09:23:09.862Z","uptime":"04:23:09 up 11 days, 19:43, 2 users, load average: 12.46, 9.28, 8.32","TMPDIR":"/mnt/storage/scratch/tmp/1mPKMZ","nice":19}
|
||||
{"name":"packages/webui/tests/decision-http.test.mjs","event":"end","at":"2026-10-25T09:23:09.862Z","uptime":"04:23:09 up 11 days, 19:43, 2 users, load average: 12.46, 9.28, 8.32","TMPDIR":"/mnt/storage/scratch/tmp/1mPKMZ","nice":19,"measuredDriverNice":19,"measuredChildNice":19,"endAt":"2026-10-25T09:23:10.029Z","endUptime":"04:23:10 up 11 days, 19:43, 2 users, load average: 12.46, 9.28, 8.32","rc":0,"signal":null,"timedOut":false,"tests":9,"pass":9,"fail":0,"skipped":0,"cancelled":0,"failedNames":[],"log":{"path":"/mnt/storage/scratch/tmp/cMDOAL/224-packages_webui_tests_decision-http.test.mjs.log","sha256":"2bf9a831fba576dd64085db25b0c567f0ee5aa8709acf27e3c1fef7e82d2e949","bytes":2202}}
|
||||
{"name":"packages/webui/tests/discord.test.mjs","event":"start","at":"2026-10-25T09:23:10.033Z","uptime":"04:23:10 up 11 days, 19:43, 2 users, load average: 12.46, 9.28, 8.32","TMPDIR":"/mnt/storage/scratch/tmp/aHbe3Q","nice":19}
|
||||
{"name":"packages/webui/tests/discord.test.mjs","event":"end","at":"2026-10-25T09:23:10.033Z","uptime":"04:23:10 up 11 days, 19:43, 2 users, load average: 12.46, 9.28, 8.32","TMPDIR":"/mnt/storage/scratch/tmp/aHbe3Q","nice":19,"measuredDriverNice":19,"measuredChildNice":19,"endAt":"2026-10-25T09:23:11.261Z","endUptime":"04:23:11 up 11 days, 19:43, 2 users, load average: 12.46, 9.28, 8.32","rc":0,"signal":null,"timedOut":false,"tests":1,"pass":1,"fail":0,"skipped":0,"cancelled":0,"failedNames":[],"log":{"path":"/mnt/storage/scratch/tmp/cMDOAL/225-packages_webui_tests_discord.test.mjs.log","sha256":"a8e086e86b659598c8792a48ac41a8f7274b1899e3104a8497de51cfba1ae833","bytes":397}}
|
||||
{"name":"packages/webui/tests/docs-browser.test.mjs","event":"start","at":"2026-10-25T09:23:11.264Z","uptime":"04:23:11 up 11 days, 19:43, 2 users, load average: 12.46, 9.28, 8.32","TMPDIR":"/mnt/storage/scratch/tmp/lAFktl","nice":19}
|
||||
{"name":"packages/webui/tests/docs-browser.test.mjs","event":"end","at":"2026-10-25T09:23:11.264Z","uptime":"04:23:11 up 11 days, 19:43, 2 users, load average: 12.46, 9.28, 8.32","TMPDIR":"/mnt/storage/scratch/tmp/lAFktl","nice":19,"measuredDriverNice":19,"measuredChildNice":19,"endAt":"2026-10-25T09:23:13.421Z","endUptime":"04:23:13 up 11 days, 19:43, 2 users, load average: 12.46, 9.28, 8.32","rc":0,"signal":null,"timedOut":false,"tests":1,"pass":1,"fail":0,"skipped":0,"cancelled":0,"failedNames":[],"log":{"path":"/mnt/storage/scratch/tmp/cMDOAL/226-packages_webui_tests_docs-browser.test.mjs.log","sha256":"e9043b22d8ce844e9ef1a69d0cf65e12ca31989227e970946bef84ac79e406fd","bytes":396}}
|
||||
{"name":"packages/webui/tests/editor-browser.test.mjs","event":"start","at":"2026-10-25T09:23:13.425Z","uptime":"04:23:13 up 11 days, 19:43, 2 users, load average: 12.46, 9.28, 8.32","TMPDIR":"/mnt/storage/scratch/tmp/zIhwVt","nice":19}
|
||||
{"name":"packages/webui/tests/editor-browser.test.mjs","event":"end","at":"2026-10-25T09:23:13.425Z","uptime":"04:23:13 up 11 days, 19:43, 2 users, load average: 12.46, 9.28, 8.32","TMPDIR":"/mnt/storage/scratch/tmp/zIhwVt","nice":19,"measuredDriverNice":19,"measuredChildNice":19,"endAt":"2026-10-25T09:23:32.033Z","endUptime":"04:23:32 up 11 days, 19:43, 2 users, load average: 11.59, 9.28, 8.34","rc":0,"signal":null,"timedOut":false,"tests":16,"pass":16,"fail":0,"skipped":0,"cancelled":0,"failedNames":[],"log":{"path":"/mnt/storage/scratch/tmp/cMDOAL/227-packages_webui_tests_editor-browser.test.mjs.log","sha256":"d304fec5f3bdf27a7012f17ed700d9d07775c760c4018f73ea82e9ccf633edb5","bytes":4761}}
|
||||
{"name":"packages/webui/tests/editor.test.mjs","event":"start","at":"2026-10-25T09:23:32.038Z","uptime":"04:23:32 up 11 days, 19:43, 2 users, load average: 11.59, 9.28, 8.34","TMPDIR":"/mnt/storage/scratch/tmp/HOrFz6","nice":19}
|
||||
{"name":"packages/webui/tests/editor.test.mjs","event":"end","at":"2026-10-25T09:23:32.038Z","uptime":"04:23:32 up 11 days, 19:43, 2 users, load average: 11.59, 9.28, 8.34","TMPDIR":"/mnt/storage/scratch/tmp/HOrFz6","nice":19,"measuredDriverNice":19,"measuredChildNice":19,"endAt":"2026-10-25T09:23:35.008Z","endUptime":"04:23:35 up 11 days, 19:43, 2 users, load average: 11.54, 9.31, 8.35","rc":0,"signal":null,"timedOut":false,"tests":5,"pass":5,"fail":0,"skipped":0,"cancelled":0,"failedNames":[],"log":{"path":"/mnt/storage/scratch/tmp/cMDOAL/228-packages_webui_tests_editor.test.mjs.log","sha256":"62d438cabdebb1f167f3f039340bc9ea9418d9aaf037c4897b1c15e3adb5e3ed","bytes":1271}}
|
||||
{"name":"packages/webui/tests/granted-user.test.mjs","event":"start","at":"2026-10-25T09:23:35.019Z","uptime":"04:23:35 up 11 days, 19:43, 2 users, load average: 11.54, 9.31, 8.35","TMPDIR":"/mnt/storage/scratch/tmp/0QXJPi","nice":19}
|
||||
{"name":"packages/webui/tests/granted-user.test.mjs","event":"end","at":"2026-10-25T09:23:35.019Z","uptime":"04:23:35 up 11 days, 19:43, 2 users, load average: 11.54, 9.31, 8.35","TMPDIR":"/mnt/storage/scratch/tmp/0QXJPi","nice":19,"measuredDriverNice":19,"measuredChildNice":19,"endAt":"2026-10-25T09:23:37.998Z","endUptime":"04:23:37 up 11 days, 19:43, 2 users, load average: 11.54, 9.31, 8.35","rc":0,"signal":null,"timedOut":false,"tests":19,"pass":19,"fail":0,"skipped":0,"cancelled":0,"failedNames":[],"log":{"path":"/mnt/storage/scratch/tmp/cMDOAL/229-packages_webui_tests_granted-user.test.mjs.log","sha256":"5e079a8f3f8120517233354d73c7726305217950576135bbe5944086d14fb6e0","bytes":3473}}
|
||||
{"name":"packages/webui/tests/history-return-flow.test.mjs","event":"start","at":"2026-10-25T09:23:38.001Z","uptime":"04:23:38 up 11 days, 19:43, 2 users, load average: 11.54, 9.31, 8.35","TMPDIR":"/mnt/storage/scratch/tmp/f9upki","nice":19}
|
||||
{"name":"packages/webui/tests/history-return-flow.test.mjs","event":"end","at":"2026-10-25T09:23:38.001Z","uptime":"04:23:38 up 11 days, 19:43, 2 users, load average: 11.54, 9.31, 8.35","TMPDIR":"/mnt/storage/scratch/tmp/f9upki","nice":19,"measuredDriverNice":19,"measuredChildNice":19,"endAt":"2026-10-25T09:24:30.962Z","endUptime":"04:24:30 up 11 days, 19:44, 2 users, load average: 8.85, 8.95, 8.28","rc":0,"signal":null,"timedOut":false,"tests":1,"pass":1,"fail":0,"skipped":0,"cancelled":0,"failedNames":[],"log":{"path":"/mnt/storage/scratch/tmp/cMDOAL/230-packages_webui_tests_history-return-flow.test.mjs.log","sha256":"ba8ca95824f5b59bab66aa1ee817db59014b2ec027c7b528c16034b5e61edbaf","bytes":454}}
|
||||
{"name":"packages/webui/tests/instances-browser.test.mjs","event":"start","at":"2026-10-25T09:24:30.966Z","uptime":"04:24:30 up 11 days, 19:44, 2 users, load average: 8.85, 8.95, 8.28","TMPDIR":"/mnt/storage/scratch/tmp/wK41o9","nice":19}
|
||||
{"name":"packages/webui/tests/instances-browser.test.mjs","event":"end","at":"2026-10-25T09:24:30.966Z","uptime":"04:24:30 up 11 days, 19:44, 2 users, load average: 8.85, 8.95, 8.28","TMPDIR":"/mnt/storage/scratch/tmp/wK41o9","nice":19,"measuredDriverNice":19,"measuredChildNice":19,"endAt":"2026-10-25T09:24:32.530Z","endUptime":"04:24:32 up 11 days, 19:44, 2 users, load average: 8.85, 8.95, 8.28","rc":0,"signal":null,"timedOut":false,"tests":1,"pass":1,"fail":0,"skipped":0,"cancelled":0,"failedNames":[],"log":{"path":"/mnt/storage/scratch/tmp/cMDOAL/231-packages_webui_tests_instances-browser.test.mjs.log","sha256":"4f52a90fdf3e42415451a3e7abb6e35ddc5a74f439967e9ed38646036b2d7a34","bytes":436}}
|
||||
{"name":"packages/webui/tests/instances.test.mjs","event":"start","at":"2026-10-25T09:24:32.534Z","uptime":"04:24:32 up 11 days, 19:44, 2 users, load average: 8.85, 8.95, 8.28","TMPDIR":"/mnt/storage/scratch/tmp/Nn0tA0","nice":19}
|
||||
{"name":"packages/webui/tests/instances.test.mjs","event":"end","at":"2026-10-25T09:24:32.534Z","uptime":"04:24:32 up 11 days, 19:44, 2 users, load average: 8.85, 8.95, 8.28","TMPDIR":"/mnt/storage/scratch/tmp/Nn0tA0","nice":19,"measuredDriverNice":19,"measuredChildNice":19,"endAt":"2026-10-25T09:24:33.108Z","endUptime":"04:24:33 up 11 days, 19:44, 2 users, load average: 8.85, 8.95, 8.28","rc":0,"signal":null,"timedOut":false,"tests":5,"pass":5,"fail":0,"skipped":0,"cancelled":0,"failedNames":[],"log":{"path":"/mnt/storage/scratch/tmp/cMDOAL/232-packages_webui_tests_instances.test.mjs.log","sha256":"1fc411d9f91bd768b8510af8fa2427102a7db56dda9a17a4595f5ec7f9f4c432","bytes":1742}}
|
||||
{"name":"packages/webui/tests/library-cli.test.mjs","event":"start","at":"2026-10-25T09:24:33.111Z","uptime":"04:24:33 up 11 days, 19:44, 2 users, load average: 8.85, 8.95, 8.28","TMPDIR":"/mnt/storage/scratch/tmp/oz24pU","nice":19}
|
||||
{"name":"packages/webui/tests/library-cli.test.mjs","event":"end","at":"2026-10-25T09:24:33.111Z","uptime":"04:24:33 up 11 days, 19:44, 2 users, load average: 8.85, 8.95, 8.28","TMPDIR":"/mnt/storage/scratch/tmp/oz24pU","nice":19,"measuredDriverNice":19,"measuredChildNice":19,"endAt":"2026-10-25T09:24:33.497Z","endUptime":"04:24:33 up 11 days, 19:44, 2 users, load average: 8.85, 8.95, 8.28","rc":0,"signal":null,"timedOut":false,"tests":1,"pass":1,"fail":0,"skipped":0,"cancelled":0,"failedNames":[],"log":{"path":"/mnt/storage/scratch/tmp/cMDOAL/233-packages_webui_tests_library-cli.test.mjs.log","sha256":"e8b1acfe505326488e6d1059b7cc45555c40e456190b02dde8b991d473716994","bytes":388}}
|
||||
{"name":"packages/webui/tests/library-routes.test.mjs","event":"start","at":"2026-10-25T09:24:33.501Z","uptime":"04:24:33 up 11 days, 19:44, 2 users, load average: 8.85, 8.95, 8.28","TMPDIR":"/mnt/storage/scratch/tmp/mS3IGa","nice":19}
|
||||
{"name":"packages/webui/tests/library-routes.test.mjs","event":"end","at":"2026-10-25T09:24:33.501Z","uptime":"04:24:33 up 11 days, 19:44, 2 users, load average: 8.85, 8.95, 8.28","TMPDIR":"/mnt/storage/scratch/tmp/mS3IGa","nice":19,"measuredDriverNice":19,"measuredChildNice":19,"endAt":"2026-10-25T09:24:33.789Z","endUptime":"04:24:33 up 11 days, 19:44, 2 users, load average: 8.85, 8.95, 8.28","rc":0,"signal":null,"timedOut":false,"tests":13,"pass":13,"fail":0,"skipped":0,"cancelled":0,"failedNames":[],"log":{"path":"/mnt/storage/scratch/tmp/cMDOAL/234-packages_webui_tests_library-routes.test.mjs.log","sha256":"ab35b792ac5f039edd6166dc270099f711cdbd52f32e8206fac7e255faa5f9a1","bytes":3192}}
|
||||
{"name":"packages/webui/tests/library-status.test.mjs","event":"start","at":"2026-10-25T09:24:33.792Z","uptime":"04:24:33 up 11 days, 19:44, 2 users, load average: 8.85, 8.95, 8.28","TMPDIR":"/mnt/storage/scratch/tmp/UOLmBu","nice":19}
|
||||
{"name":"packages/webui/tests/library-status.test.mjs","event":"end","at":"2026-10-25T09:24:33.792Z","uptime":"04:24:33 up 11 days, 19:44, 2 users, load average: 8.85, 8.95, 8.28","TMPDIR":"/mnt/storage/scratch/tmp/UOLmBu","nice":19,"measuredDriverNice":19,"measuredChildNice":19,"endAt":"2026-10-25T09:24:33.949Z","endUptime":"04:24:33 up 11 days, 19:44, 2 users, load average: 8.85, 8.95, 8.28","rc":0,"signal":null,"timedOut":false,"tests":1,"pass":1,"fail":0,"skipped":0,"cancelled":0,"failedNames":[],"log":{"path":"/mnt/storage/scratch/tmp/cMDOAL/235-packages_webui_tests_library-status.test.mjs.log","sha256":"35bc5d82487a17acd7698c0fd9a597b13fe0aa8550ca5a8f5e6e83485abc8299","bytes":312}}
|
||||
{"name":"packages/webui/tests/limits-browser.test.mjs","event":"start","at":"2026-10-25T09:24:33.952Z","uptime":"04:24:33 up 11 days, 19:44, 2 users, load average: 8.85, 8.95, 8.28","TMPDIR":"/mnt/storage/scratch/tmp/Lo3u9Z","nice":19}
|
||||
{"name":"packages/webui/tests/limits-browser.test.mjs","event":"end","at":"2026-10-25T09:24:33.952Z","uptime":"04:24:33 up 11 days, 19:44, 2 users, load average: 8.85, 8.95, 8.28","TMPDIR":"/mnt/storage/scratch/tmp/Lo3u9Z","nice":19,"measuredDriverNice":19,"measuredChildNice":19,"endAt":"2026-10-25T09:24:36.484Z","endUptime":"04:24:36 up 11 days, 19:44, 2 users, load average: 8.78, 8.93, 8.28","rc":0,"signal":null,"timedOut":false,"tests":2,"pass":2,"fail":0,"skipped":0,"cancelled":0,"failedNames":[],"log":{"path":"/mnt/storage/scratch/tmp/cMDOAL/236-packages_webui_tests_limits-browser.test.mjs.log","sha256":"7e4fd740f76e941edd583aacb1e20e59044faa6f2fb749b46ea9e93114182b8e","bytes":769}}
|
||||
{"name":"packages/webui/tests/limits-route.test.mjs","event":"start","at":"2026-10-25T09:24:36.488Z","uptime":"04:24:36 up 11 days, 19:44, 2 users, load average: 8.78, 8.93, 8.28","TMPDIR":"/mnt/storage/scratch/tmp/AcIok3","nice":19}
|
||||
{"name":"packages/webui/tests/limits-route.test.mjs","event":"end","at":"2026-10-25T09:24:36.488Z","uptime":"04:24:36 up 11 days, 19:44, 2 users, load average: 8.78, 8.93, 8.28","TMPDIR":"/mnt/storage/scratch/tmp/AcIok3","nice":19,"measuredDriverNice":19,"measuredChildNice":19,"endAt":"2026-10-25T09:24:36.755Z","endUptime":"04:24:36 up 11 days, 19:44, 2 users, load average: 8.78, 8.93, 8.28","rc":0,"signal":null,"timedOut":false,"tests":4,"pass":4,"fail":0,"skipped":0,"cancelled":0,"failedNames":[],"log":{"path":"/mnt/storage/scratch/tmp/cMDOAL/237-packages_webui_tests_limits-route.test.mjs.log","sha256":"d2a181ec97aefe70a47c78521397b24edfa9c9cd7f89d580359640efb04da5db","bytes":1144}}
|
||||
{"name":"packages/webui/tests/messages.test.mjs","event":"start","at":"2026-10-25T09:24:36.758Z","uptime":"04:24:36 up 11 days, 19:44, 2 users, load average: 8.78, 8.93, 8.28","TMPDIR":"/mnt/storage/scratch/tmp/7zbLzZ","nice":19}
|
||||
{"name":"packages/webui/tests/messages.test.mjs","event":"end","at":"2026-10-25T09:24:36.758Z","uptime":"04:24:36 up 11 days, 19:44, 2 users, load average: 8.78, 8.93, 8.28","TMPDIR":"/mnt/storage/scratch/tmp/7zbLzZ","nice":19,"measuredDriverNice":19,"measuredChildNice":19,"endAt":"2026-10-25T09:24:40.242Z","endUptime":"04:24:40 up 11 days, 19:44, 2 users, load average: 8.56, 8.88, 8.27","rc":0,"signal":null,"timedOut":false,"tests":3,"pass":3,"fail":0,"skipped":0,"cancelled":0,"failedNames":[],"log":{"path":"/mnt/storage/scratch/tmp/cMDOAL/238-packages_webui_tests_messages.test.mjs.log","sha256":"517edc057e16b726d53bdc62fb8d10b464f57fed3cff6a9c0235bf6d04deb8ed","bytes":1109}}
|
||||
{"name":"packages/webui/tests/pinned-copy.test.mjs","event":"start","at":"2026-10-25T09:24:40.247Z","uptime":"04:24:40 up 11 days, 19:44, 2 users, load average: 8.56, 8.88, 8.27","TMPDIR":"/mnt/storage/scratch/tmp/TX7O0d","nice":19}
|
||||
{"name":"packages/webui/tests/pinned-copy.test.mjs","event":"end","at":"2026-10-25T09:24:40.247Z","uptime":"04:24:40 up 11 days, 19:44, 2 users, load average: 8.56, 8.88, 8.27","TMPDIR":"/mnt/storage/scratch/tmp/TX7O0d","nice":19,"measuredDriverNice":19,"measuredChildNice":19,"endAt":"2026-10-25T09:24:49.624Z","endUptime":"04:24:49 up 11 days, 19:44, 2 users, load average: 8.31, 8.82, 8.25","rc":0,"signal":null,"timedOut":false,"tests":10,"pass":10,"fail":0,"skipped":0,"cancelled":0,"failedNames":[],"log":{"path":"/mnt/storage/scratch/tmp/cMDOAL/239-packages_webui_tests_pinned-copy.test.mjs.log","sha256":"1f958dacfb7634541ccc403addf91088b19a31bc9e34f8c9b93e7ce9b927433b","bytes":2550}}
|
||||
{"name":"packages/webui/tests/preview.test.mjs","event":"start","at":"2026-10-25T09:24:49.628Z","uptime":"04:24:49 up 11 days, 19:44, 2 users, load average: 8.31, 8.82, 8.25","TMPDIR":"/mnt/storage/scratch/tmp/3f6jtA","nice":19}
|
||||
{"name":"packages/webui/tests/preview.test.mjs","event":"end","at":"2026-10-25T09:24:49.628Z","uptime":"04:24:49 up 11 days, 19:44, 2 users, load average: 8.31, 8.82, 8.25","TMPDIR":"/mnt/storage/scratch/tmp/3f6jtA","nice":19,"measuredDriverNice":19,"measuredChildNice":19,"endAt":"2026-10-25T09:24:51.208Z","endUptime":"04:24:51 up 11 days, 19:44, 2 users, load average: 8.31, 8.82, 8.25","rc":0,"signal":null,"timedOut":false,"tests":11,"pass":11,"fail":0,"skipped":0,"cancelled":0,"failedNames":[],"log":{"path":"/mnt/storage/scratch/tmp/cMDOAL/240-packages_webui_tests_preview.test.mjs.log","sha256":"9e765e34a3619637691a41ddf6c4a98d52e6747473f5c0e0b8c620e2d0a312ab","bytes":2723}}
|
||||
{"name":"packages/webui/tests/processing-browser.test.mjs","event":"start","at":"2026-10-25T09:24:51.214Z","uptime":"04:24:51 up 11 days, 19:44, 2 users, load average: 8.31, 8.82, 8.25","TMPDIR":"/mnt/storage/scratch/tmp/DG5GKw","nice":19}
|
||||
{"name":"packages/webui/tests/processing-browser.test.mjs","event":"end","at":"2026-10-25T09:24:51.214Z","uptime":"04:24:51 up 11 days, 19:44, 2 users, load average: 8.31, 8.82, 8.25","TMPDIR":"/mnt/storage/scratch/tmp/DG5GKw","nice":19,"measuredDriverNice":19,"measuredChildNice":19,"endAt":"2026-10-25T09:25:00.121Z","endUptime":"04:25:00 up 11 days, 19:44, 2 users, load average: 8.41, 8.83, 8.26","rc":0,"signal":null,"timedOut":false,"tests":9,"pass":9,"fail":0,"skipped":0,"cancelled":0,"failedNames":[],"log":{"path":"/mnt/storage/scratch/tmp/cMDOAL/241-packages_webui_tests_processing-browser.test.mjs.log","sha256":"7db385e7f2be35054ecfc3294fbdf3629de03b01c86a9a3b3ee3f0c0a35000e7","bytes":3094}}
|
||||
{"name":"packages/webui/tests/processing.test.mjs","event":"start","at":"2026-10-25T09:25:00.124Z","uptime":"04:25:00 up 11 days, 19:44, 2 users, load average: 8.41, 8.83, 8.26","TMPDIR":"/mnt/storage/scratch/tmp/msYpLh","nice":19}
|
||||
{"name":"packages/webui/tests/processing.test.mjs","event":"end","at":"2026-10-25T09:25:00.124Z","uptime":"04:25:00 up 11 days, 19:44, 2 users, load average: 8.41, 8.83, 8.26","TMPDIR":"/mnt/storage/scratch/tmp/msYpLh","nice":19,"measuredDriverNice":19,"measuredChildNice":19,"endAt":"2026-10-25T09:25:00.402Z","endUptime":"04:25:00 up 11 days, 19:44, 2 users, load average: 8.41, 8.83, 8.26","rc":0,"signal":null,"timedOut":false,"tests":6,"pass":6,"fail":0,"skipped":0,"cancelled":0,"failedNames":[],"log":{"path":"/mnt/storage/scratch/tmp/cMDOAL/242-packages_webui_tests_processing.test.mjs.log","sha256":"fc74dad3c0deb34f36865490180f38b7cbf1f0e26ed4ddf110fc766d8cd4c376","bytes":1692}}
|
||||
{"name":"packages/webui/tests/project-file.test.mjs","event":"start","at":"2026-10-25T09:25:00.406Z","uptime":"04:25:00 up 11 days, 19:44, 2 users, load average: 8.41, 8.83, 8.26","TMPDIR":"/mnt/storage/scratch/tmp/jw22ug","nice":19}
|
||||
{"name":"packages/webui/tests/project-file.test.mjs","event":"end","at":"2026-10-25T09:25:00.406Z","uptime":"04:25:00 up 11 days, 19:44, 2 users, load average: 8.41, 8.83, 8.26","TMPDIR":"/mnt/storage/scratch/tmp/jw22ug","nice":19,"measuredDriverNice":19,"measuredChildNice":19,"endAt":"2026-10-25T09:25:00.705Z","endUptime":"04:25:00 up 11 days, 19:44, 2 users, load average: 8.41, 8.83, 8.26","rc":0,"signal":null,"timedOut":false,"tests":10,"pass":10,"fail":0,"skipped":0,"cancelled":0,"failedNames":[],"log":{"path":"/mnt/storage/scratch/tmp/cMDOAL/243-packages_webui_tests_project-file.test.mjs.log","sha256":"7d4fe6daaad66e723f5defd1253cff22672aa89af10e8d5c55d05930759ca13b","bytes":2478}}
|
||||
{"name":"packages/webui/tests/project-name-repo.test.mjs","event":"start","at":"2026-10-25T09:25:00.709Z","uptime":"04:25:00 up 11 days, 19:44, 2 users, load average: 8.41, 8.83, 8.26","TMPDIR":"/mnt/storage/scratch/tmp/XYZaoy","nice":19}
|
||||
{"name":"packages/webui/tests/project-name-repo.test.mjs","event":"end","at":"2026-10-25T09:25:00.709Z","uptime":"04:25:00 up 11 days, 19:44, 2 users, load average: 8.41, 8.83, 8.26","TMPDIR":"/mnt/storage/scratch/tmp/XYZaoy","nice":19,"measuredDriverNice":19,"measuredChildNice":19,"endAt":"2026-10-25T09:25:00.857Z","endUptime":"04:25:00 up 11 days, 19:44, 2 users, load average: 8.41, 8.83, 8.26","rc":0,"signal":null,"timedOut":false,"tests":1,"pass":1,"fail":0,"skipped":0,"cancelled":0,"failedNames":[],"log":{"path":"/mnt/storage/scratch/tmp/cMDOAL/244-packages_webui_tests_project-name-repo.test.mjs.log","sha256":"b6d079468f7a991e1bfebab848cc9ca6cfe5f276a8ece49913ae744fe34cfc93","bytes":318}}
|
||||
{"name":"packages/webui/tests/proof-cli.test.mjs","event":"start","at":"2026-10-25T09:25:00.861Z","uptime":"04:25:00 up 11 days, 19:44, 2 users, load average: 8.41, 8.83, 8.26","TMPDIR":"/mnt/storage/scratch/tmp/NeTUIm","nice":19}
|
||||
{"name":"packages/webui/tests/proof-cli.test.mjs","event":"end","at":"2026-10-25T09:25:00.861Z","uptime":"04:25:00 up 11 days, 19:44, 2 users, load average: 8.41, 8.83, 8.26","TMPDIR":"/mnt/storage/scratch/tmp/NeTUIm","nice":19,"measuredDriverNice":19,"measuredChildNice":19,"endAt":"2026-10-25T09:25:03.588Z","endUptime":"04:25:03 up 11 days, 19:44, 2 users, load average: 8.41, 8.83, 8.26","rc":0,"signal":null,"timedOut":false,"tests":3,"pass":3,"fail":0,"skipped":0,"cancelled":0,"failedNames":[],"log":{"path":"/mnt/storage/scratch/tmp/cMDOAL/245-packages_webui_tests_proof-cli.test.mjs.log","sha256":"0ac5d7cca963aeb4765c32b99804dbc82964cbd4ab6cf528ec616cfe26006bd1","bytes":906}}
|
||||
{"name":"packages/webui/tests/proof.test.mjs","event":"start","at":"2026-10-25T09:25:03.592Z","uptime":"04:25:03 up 11 days, 19:44, 2 users, load average: 8.41, 8.83, 8.26","TMPDIR":"/mnt/storage/scratch/tmp/bmbsdn","nice":19}
|
||||
{"name":"packages/webui/tests/proof.test.mjs","event":"end","at":"2026-10-25T09:25:03.592Z","uptime":"04:25:03 up 11 days, 19:44, 2 users, load average: 8.41, 8.83, 8.26","TMPDIR":"/mnt/storage/scratch/tmp/bmbsdn","nice":19,"measuredDriverNice":19,"measuredChildNice":19,"endAt":"2026-10-25T09:25:03.873Z","endUptime":"04:25:03 up 11 days, 19:44, 2 users, load average: 8.41, 8.83, 8.26","rc":0,"signal":null,"timedOut":false,"tests":4,"pass":4,"fail":0,"skipped":0,"cancelled":0,"failedNames":[],"log":{"path":"/mnt/storage/scratch/tmp/cMDOAL/246-packages_webui_tests_proof.test.mjs.log","sha256":"7b17f05b42a94988ea1932ad1a8e08db606cff9db638849e28979a7c7b285ed1","bytes":1104}}
|
||||
{"name":"packages/webui/tests/reads.test.mjs","event":"start","at":"2026-10-25T09:25:03.878Z","uptime":"04:25:03 up 11 days, 19:44, 2 users, load average: 8.41, 8.83, 8.26","TMPDIR":"/mnt/storage/scratch/tmp/0B9ZW8","nice":19}
|
||||
{"name":"packages/webui/tests/reads.test.mjs","event":"end","at":"2026-10-25T09:25:03.878Z","uptime":"04:25:03 up 11 days, 19:44, 2 users, load average: 8.41, 8.83, 8.26","TMPDIR":"/mnt/storage/scratch/tmp/0B9ZW8","nice":19,"measuredDriverNice":19,"measuredChildNice":19,"endAt":"2026-10-25T09:25:05.939Z","endUptime":"04:25:05 up 11 days, 19:44, 2 users, load average: 8.54, 8.85, 8.27","rc":0,"signal":null,"timedOut":false,"tests":11,"pass":11,"fail":0,"skipped":0,"cancelled":0,"failedNames":[],"log":{"path":"/mnt/storage/scratch/tmp/cMDOAL/247-packages_webui_tests_reads.test.mjs.log","sha256":"088dc13f879dd1e44276d6ed3227c7146b7836d52f9d7e55a7be853a4916387c","bytes":2731}}
|
||||
{"name":"packages/webui/tests/relaunch.test.mjs","event":"start","at":"2026-10-25T09:25:05.942Z","uptime":"04:25:05 up 11 days, 19:44, 2 users, load average: 8.54, 8.85, 8.27","TMPDIR":"/mnt/storage/scratch/tmp/o5YZJT","nice":19}
|
||||
{"name":"packages/webui/tests/relaunch.test.mjs","event":"end","at":"2026-10-25T09:25:05.942Z","uptime":"04:25:05 up 11 days, 19:44, 2 users, load average: 8.54, 8.85, 8.27","TMPDIR":"/mnt/storage/scratch/tmp/o5YZJT","nice":19,"measuredDriverNice":19,"measuredChildNice":19,"endAt":"2026-10-25T09:25:07.178Z","endUptime":"04:25:07 up 11 days, 19:44, 2 users, load average: 8.54, 8.85, 8.27","rc":0,"signal":null,"timedOut":false,"tests":1,"pass":1,"fail":0,"skipped":0,"cancelled":0,"failedNames":[],"log":{"path":"/mnt/storage/scratch/tmp/cMDOAL/248-packages_webui_tests_relaunch.test.mjs.log","sha256":"58e127dcb0a3bbfc8b9fe000737ab1dc9c232fffcc58ffa5d6fb2a910dfbe3ba","bytes":448}}
|
||||
{"name":"packages/webui/tests/return-flow.test.mjs","event":"start","at":"2026-10-25T09:25:07.182Z","uptime":"04:25:07 up 11 days, 19:44, 2 users, load average: 8.54, 8.85, 8.27","TMPDIR":"/mnt/storage/scratch/tmp/jaHVYs","nice":19}
|
||||
{"name":"packages/webui/tests/return-flow.test.mjs","event":"end","at":"2026-10-25T09:25:07.182Z","uptime":"04:25:07 up 11 days, 19:44, 2 users, load average: 8.54, 8.85, 8.27","TMPDIR":"/mnt/storage/scratch/tmp/jaHVYs","nice":19,"measuredDriverNice":19,"measuredChildNice":19,"endAt":"2026-10-25T09:25:28.445Z","endUptime":"04:25:28 up 11 days, 19:45, 2 users, load average: 9.86, 9.13, 8.38","rc":0,"signal":null,"timedOut":false,"tests":1,"pass":1,"fail":0,"skipped":0,"cancelled":0,"failedNames":[],"log":{"path":"/mnt/storage/scratch/tmp/cMDOAL/249-packages_webui_tests_return-flow.test.mjs.log","sha256":"555924bc71fb3c3465052ca99a2248f9bdb6a15728073b62e71c8183c44b9044","bytes":470}}
|
||||
{"name":"packages/webui/tests/room-browser.test.mjs","event":"start","at":"2026-10-25T09:25:28.449Z","uptime":"04:25:28 up 11 days, 19:45, 2 users, load average: 9.86, 9.13, 8.38","TMPDIR":"/mnt/storage/scratch/tmp/mYzafy","nice":19}
|
||||
{"name":"packages/webui/tests/room-browser.test.mjs","event":"end","at":"2026-10-25T09:25:28.449Z","uptime":"04:25:28 up 11 days, 19:45, 2 users, load average: 9.86, 9.13, 8.38","TMPDIR":"/mnt/storage/scratch/tmp/mYzafy","nice":19,"measuredDriverNice":19,"measuredChildNice":19,"endAt":"2026-10-25T09:25:36.685Z","endUptime":"04:25:36 up 11 days, 19:45, 2 users, load average: 13.07, 9.84, 8.62","rc":0,"signal":null,"timedOut":false,"tests":9,"pass":9,"fail":0,"skipped":0,"cancelled":0,"failedNames":[],"log":{"path":"/mnt/storage/scratch/tmp/cMDOAL/250-packages_webui_tests_room-browser.test.mjs.log","sha256":"4602e4ac62c1619f45ca869d1550da415712f404df15e0691bbf57b697583779","bytes":2222}}
|
||||
{"name":"packages/webui/tests/room-http.test.mjs","event":"start","at":"2026-10-25T09:25:36.689Z","uptime":"04:25:36 up 11 days, 19:45, 2 users, load average: 13.07, 9.84, 8.62","TMPDIR":"/mnt/storage/scratch/tmp/QTbeNb","nice":19}
|
||||
{"name":"packages/webui/tests/room-http.test.mjs","event":"end","at":"2026-10-25T09:25:36.689Z","uptime":"04:25:36 up 11 days, 19:45, 2 users, load average: 13.07, 9.84, 8.62","TMPDIR":"/mnt/storage/scratch/tmp/QTbeNb","nice":19,"measuredDriverNice":19,"measuredChildNice":19,"endAt":"2026-10-25T09:25:36.953Z","endUptime":"04:25:36 up 11 days, 19:45, 2 users, load average: 13.07, 9.84, 8.62","rc":0,"signal":null,"timedOut":false,"tests":7,"pass":7,"fail":0,"skipped":0,"cancelled":0,"failedNames":[],"log":{"path":"/mnt/storage/scratch/tmp/cMDOAL/251-packages_webui_tests_room-http.test.mjs.log","sha256":"96746fdd3fb3ac9cd847bb0d62ab81826db8f1d0aa557be929925b5221abb67f","bytes":1633}}
|
||||
{"name":"packages/webui/tests/routes-browser.test.mjs","event":"start","at":"2026-10-25T09:25:36.957Z","uptime":"04:25:36 up 11 days, 19:45, 2 users, load average: 13.07, 9.84, 8.62","TMPDIR":"/mnt/storage/scratch/tmp/xxpFqd","nice":19}
|
||||
{"name":"packages/webui/tests/routes-browser.test.mjs","event":"end","at":"2026-10-25T09:25:36.957Z","uptime":"04:25:36 up 11 days, 19:45, 2 users, load average: 13.07, 9.84, 8.62","TMPDIR":"/mnt/storage/scratch/tmp/xxpFqd","nice":19,"measuredDriverNice":19,"measuredChildNice":19,"endAt":"2026-10-25T09:25:38.949Z","endUptime":"04:25:38 up 11 days, 19:45, 2 users, load average: 13.07, 9.84, 8.62","rc":0,"signal":null,"timedOut":false,"tests":1,"pass":1,"fail":0,"skipped":0,"cancelled":0,"failedNames":[],"log":{"path":"/mnt/storage/scratch/tmp/cMDOAL/252-packages_webui_tests_routes-browser.test.mjs.log","sha256":"78203660661eb9724db7ff6fe01ef1805bb3234855697d081a69ad44b6ac9ed1","bytes":652}}
|
||||
{"name":"packages/webui/tests/routes.test.mjs","event":"start","at":"2026-10-25T09:25:38.953Z","uptime":"04:25:38 up 11 days, 19:45, 2 users, load average: 13.07, 9.84, 8.62","TMPDIR":"/mnt/storage/scratch/tmp/1nMbTT","nice":19}
|
||||
{"name":"packages/webui/tests/routes.test.mjs","event":"end","at":"2026-10-25T09:25:38.953Z","uptime":"04:25:38 up 11 days, 19:45, 2 users, load average: 13.07, 9.84, 8.62","TMPDIR":"/mnt/storage/scratch/tmp/1nMbTT","nice":19,"measuredDriverNice":19,"measuredChildNice":19,"endAt":"2026-10-25T09:25:39.407Z","endUptime":"04:25:39 up 11 days, 19:45, 2 users, load average: 12.75, 9.82, 8.62","rc":0,"signal":null,"timedOut":false,"tests":5,"pass":5,"fail":0,"skipped":0,"cancelled":0,"failedNames":[],"log":{"path":"/mnt/storage/scratch/tmp/cMDOAL/253-packages_webui_tests_routes.test.mjs.log","sha256":"1fdcc6cc9bf06693d0ef5015465c51b3445a7d75b60da9115c1ab5c2f5247f7f","bytes":1822}}
|
||||
{"name":"packages/webui/tests/send-browser.test.mjs","event":"start","at":"2026-10-25T09:25:39.411Z","uptime":"04:25:39 up 11 days, 19:45, 2 users, load average: 12.75, 9.82, 8.62","TMPDIR":"/mnt/storage/scratch/tmp/s5M2pu","nice":19}
|
||||
{"name":"packages/webui/tests/send-browser.test.mjs","event":"end","at":"2026-10-25T09:25:39.411Z","uptime":"04:25:39 up 11 days, 19:45, 2 users, load average: 12.75, 9.82, 8.62","TMPDIR":"/mnt/storage/scratch/tmp/s5M2pu","nice":19,"measuredDriverNice":19,"measuredChildNice":19,"endAt":"2026-10-25T09:25:53.872Z","endUptime":"04:25:53 up 11 days, 19:45, 2 users, load average: 11.41, 9.63, 8.57","rc":0,"signal":null,"timedOut":false,"tests":2,"pass":2,"fail":0,"skipped":0,"cancelled":0,"failedNames":[],"log":{"path":"/mnt/storage/scratch/tmp/cMDOAL/254-packages_webui_tests_send-browser.test.mjs.log","sha256":"e4c4e71b4701df16ddb362c62321ec0bf146e6b3c293f2e767c9aad945ed08bb","bytes":820}}
|
||||
{"name":"packages/webui/tests/send.test.mjs","event":"start","at":"2026-10-25T09:25:53.876Z","uptime":"04:25:53 up 11 days, 19:45, 2 users, load average: 11.41, 9.63, 8.57","TMPDIR":"/mnt/storage/scratch/tmp/2Rx3RG","nice":19}
|
||||
{"name":"packages/webui/tests/send.test.mjs","event":"end","at":"2026-10-25T09:25:53.876Z","uptime":"04:25:53 up 11 days, 19:45, 2 users, load average: 11.41, 9.63, 8.57","TMPDIR":"/mnt/storage/scratch/tmp/2Rx3RG","nice":19,"measuredDriverNice":19,"measuredChildNice":19,"endAt":"2026-10-25T09:25:55.489Z","endUptime":"04:25:55 up 11 days, 19:45, 2 users, load average: 11.62, 9.70, 8.60","rc":0,"signal":null,"timedOut":false,"tests":13,"pass":13,"fail":0,"skipped":0,"cancelled":0,"failedNames":[],"log":{"path":"/mnt/storage/scratch/tmp/cMDOAL/255-packages_webui_tests_send.test.mjs.log","sha256":"d9546114a30c71dc6ef846d4e37abd8aedabdb8feb8524d904354fe977ca40c5","bytes":3191}}
|
||||
{"name":"packages/webui/tests/serve.test.mjs","event":"start","at":"2026-10-25T09:25:55.493Z","uptime":"04:25:55 up 11 days, 19:45, 2 users, load average: 11.62, 9.70, 8.60","TMPDIR":"/mnt/storage/scratch/tmp/51oqDT","nice":19}
|
||||
{"name":"packages/webui/tests/serve.test.mjs","event":"end","at":"2026-10-25T09:25:55.493Z","uptime":"04:25:55 up 11 days, 19:45, 2 users, load average: 11.62, 9.70, 8.60","TMPDIR":"/mnt/storage/scratch/tmp/51oqDT","nice":19,"measuredDriverNice":19,"measuredChildNice":19,"endAt":"2026-10-25T09:25:56.440Z","endUptime":"04:25:56 up 11 days, 19:45, 2 users, load average: 11.62, 9.70, 8.60","rc":0,"signal":null,"timedOut":false,"tests":4,"pass":4,"fail":0,"skipped":0,"cancelled":0,"failedNames":[],"log":{"path":"/mnt/storage/scratch/tmp/cMDOAL/256-packages_webui_tests_serve.test.mjs.log","sha256":"107f5ab77fafda756c60d4ca13086704945477acf19879a8d7a1dcbcf361b40f","bytes":1014}}
|
||||
{"name":"packages/webui/tests/settings-form.test.mjs","event":"start","at":"2026-10-25T09:25:56.444Z","uptime":"04:25:56 up 11 days, 19:45, 2 users, load average: 11.62, 9.70, 8.60","TMPDIR":"/mnt/storage/scratch/tmp/jY3Ykx","nice":19}
|
||||
{"name":"packages/webui/tests/settings-form.test.mjs","event":"end","at":"2026-10-25T09:25:56.444Z","uptime":"04:25:56 up 11 days, 19:45, 2 users, load average: 11.62, 9.70, 8.60","TMPDIR":"/mnt/storage/scratch/tmp/jY3Ykx","nice":19,"measuredDriverNice":19,"measuredChildNice":19,"endAt":"2026-10-25T09:26:02.566Z","endUptime":"04:26:02 up 11 days, 19:45, 2 users, load average: 10.93, 9.59, 8.57","rc":0,"signal":null,"timedOut":false,"tests":5,"pass":5,"fail":0,"skipped":0,"cancelled":0,"failedNames":[],"log":{"path":"/mnt/storage/scratch/tmp/cMDOAL/257-packages_webui_tests_settings-form.test.mjs.log","sha256":"33f0090a02c742a00535e49f3f9ad4edb2f74cf5a6fd2166d5d6e27390ba9c99","bytes":1644}}
|
||||
{"name":"packages/webui/tests/settings-write.test.mjs","event":"start","at":"2026-10-25T09:26:02.571Z","uptime":"04:26:02 up 11 days, 19:45, 2 users, load average: 10.93, 9.59, 8.57","TMPDIR":"/mnt/storage/scratch/tmp/X4i2i7","nice":19}
|
||||
{"name":"packages/webui/tests/settings-write.test.mjs","event":"end","at":"2026-10-25T09:26:02.571Z","uptime":"04:26:02 up 11 days, 19:45, 2 users, load average: 10.93, 9.59, 8.57","TMPDIR":"/mnt/storage/scratch/tmp/X4i2i7","nice":19,"measuredDriverNice":19,"measuredChildNice":19,"endAt":"2026-10-25T09:26:02.859Z","endUptime":"04:26:02 up 11 days, 19:45, 2 users, load average: 10.93, 9.59, 8.57","rc":0,"signal":null,"timedOut":false,"tests":4,"pass":4,"fail":0,"skipped":0,"cancelled":0,"failedNames":[],"log":{"path":"/mnt/storage/scratch/tmp/cMDOAL/258-packages_webui_tests_settings-write.test.mjs.log","sha256":"8f7835fa96be0b92217e1310405e636579b7e29037eb79112c6bb550147660f5","bytes":1286}}
|
||||
{"name":"packages/webui/tests/shell.test.mjs","event":"start","at":"2026-10-25T09:26:02.862Z","uptime":"04:26:02 up 11 days, 19:45, 2 users, load average: 10.93, 9.59, 8.57","TMPDIR":"/mnt/storage/scratch/tmp/93ju2K","nice":19}
|
||||
{"name":"packages/webui/tests/shell.test.mjs","event":"end","at":"2026-10-25T09:26:02.862Z","uptime":"04:26:02 up 11 days, 19:45, 2 users, load average: 10.93, 9.59, 8.57","TMPDIR":"/mnt/storage/scratch/tmp/93ju2K","nice":19,"measuredDriverNice":19,"measuredChildNice":19,"endAt":"2026-10-25T09:26:11.900Z","endUptime":"04:26:11 up 11 days, 19:46, 2 users, load average: 10.58, 9.56, 8.57","rc":0,"signal":null,"timedOut":false,"tests":5,"pass":5,"fail":0,"skipped":0,"cancelled":0,"failedNames":[],"log":{"path":"/mnt/storage/scratch/tmp/cMDOAL/259-packages_webui_tests_shell.test.mjs.log","sha256":"a84e61171421989ceb59014cd73c4e5bccb2d43e8e54e7ee97c200044272c206","bytes":1264}}
|
||||
{"name":"packages/webui/tests/sso-browser.test.mjs","event":"start","at":"2026-10-25T09:26:11.903Z","uptime":"04:26:11 up 11 days, 19:46, 2 users, load average: 10.58, 9.56, 8.57","TMPDIR":"/mnt/storage/scratch/tmp/xkvEaI","nice":19}
|
||||
{"name":"packages/webui/tests/sso-browser.test.mjs","event":"end","at":"2026-10-25T09:26:11.903Z","uptime":"04:26:11 up 11 days, 19:46, 2 users, load average: 10.58, 9.56, 8.57","TMPDIR":"/mnt/storage/scratch/tmp/xkvEaI","nice":19,"measuredDriverNice":19,"measuredChildNice":19,"endAt":"2026-10-25T09:26:19.415Z","endUptime":"04:26:19 up 11 days, 19:46, 2 users, load average: 9.95, 9.46, 8.54","rc":0,"signal":null,"timedOut":false,"tests":2,"pass":2,"fail":0,"skipped":0,"cancelled":0,"failedNames":[],"log":{"path":"/mnt/storage/scratch/tmp/cMDOAL/260-packages_webui_tests_sso-browser.test.mjs.log","sha256":"c4fc096eb218f7f98b1f2c288bd242e6f853dba68f1ba5b5d8a945c7b26614d2","bytes":710}}
|
||||
{"name":"packages/webui/tests/sso.test.mjs","event":"start","at":"2026-10-25T09:26:19.420Z","uptime":"04:26:19 up 11 days, 19:46, 2 users, load average: 9.95, 9.46, 8.54","TMPDIR":"/mnt/storage/scratch/tmp/PtJqqV","nice":19}
|
||||
{"name":"packages/webui/tests/sso.test.mjs","event":"end","at":"2026-10-25T09:26:19.420Z","uptime":"04:26:19 up 11 days, 19:46, 2 users, load average: 9.95, 9.46, 8.54","TMPDIR":"/mnt/storage/scratch/tmp/PtJqqV","nice":19,"measuredDriverNice":19,"measuredChildNice":19,"endAt":"2026-10-25T09:26:23.616Z","endUptime":"04:26:23 up 11 days, 19:46, 2 users, load average: 9.95, 9.46, 8.54","rc":0,"signal":null,"timedOut":false,"tests":28,"pass":28,"fail":0,"skipped":0,"cancelled":0,"failedNames":[],"log":{"path":"/mnt/storage/scratch/tmp/cMDOAL/261-packages_webui_tests_sso.test.mjs.log","sha256":"f3d309f25e63ad88af832784a558219cf10b1ee0967f98758c772293498cb50c","bytes":7228}}
|
||||
{"name":"packages/webui/tests/tester-browser.test.mjs","event":"start","at":"2026-10-25T09:26:23.620Z","uptime":"04:26:23 up 11 days, 19:46, 2 users, load average: 9.95, 9.46, 8.54","TMPDIR":"/mnt/storage/scratch/tmp/rc9sQx","nice":19}
|
||||
{"name":"packages/webui/tests/tester-browser.test.mjs","event":"end","at":"2026-10-25T09:26:23.620Z","uptime":"04:26:23 up 11 days, 19:46, 2 users, load average: 9.95, 9.46, 8.54","TMPDIR":"/mnt/storage/scratch/tmp/rc9sQx","nice":19,"measuredDriverNice":19,"measuredChildNice":19,"endAt":"2026-10-25T09:26:26.900Z","endUptime":"04:26:26 up 11 days, 19:46, 2 users, load average: 10.12, 9.50, 8.56","rc":0,"signal":null,"timedOut":false,"tests":2,"pass":2,"fail":0,"skipped":0,"cancelled":0,"failedNames":[],"log":{"path":"/mnt/storage/scratch/tmp/cMDOAL/262-packages_webui_tests_tester-browser.test.mjs.log","sha256":"eb2f7b72fcd31720e20be09996226976b2cb2f72d4abea03e1f3f52b98432b5d","bytes":652}}
|
||||
{"name":"packages/webui/tests/tester-cli.test.mjs","event":"start","at":"2026-10-25T09:26:26.904Z","uptime":"04:26:26 up 11 days, 19:46, 2 users, load average: 10.12, 9.50, 8.56","TMPDIR":"/mnt/storage/scratch/tmp/mdENdF","nice":19}
|
||||
{"name":"packages/webui/tests/tester-cli.test.mjs","event":"end","at":"2026-10-25T09:26:26.904Z","uptime":"04:26:26 up 11 days, 19:46, 2 users, load average: 10.12, 9.50, 8.56","TMPDIR":"/mnt/storage/scratch/tmp/mdENdF","nice":19,"measuredDriverNice":19,"measuredChildNice":19,"endAt":"2026-10-25T09:26:35.853Z","endUptime":"04:26:35 up 11 days, 19:46, 2 users, load average: 10.49, 9.60, 8.60","rc":0,"signal":null,"timedOut":false,"tests":2,"pass":2,"fail":0,"skipped":0,"cancelled":0,"failedNames":[],"log":{"path":"/mnt/storage/scratch/tmp/cMDOAL/263-packages_webui_tests_tester-cli.test.mjs.log","sha256":"81ec8dd665eaa8317b43fd8018524a33dcee607fe99c355a7e18649fa10387f3","bytes":660}}
|
||||
{"name":"packages/webui/tests/tester-listener.test.mjs","event":"start","at":"2026-10-25T09:26:35.857Z","uptime":"04:26:35 up 11 days, 19:46, 2 users, load average: 10.49, 9.60, 8.60","TMPDIR":"/mnt/storage/scratch/tmp/SOYfKd","nice":19}
|
||||
{"name":"packages/webui/tests/tester-listener.test.mjs","event":"end","at":"2026-10-25T09:26:35.857Z","uptime":"04:26:35 up 11 days, 19:46, 2 users, load average: 10.49, 9.60, 8.60","TMPDIR":"/mnt/storage/scratch/tmp/SOYfKd","nice":19,"measuredDriverNice":19,"measuredChildNice":19,"endAt":"2026-10-25T09:26:37.189Z","endUptime":"04:26:37 up 11 days, 19:46, 2 users, load average: 10.49, 9.60, 8.60","rc":0,"signal":null,"timedOut":false,"tests":11,"pass":11,"fail":0,"skipped":0,"cancelled":0,"failedNames":[],"log":{"path":"/mnt/storage/scratch/tmp/cMDOAL/264-packages_webui_tests_tester-listener.test.mjs.log","sha256":"1e8ea08fb112ed957c74ad70e3857d33a183d597953ae9d3ed805d2c85370ebe","bytes":2892}}
|
||||
{"name":"packages/webui/tests/tester-socket.test.mjs","event":"start","at":"2026-10-25T09:26:37.194Z","uptime":"04:26:37 up 11 days, 19:46, 2 users, load average: 10.49, 9.60, 8.60","TMPDIR":"/mnt/storage/scratch/tmp/DwZa6l","nice":19}
|
||||
{"name":"packages/webui/tests/tester-socket.test.mjs","event":"end","at":"2026-10-25T09:26:37.194Z","uptime":"04:26:37 up 11 days, 19:46, 2 users, load average: 10.49, 9.60, 8.60","TMPDIR":"/mnt/storage/scratch/tmp/DwZa6l","nice":19,"measuredDriverNice":19,"measuredChildNice":19,"endAt":"2026-10-25T09:26:37.443Z","endUptime":"04:26:37 up 11 days, 19:46, 2 users, load average: 10.49, 9.60, 8.60","rc":0,"signal":null,"timedOut":false,"tests":3,"pass":3,"fail":0,"skipped":0,"cancelled":0,"failedNames":[],"log":{"path":"/mnt/storage/scratch/tmp/cMDOAL/265-packages_webui_tests_tester-socket.test.mjs.log","sha256":"970b76f5fc143c52cbddf39b669f89052fabcf3dc642577364477e4b8423d764","bytes":760}}
|
||||
{"name":"packages/webui/tests/thread-claims-browser.test.mjs","event":"start","at":"2026-10-25T09:26:37.446Z","uptime":"04:26:37 up 11 days, 19:46, 2 users, load average: 10.49, 9.60, 8.60","TMPDIR":"/mnt/storage/scratch/tmp/F6CfPc","nice":19}
|
||||
{"name":"packages/webui/tests/thread-claims-browser.test.mjs","event":"end","at":"2026-10-25T09:26:37.446Z","uptime":"04:26:37 up 11 days, 19:46, 2 users, load average: 10.49, 9.60, 8.60","TMPDIR":"/mnt/storage/scratch/tmp/F6CfPc","nice":19,"measuredDriverNice":19,"measuredChildNice":19,"endAt":"2026-10-25T09:26:43.275Z","endUptime":"04:26:43 up 11 days, 19:46, 2 users, load average: 10.77, 9.67, 8.63","rc":0,"signal":null,"timedOut":false,"tests":6,"pass":6,"fail":0,"skipped":0,"cancelled":0,"failedNames":[],"log":{"path":"/mnt/storage/scratch/tmp/cMDOAL/266-packages_webui_tests_thread-claims-browser.test.mjs.log","sha256":"fc2c5227f13a2faf4cbc3bd7b5ed16d9027531e22a759953a57dd844c356e55d","bytes":1481}}
|
||||
{"name":"packages/webui/tests/thread-claims.test.mjs","event":"start","at":"2026-10-25T09:26:43.279Z","uptime":"04:26:43 up 11 days, 19:46, 2 users, load average: 10.77, 9.67, 8.63","TMPDIR":"/mnt/storage/scratch/tmp/FckkME","nice":19}
|
||||
{"name":"packages/webui/tests/thread-claims.test.mjs","event":"end","at":"2026-10-25T09:26:43.279Z","uptime":"04:26:43 up 11 days, 19:46, 2 users, load average: 10.77, 9.67, 8.63","TMPDIR":"/mnt/storage/scratch/tmp/FckkME","nice":19,"measuredDriverNice":19,"measuredChildNice":19,"endAt":"2026-10-25T09:26:43.854Z","endUptime":"04:26:43 up 11 days, 19:46, 2 users, load average: 10.77, 9.67, 8.63","rc":0,"signal":null,"timedOut":false,"tests":4,"pass":4,"fail":0,"skipped":0,"cancelled":0,"failedNames":[],"log":{"path":"/mnt/storage/scratch/tmp/cMDOAL/267-packages_webui_tests_thread-claims.test.mjs.log","sha256":"fcf5d8fe2eb0c43f65225b4ed468fc896d3c3d731d5501253f28e9d903699820","bytes":1055}}
|
||||
{"name":"packages/webui/tests/thread-sharing.test.mjs","event":"start","at":"2026-10-25T09:26:43.859Z","uptime":"04:26:43 up 11 days, 19:46, 2 users, load average: 10.77, 9.67, 8.63","TMPDIR":"/mnt/storage/scratch/tmp/mqqQ7v","nice":19}
|
||||
{"name":"packages/webui/tests/thread-sharing.test.mjs","event":"end","at":"2026-10-25T09:26:43.859Z","uptime":"04:26:43 up 11 days, 19:46, 2 users, load average: 10.77, 9.67, 8.63","TMPDIR":"/mnt/storage/scratch/tmp/mqqQ7v","nice":19,"measuredDriverNice":19,"measuredChildNice":19,"endAt":"2026-10-25T09:26:48.101Z","endUptime":"04:26:48 up 11 days, 19:46, 2 users, load average: 10.79, 9.69, 8.65","rc":0,"signal":null,"timedOut":false,"tests":7,"pass":7,"fail":0,"skipped":0,"cancelled":0,"failedNames":[],"log":{"path":"/mnt/storage/scratch/tmp/cMDOAL/268-packages_webui_tests_thread-sharing.test.mjs.log","sha256":"c507e0a05a114202df5cdafe48e8ca3c7eabd7e08e375685bcb287cecc931108","bytes":1853}}
|
||||
{"name":"packages/webui/tests/usage-browser.test.mjs","event":"start","at":"2026-10-25T09:26:48.105Z","uptime":"04:26:48 up 11 days, 19:46, 2 users, load average: 10.79, 9.69, 8.65","TMPDIR":"/mnt/storage/scratch/tmp/5bW3pU","nice":19}
|
||||
{"name":"packages/webui/tests/usage-browser.test.mjs","event":"end","at":"2026-10-25T09:26:48.105Z","uptime":"04:26:48 up 11 days, 19:46, 2 users, load average: 10.79, 9.69, 8.65","TMPDIR":"/mnt/storage/scratch/tmp/5bW3pU","nice":19,"measuredDriverNice":19,"measuredChildNice":19,"endAt":"2026-10-25T09:26:49.204Z","endUptime":"04:26:49 up 11 days, 19:46, 2 users, load average: 10.79, 9.69, 8.65","rc":0,"signal":null,"timedOut":false,"tests":1,"pass":1,"fail":0,"skipped":0,"cancelled":0,"failedNames":[],"log":{"path":"/mnt/storage/scratch/tmp/cMDOAL/269-packages_webui_tests_usage-browser.test.mjs.log","sha256":"3be922ec71c1e09c3ad6368b3b94d4d0f1ff6f55e9246d7e3077be0008e0e656","bytes":439}}
|
||||
{"name":"packages/webui/tests/usage.test.mjs","event":"start","at":"2026-10-25T09:26:49.207Z","uptime":"04:26:49 up 11 days, 19:46, 2 users, load average: 10.79, 9.69, 8.65","TMPDIR":"/mnt/storage/scratch/tmp/B1OuNd","nice":19}
|
||||
{"name":"packages/webui/tests/usage.test.mjs","event":"end","at":"2026-10-25T09:26:49.207Z","uptime":"04:26:49 up 11 days, 19:46, 2 users, load average: 10.79, 9.69, 8.65","TMPDIR":"/mnt/storage/scratch/tmp/B1OuNd","nice":19,"measuredDriverNice":19,"measuredChildNice":19,"endAt":"2026-10-25T09:26:49.477Z","endUptime":"04:26:49 up 11 days, 19:46, 2 users, load average: 10.24, 9.60, 8.62","rc":0,"signal":null,"timedOut":false,"tests":2,"pass":2,"fail":0,"skipped":0,"cancelled":0,"failedNames":[],"log":{"path":"/mnt/storage/scratch/tmp/cMDOAL/270-packages_webui_tests_usage.test.mjs.log","sha256":"419c4521bef626cc900f69b47b5becb260e02fdf405a541baedda46879b814ce","bytes":590}}
|
||||
{"name":"packages/webui/tests/user-option-swap.test.mjs","event":"start","at":"2026-10-25T09:26:49.482Z","uptime":"04:26:49 up 11 days, 19:46, 2 users, load average: 10.24, 9.60, 8.62","TMPDIR":"/mnt/storage/scratch/tmp/gKgC8V","nice":19}
|
||||
{"name":"packages/webui/tests/user-option-swap.test.mjs","event":"end","at":"2026-10-25T09:26:49.482Z","uptime":"04:26:49 up 11 days, 19:46, 2 users, load average: 10.24, 9.60, 8.62","TMPDIR":"/mnt/storage/scratch/tmp/gKgC8V","nice":19,"measuredDriverNice":19,"measuredChildNice":19,"endAt":"2026-10-25T09:26:49.958Z","endUptime":"04:26:49 up 11 days, 19:46, 2 users, load average: 10.24, 9.60, 8.62","rc":0,"signal":null,"timedOut":false,"tests":1,"pass":1,"fail":0,"skipped":0,"cancelled":0,"failedNames":[],"log":{"path":"/mnt/storage/scratch/tmp/cMDOAL/271-packages_webui_tests_user-option-swap.test.mjs.log","sha256":"3d7b173bdc98171bfe31f0ea06cee3aac02b8aec5152aca4551e63db136116ba","bytes":382}}
|
||||
{"name":"packages/webui/tests/views.test.mjs","event":"start","at":"2026-10-25T09:26:49.962Z","uptime":"04:26:49 up 11 days, 19:46, 2 users, load average: 10.24, 9.60, 8.62","TMPDIR":"/mnt/storage/scratch/tmp/h2oLWt","nice":19}
|
||||
{"name":"packages/webui/tests/views.test.mjs","event":"end","at":"2026-10-25T09:26:49.962Z","uptime":"04:26:49 up 11 days, 19:46, 2 users, load average: 10.24, 9.60, 8.62","TMPDIR":"/mnt/storage/scratch/tmp/h2oLWt","nice":19,"measuredDriverNice":19,"measuredChildNice":19,"endAt":"2026-10-25T09:26:56.125Z","endUptime":"04:26:56 up 11 days, 19:46, 2 users, load average: 10.22, 9.61, 8.63","rc":0,"signal":null,"timedOut":false,"tests":3,"pass":3,"fail":0,"skipped":0,"cancelled":0,"failedNames":[],"log":{"path":"/mnt/storage/scratch/tmp/cMDOAL/272-packages_webui_tests_views.test.mjs.log","sha256":"819a53202a9ed0fb4867fd8739b3bc5c5c8d6cacd6b4ace3cb3678b88ddfe8bc","bytes":851}}
|
||||
{"name":"scripts/test-config.sh","event":"start","at":"2026-10-25T09:26:56.129Z","uptime":"04:26:56 up 11 days, 19:46, 2 users, load average: 10.22, 9.61, 8.63","TMPDIR":"/mnt/storage/scratch/tmp/ozVIoH","nice":19}
|
||||
{"name":"scripts/test-config.sh","event":"end","at":"2026-10-25T09:26:56.129Z","uptime":"04:26:56 up 11 days, 19:46, 2 users, load average: 10.22, 9.61, 8.63","TMPDIR":"/mnt/storage/scratch/tmp/ozVIoH","nice":19,"measuredDriverNice":19,"measuredChildNice":19,"endAt":"2026-10-25T09:26:59.382Z","endUptime":"04:26:59 up 11 days, 19:46, 2 users, load average: 10.21, 9.61, 8.64","rc":0,"signal":null,"timedOut":false,"tests":55,"pass":55,"fail":0,"skipped":0,"cancelled":0,"failedNames":[],"log":{"path":"/mnt/storage/scratch/tmp/cMDOAL/273-scripts_test-config.sh.log","sha256":"7d323b32a80bc392879632232bb7d98f316ea8d0ae647701760db1966cbd36b7","bytes":3194}}
|
||||
{"name":"mutant-revoke-skips-confirming-GET","event":"start","at":"2026-10-25T09:26:59.387Z","uptime":"04:26:59 up 11 days, 19:46, 2 users, load average: 10.21, 9.61, 8.64","TMPDIR":"/mnt/storage/scratch/tmp/h8Tl5R","nice":19}
|
||||
{"name":"mutant-revoke-skips-confirming-GET","event":"end","at":"2026-10-25T09:26:59.387Z","uptime":"04:26:59 up 11 days, 19:46, 2 users, load average: 10.21, 9.61, 8.64","TMPDIR":"/mnt/storage/scratch/tmp/h8Tl5R","nice":19,"measuredDriverNice":19,"measuredChildNice":19,"endAt":"2026-10-25T09:27:05.609Z","endUptime":"04:27:05 up 11 days, 19:46, 2 users, load average: 9.79, 9.54, 8.62","rc":1,"signal":null,"timedOut":false,"tests":30,"pass":29,"fail":1,"skipped":0,"cancelled":0,"failedNames":["revoke confirms absence then polls delayed client refusal before local removal"],"log":{"path":"/mnt/storage/scratch/tmp/cMDOAL/274-mutant-revoke-skips-confirming-GET.log","sha256":"e173e04f0ad3bd4340183acb6eb576d1a2f74d2929de2ed2484684f4d72640b0","bytes":11725}}
|
||||
{"event":"mutant-result","name":"revoke-skips-confirming-GET","killed":true,"restoredSha256":"bf96f9413537d75991464df1b6893c999c01599976eb48eb2032e33e9aade92a"}
|
||||
{"name":"positive-revoke-skips-confirming-GET","event":"start","at":"2026-10-25T09:27:05.614Z","uptime":"04:27:05 up 11 days, 19:46, 2 users, load average: 9.79, 9.54, 8.62","TMPDIR":"/mnt/storage/scratch/tmp/fDASRd","nice":19}
|
||||
{"name":"positive-revoke-skips-confirming-GET","event":"end","at":"2026-10-25T09:27:05.614Z","uptime":"04:27:05 up 11 days, 19:46, 2 users, load average: 9.79, 9.54, 8.62","TMPDIR":"/mnt/storage/scratch/tmp/fDASRd","nice":19,"measuredDriverNice":19,"measuredChildNice":19,"endAt":"2026-10-25T09:27:11.856Z","endUptime":"04:27:11 up 11 days, 19:47, 2 users, load average: 9.25, 9.43, 8.59","rc":0,"signal":null,"timedOut":false,"tests":30,"pass":30,"fail":0,"skipped":0,"cancelled":0,"failedNames":[],"log":{"path":"/mnt/storage/scratch/tmp/cMDOAL/275-positive-revoke-skips-confirming-GET.log","sha256":"a55ed6ff7c3c10320485041a691850364d7436042944d61b3d7f12ef0e13f879","bytes":11069}}
|
||||
{"name":"mutant-reconcile-removes-foreign","event":"start","at":"2026-10-25T09:27:11.860Z","uptime":"04:27:11 up 11 days, 19:47, 2 users, load average: 9.25, 9.43, 8.59","TMPDIR":"/mnt/storage/scratch/tmp/csqXfd","nice":19}
|
||||
{"name":"mutant-reconcile-removes-foreign","event":"end","at":"2026-10-25T09:27:11.860Z","uptime":"04:27:11 up 11 days, 19:47, 2 users, load average: 9.25, 9.43, 8.59","TMPDIR":"/mnt/storage/scratch/tmp/csqXfd","nice":19,"measuredDriverNice":19,"measuredChildNice":19,"endAt":"2026-10-25T09:27:18.096Z","endUptime":"04:27:18 up 11 days, 19:47, 2 users, load average: 8.91, 9.35, 8.57","rc":1,"signal":null,"timedOut":false,"tests":30,"pass":29,"fail":1,"skipped":0,"cancelled":0,"failedNames":["reconcile restores missing recorded keys, removes own unknown, and preserves foreign and sentinel"],"log":{"path":"/mnt/storage/scratch/tmp/cMDOAL/276-mutant-reconcile-removes-foreign.log","sha256":"e9b6dd8f1278e6ab3be2abccb13837e1e775e659b068d5cdc79e320b894e5b5d","bytes":11778}}
|
||||
{"event":"mutant-result","name":"reconcile-removes-foreign","killed":true,"restoredSha256":"bf96f9413537d75991464df1b6893c999c01599976eb48eb2032e33e9aade92a"}
|
||||
{"name":"positive-reconcile-removes-foreign","event":"start","at":"2026-10-25T09:27:18.101Z","uptime":"04:27:18 up 11 days, 19:47, 2 users, load average: 8.91, 9.35, 8.57","TMPDIR":"/mnt/storage/scratch/tmp/KosxTl","nice":19}
|
||||
{"name":"positive-reconcile-removes-foreign","event":"end","at":"2026-10-25T09:27:18.101Z","uptime":"04:27:18 up 11 days, 19:47, 2 users, load average: 8.91, 9.35, 8.57","TMPDIR":"/mnt/storage/scratch/tmp/KosxTl","nice":19,"measuredDriverNice":19,"measuredChildNice":19,"endAt":"2026-10-25T09:27:24.321Z","endUptime":"04:27:24 up 11 days, 19:47, 2 users, load average: 8.57, 9.26, 8.55","rc":0,"signal":null,"timedOut":false,"tests":30,"pass":30,"fail":0,"skipped":0,"cancelled":0,"failedNames":[],"log":{"path":"/mnt/storage/scratch/tmp/cMDOAL/277-positive-reconcile-removes-foreign.log","sha256":"f1f2caa50bc448e616a19dfe87f7a9babc0e843abecc0466e2acf1db78d1f25e","bytes":11072}}
|
||||
{"name":"mutant-preflight-accepts-401","event":"start","at":"2026-10-25T09:27:24.325Z","uptime":"04:27:24 up 11 days, 19:47, 2 users, load average: 8.57, 9.26, 8.55","TMPDIR":"/mnt/storage/scratch/tmp/aWqTQP","nice":19}
|
||||
{"name":"mutant-preflight-accepts-401","event":"end","at":"2026-10-25T09:27:24.325Z","uptime":"04:27:24 up 11 days, 19:47, 2 users, load average: 8.57, 9.26, 8.55","TMPDIR":"/mnt/storage/scratch/tmp/aWqTQP","nice":19,"measuredDriverNice":19,"measuredChildNice":19,"endAt":"2026-10-25T09:27:30.531Z","endUptime":"04:27:30 up 11 days, 19:47, 2 users, load average: 8.44, 9.22, 8.54","rc":1,"signal":null,"timedOut":false,"tests":30,"pass":29,"fail":1,"skipped":0,"cancelled":0,"failedNames":["proxy-key-refused: preflight rejects HTTP 401 with exactly one probe"],"log":{"path":"/mnt/storage/scratch/tmp/cMDOAL/278-mutant-preflight-accepts-401.log","sha256":"ec27ef013b211c7a4e84686d9955a0bc842579c464cd5e54685132ab8ac58ced","bytes":11680}}
|
||||
{"event":"mutant-result","name":"preflight-accepts-401","killed":true,"restoredSha256":"bf96f9413537d75991464df1b6893c999c01599976eb48eb2032e33e9aade92a"}
|
||||
{"name":"positive-preflight-accepts-401","event":"start","at":"2026-10-25T09:27:30.535Z","uptime":"04:27:30 up 11 days, 19:47, 2 users, load average: 8.44, 9.22, 8.54","TMPDIR":"/mnt/storage/scratch/tmp/wdUyCN","nice":19}
|
||||
{"name":"positive-preflight-accepts-401","event":"end","at":"2026-10-25T09:27:30.535Z","uptime":"04:27:30 up 11 days, 19:47, 2 users, load average: 8.44, 9.22, 8.54","TMPDIR":"/mnt/storage/scratch/tmp/wdUyCN","nice":19,"measuredDriverNice":19,"measuredChildNice":19,"endAt":"2026-10-25T09:27:36.962Z","endUptime":"04:27:36 up 11 days, 19:47, 2 users, load average: 8.65, 9.25, 8.55","rc":0,"signal":null,"timedOut":false,"tests":30,"pass":30,"fail":0,"skipped":0,"cancelled":0,"failedNames":[],"log":{"path":"/mnt/storage/scratch/tmp/cMDOAL/279-positive-preflight-accepts-401.log","sha256":"64bad8953b5c46e5c495c3a53096204239c5624747b64c160c0844844bef5bbc","bytes":11073}}
|
||||
{"name":"mutant-reconcile-ignores-revoking","event":"start","at":"2026-10-25T09:27:36.966Z","uptime":"04:27:36 up 11 days, 19:47, 2 users, load average: 8.65, 9.25, 8.55","TMPDIR":"/mnt/storage/scratch/tmp/2WD8BL","nice":19}
|
||||
{"name":"mutant-reconcile-ignores-revoking","event":"end","at":"2026-10-25T09:27:36.966Z","uptime":"04:27:36 up 11 days, 19:47, 2 users, load average: 8.65, 9.25, 8.55","TMPDIR":"/mnt/storage/scratch/tmp/2WD8BL","nice":19,"measuredDriverNice":19,"measuredChildNice":19,"endAt":"2026-10-25T09:27:43.363Z","endUptime":"04:27:43 up 11 days, 19:47, 2 users, load average: 8.76, 9.27, 8.56","rc":1,"signal":null,"timedOut":false,"tests":30,"pass":27,"fail":3,"skipped":0,"cancelled":0,"failedNames":["reconcile revoking never restores key and completes delayed revocation after restart","proxy-revoke-revision-conflict keeps local revoking record and ids-only remote-revoked receipt","proxy-revoke-revision-conflict: racing organization write keeps record, next boot finishes intent"],"log":{"path":"/mnt/storage/scratch/tmp/cMDOAL/280-mutant-reconcile-ignores-revoking.log","sha256":"a9d4d0578a1a0d38b0262c4dd29eaea860071dbfa91179b2677993c19b7bcb82","bytes":13197}}
|
||||
{"event":"mutant-result","name":"reconcile-ignores-revoking","killed":true,"restoredSha256":"bf96f9413537d75991464df1b6893c999c01599976eb48eb2032e33e9aade92a"}
|
||||
{"name":"positive-reconcile-ignores-revoking","event":"start","at":"2026-10-25T09:27:43.370Z","uptime":"04:27:43 up 11 days, 19:47, 2 users, load average: 8.76, 9.27, 8.56","TMPDIR":"/mnt/storage/scratch/tmp/aOmUle","nice":19}
|
||||
{"name":"positive-reconcile-ignores-revoking","event":"end","at":"2026-10-25T09:27:43.370Z","uptime":"04:27:43 up 11 days, 19:47, 2 users, load average: 8.76, 9.27, 8.56","TMPDIR":"/mnt/storage/scratch/tmp/aOmUle","nice":19,"measuredDriverNice":19,"measuredChildNice":19,"endAt":"2026-10-25T09:27:49.742Z","endUptime":"04:27:49 up 11 days, 19:47, 2 users, load average: 8.54, 9.21, 8.55","rc":0,"signal":null,"timedOut":false,"tests":30,"pass":30,"fail":0,"skipped":0,"cancelled":0,"failedNames":[],"log":{"path":"/mnt/storage/scratch/tmp/cMDOAL/281-positive-reconcile-ignores-revoking.log","sha256":"b7fa8985c8430af9b02a12a7353752c8b4f5d02202733db684d73ea564ceaf96","bytes":11076}}
|
||||
{"event":"complete","at":"2026-10-25T09:27:49.744Z","uptime":"04:27:49 up 11 days, 19:47, 2 users, load average: 8.54, 9.21, 8.55"}
|
||||
@@ -1,271 +0,0 @@
|
||||
packages/bus/tests/access-revoke.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/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/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/human.test.mjs
|
||||
packages/bus/tests/instances-verb.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-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-credential-store.test.mjs
|
||||
packages/bus/tests/model-keys.test.mjs
|
||||
packages/bus/tests/model-proxy.test.mjs
|
||||
packages/bus/tests/model-restart.test.mjs
|
||||
packages/bus/tests/model-retirement-boundary.test.mjs
|
||||
packages/bus/tests/model-stop.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.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/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-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/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-runtime.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-guards.test.mjs
|
||||
packages/cli/tests/model-proxy.test.mjs
|
||||
packages/cli/tests/model-stall.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/first-output.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-probe.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/p2-settings.test.mjs
|
||||
packages/model-proxy/tests/runner.test.mjs
|
||||
packages/model-proxy/tests/settings.test.mjs
|
||||
packages/model-proxy/tests/validation.test.mjs
|
||||
packages/plugins/tests/harness-compactions.test.mjs
|
||||
packages/processing-control/tests/mount.test.mjs
|
||||
packages/processing-control/tests/task.test.mjs
|
||||
packages/seat/tests/compactions-budget.test.mjs
|
||||
packages/seat/tests/compactions-ledger.test.mjs
|
||||
packages/seat/tests/compactions.test.mjs
|
||||
packages/seat/tests/sandbox.test.mjs
|
||||
packages/seat/tests/session-workspace.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
|
||||
@@ -1,73 +0,0 @@
|
||||
// B1 full packet: proposed 271 dependency-selected whole files after model-keys probe; requires separate CLEAR.
|
||||
import fs from 'node:fs';
|
||||
import path from 'node:path';
|
||||
import os from 'node:os';
|
||||
import vm from 'node:vm';
|
||||
import { createHash } from 'node:crypto';
|
||||
import { execFileSync, spawn } from 'node:child_process';
|
||||
const root=process.cwd(),home=path.join(root,'agents/magica/work/queue-331');
|
||||
os.setPriority(0,19);
|
||||
const archive=execFileSync('mktemp',['-d','/mnt/storage/scratch/tmp/XXXXXX'],{encoding:'utf8'}).trim();
|
||||
const events=path.join(home,'b1-full-events.jsonl'),receipt=path.join(home,'b1-full-receipts.json');
|
||||
const candidate=execFileSync('git',['rev-parse','HEAD'],{encoding:'utf8'}).trim();
|
||||
fs.writeFileSync(events,'',{flag:'wx'});
|
||||
const rows=[];
|
||||
const uptime=()=>execFileSync('uptime',[],{encoding:'utf8'}).trim();
|
||||
const logEvent=e=>fs.appendFileSync(events,JSON.stringify(e)+'\n');
|
||||
const hash=b=>createHash('sha256').update(b).digest('hex');
|
||||
async function step(name,command,args,timeout=0){
|
||||
const temp=execFileSync('mktemp',['-d','/mnt/storage/scratch/tmp/XXXXXX'],{encoding:'utf8'}).trim();
|
||||
fs.mkdirSync(path.join(temp,'home'));fs.mkdirSync(path.join(temp,'config'));
|
||||
const env={...process.env,TMPDIR:temp,HOME:path.join(temp,'home'),MOSAIC_CONFIG:path.join(temp,'config/config.json')};
|
||||
for(const key of ['OPENAI_API_KEY','ANTHROPIC_API_KEY','ANTHROPIC_AUTH_TOKEN','CLAUDE_CODE_OAUTH_TOKEN','OPENROUTER_API_KEY','ZAI_API_KEY','MOSAIC_BUS_CAP'])delete env[key];
|
||||
os.setPriority(0,19);
|
||||
const before={name,event:'start',at:new Date().toISOString(),uptime:uptime(),TMPDIR:temp,nice:os.getPriority(0)};
|
||||
logEvent(before);
|
||||
const file=path.join(archive,String(rows.length+1).padStart(3,'0')+'-'+name.replaceAll('/','_')+'.log');
|
||||
const fd=fs.openSync(file,'wx',0o600);
|
||||
const measuredDriverNice=os.getPriority(0);fs.writeSync(fd,'driverNice='+measuredDriverNice+'\n');
|
||||
let timer,timedOut=false;
|
||||
const child=spawn(command,args,{cwd:root,env,stdio:['ignore',fd,fd]});
|
||||
let measuredChildNice=null;
|
||||
if(child.pid){os.setPriority(child.pid,19);measuredChildNice=os.getPriority(child.pid);}
|
||||
fs.writeSync(fd,'nice='+String(measuredChildNice)+'\n');fs.closeSync(fd);
|
||||
if(timeout)timer=setTimeout(()=>{timedOut=true;child.kill('SIGTERM');},timeout);
|
||||
const outcome=await new Promise(resolve=>{child.once('error',error=>resolve({rc:1,error:error.code}));child.once('close',(code,signal)=>resolve({rc:code??1,signal}));});
|
||||
clearTimeout(timer);
|
||||
const endLoad=uptime(),bytes=fs.readFileSync(file),text=bytes.toString();
|
||||
const count=key=>Number(new RegExp('^# '+key+' (\\d+)$','m').exec(text)?.[1]??0);
|
||||
const shell=/selftest: (\d+) passed, (\d+) failed/.exec(text);
|
||||
const row={...before,measuredDriverNice,measuredChildNice,event:'end',endAt:new Date().toISOString(),endUptime:endLoad,...outcome,timedOut,
|
||||
tests:shell?Number(shell[1])+Number(shell[2]):count('tests'),pass:shell?Number(shell[1]):count('pass'),fail:shell?Number(shell[2]):count('fail'),skipped:count('skipped'),cancelled:count('cancelled'),
|
||||
failedNames:text.split('\n').filter(s=>s.startsWith('not ok ')).map(s=>s.replace(/^not ok \d+ - /,'')),log:{path:file,sha256:hash(bytes),bytes:bytes.length}};
|
||||
rows.push(row);logEvent(row);fs.writeFileSync(receipt,JSON.stringify({clear:process.env.MOSAIC_GATE_CLEAR??'not supplied',candidate,archive,rows},null,2)+'\n');
|
||||
process.stdout.write(`${name} rc=${row.rc} pass=${row.pass} fail=${row.fail} skip=${row.skipped} start=[${row.uptime}] end=[${endLoad}]\n`);
|
||||
return row;
|
||||
}
|
||||
const testArgs=file=>['--test','--test-reporter=tap',path.join(root,file)];
|
||||
const sourceFile=path.join(root,'packages/bus/src/model-keys.mjs'),original=fs.readFileSync(sourceFile,'utf8');
|
||||
try{
|
||||
const probe=await step('probe-model-keys',process.execPath,testArgs('packages/bus/tests/model-keys.test.mjs'));
|
||||
if(probe.rc!==0)throw Error('RED whole-file model-keys probe; full gate not started');
|
||||
const list=fs.readFileSync(path.join(home,'b1-full-files.txt'),'utf8').trim().split('\n');
|
||||
if(list.length!==271||list.includes('packages/cli/tests/case1-accept.test.mjs'))throw Error('frozen list mismatch');
|
||||
for(const file of list){const row=await step(file,process.execPath,testArgs(file));if(row.rc!==0)throw Error('RED '+file);}
|
||||
const shell=await step('scripts/test-config.sh','timeout',['-k','10','1800',path.join(root,'scripts/test-config.sh')]);
|
||||
if(shell.rc!==0)throw Error('RED scripts/test-config.sh');
|
||||
const helper=fs.readFileSync(path.join(home,'mutants.mjs'),'utf8');
|
||||
const start=helper.indexOf('const cases = ')+14,end=helper.indexOf('\nos.setPriority',start);
|
||||
const cases=vm.runInNewContext('('+helper.slice(start,end).trim().replace(/;$/,'')+')');
|
||||
for(const m of cases){
|
||||
if(original.split(m.from).length!==2)throw Error('mutation anchor not unique '+m.name);
|
||||
let result;
|
||||
try{fs.writeFileSync(sourceFile,original.replace(m.from,m.to));result=await step('mutant-'+m.name,process.execPath,testArgs('packages/bus/tests/model-keys.test.mjs'),180000);}
|
||||
finally{fs.writeFileSync(sourceFile,original);}
|
||||
const killed=result.rc!==0&&!result.timedOut&&result.failedNames.some(name=>name===m.failure);
|
||||
logEvent({event:'mutant-result',name:m.name,killed,restoredSha256:hash(fs.readFileSync(sourceFile))});
|
||||
if(!killed)throw Error('mutant not killed by named behavior '+m.name);
|
||||
const positive=await step('positive-'+m.name,process.execPath,testArgs('packages/bus/tests/model-keys.test.mjs'),180000);
|
||||
if(positive.rc!==0)throw Error('RED positive control '+m.name);
|
||||
}
|
||||
logEvent({event:'complete',at:new Date().toISOString(),uptime:uptime()});
|
||||
}catch(error){logEvent({event:'stopped',reason:error.message,at:new Date().toISOString(),uptime:uptime()});process.stdout.write(error.message+'\n');process.exitCode=1;}
|
||||
finally{if(fs.readFileSync(sourceFile,'utf8')!==original)fs.writeFileSync(sourceFile,original);}
|
||||
@@ -1,56 +0,0 @@
|
||||
{
|
||||
"status": "prepared only; requires separate full CLEAR",
|
||||
"codeCommit": "81cbdea37ff85bf5ca1e99c60f24e33e059eaeec",
|
||||
"artifacts": [
|
||||
{
|
||||
"path": "agents/magica/work/queue-331/candidate-b1.json",
|
||||
"sha256": "704a24696cceb29b7a830180a532101dd55b99f9b37d47800645503871f692c8",
|
||||
"bytes": 29712
|
||||
},
|
||||
{
|
||||
"path": "agents/magica/work/queue-331/b1-green-result-manifest.json",
|
||||
"sha256": "78c1b8fa2b7d3abd836b79e442d77f48116f464bfbfaee97192dc5962053403e",
|
||||
"bytes": 3716
|
||||
},
|
||||
{
|
||||
"path": "agents/magica/work/queue-331/b1-green-files.txt",
|
||||
"sha256": "9caa5881c637a5e8173a97784f60bb01512a1e552e3f3142d9e2eb609891e9a6",
|
||||
"bytes": 368
|
||||
},
|
||||
{
|
||||
"path": "agents/magica/work/queue-331/b1-full-files.txt",
|
||||
"sha256": "d6b403f04e69fbdaaa782d243be40c9f82b422cf54afca0b1437ec1f2fd6c065",
|
||||
"bytes": 11214
|
||||
},
|
||||
{
|
||||
"path": "agents/magica/work/queue-331/b1-dependency-files.txt",
|
||||
"sha256": "d6b403f04e69fbdaaa782d243be40c9f82b422cf54afca0b1437ec1f2fd6c065",
|
||||
"bytes": 11214
|
||||
},
|
||||
{
|
||||
"path": "agents/magica/work/queue-331/b1-import-list.mjs",
|
||||
"sha256": "b619bc3676c04e40d4c306fd134307c2cb897a92838cd114575c2b0868179d2e",
|
||||
"bytes": 4802
|
||||
},
|
||||
{
|
||||
"path": "agents/magica/work/queue-331/b1-import-manifest.json",
|
||||
"sha256": "4e01c2e87bffd8bab19b31de2140a2a56ba22a4133794080cd01365f91834340",
|
||||
"bytes": 121586
|
||||
},
|
||||
{
|
||||
"path": "agents/magica/work/queue-331/b1-full-gate.mjs",
|
||||
"sha256": "d72a72a456fad75da7ddfc82d88cfdaabdcef17b58afcf4d1529b271e037f33a",
|
||||
"bytes": 5830
|
||||
},
|
||||
{
|
||||
"path": "agents/magica/work/queue-331/b1-full-runner.diff",
|
||||
"sha256": "92c64356c607cf85dfc16c613210e0aa653abab80e89ceb2ce141d223aca6ca3",
|
||||
"bytes": 1909
|
||||
},
|
||||
{
|
||||
"path": "agents/magica/work/queue-331/mutants.mjs",
|
||||
"sha256": "9bb088485beeda99ab946fad4b8ca18bd29df487d6b5fe72240c12e73a5d803d",
|
||||
"bytes": 3569
|
||||
}
|
||||
]
|
||||
}
|
||||
File diff suppressed because it is too large.
Load diff
File diff suppressed because it is too large.
Load diff
@@ -1,28 +0,0 @@
|
||||
--- r5-full-gate.mjs
|
||||
+++ b1-full-gate.mjs
|
||||
@@ -1,4 +1,4 @@
|
||||
-// R5 full packet: proposed 269 dependency-selected whole files after model-keys probe; requires separate CLEAR.
|
||||
+// B1 full packet: proposed 271 dependency-selected whole files after model-keys probe; requires separate CLEAR.
|
||||
import fs from 'node:fs';
|
||||
import path from 'node:path';
|
||||
import os from 'node:os';
|
||||
@@ -8,7 +8,7 @@
|
||||
const root=process.cwd(),home=path.join(root,'agents/magica/work/queue-331');
|
||||
os.setPriority(0,19);
|
||||
const archive=execFileSync('mktemp',['-d','/mnt/storage/scratch/tmp/XXXXXX'],{encoding:'utf8'}).trim();
|
||||
-const events=path.join(home,'r5-full-events.jsonl'),receipt=path.join(home,'r5-full-receipts.json');
|
||||
+const events=path.join(home,'b1-full-events.jsonl'),receipt=path.join(home,'b1-full-receipts.json');
|
||||
const candidate=execFileSync('git',['rev-parse','HEAD'],{encoding:'utf8'}).trim();
|
||||
fs.writeFileSync(events,'',{flag:'wx'});
|
||||
const rows=[];
|
||||
@@ -49,8 +49,8 @@
|
||||
try{
|
||||
const probe=await step('probe-model-keys',process.execPath,testArgs('packages/bus/tests/model-keys.test.mjs'));
|
||||
if(probe.rc!==0)throw Error('RED whole-file model-keys probe; full gate not started');
|
||||
- const list=fs.readFileSync(path.join(home,'r5-expanded-full-files.txt'),'utf8').trim().split('\n');
|
||||
- if(list.length!==269||list.includes('packages/cli/tests/case1-accept.test.mjs'))throw Error('frozen list mismatch');
|
||||
+ const list=fs.readFileSync(path.join(home,'b1-full-files.txt'),'utf8').trim().split('\n');
|
||||
+ if(list.length!==271||list.includes('packages/cli/tests/case1-accept.test.mjs'))throw Error('frozen list mismatch');
|
||||
for(const file of list){const row=await step(file,process.execPath,testArgs(file));if(row.rc!==0)throw Error('RED '+file);}
|
||||
const shell=await step('scripts/test-config.sh','timeout',['-k','10','1800',path.join(root,'scripts/test-config.sh')]);
|
||||
if(shell.rc!==0)throw Error('RED scripts/test-config.sh');
|
||||
@@ -1,303 +0,0 @@
|
||||
B1 full builder verification sage-4498 on checkoute5a4ade07/code81cbdea37.
|
||||
Probe rc0:30/30. All271 whole files rc0:2441tests/2440pass/0fail/1skip/0cancel.
|
||||
Test-config rc0:55/55. Nonmutant subtotal2526tests/2525pass/0fail/1skip.
|
||||
Standing FEDR7 scratch two-instance acceptance is specifically UNVERIFIED until
|
||||
scripts/test-federation-acceptance.sh in authorized/global stage; not global green.
|
||||
Four original named mutants killed: rc1 counts29/1,29/1,29/1,27/3 (last also both
|
||||
revision-conflict cases). Allfour restored whole model-keys controls rc0:30/30.
|
||||
No retries/extra tests/source/test/assertion/timeout/threshold/scheduling changes.
|
||||
ModelKeys byte-restored and runtime identical to81cbdea37 after block. No timeout.
|
||||
281steps measured driver19 and child19 at start; no continuous-priority claim.
|
||||
Startload6.76/7.39/7.69 ->end8.54/9.21/8.55. Finished09:27:49Z, SLOT BACK0057.
|
||||
Confinement available: sandbox11/session13, zero confined skips; startup/negative
|
||||
controls ran. New restart12/boundary2 passed within full list. Sleep-fixture scope
|
||||
remains real process discovery/unauthorized-stop refusal, not successful runner
|
||||
SIGTERM. No cleanup/harness failures reported; no new unavailable control.
|
||||
Rawarchive /mnt/storage/scratch/tmp/cMDOAL, every run rc/count/load/priority/hash
|
||||
in b1-full-receipts/events. Builder verification only, not independent fullP2 or
|
||||
fix approval, global gate or landing. Fresh fullP2 round2, ClaudeQ246/security and
|
||||
Dewey landing reviews/global/FEDR7/row288 remain outstanding. Original12RED and
|
||||
boundary2RED plus prior r5 builder result remain separate scoped provenance.
|
||||
|
||||
Per-run rc / pass / fail / skip:
|
||||
probe-model-keys: 0 / 30 / 0 / 0
|
||||
packages/bus/tests/access-revoke.test.mjs: 0 / 10 / 0 / 0
|
||||
packages/bus/tests/agents.test.mjs: 0 / 11 / 0 / 0
|
||||
packages/bus/tests/approval-binding.test.mjs: 0 / 6 / 0 / 0
|
||||
packages/bus/tests/broker.test.mjs: 0 / 16 / 0 / 0
|
||||
packages/bus/tests/business.test.mjs: 0 / 1 / 0 / 0
|
||||
packages/bus/tests/channel-proof.test.mjs: 0 / 2 / 0 / 0
|
||||
packages/bus/tests/chief-of-staff.test.mjs: 0 / 42 / 0 / 0
|
||||
packages/bus/tests/citation-availability.test.mjs: 0 / 3 / 0 / 0
|
||||
packages/bus/tests/citation-guard.test.mjs: 0 / 13 / 0 / 0
|
||||
packages/bus/tests/citation-runtime.test.mjs: 0 / 1 / 0 / 0
|
||||
packages/bus/tests/comment-cursors.test.mjs: 0 / 2 / 0 / 0
|
||||
packages/bus/tests/console-decide.test.mjs: 0 / 12 / 0 / 0
|
||||
packages/bus/tests/creative.test.mjs: 0 / 4 / 0 / 0
|
||||
packages/bus/tests/credential-claim.test.mjs: 0 / 8 / 0 / 0
|
||||
packages/bus/tests/credential-status.test.mjs: 0 / 4 / 0 / 0
|
||||
packages/bus/tests/credential-store.test.mjs: 0 / 12 / 0 / 0
|
||||
packages/bus/tests/credential-verbs.test.mjs: 0 / 2 / 0 / 0
|
||||
packages/bus/tests/credentials.test.mjs: 0 / 5 / 0 / 0
|
||||
packages/bus/tests/csuite-messaging.test.mjs: 0 / 16 / 0 / 0
|
||||
packages/bus/tests/daily-quota-runtime.test.mjs: 0 / 4 / 0 / 0
|
||||
packages/bus/tests/decision-close.test.mjs: 0 / 8 / 0 / 0
|
||||
packages/bus/tests/decision-route.test.mjs: 0 / 5 / 0 / 0
|
||||
packages/bus/tests/decisions.test.mjs: 0 / 7 / 0 / 0
|
||||
packages/bus/tests/end-launch.test.mjs: 0 / 7 / 0 / 0
|
||||
packages/bus/tests/fire-revokes-grants.test.mjs: 0 / 24 / 0 / 0
|
||||
packages/bus/tests/gitea-grant-docker.test.mjs: 0 / 2 / 0 / 0
|
||||
packages/bus/tests/gitea-grant.test.mjs: 0 / 66 / 0 / 0
|
||||
packages/bus/tests/grant-enroll.test.mjs: 0 / 24 / 0 / 0
|
||||
packages/bus/tests/grant-executor.test.mjs: 0 / 42 / 0 / 0
|
||||
packages/bus/tests/grant-host.test.mjs: 0 / 10 / 0 / 0
|
||||
packages/bus/tests/grant-migration.test.mjs: 0 / 6 / 0 / 0
|
||||
packages/bus/tests/grant-scope-runtime.test.mjs: 0 / 1 / 0 / 0
|
||||
packages/bus/tests/grant-scope.test.mjs: 0 / 14 / 0 / 0
|
||||
packages/bus/tests/hard-waits.test.mjs: 0 / 13 / 0 / 0
|
||||
packages/bus/tests/host-run.test.mjs: 0 / 26 / 0 / 0
|
||||
packages/bus/tests/human.test.mjs: 0 / 4 / 0 / 0
|
||||
packages/bus/tests/instances-verb.test.mjs: 0 / 3 / 0 / 0
|
||||
packages/bus/tests/land.test.mjs: 0 / 18 / 0 / 0
|
||||
packages/bus/tests/launch-notice.test.mjs: 0 / 8 / 0 / 0
|
||||
packages/bus/tests/launcher-released.test.mjs: 0 / 3 / 0 / 0
|
||||
packages/bus/tests/library-credential.test.mjs: 0 / 6 / 0 / 0
|
||||
packages/bus/tests/library-lookups.test.mjs: 0 / 12 / 0 / 0
|
||||
packages/bus/tests/library-sync.test.mjs: 0 / 6 / 0 / 0
|
||||
packages/bus/tests/library.test.mjs: 0 / 6 / 0 / 0
|
||||
packages/bus/tests/lifecycle-revoke.test.mjs: 0 / 8 / 0 / 0
|
||||
packages/bus/tests/lifecycle-verbs.test.mjs: 0 / 13 / 0 / 0
|
||||
packages/bus/tests/limit-stop.test.mjs: 0 / 5 / 0 / 0
|
||||
packages/bus/tests/limits-runtime.test.mjs: 0 / 5 / 0 / 0
|
||||
packages/bus/tests/limits.test.mjs: 0 / 3 / 0 / 0
|
||||
packages/bus/tests/message-citation.test.mjs: 0 / 3 / 0 / 0
|
||||
packages/bus/tests/message-filter.test.mjs: 0 / 6 / 0 / 0
|
||||
packages/bus/tests/messages.test.mjs: 0 / 4 / 0 / 0
|
||||
packages/bus/tests/messaging.test.mjs: 0 / 13 / 0 / 0
|
||||
packages/bus/tests/model-credential-store.test.mjs: 0 / 7 / 0 / 0
|
||||
packages/bus/tests/model-keys.test.mjs: 0 / 30 / 0 / 0
|
||||
packages/bus/tests/model-proxy.test.mjs: 0 / 14 / 0 / 0
|
||||
packages/bus/tests/model-restart.test.mjs: 0 / 12 / 0 / 0
|
||||
packages/bus/tests/model-retirement-boundary.test.mjs: 0 / 2 / 0 / 0
|
||||
packages/bus/tests/model-stop.test.mjs: 0 / 7 / 0 / 0
|
||||
packages/bus/tests/names.test.mjs: 0 / 7 / 0 / 0
|
||||
packages/bus/tests/peer-transport.test.mjs: 0 / 4 / 0 / 0
|
||||
packages/bus/tests/peercred.test.mjs: 0 / 5 / 0 / 0
|
||||
packages/bus/tests/plugins-verb.test.mjs: 0 / 3 / 0 / 0
|
||||
packages/bus/tests/principal.test.mjs: 0 / 5 / 0 / 0
|
||||
packages/bus/tests/process.test.mjs: 0 / 8 / 0 / 0
|
||||
packages/bus/tests/processing-runtime.test.mjs: 0 / 2 / 0 / 0
|
||||
packages/bus/tests/processing-timeout.test.mjs: 0 / 1 / 0 / 0
|
||||
packages/bus/tests/processing.test.mjs: 0 / 14 / 0 / 0
|
||||
packages/bus/tests/project-await.test.mjs: 0 / 4 / 0 / 0
|
||||
packages/bus/tests/project-files.test.mjs: 0 / 8 / 0 / 0
|
||||
packages/bus/tests/project-runtime.test.mjs: 0 / 3 / 0 / 0
|
||||
packages/bus/tests/publish.test.mjs: 0 / 13 / 0 / 0
|
||||
packages/bus/tests/reload.test.mjs: 0 / 10 / 0 / 0
|
||||
packages/bus/tests/replies.test.mjs: 0 / 7 / 0 / 0
|
||||
packages/bus/tests/requirements.test.mjs: 0 / 3 / 0 / 0
|
||||
packages/bus/tests/review.test.mjs: 0 / 8 / 0 / 0
|
||||
packages/bus/tests/revoke-window.test.mjs: 0 / 3 / 0 / 0
|
||||
packages/bus/tests/room-check.test.mjs: 0 / 2 / 0 / 0
|
||||
packages/bus/tests/rooms.test.mjs: 0 / 18 / 0 / 0
|
||||
packages/bus/tests/routes-verb.test.mjs: 0 / 4 / 0 / 0
|
||||
packages/bus/tests/session-clear.test.mjs: 0 / 19 / 0 / 0
|
||||
packages/bus/tests/session-compactions.test.mjs: 0 / 4 / 0 / 0
|
||||
packages/bus/tests/sessions.test.mjs: 0 / 7 / 0 / 0
|
||||
packages/bus/tests/single-use.test.mjs: 0 / 12 / 0 / 0
|
||||
packages/bus/tests/spec-review.test.mjs: 0 / 12 / 0 / 0
|
||||
packages/bus/tests/spec-socket.test.mjs: 0 / 6 / 0 / 0
|
||||
packages/bus/tests/spec.test.mjs: 0 / 4 / 0 / 0
|
||||
packages/bus/tests/staff-request.test.mjs: 0 / 10 / 0 / 0
|
||||
packages/bus/tests/state.test.mjs: 0 / 8 / 0 / 0
|
||||
packages/bus/tests/task-page.test.mjs: 0 / 6 / 0 / 0
|
||||
packages/bus/tests/task-read.test.mjs: 0 / 3 / 0 / 0
|
||||
packages/bus/tests/tasks.test.mjs: 0 / 9 / 0 / 0
|
||||
packages/bus/tests/tester-threads.test.mjs: 0 / 15 / 0 / 0
|
||||
packages/bus/tests/tester-writes.test.mjs: 0 / 8 / 0 / 0
|
||||
packages/bus/tests/tester.test.mjs: 0 / 14 / 0 / 0
|
||||
packages/bus/tests/thread-claims.test.mjs: 0 / 6 / 0 / 0
|
||||
packages/bus/tests/thread-migration.test.mjs: 0 / 3 / 0 / 0
|
||||
packages/bus/tests/thread-shares.test.mjs: 0 / 16 / 0 / 0
|
||||
packages/bus/tests/threads.test.mjs: 0 / 20 / 0 / 0
|
||||
packages/bus/tests/transport.test.mjs: 0 / 5 / 0 / 0
|
||||
packages/bus/tests/usage-broker.test.mjs: 0 / 1 / 0 / 0
|
||||
packages/bus/tests/usage-runtime.test.mjs: 0 / 1 / 0 / 0
|
||||
packages/bus/tests/user-principal.test.mjs: 0 / 24 / 0 / 0
|
||||
packages/bus/tests/viewer.test.mjs: 0 / 7 / 0 / 0
|
||||
packages/bus/tests/web.test.mjs: 0 / 19 / 0 / 0
|
||||
packages/bus/tests/workflow-roles.test.mjs: 0 / 4 / 0 / 0
|
||||
packages/business/tests/case1-business-file.test.mjs: 0 / 7 / 0 / 0
|
||||
packages/cli/tests/access-boot.test.mjs: 0 / 4 / 0 / 0
|
||||
packages/cli/tests/access.test.mjs: 0 / 34 / 0 / 0
|
||||
packages/cli/tests/app.test.mjs: 0 / 30 / 0 / 0
|
||||
packages/cli/tests/boot-status.test.mjs: 0 / 3 / 0 / 0
|
||||
packages/cli/tests/case1-hostcheck.test.mjs: 0 / 19 / 0 / 0
|
||||
packages/cli/tests/case2-install.test.mjs: 0 / 27 / 0 / 0
|
||||
packages/cli/tests/case2-persona-import.test.mjs: 0 / 14 / 0 / 0
|
||||
packages/cli/tests/case2-unit.test.mjs: 0 / 47 / 0 / 0
|
||||
packages/cli/tests/channel-cli.test.mjs: 0 / 2 / 0 / 0
|
||||
packages/cli/tests/channel-recovery.test.mjs: 0 / 1 / 0 / 0
|
||||
packages/cli/tests/cli.test.mjs: 0 / 12 / 0 / 0
|
||||
packages/cli/tests/compactions-launch.test.mjs: 0 / 5 / 0 / 0
|
||||
packages/cli/tests/config.test.mjs: 0 / 7 / 0 / 0
|
||||
packages/cli/tests/credentials.test.mjs: 0 / 5 / 0 / 0
|
||||
packages/cli/tests/federation-acceptance.test.mjs: 0 / 0 / 0 / 1
|
||||
packages/cli/tests/follow.test.mjs: 0 / 6 / 0 / 0
|
||||
packages/cli/tests/git-socket.test.mjs: 0 / 24 / 0 / 0
|
||||
packages/cli/tests/grants-scope.test.mjs: 0 / 4 / 0 / 0
|
||||
packages/cli/tests/grants.test.mjs: 0 / 6 / 0 / 0
|
||||
packages/cli/tests/host.test.mjs: 0 / 43 / 0 / 0
|
||||
packages/cli/tests/hosts.test.mjs: 0 / 8 / 0 / 0
|
||||
packages/cli/tests/idle-stop-race.test.mjs: 0 / 1 / 0 / 0
|
||||
packages/cli/tests/instances.test.mjs: 0 / 15 / 0 / 0
|
||||
packages/cli/tests/launch-account.test.mjs: 0 / 7 / 0 / 0
|
||||
packages/cli/tests/launch-limit-checks.test.mjs: 0 / 5 / 0 / 0
|
||||
packages/cli/tests/launch-limits.test.mjs: 0 / 1 / 0 / 0
|
||||
packages/cli/tests/launch-routes.test.mjs: 0 / 9 / 0 / 0
|
||||
packages/cli/tests/launcher.test.mjs: 0 / 34 / 0 / 0
|
||||
packages/cli/tests/lifecycle.test.mjs: 0 / 24 / 0 / 0
|
||||
packages/cli/tests/limits-tokens.test.mjs: 0 / 5 / 0 / 0
|
||||
packages/cli/tests/limits.test.mjs: 0 / 5 / 0 / 0
|
||||
packages/cli/tests/mark-read.test.mjs: 0 / 6 / 0 / 0
|
||||
packages/cli/tests/model-proxy-guards.test.mjs: 0 / 10 / 0 / 0
|
||||
packages/cli/tests/model-proxy.test.mjs: 0 / 9 / 0 / 0
|
||||
packages/cli/tests/model-stall.test.mjs: 0 / 4 / 0 / 0
|
||||
packages/cli/tests/names.test.mjs: 0 / 2 / 0 / 0
|
||||
packages/cli/tests/notifier.test.mjs: 0 / 27 / 0 / 0
|
||||
packages/cli/tests/optional-tracker.test.mjs: 0 / 4 / 0 / 0
|
||||
packages/cli/tests/other-tree.test.mjs: 0 / 4 / 0 / 0
|
||||
packages/cli/tests/processing-cli.test.mjs: 0 / 4 / 0 / 0
|
||||
packages/cli/tests/project-name-repo.test.mjs: 0 / 2 / 0 / 0
|
||||
packages/cli/tests/project.test.mjs: 0 / 4 / 0 / 0
|
||||
packages/cli/tests/publish-socket.test.mjs: 0 / 9 / 0 / 0
|
||||
packages/cli/tests/reply-limits.test.mjs: 0 / 2 / 0 / 0
|
||||
packages/cli/tests/revoke-window.test.mjs: 0 / 1 / 0 / 0
|
||||
packages/cli/tests/session-clear.test.mjs: 0 / 5 / 0 / 0
|
||||
packages/cli/tests/session-cli.test.mjs: 0 / 14 / 0 / 0
|
||||
packages/cli/tests/session-launch.test.mjs: 0 / 8 / 0 / 0
|
||||
packages/cli/tests/stack-copy.test.mjs: 0 / 18 / 0 / 0
|
||||
packages/cli/tests/stack-instances.test.mjs: 0 / 24 / 0 / 0
|
||||
packages/cli/tests/tester-http.test.mjs: 0 / 2 / 0 / 0
|
||||
packages/cli/tests/tester-reads.test.mjs: 0 / 6 / 0 / 0
|
||||
packages/cli/tests/tester-threads.test.mjs: 0 / 5 / 0 / 0
|
||||
packages/cli/tests/tester.test.mjs: 0 / 11 / 0 / 0
|
||||
packages/cli/tests/thread-cli.test.mjs: 0 / 11 / 0 / 0
|
||||
packages/cli/tests/thread-launch.test.mjs: 0 / 15 / 0 / 0
|
||||
packages/cli/tests/thread-revoke.test.mjs: 0 / 3 / 0 / 0
|
||||
packages/cli/tests/trackers-boot.test.mjs: 0 / 2 / 0 / 0
|
||||
packages/cli/tests/transport.test.mjs: 0 / 3 / 0 / 0
|
||||
packages/cli/tests/usage.test.mjs: 0 / 2 / 0 / 0
|
||||
packages/cli/tests/verbs.test.mjs: 0 / 9 / 0 / 0
|
||||
packages/harness/tests/citation-runner.test.mjs: 0 / 21 / 0 / 0
|
||||
packages/harness/tests/claude-session.test.mjs: 0 / 10 / 0 / 0
|
||||
packages/harness/tests/creative.test.mjs: 0 / 7 / 0 / 0
|
||||
packages/harness/tests/first-output.test.mjs: 0 / 1 / 0 / 0
|
||||
packages/harness/tests/pi-session.test.mjs: 0 / 10 / 0 / 0
|
||||
packages/harness/tests/raise-domain.test.mjs: 0 / 2 / 0 / 0
|
||||
packages/harness/tests/runner.test.mjs: 0 / 40 / 0 / 0
|
||||
packages/harness/tests/skills.test.mjs: 0 / 10 / 0 / 0
|
||||
packages/harness/tests/spec-tools.test.mjs: 0 / 2 / 0 / 0
|
||||
packages/harness/tests/tools.test.mjs: 0 / 23 / 0 / 0
|
||||
packages/model-proxy/tests/client-probe.test.mjs: 0 / 6 / 0 / 0
|
||||
packages/model-proxy/tests/client.test.mjs: 0 / 16 / 0 / 0
|
||||
packages/model-proxy/tests/config-unit.test.mjs: 0 / 15 / 0 / 0
|
||||
packages/model-proxy/tests/fetch.test.mjs: 0 / 8 / 0 / 0
|
||||
packages/model-proxy/tests/management-key-encoding.test.mjs: 0 / 5 / 0 / 0
|
||||
packages/model-proxy/tests/p2-settings.test.mjs: 0 / 14 / 0 / 0
|
||||
packages/model-proxy/tests/runner.test.mjs: 0 / 3 / 0 / 0
|
||||
packages/model-proxy/tests/settings.test.mjs: 0 / 19 / 0 / 0
|
||||
packages/model-proxy/tests/validation.test.mjs: 0 / 3 / 0 / 0
|
||||
packages/plugins/tests/harness-compactions.test.mjs: 0 / 8 / 0 / 0
|
||||
packages/processing-control/tests/mount.test.mjs: 0 / 2 / 0 / 0
|
||||
packages/processing-control/tests/task.test.mjs: 0 / 7 / 0 / 0
|
||||
packages/seat/tests/compactions-budget.test.mjs: 0 / 10 / 0 / 0
|
||||
packages/seat/tests/compactions-ledger.test.mjs: 0 / 16 / 0 / 0
|
||||
packages/seat/tests/compactions.test.mjs: 0 / 20 / 0 / 0
|
||||
packages/seat/tests/sandbox.test.mjs: 0 / 11 / 0 / 0
|
||||
packages/seat/tests/session-workspace.test.mjs: 0 / 5 / 0 / 0
|
||||
packages/seat/tests/session.test.mjs: 0 / 13 / 0 / 0
|
||||
packages/tasks/tests/adapter.test.mjs: 0 / 8 / 0 / 0
|
||||
packages/tasks/tests/comment-restart.test.mjs: 0 / 5 / 0 / 0
|
||||
packages/tasks/tests/fields.test.mjs: 0 / 5 / 0 / 0
|
||||
packages/tasks/tests/processing.test.mjs: 0 / 3 / 0 / 0
|
||||
packages/tasks/tests/shapes.test.mjs: 0 / 4 / 0 / 0
|
||||
packages/tasks/tests/startup.test.mjs: 0 / 9 / 0 / 0
|
||||
packages/tasks/tests/sync.test.mjs: 0 / 11 / 0 / 0
|
||||
packages/tasks/tests/tree.test.mjs: 0 / 19 / 0 / 0
|
||||
packages/tasks/tests/verbs.test.mjs: 0 / 31 / 0 / 0
|
||||
packages/webui/tests/agents-browser.test.mjs: 0 / 2 / 0 / 0
|
||||
packages/webui/tests/agents.test.mjs: 0 / 9 / 0 / 0
|
||||
packages/webui/tests/assistant.test.mjs: 0 / 6 / 0 / 0
|
||||
packages/webui/tests/board-held.test.mjs: 0 / 3 / 0 / 0
|
||||
packages/webui/tests/browser-edge.test.mjs: 0 / 1 / 0 / 0
|
||||
packages/webui/tests/browser.test.mjs: 0 / 1 / 0 / 0
|
||||
packages/webui/tests/bus-browser.test.mjs: 0 / 2 / 0 / 0
|
||||
packages/webui/tests/bus.test.mjs: 0 / 10 / 0 / 0
|
||||
packages/webui/tests/channel-chat.test.mjs: 0 / 3 / 0 / 0
|
||||
packages/webui/tests/chat-browser.test.mjs: 0 / 19 / 0 / 0
|
||||
packages/webui/tests/chat-instances.test.mjs: 0 / 4 / 0 / 0
|
||||
packages/webui/tests/chat-replies-browser.test.mjs: 0 / 11 / 0 / 0
|
||||
packages/webui/tests/chat-sessions-access.test.mjs: 0 / 7 / 0 / 0
|
||||
packages/webui/tests/chat.test.mjs: 0 / 30 / 0 / 0
|
||||
packages/webui/tests/conversation.test.mjs: 0 / 4 / 0 / 0
|
||||
packages/webui/tests/decide-browser.test.mjs: 0 / 3 / 0 / 0
|
||||
packages/webui/tests/decide-sso.test.mjs: 0 / 5 / 0 / 0
|
||||
packages/webui/tests/decision-http.test.mjs: 0 / 9 / 0 / 0
|
||||
packages/webui/tests/discord.test.mjs: 0 / 1 / 0 / 0
|
||||
packages/webui/tests/docs-browser.test.mjs: 0 / 1 / 0 / 0
|
||||
packages/webui/tests/editor-browser.test.mjs: 0 / 16 / 0 / 0
|
||||
packages/webui/tests/editor.test.mjs: 0 / 5 / 0 / 0
|
||||
packages/webui/tests/granted-user.test.mjs: 0 / 19 / 0 / 0
|
||||
packages/webui/tests/history-return-flow.test.mjs: 0 / 1 / 0 / 0
|
||||
packages/webui/tests/instances-browser.test.mjs: 0 / 1 / 0 / 0
|
||||
packages/webui/tests/instances.test.mjs: 0 / 5 / 0 / 0
|
||||
packages/webui/tests/library-cli.test.mjs: 0 / 1 / 0 / 0
|
||||
packages/webui/tests/library-routes.test.mjs: 0 / 13 / 0 / 0
|
||||
packages/webui/tests/library-status.test.mjs: 0 / 1 / 0 / 0
|
||||
packages/webui/tests/limits-browser.test.mjs: 0 / 2 / 0 / 0
|
||||
packages/webui/tests/limits-route.test.mjs: 0 / 4 / 0 / 0
|
||||
packages/webui/tests/messages.test.mjs: 0 / 3 / 0 / 0
|
||||
packages/webui/tests/pinned-copy.test.mjs: 0 / 10 / 0 / 0
|
||||
packages/webui/tests/preview.test.mjs: 0 / 11 / 0 / 0
|
||||
packages/webui/tests/processing-browser.test.mjs: 0 / 9 / 0 / 0
|
||||
packages/webui/tests/processing.test.mjs: 0 / 6 / 0 / 0
|
||||
packages/webui/tests/project-file.test.mjs: 0 / 10 / 0 / 0
|
||||
packages/webui/tests/project-name-repo.test.mjs: 0 / 1 / 0 / 0
|
||||
packages/webui/tests/proof-cli.test.mjs: 0 / 3 / 0 / 0
|
||||
packages/webui/tests/proof.test.mjs: 0 / 4 / 0 / 0
|
||||
packages/webui/tests/reads.test.mjs: 0 / 11 / 0 / 0
|
||||
packages/webui/tests/relaunch.test.mjs: 0 / 1 / 0 / 0
|
||||
packages/webui/tests/return-flow.test.mjs: 0 / 1 / 0 / 0
|
||||
packages/webui/tests/room-browser.test.mjs: 0 / 9 / 0 / 0
|
||||
packages/webui/tests/room-http.test.mjs: 0 / 7 / 0 / 0
|
||||
packages/webui/tests/routes-browser.test.mjs: 0 / 1 / 0 / 0
|
||||
packages/webui/tests/routes.test.mjs: 0 / 5 / 0 / 0
|
||||
packages/webui/tests/send-browser.test.mjs: 0 / 2 / 0 / 0
|
||||
packages/webui/tests/send.test.mjs: 0 / 13 / 0 / 0
|
||||
packages/webui/tests/serve.test.mjs: 0 / 4 / 0 / 0
|
||||
packages/webui/tests/settings-form.test.mjs: 0 / 5 / 0 / 0
|
||||
packages/webui/tests/settings-write.test.mjs: 0 / 4 / 0 / 0
|
||||
packages/webui/tests/shell.test.mjs: 0 / 5 / 0 / 0
|
||||
packages/webui/tests/sso-browser.test.mjs: 0 / 2 / 0 / 0
|
||||
packages/webui/tests/sso.test.mjs: 0 / 28 / 0 / 0
|
||||
packages/webui/tests/tester-browser.test.mjs: 0 / 2 / 0 / 0
|
||||
packages/webui/tests/tester-cli.test.mjs: 0 / 2 / 0 / 0
|
||||
packages/webui/tests/tester-listener.test.mjs: 0 / 11 / 0 / 0
|
||||
packages/webui/tests/tester-socket.test.mjs: 0 / 3 / 0 / 0
|
||||
packages/webui/tests/thread-claims-browser.test.mjs: 0 / 6 / 0 / 0
|
||||
packages/webui/tests/thread-claims.test.mjs: 0 / 4 / 0 / 0
|
||||
packages/webui/tests/thread-sharing.test.mjs: 0 / 7 / 0 / 0
|
||||
packages/webui/tests/usage-browser.test.mjs: 0 / 1 / 0 / 0
|
||||
packages/webui/tests/usage.test.mjs: 0 / 2 / 0 / 0
|
||||
packages/webui/tests/user-option-swap.test.mjs: 0 / 1 / 0 / 0
|
||||
packages/webui/tests/views.test.mjs: 0 / 3 / 0 / 0
|
||||
scripts/test-config.sh: 0 / 55 / 0 / 0
|
||||
mutant-revoke-skips-confirming-GET: 1 / 29 / 1 / 0
|
||||
positive-revoke-skips-confirming-GET: 0 / 30 / 0 / 0
|
||||
mutant-reconcile-removes-foreign: 1 / 29 / 1 / 0
|
||||
positive-reconcile-removes-foreign: 0 / 30 / 0 / 0
|
||||
mutant-preflight-accepts-401: 1 / 29 / 1 / 0
|
||||
positive-preflight-accepts-401: 0 / 30 / 0 / 0
|
||||
mutant-reconcile-ignores-revoking: 1 / 27 / 3 / 0
|
||||
positive-reconcile-ignores-revoking: 0 / 30 / 0 / 0
|
||||
@@ -1,19 +0,0 @@
|
||||
{"name":"packages/bus/tests/model-restart.test.mjs","event":"start","at":"2026-10-25T09:04:21.302Z","uptime":"04:04:21 up 11 days, 19:24, 2 users, load average: 8.32, 7.90, 7.87","TMPDIR":"/mnt/storage/scratch/tmp/LZK2Wd","nice":19}
|
||||
{"name":"packages/bus/tests/model-restart.test.mjs","event":"end","at":"2026-10-25T09:04:21.302Z","uptime":"04:04:21 up 11 days, 19:24, 2 users, load average: 8.32, 7.90, 7.87","TMPDIR":"/mnt/storage/scratch/tmp/LZK2Wd","nice":19,"measuredDriverNice":19,"measuredChildNice":19,"endAt":"2026-10-25T09:04:35.476Z","endUptime":"04:04:35 up 11 days, 19:24, 2 users, load average: 7.37, 7.71, 7.80","rc":0,"signal":null,"timedOut":false,"tests":12,"pass":12,"fail":0,"skipped":0,"cancelled":0,"skippedLines":[],"failedNames":[],"log":{"path":"/mnt/storage/scratch/tmp/b9nV56/001-packages_bus_tests_model-restart.test.mjs.log","sha256":"b8c2bd98381ef08b7415e05bf9a7d5f0ba74e506c16b276ee69f16e468bf5085","bytes":7246}}
|
||||
{"name":"packages/bus/tests/model-retirement-boundary.test.mjs","event":"start","at":"2026-10-25T09:04:35.482Z","uptime":"04:04:35 up 11 days, 19:24, 2 users, load average: 7.37, 7.71, 7.80","TMPDIR":"/mnt/storage/scratch/tmp/hCv4aC","nice":19}
|
||||
{"name":"packages/bus/tests/model-retirement-boundary.test.mjs","event":"end","at":"2026-10-25T09:04:35.482Z","uptime":"04:04:35 up 11 days, 19:24, 2 users, load average: 7.37, 7.71, 7.80","TMPDIR":"/mnt/storage/scratch/tmp/hCv4aC","nice":19,"measuredDriverNice":19,"measuredChildNice":19,"endAt":"2026-10-25T09:04:35.699Z","endUptime":"04:04:35 up 11 days, 19:24, 2 users, load average: 7.37, 7.71, 7.80","rc":0,"signal":null,"timedOut":false,"tests":2,"pass":2,"fail":0,"skipped":0,"cancelled":0,"skippedLines":[],"failedNames":[],"log":{"path":"/mnt/storage/scratch/tmp/b9nV56/002-packages_bus_tests_model-retirement-boundary.test.mjs.log","sha256":"8dc42b0cb224543f4e34cf61935fc8d993a3596a8789862b23d78d754dd537a7","bytes":605}}
|
||||
{"name":"packages/bus/tests/model-keys.test.mjs","event":"start","at":"2026-10-25T09:04:35.701Z","uptime":"04:04:35 up 11 days, 19:24, 2 users, load average: 7.37, 7.71, 7.80","TMPDIR":"/mnt/storage/scratch/tmp/emDMT1","nice":19}
|
||||
{"name":"packages/bus/tests/model-keys.test.mjs","event":"end","at":"2026-10-25T09:04:35.701Z","uptime":"04:04:35 up 11 days, 19:24, 2 users, load average: 7.37, 7.71, 7.80","TMPDIR":"/mnt/storage/scratch/tmp/emDMT1","nice":19,"measuredDriverNice":19,"measuredChildNice":19,"endAt":"2026-10-25T09:04:42.175Z","endUptime":"04:04:42 up 11 days, 19:24, 2 users, load average: 8.94, 8.03, 7.91","rc":0,"signal":null,"timedOut":false,"tests":30,"pass":30,"fail":0,"skipped":0,"cancelled":0,"skippedLines":[],"failedNames":[],"log":{"path":"/mnt/storage/scratch/tmp/b9nV56/003-packages_bus_tests_model-keys.test.mjs.log","sha256":"846bdb94617e97d6cf2ec45b811747b2307819821f11a640deb0307378c9db7d","bytes":11077}}
|
||||
{"name":"packages/bus/tests/model-stop.test.mjs","event":"start","at":"2026-10-25T09:04:42.178Z","uptime":"04:04:42 up 11 days, 19:24, 2 users, load average: 8.94, 8.03, 7.91","TMPDIR":"/mnt/storage/scratch/tmp/QtJB4d","nice":19}
|
||||
{"name":"packages/bus/tests/model-stop.test.mjs","event":"end","at":"2026-10-25T09:04:42.178Z","uptime":"04:04:42 up 11 days, 19:24, 2 users, load average: 8.94, 8.03, 7.91","TMPDIR":"/mnt/storage/scratch/tmp/QtJB4d","nice":19,"measuredDriverNice":19,"measuredChildNice":19,"endAt":"2026-10-25T09:04:42.389Z","endUptime":"04:04:42 up 11 days, 19:24, 2 users, load average: 8.94, 8.03, 7.91","rc":0,"signal":null,"timedOut":false,"tests":7,"pass":7,"fail":0,"skipped":0,"cancelled":0,"skippedLines":[],"failedNames":[],"log":{"path":"/mnt/storage/scratch/tmp/b9nV56/004-packages_bus_tests_model-stop.test.mjs.log","sha256":"12753141a7da4b750f10ca5f699c739629d6798767665e7e53366bd6120793fc","bytes":1469}}
|
||||
{"name":"packages/bus/tests/model-proxy.test.mjs","event":"start","at":"2026-10-25T09:04:42.392Z","uptime":"04:04:42 up 11 days, 19:24, 2 users, load average: 8.94, 8.03, 7.91","TMPDIR":"/mnt/storage/scratch/tmp/dHqTPU","nice":19}
|
||||
{"name":"packages/bus/tests/model-proxy.test.mjs","event":"end","at":"2026-10-25T09:04:42.392Z","uptime":"04:04:42 up 11 days, 19:24, 2 users, load average: 8.94, 8.03, 7.91","TMPDIR":"/mnt/storage/scratch/tmp/dHqTPU","nice":19,"measuredDriverNice":19,"measuredChildNice":19,"endAt":"2026-10-25T09:04:43.035Z","endUptime":"04:04:43 up 11 days, 19:24, 2 users, load average: 8.94, 8.03, 7.91","rc":0,"signal":null,"timedOut":false,"tests":14,"pass":14,"fail":0,"skipped":0,"cancelled":0,"skippedLines":[],"failedNames":[],"log":{"path":"/mnt/storage/scratch/tmp/b9nV56/005-packages_bus_tests_model-proxy.test.mjs.log","sha256":"6c17b4822719f95348e7e9a48d5555e2f50de760c643d6d113eaf78e81c9a8dd","bytes":2831}}
|
||||
{"name":"packages/seat/tests/session.test.mjs","event":"start","at":"2026-10-25T09:04:43.041Z","uptime":"04:04:43 up 11 days, 19:24, 2 users, load average: 8.94, 8.03, 7.91","TMPDIR":"/mnt/storage/scratch/tmp/acFjCh","nice":19}
|
||||
{"name":"packages/seat/tests/session.test.mjs","event":"end","at":"2026-10-25T09:04:43.041Z","uptime":"04:04:43 up 11 days, 19:24, 2 users, load average: 8.94, 8.03, 7.91","TMPDIR":"/mnt/storage/scratch/tmp/acFjCh","nice":19,"measuredDriverNice":19,"measuredChildNice":19,"endAt":"2026-10-25T09:04:43.757Z","endUptime":"04:04:43 up 11 days, 19:24, 2 users, load average: 8.94, 8.03, 7.91","rc":0,"signal":null,"timedOut":false,"tests":13,"pass":13,"fail":0,"skipped":0,"cancelled":0,"skippedLines":[],"failedNames":[],"log":{"path":"/mnt/storage/scratch/tmp/b9nV56/006-packages_seat_tests_session.test.mjs.log","sha256":"842e7a50986171bee77ac8ec36134e1efe94d094ad850cb82f208ef7079e2466","bytes":3241}}
|
||||
{"name":"packages/seat/tests/sandbox.test.mjs","event":"start","at":"2026-10-25T09:04:43.761Z","uptime":"04:04:43 up 11 days, 19:24, 2 users, load average: 8.94, 8.03, 7.91","TMPDIR":"/mnt/storage/scratch/tmp/GX6Fva","nice":19}
|
||||
{"name":"packages/seat/tests/sandbox.test.mjs","event":"end","at":"2026-10-25T09:04:43.761Z","uptime":"04:04:43 up 11 days, 19:24, 2 users, load average: 8.94, 8.03, 7.91","TMPDIR":"/mnt/storage/scratch/tmp/GX6Fva","nice":19,"measuredDriverNice":19,"measuredChildNice":19,"endAt":"2026-10-25T09:04:52.769Z","endUptime":"04:04:52 up 11 days, 19:24, 2 users, load average: 8.86, 8.04, 7.91","rc":0,"signal":null,"timedOut":false,"tests":11,"pass":11,"fail":0,"skipped":0,"cancelled":0,"skippedLines":[],"failedNames":[],"log":{"path":"/mnt/storage/scratch/tmp/b9nV56/007-packages_seat_tests_sandbox.test.mjs.log","sha256":"9e1f2a9f8a9984821a945097d2deb337ba238c4cf72215456872c79401f7df6b","bytes":2956}}
|
||||
{"name":"packages/cli/tests/launcher.test.mjs","event":"start","at":"2026-10-25T09:04:52.773Z","uptime":"04:04:52 up 11 days, 19:24, 2 users, load average: 8.86, 8.04, 7.91","TMPDIR":"/mnt/storage/scratch/tmp/Pdn1Ui","nice":19}
|
||||
{"name":"packages/cli/tests/launcher.test.mjs","event":"end","at":"2026-10-25T09:04:52.773Z","uptime":"04:04:52 up 11 days, 19:24, 2 users, load average: 8.86, 8.04, 7.91","TMPDIR":"/mnt/storage/scratch/tmp/Pdn1Ui","nice":19,"measuredDriverNice":19,"measuredChildNice":19,"endAt":"2026-10-25T09:05:30.004Z","endUptime":"04:05:30 up 11 days, 19:25, 2 users, load average: 8.34, 8.01, 7.91","rc":0,"signal":null,"timedOut":false,"tests":34,"pass":34,"fail":0,"skipped":0,"cancelled":0,"skippedLines":[],"failedNames":[],"log":{"path":"/mnt/storage/scratch/tmp/b9nV56/008-packages_cli_tests_launcher.test.mjs.log","sha256":"0d7c46557d40ec07d0d5d90532756c06afd725b6bab5724673b1f2abb0242b56","bytes":13117}}
|
||||
{"name":"packages/cli/tests/session-launch.test.mjs","event":"start","at":"2026-10-25T09:05:30.007Z","uptime":"04:05:30 up 11 days, 19:25, 2 users, load average: 8.34, 8.01, 7.91","TMPDIR":"/mnt/storage/scratch/tmp/6gXq9K","nice":19}
|
||||
{"name":"packages/cli/tests/session-launch.test.mjs","event":"end","at":"2026-10-25T09:05:30.007Z","uptime":"04:05:30 up 11 days, 19:25, 2 users, load average: 8.34, 8.01, 7.91","TMPDIR":"/mnt/storage/scratch/tmp/6gXq9K","nice":19,"measuredDriverNice":19,"measuredChildNice":19,"endAt":"2026-10-25T09:05:41.790Z","endUptime":"04:05:41 up 11 days, 19:25, 2 users, load average: 8.35, 8.02, 7.91","rc":0,"signal":null,"timedOut":false,"tests":8,"pass":8,"fail":0,"skipped":0,"cancelled":0,"skippedLines":[],"failedNames":[],"log":{"path":"/mnt/storage/scratch/tmp/b9nV56/009-packages_cli_tests_session-launch.test.mjs.log","sha256":"316453f992a39332fd8b930f8fc488c5af86320e7df24f57cc4891dea2b02843","bytes":4200}}
|
||||
{"event":"complete","at":"2026-10-25T09:05:41.790Z","uptime":"04:05:41 up 11 days, 19:25, 2 users, load average: 8.35, 8.02, 7.91"}
|
||||
@@ -1,9 +0,0 @@
|
||||
packages/bus/tests/model-restart.test.mjs
|
||||
packages/bus/tests/model-retirement-boundary.test.mjs
|
||||
packages/bus/tests/model-keys.test.mjs
|
||||
packages/bus/tests/model-stop.test.mjs
|
||||
packages/bus/tests/model-proxy.test.mjs
|
||||
packages/seat/tests/session.test.mjs
|
||||
packages/seat/tests/sandbox.test.mjs
|
||||
packages/cli/tests/launcher.test.mjs
|
||||
packages/cli/tests/session-launch.test.mjs
|
||||
@@ -1,56 +0,0 @@
|
||||
// sage-4496: exactly nine focused whole files, restart then boundary; no retries.
|
||||
import fs from 'node:fs';
|
||||
import path from 'node:path';
|
||||
import os from 'node:os';
|
||||
import vm from 'node:vm';
|
||||
import { createHash } from 'node:crypto';
|
||||
import { execFileSync, spawn } from 'node:child_process';
|
||||
const root=process.cwd(),home=path.join(root,'agents/magica/work/queue-331');
|
||||
os.setPriority(0,19);
|
||||
const archive=execFileSync('mktemp',['-d','/mnt/storage/scratch/tmp/XXXXXX'],{encoding:'utf8'}).trim();
|
||||
const events=path.join(home,'b1-green-events.jsonl'),receipt=path.join(home,'b1-green-receipts.json');
|
||||
const candidate=execFileSync('git',['rev-parse','HEAD'],{encoding:'utf8'}).trim();
|
||||
fs.writeFileSync(events,'',{flag:'wx'});
|
||||
const rows=[];
|
||||
const uptime=()=>execFileSync('uptime',[],{encoding:'utf8'}).trim();
|
||||
const logEvent=e=>fs.appendFileSync(events,JSON.stringify(e)+'\n');
|
||||
const hash=b=>createHash('sha256').update(b).digest('hex');
|
||||
async function step(name,command,args,timeout=0){
|
||||
const temp=execFileSync('mktemp',['-d','/mnt/storage/scratch/tmp/XXXXXX'],{encoding:'utf8'}).trim();
|
||||
fs.mkdirSync(path.join(temp,'home'));fs.mkdirSync(path.join(temp,'config'));
|
||||
const env={...process.env,TMPDIR:temp,HOME:path.join(temp,'home'),MOSAIC_CONFIG:path.join(temp,'config/config.json')};
|
||||
for(const key of ['OPENAI_API_KEY','ANTHROPIC_API_KEY','ANTHROPIC_AUTH_TOKEN','CLAUDE_CODE_OAUTH_TOKEN','OPENROUTER_API_KEY','ZAI_API_KEY','MOSAIC_BUS_CAP'])delete env[key];
|
||||
os.setPriority(0,19);
|
||||
const before={name,event:'start',at:new Date().toISOString(),uptime:uptime(),TMPDIR:temp,nice:os.getPriority(0)};
|
||||
logEvent(before);
|
||||
const file=path.join(archive,String(rows.length+1).padStart(3,'0')+'-'+name.replaceAll('/','_')+'.log');
|
||||
const fd=fs.openSync(file,'wx',0o600);
|
||||
const measuredDriverNice=os.getPriority(0);fs.writeSync(fd,'driverNice='+measuredDriverNice+'\n');
|
||||
let timer,timedOut=false;
|
||||
const child=spawn(command,args,{cwd:root,env,stdio:['ignore',fd,fd]});
|
||||
let measuredChildNice=null;
|
||||
if(child.pid){os.setPriority(child.pid,19);measuredChildNice=os.getPriority(child.pid);}
|
||||
fs.writeSync(fd,'nice='+String(measuredChildNice)+'\n');fs.closeSync(fd);
|
||||
if(timeout)timer=setTimeout(()=>{timedOut=true;child.kill('SIGTERM');},timeout);
|
||||
const outcome=await new Promise(resolve=>{child.once('error',error=>resolve({rc:1,error:error.code}));child.once('close',(code,signal)=>resolve({rc:code??1,signal}));});
|
||||
clearTimeout(timer);
|
||||
const endLoad=uptime(),bytes=fs.readFileSync(file),text=bytes.toString();
|
||||
const count=key=>Number(new RegExp('^# '+key+' (\\d+)$','m').exec(text)?.[1]??0);
|
||||
const shell=/selftest: (\d+) passed, (\d+) failed/.exec(text);
|
||||
const row={...before,measuredDriverNice,measuredChildNice,event:'end',endAt:new Date().toISOString(),endUptime:endLoad,...outcome,timedOut,
|
||||
tests:shell?Number(shell[1])+Number(shell[2]):count('tests'),pass:shell?Number(shell[1]):count('pass'),fail:shell?Number(shell[2]):count('fail'),skipped:count('skipped'),cancelled:count('cancelled'),
|
||||
skippedLines:text.split('\n').filter(s=>/\bSKIP\b/.test(s)),
|
||||
failedNames:text.split('\n').filter(s=>s.startsWith('not ok ')).map(s=>s.replace(/^not ok \d+ - /,'')),log:{path:file,sha256:hash(bytes),bytes:bytes.length}};
|
||||
rows.push(row);logEvent(row);fs.writeFileSync(receipt,JSON.stringify({clear:process.env.MOSAIC_GATE_CLEAR??'not supplied',candidate,archive,rows},null,2)+'\n');
|
||||
process.stdout.write(`${name} rc=${row.rc} pass=${row.pass} fail=${row.fail} skip=${row.skipped} start=[${row.uptime}] end=[${endLoad}]\n`);
|
||||
return row;
|
||||
}
|
||||
const testArgs=file=>['--test','--test-reporter=tap',path.join(root,file)];
|
||||
try {
|
||||
const list=fs.readFileSync(path.join(home,'b1-green-files.txt'),'utf8').trim().split('\n');
|
||||
if(list.length!==9||list.includes('packages/cli/tests/case1-accept.test.mjs'))throw Error('focused list mismatch');
|
||||
for(const file of list){const row=await step(file,process.execPath,testArgs(file));if(row.rc!==0||row.skipped||row.cancelled)throw Error('unexpected failure/skip/cancel '+file);
|
||||
if(file==='packages/bus/tests/model-restart.test.mjs'&&row.pass!==12)throw Error('restart count mismatch');
|
||||
if(file==='packages/bus/tests/model-retirement-boundary.test.mjs'&&row.pass!==2)throw Error('boundary count mismatch');}
|
||||
logEvent({event:'complete',at:new Date().toISOString(),uptime:uptime()});
|
||||
}catch(error){logEvent({event:'stopped',reason:error.message,at:new Date().toISOString(),uptime:uptime()});process.stdout.write(error.message+'\n');process.exitCode=1;}
|
||||
@@ -1,250 +0,0 @@
|
||||
{
|
||||
"clear": "sage-4496",
|
||||
"candidate": "81cbdea37ff85bf5ca1e99c60f24e33e059eaeec",
|
||||
"archive": "/mnt/storage/scratch/tmp/b9nV56",
|
||||
"rows": [
|
||||
{
|
||||
"name": "packages/bus/tests/model-restart.test.mjs",
|
||||
"event": "end",
|
||||
"at": "2026-10-25T09:04:21.302Z",
|
||||
"uptime": "04:04:21 up 11 days, 19:24, 2 users, load average: 8.32, 7.90, 7.87",
|
||||
"TMPDIR": "/mnt/storage/scratch/tmp/LZK2Wd",
|
||||
"nice": 19,
|
||||
"measuredDriverNice": 19,
|
||||
"measuredChildNice": 19,
|
||||
"endAt": "2026-10-25T09:04:35.476Z",
|
||||
"endUptime": "04:04:35 up 11 days, 19:24, 2 users, load average: 7.37, 7.71, 7.80",
|
||||
"rc": 0,
|
||||
"signal": null,
|
||||
"timedOut": false,
|
||||
"tests": 12,
|
||||
"pass": 12,
|
||||
"fail": 0,
|
||||
"skipped": 0,
|
||||
"cancelled": 0,
|
||||
"skippedLines": [],
|
||||
"failedNames": [],
|
||||
"log": {
|
||||
"path": "/mnt/storage/scratch/tmp/b9nV56/001-packages_bus_tests_model-restart.test.mjs.log",
|
||||
"sha256": "b8c2bd98381ef08b7415e05bf9a7d5f0ba74e506c16b276ee69f16e468bf5085",
|
||||
"bytes": 7246
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "packages/bus/tests/model-retirement-boundary.test.mjs",
|
||||
"event": "end",
|
||||
"at": "2026-10-25T09:04:35.482Z",
|
||||
"uptime": "04:04:35 up 11 days, 19:24, 2 users, load average: 7.37, 7.71, 7.80",
|
||||
"TMPDIR": "/mnt/storage/scratch/tmp/hCv4aC",
|
||||
"nice": 19,
|
||||
"measuredDriverNice": 19,
|
||||
"measuredChildNice": 19,
|
||||
"endAt": "2026-10-25T09:04:35.699Z",
|
||||
"endUptime": "04:04:35 up 11 days, 19:24, 2 users, load average: 7.37, 7.71, 7.80",
|
||||
"rc": 0,
|
||||
"signal": null,
|
||||
"timedOut": false,
|
||||
"tests": 2,
|
||||
"pass": 2,
|
||||
"fail": 0,
|
||||
"skipped": 0,
|
||||
"cancelled": 0,
|
||||
"skippedLines": [],
|
||||
"failedNames": [],
|
||||
"log": {
|
||||
"path": "/mnt/storage/scratch/tmp/b9nV56/002-packages_bus_tests_model-retirement-boundary.test.mjs.log",
|
||||
"sha256": "8dc42b0cb224543f4e34cf61935fc8d993a3596a8789862b23d78d754dd537a7",
|
||||
"bytes": 605
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "packages/bus/tests/model-keys.test.mjs",
|
||||
"event": "end",
|
||||
"at": "2026-10-25T09:04:35.701Z",
|
||||
"uptime": "04:04:35 up 11 days, 19:24, 2 users, load average: 7.37, 7.71, 7.80",
|
||||
"TMPDIR": "/mnt/storage/scratch/tmp/emDMT1",
|
||||
"nice": 19,
|
||||
"measuredDriverNice": 19,
|
||||
"measuredChildNice": 19,
|
||||
"endAt": "2026-10-25T09:04:42.175Z",
|
||||
"endUptime": "04:04:42 up 11 days, 19:24, 2 users, load average: 8.94, 8.03, 7.91",
|
||||
"rc": 0,
|
||||
"signal": null,
|
||||
"timedOut": false,
|
||||
"tests": 30,
|
||||
"pass": 30,
|
||||
"fail": 0,
|
||||
"skipped": 0,
|
||||
"cancelled": 0,
|
||||
"skippedLines": [],
|
||||
"failedNames": [],
|
||||
"log": {
|
||||
"path": "/mnt/storage/scratch/tmp/b9nV56/003-packages_bus_tests_model-keys.test.mjs.log",
|
||||
"sha256": "846bdb94617e97d6cf2ec45b811747b2307819821f11a640deb0307378c9db7d",
|
||||
"bytes": 11077
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "packages/bus/tests/model-stop.test.mjs",
|
||||
"event": "end",
|
||||
"at": "2026-10-25T09:04:42.178Z",
|
||||
"uptime": "04:04:42 up 11 days, 19:24, 2 users, load average: 8.94, 8.03, 7.91",
|
||||
"TMPDIR": "/mnt/storage/scratch/tmp/QtJB4d",
|
||||
"nice": 19,
|
||||
"measuredDriverNice": 19,
|
||||
"measuredChildNice": 19,
|
||||
"endAt": "2026-10-25T09:04:42.389Z",
|
||||
"endUptime": "04:04:42 up 11 days, 19:24, 2 users, load average: 8.94, 8.03, 7.91",
|
||||
"rc": 0,
|
||||
"signal": null,
|
||||
"timedOut": false,
|
||||
"tests": 7,
|
||||
"pass": 7,
|
||||
"fail": 0,
|
||||
"skipped": 0,
|
||||
"cancelled": 0,
|
||||
"skippedLines": [],
|
||||
"failedNames": [],
|
||||
"log": {
|
||||
"path": "/mnt/storage/scratch/tmp/b9nV56/004-packages_bus_tests_model-stop.test.mjs.log",
|
||||
"sha256": "12753141a7da4b750f10ca5f699c739629d6798767665e7e53366bd6120793fc",
|
||||
"bytes": 1469
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "packages/bus/tests/model-proxy.test.mjs",
|
||||
"event": "end",
|
||||
"at": "2026-10-25T09:04:42.392Z",
|
||||
"uptime": "04:04:42 up 11 days, 19:24, 2 users, load average: 8.94, 8.03, 7.91",
|
||||
"TMPDIR": "/mnt/storage/scratch/tmp/dHqTPU",
|
||||
"nice": 19,
|
||||
"measuredDriverNice": 19,
|
||||
"measuredChildNice": 19,
|
||||
"endAt": "2026-10-25T09:04:43.035Z",
|
||||
"endUptime": "04:04:43 up 11 days, 19:24, 2 users, load average: 8.94, 8.03, 7.91",
|
||||
"rc": 0,
|
||||
"signal": null,
|
||||
"timedOut": false,
|
||||
"tests": 14,
|
||||
"pass": 14,
|
||||
"fail": 0,
|
||||
"skipped": 0,
|
||||
"cancelled": 0,
|
||||
"skippedLines": [],
|
||||
"failedNames": [],
|
||||
"log": {
|
||||
"path": "/mnt/storage/scratch/tmp/b9nV56/005-packages_bus_tests_model-proxy.test.mjs.log",
|
||||
"sha256": "6c17b4822719f95348e7e9a48d5555e2f50de760c643d6d113eaf78e81c9a8dd",
|
||||
"bytes": 2831
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "packages/seat/tests/session.test.mjs",
|
||||
"event": "end",
|
||||
"at": "2026-10-25T09:04:43.041Z",
|
||||
"uptime": "04:04:43 up 11 days, 19:24, 2 users, load average: 8.94, 8.03, 7.91",
|
||||
"TMPDIR": "/mnt/storage/scratch/tmp/acFjCh",
|
||||
"nice": 19,
|
||||
"measuredDriverNice": 19,
|
||||
"measuredChildNice": 19,
|
||||
"endAt": "2026-10-25T09:04:43.757Z",
|
||||
"endUptime": "04:04:43 up 11 days, 19:24, 2 users, load average: 8.94, 8.03, 7.91",
|
||||
"rc": 0,
|
||||
"signal": null,
|
||||
"timedOut": false,
|
||||
"tests": 13,
|
||||
"pass": 13,
|
||||
"fail": 0,
|
||||
"skipped": 0,
|
||||
"cancelled": 0,
|
||||
"skippedLines": [],
|
||||
"failedNames": [],
|
||||
"log": {
|
||||
"path": "/mnt/storage/scratch/tmp/b9nV56/006-packages_seat_tests_session.test.mjs.log",
|
||||
"sha256": "842e7a50986171bee77ac8ec36134e1efe94d094ad850cb82f208ef7079e2466",
|
||||
"bytes": 3241
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "packages/seat/tests/sandbox.test.mjs",
|
||||
"event": "end",
|
||||
"at": "2026-10-25T09:04:43.761Z",
|
||||
"uptime": "04:04:43 up 11 days, 19:24, 2 users, load average: 8.94, 8.03, 7.91",
|
||||
"TMPDIR": "/mnt/storage/scratch/tmp/GX6Fva",
|
||||
"nice": 19,
|
||||
"measuredDriverNice": 19,
|
||||
"measuredChildNice": 19,
|
||||
"endAt": "2026-10-25T09:04:52.769Z",
|
||||
"endUptime": "04:04:52 up 11 days, 19:24, 2 users, load average: 8.86, 8.04, 7.91",
|
||||
"rc": 0,
|
||||
"signal": null,
|
||||
"timedOut": false,
|
||||
"tests": 11,
|
||||
"pass": 11,
|
||||
"fail": 0,
|
||||
"skipped": 0,
|
||||
"cancelled": 0,
|
||||
"skippedLines": [],
|
||||
"failedNames": [],
|
||||
"log": {
|
||||
"path": "/mnt/storage/scratch/tmp/b9nV56/007-packages_seat_tests_sandbox.test.mjs.log",
|
||||
"sha256": "9e1f2a9f8a9984821a945097d2deb337ba238c4cf72215456872c79401f7df6b",
|
||||
"bytes": 2956
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "packages/cli/tests/launcher.test.mjs",
|
||||
"event": "end",
|
||||
"at": "2026-10-25T09:04:52.773Z",
|
||||
"uptime": "04:04:52 up 11 days, 19:24, 2 users, load average: 8.86, 8.04, 7.91",
|
||||
"TMPDIR": "/mnt/storage/scratch/tmp/Pdn1Ui",
|
||||
"nice": 19,
|
||||
"measuredDriverNice": 19,
|
||||
"measuredChildNice": 19,
|
||||
"endAt": "2026-10-25T09:05:30.004Z",
|
||||
"endUptime": "04:05:30 up 11 days, 19:25, 2 users, load average: 8.34, 8.01, 7.91",
|
||||
"rc": 0,
|
||||
"signal": null,
|
||||
"timedOut": false,
|
||||
"tests": 34,
|
||||
"pass": 34,
|
||||
"fail": 0,
|
||||
"skipped": 0,
|
||||
"cancelled": 0,
|
||||
"skippedLines": [],
|
||||
"failedNames": [],
|
||||
"log": {
|
||||
"path": "/mnt/storage/scratch/tmp/b9nV56/008-packages_cli_tests_launcher.test.mjs.log",
|
||||
"sha256": "0d7c46557d40ec07d0d5d90532756c06afd725b6bab5724673b1f2abb0242b56",
|
||||
"bytes": 13117
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "packages/cli/tests/session-launch.test.mjs",
|
||||
"event": "end",
|
||||
"at": "2026-10-25T09:05:30.007Z",
|
||||
"uptime": "04:05:30 up 11 days, 19:25, 2 users, load average: 8.34, 8.01, 7.91",
|
||||
"TMPDIR": "/mnt/storage/scratch/tmp/6gXq9K",
|
||||
"nice": 19,
|
||||
"measuredDriverNice": 19,
|
||||
"measuredChildNice": 19,
|
||||
"endAt": "2026-10-25T09:05:41.790Z",
|
||||
"endUptime": "04:05:41 up 11 days, 19:25, 2 users, load average: 8.35, 8.02, 7.91",
|
||||
"rc": 0,
|
||||
"signal": null,
|
||||
"timedOut": false,
|
||||
"tests": 8,
|
||||
"pass": 8,
|
||||
"fail": 0,
|
||||
"skipped": 0,
|
||||
"cancelled": 0,
|
||||
"skippedLines": [],
|
||||
"failedNames": [],
|
||||
"log": {
|
||||
"path": "/mnt/storage/scratch/tmp/b9nV56/009-packages_cli_tests_session-launch.test.mjs.log",
|
||||
"sha256": "316453f992a39332fd8b930f8fc488c5af86320e7df24f57cc4891dea2b02843",
|
||||
"bytes": 4200
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
@@ -1,97 +0,0 @@
|
||||
{
|
||||
"clear": "sage-4496",
|
||||
"codeCommit": "81cbdea37ff85bf5ca1e99c60f24e33e059eaeec",
|
||||
"artifacts": [
|
||||
{
|
||||
"path": "agents/magica/work/queue-331/candidate-b1.json",
|
||||
"sha256": "704a24696cceb29b7a830180a532101dd55b99f9b37d47800645503871f692c8",
|
||||
"bytes": 29712
|
||||
},
|
||||
{
|
||||
"path": "agents/magica/work/queue-331/b1-green-files.txt",
|
||||
"sha256": "9caa5881c637a5e8173a97784f60bb01512a1e552e3f3142d9e2eb609891e9a6",
|
||||
"bytes": 368
|
||||
},
|
||||
{
|
||||
"path": "agents/magica/work/queue-331/b1-green-gate.mjs",
|
||||
"sha256": "d266a31d665ffd17e971ffde6c51a4ab00059393d962b1b757331e7d1cd0262c",
|
||||
"bytes": 4483
|
||||
},
|
||||
{
|
||||
"path": "agents/magica/work/queue-331/b1-green-receipts.json",
|
||||
"sha256": "6c2ff4488e4b00eeecd4168ac12c2ff8b21968546d14e068326dddeffa5ac115",
|
||||
"bytes": 8504
|
||||
},
|
||||
{
|
||||
"path": "agents/magica/work/queue-331/b1-green-events.jsonl",
|
||||
"sha256": "4edc892601845bd12f6477b572a68dcd96e6c7f7fd45ec3bfff819353b81e3d1",
|
||||
"bytes": 8658
|
||||
},
|
||||
{
|
||||
"path": "agents/magica/work/queue-331/b1-green-summary.md",
|
||||
"sha256": "06553891183ce9637a896affb8876aa2718a852e30c8120dc3d5e72df5ea377c",
|
||||
"bytes": 1362
|
||||
},
|
||||
{
|
||||
"path": "agents/magica/work/queue-331/b1-red-result-manifest.json",
|
||||
"sha256": "e69b1ac955dba265160b9f32bf0d981e62db132d9ddd38cb638f85299593b20a",
|
||||
"bytes": 2239
|
||||
},
|
||||
{
|
||||
"path": "agents/magica/work/queue-331/b1-boundary-red-result-manifest.json",
|
||||
"sha256": "8c49df81428ed7271148f5ae6d3c1e913907d374ddbe73d9a11a8f81bd2ed2a9",
|
||||
"bytes": 2140
|
||||
}
|
||||
],
|
||||
"rawLogs": [
|
||||
{
|
||||
"path": "/mnt/storage/scratch/tmp/b9nV56/001-packages_bus_tests_model-restart.test.mjs.log",
|
||||
"sha256": "b8c2bd98381ef08b7415e05bf9a7d5f0ba74e506c16b276ee69f16e468bf5085",
|
||||
"bytes": 7246
|
||||
},
|
||||
{
|
||||
"path": "/mnt/storage/scratch/tmp/b9nV56/002-packages_bus_tests_model-retirement-boundary.test.mjs.log",
|
||||
"sha256": "8dc42b0cb224543f4e34cf61935fc8d993a3596a8789862b23d78d754dd537a7",
|
||||
"bytes": 605
|
||||
},
|
||||
{
|
||||
"path": "/mnt/storage/scratch/tmp/b9nV56/003-packages_bus_tests_model-keys.test.mjs.log",
|
||||
"sha256": "846bdb94617e97d6cf2ec45b811747b2307819821f11a640deb0307378c9db7d",
|
||||
"bytes": 11077
|
||||
},
|
||||
{
|
||||
"path": "/mnt/storage/scratch/tmp/b9nV56/004-packages_bus_tests_model-stop.test.mjs.log",
|
||||
"sha256": "12753141a7da4b750f10ca5f699c739629d6798767665e7e53366bd6120793fc",
|
||||
"bytes": 1469
|
||||
},
|
||||
{
|
||||
"path": "/mnt/storage/scratch/tmp/b9nV56/005-packages_bus_tests_model-proxy.test.mjs.log",
|
||||
"sha256": "6c17b4822719f95348e7e9a48d5555e2f50de760c643d6d113eaf78e81c9a8dd",
|
||||
"bytes": 2831
|
||||
},
|
||||
{
|
||||
"path": "/mnt/storage/scratch/tmp/b9nV56/006-packages_seat_tests_session.test.mjs.log",
|
||||
"sha256": "842e7a50986171bee77ac8ec36134e1efe94d094ad850cb82f208ef7079e2466",
|
||||
"bytes": 3241
|
||||
},
|
||||
{
|
||||
"path": "/mnt/storage/scratch/tmp/b9nV56/007-packages_seat_tests_sandbox.test.mjs.log",
|
||||
"sha256": "9e1f2a9f8a9984821a945097d2deb337ba238c4cf72215456872c79401f7df6b",
|
||||
"bytes": 2956
|
||||
},
|
||||
{
|
||||
"path": "/mnt/storage/scratch/tmp/b9nV56/008-packages_cli_tests_launcher.test.mjs.log",
|
||||
"sha256": "0d7c46557d40ec07d0d5d90532756c06afd725b6bab5724673b1f2abb0242b56",
|
||||
"bytes": 13117
|
||||
},
|
||||
{
|
||||
"path": "/mnt/storage/scratch/tmp/b9nV56/009-packages_cli_tests_session-launch.test.mjs.log",
|
||||
"sha256": "316453f992a39332fd8b930f8fc488c5af86320e7df24f57cc4891dea2b02843",
|
||||
"bytes": 4200
|
||||
},
|
||||
{
|
||||
"path": "/mnt/storage/scratch/tmp/b9nV56/b1-green-driver.log",
|
||||
"sha256": "da58b0755bf86929fb8ea7e2bbb26235f3ebab131fff2dbd6b3e58281b1184d0"
|
||||
}
|
||||
]
|
||||
}
|
||||
@@ -1,17 +0,0 @@
|
||||
B1 focused GREEN sage-4496, repaired code/tested checkout81cbdea37.
|
||||
Exactly9 whole files rc0: restart12, boundary2, model-keys30, model-stop7,
|
||||
model-proxy14, seat session13, sandbox11, CLI launcher34, session-launch8.
|
||||
131tests/131pass/0fail/0skip/cancel; no timeouts/harness/cleanup errors.
|
||||
Real confined startup/session/sandbox controls available and passed without skips.
|
||||
New sleep stand-ins prove real identity/discovery and unauthorized-stop refusal,
|
||||
NOT successful real-runner SIGTERM. Both new fixture roots removed by cleanup.
|
||||
Measured child/driver19 all9 starts; load8.32/7.90/7.87 ->8.35/8.02/7.91.
|
||||
SLOT BACK0055. No retries or test/expectation/deadline/threshold modifications.
|
||||
Product changes runtime only plus exact approved private ModelKeys confirm delta;
|
||||
old tests/validation/mounts/writer/public contracts unchanged. No remote rollback
|
||||
claim for late failure. Beforegrace/unboundlive/uncertain discovery remains held;
|
||||
current-runtime bind+existing identity stop checks required before any stop.
|
||||
Original12caseRED41e909bcc and boundaryREDc90dcc4b1 remain separate provenance.
|
||||
Content candidate-b1 anchors81cbdea37,111paths,704a24696cceb29b7a830180a532101dd55b99f9b37d47800645503871f692c8.
|
||||
New full graph/list packet is preparation only and requires separate CLEAR.
|
||||
Fresh full P2 and Claude Q246 review/global/FEDR7/288/landing remain outstanding.
|
||||
@@ -1,70 +0,0 @@
|
||||
// Read-only import manifest; parse static requests with Node's module parser.
|
||||
// Literal dynamic imports are tokenized outside comments/strings/regex/template text.
|
||||
import fs from 'node:fs';
|
||||
import path from 'node:path';
|
||||
import vm from 'node:vm';
|
||||
import { execFileSync } from 'node:child_process';
|
||||
const root = process.cwd();
|
||||
const files = dir => fs.readdirSync(dir, { withFileTypes: true }).flatMap(e => e.isDirectory() && !['node_modules', '.git', 'dist', 'build'].includes(e.name)
|
||||
? files(path.join(dir, e.name)) : e.isFile() && e.name.endsWith('.mjs') ? [path.join(dir, e.name)] : []);
|
||||
const changed = [...new Set(execFileSync('git', ['diff', '--name-only', '78b69e1e6', '81cbdea37'], { encoding: 'utf8' }).trim().split('\n'))];
|
||||
const sources = new Set(changed.filter(p => /^(packages\/[^/]+\/src\/|scripts\/).*\.mjs$/.test(p)));
|
||||
function dynamicImports(source) {
|
||||
const tokens = []; let i = 0, previous = '';
|
||||
while (i < source.length) {
|
||||
const c = source[i];
|
||||
if (/\s/.test(c)) { i++; continue; }
|
||||
if (source.startsWith('//', i)) { i = source.indexOf('\n', i); if (i < 0) break; continue; }
|
||||
if (source.startsWith('/*', i)) { const end = source.indexOf('*/', i + 2); i = end < 0 ? source.length : end + 2; continue; }
|
||||
if (c === '"' || c === "'" || c === '`') {
|
||||
const quote = c; let text = '', literal = true; i++;
|
||||
while (i < source.length && source[i] !== quote) {
|
||||
if (source[i] === '\\') { text += source[i++] + (source[i++] ?? ''); continue; }
|
||||
if (quote === '`' && source.startsWith('${', i)) literal = false;
|
||||
text += source[i++];
|
||||
}
|
||||
i++; tokens.push({ kind: literal ? 'string' : 'template', value: text }); previous = 'value'; continue;
|
||||
}
|
||||
if (c === '/' && !/^(value|\)|\])$/.test(previous)) {
|
||||
i++; let inClass = false;
|
||||
while (i < source.length) { if (source[i] === '\\') { i += 2; continue; } if (source[i] === '[') inClass = true; if (source[i] === ']') inClass = false; if (source[i++] === '/' && !inClass) break; }
|
||||
while (/[A-Za-z]/.test(source[i] ?? '')) i++;
|
||||
tokens.push({ kind: 'regex' }); previous = 'value'; continue;
|
||||
}
|
||||
if (/[A-Za-z_$]/.test(c)) {
|
||||
const start = i++; while (/[A-Za-z0-9_$]/.test(source[i] ?? '')) i++;
|
||||
const value = source.slice(start, i); tokens.push({ kind: 'id', value }); previous = ['return', 'throw', 'case', 'typeof', 'void', 'new', 'yield', 'await'].includes(value) ? value : 'value'; continue;
|
||||
}
|
||||
tokens.push({ kind: 'punct', value: c }); previous = c; i++;
|
||||
}
|
||||
const imports = [];
|
||||
for (let n = 0; n < tokens.length - 3; n++) if (tokens[n].kind === 'id' && tokens[n].value === 'import'
|
||||
&& tokens[n + 1].value === '(' && tokens[n + 2].kind === 'string' && [')', ','].includes(tokens[n + 3].value)) imports.push(tokens[n + 2].value);
|
||||
return imports;
|
||||
}
|
||||
const graph = new Map(), parseFailures = [];
|
||||
function imports(file) {
|
||||
if (graph.has(file)) return graph.get(file);
|
||||
if (!fs.existsSync(file)) return [];
|
||||
const source = fs.readFileSync(file, 'utf8'); let requests;
|
||||
try { requests = new vm.SourceTextModule(source).dependencySpecifiers; }
|
||||
catch { parseFailures.push(path.relative(root, file)); return []; }
|
||||
const dependencies = [...new Set([...requests, ...dynamicImports(source)])].filter(s => s.startsWith('.')).map(s => path.resolve(path.dirname(file), s));
|
||||
graph.set(file, dependencies); return dependencies;
|
||||
}
|
||||
const tests = files(path.join(root, 'packages')).filter(p => p.endsWith('.test.mjs'));
|
||||
function reaches(file, seen = new Set()) {
|
||||
if (seen.has(file)) return false; seen.add(file);
|
||||
if (sources.has(path.relative(root, file))) return true;
|
||||
return imports(file).some(dependency => reaches(dependency, seen));
|
||||
}
|
||||
const excluded = 'packages/cli/tests/case1-accept.test.mjs';
|
||||
const selected = tests.filter(file => {
|
||||
const relative = path.relative(root, file);
|
||||
return relative !== excluded && !relative.startsWith('packages/queue/') && (changed.includes(relative) || reaches(file));
|
||||
}).map(p => path.relative(root, p)).sort();
|
||||
const home = 'agents/magica/work/queue-331/';
|
||||
fs.writeFileSync(home + 'b1-dependency-files.txt', selected.join('\n') + '\n');
|
||||
fs.writeFileSync(home + 'b1-import-manifest.json', JSON.stringify({ baseCommit: '78b69e1e6', sourceCommit: '81cbdea37ff85bf5ca1e99c60f24e33e059eaeec', method: 'vm.SourceTextModule dependencySpecifiers plus existing literal dynamic-import tokenizer; repository source read only, no source execution', sources: [...sources].sort(), tests: selected, excluded, parseFailures,
|
||||
edges: Object.fromEntries([...graph].map(([file, deps]) => [path.relative(root, file), deps.map(p => path.relative(root, p))])) }, null, 2) + '\n');
|
||||
process.stdout.write(JSON.stringify({ tests: selected.length, sources: sources.size, excluded, parseFailures }) + '\n');
|
||||
File diff suppressed because it is too large.
Load diff
@@ -1,26 +0,0 @@
|
||||
--- a/packages/bus/src/model-keys.mjs
|
||||
+++ b/packages/bus/src/model-keys.mjs
|
||||
@@ -59,8 +59,9 @@
|
||||
}
|
||||
}
|
||||
}
|
||||
- async #removeKeys(keys) {
|
||||
+ async #removeKeys(keys, confirm = () => {}) {
|
||||
const before = await this.#client.getKeys();
|
||||
+ confirm();
|
||||
await this.#replace(before, before.filter(k => !keys.includes(k)));
|
||||
await this.#pollRevoked(keys);
|
||||
}
|
||||
@@ -167,7 +168,11 @@
|
||||
try { await this.#stopRuns(runs); } catch { fail('proxy-stop-failed'); }
|
||||
}
|
||||
if (this.#runs(instance).some(r => r.keyId === old.keyId)) fail('proxy-stop-failed');
|
||||
- await this.#removeKeys([old.key]);
|
||||
+ const confirm = () => {
|
||||
+ if (this.#runs(instance).some(r => r.keyId === old.keyId)) fail('proxy-stop-failed');
|
||||
+ };
|
||||
+ await this.#removeKeys([old.key], confirm);
|
||||
+ confirm();
|
||||
const current = this.#record(instance);
|
||||
this.#credentials.writeModel(instance, { ...current, retiring: current.retiring.filter(r => r.keyId !== old.keyId) });
|
||||
this.#receipt({ action: 'proxy.key.retired', keyIds: [old.keyId] });
|
||||
@@ -1,26 +0,0 @@
|
||||
# B1 preparation r2 amendment — sage-4489
|
||||
|
||||
Supersedes only the fixture setup/observation description in b1-proposal.md.
|
||||
7c563ece9 and original manifest b205b127 remain preparation provenance, never RED.
|
||||
Product code still4948ece0e. No Node/test/proxy/sandbox process launched.
|
||||
|
||||
New test-only fixes: PUT response now exact JSON {status:'ok'} as ManagementClient
|
||||
requires. Guarded t.after registered immediately after root allocation, before
|
||||
server/credentials/child/runtime/launcher acquisition. All acquired resources are
|
||||
closed even if another close throws; prototype restored and scratch root removed.
|
||||
The cleanup exit uses only the recorded ChildProcess handle, not any registry PID.
|
||||
|
||||
ModelKeys.prototype.sweep wrapper calls and AWAITS the saved ORIGINAL method;
|
||||
completion increments in finally after original success/refusal. It changes neither
|
||||
runtime timer nor sweep/HTTP/filesystem work and is restored after each test.
|
||||
Per-phase observation waits for a NEW completion using5s budget and20ms polling,
|
||||
the established pattern in packages/bus/tests/host-run.test.mjs:47-54. Removed
|
||||
1250ms sleep. Live-to-exit observes two distinct completions. Original remote key,
|
||||
local retiring record, no removal, process/no-launch assertions unchanged.
|
||||
|
||||
Exact RED list remains ONE whole packages/bus/tests/model-restart.test.mjs.
|
||||
No automatic fix/run after it. Expected failure map in b1-expected-red-r2.json is
|
||||
expectation only; no observed RED/GREEN. No product-only seam, production interval
|
||||
change, old assertion/deadline change, or scope expansion. Production proposal and
|
||||
later7-file focus remain as prepared; implementation still requires intendedRED
|
||||
and owner ruling. Waiting CLEAR after this corrected preparation inspection.
|
||||
@@ -1,54 +0,0 @@
|
||||
{
|
||||
"status": "static only; no RED observed, product unchanged, awaits CLEAR",
|
||||
"productCommit": "4948ece0e5c760943128ece963a30ab20c23c615",
|
||||
"testCommit": "c77a5444c",
|
||||
"artifacts": [
|
||||
{
|
||||
"path": "packages/bus/tests/model-restart.test.mjs",
|
||||
"sha256": "15a93a5e7362812c82bd4035d4da226bbd220c684f9862b775adae45b020da70",
|
||||
"bytes": 9557
|
||||
},
|
||||
{
|
||||
"path": "agents/magica/work/queue-331/b1-proposal.md",
|
||||
"sha256": "0b98c9d87bccf70d73f46a790aeb888ef9966591d6b9543829e47d27c739d79b",
|
||||
"bytes": 7228
|
||||
},
|
||||
{
|
||||
"path": "agents/magica/work/queue-331/b1-red-files.txt",
|
||||
"sha256": "4f0881da05f0d61a4dda4c7d14ad13608caad8f8325c03c758ce614560823c37",
|
||||
"bytes": 42
|
||||
},
|
||||
{
|
||||
"path": "agents/magica/work/queue-331/b1-proposed-focused-files.txt",
|
||||
"sha256": "1f6fc01f5cb411107cf1940af6b696018fc119db3261eeadb6b190f81d884522",
|
||||
"bytes": 274
|
||||
},
|
||||
{
|
||||
"path": "agents/magica/work/queue-331/b1-static-dependencies.json",
|
||||
"sha256": "860c6a13c6f4c878f8216b6695d6c9ec792eaf3b69c0cd92d55395390a674f3c",
|
||||
"bytes": 1658
|
||||
}
|
||||
],
|
||||
"unchangedProduct": [
|
||||
{
|
||||
"path": "packages/bus/src/runtime.mjs",
|
||||
"sha256": "50f279fa4b4ffbe58faedcad3035e7e0dda905ea4046a92a2c1c96417597712b"
|
||||
},
|
||||
{
|
||||
"path": "packages/bus/src/model-keys.mjs",
|
||||
"sha256": "ad5b37f3078f60299f1f629f4da1a75e934f90bc352e4be56e31cd4c2a1d8c65"
|
||||
},
|
||||
{
|
||||
"path": "packages/cli/src/launcher.mjs",
|
||||
"sha256": "0272cc7c8e2ccbca9d92e4d3a34293cedc8a9bb1ec45fed88917050bd9bdede7"
|
||||
},
|
||||
{
|
||||
"path": "packages/seat/src/session.mjs",
|
||||
"sha256": "c37a6ef6f6d2b4e61443e77d800656bf31e38913bf7dbdc4ca955f4a83b13a41"
|
||||
},
|
||||
{
|
||||
"path": "packages/seat/src/proc.mjs",
|
||||
"sha256": "382cbf7e0ff336911e288ce858bdbfbec693bc2b69879720d1f0b4c7d8455198"
|
||||
}
|
||||
]
|
||||
}
|
||||
@@ -1,69 +0,0 @@
|
||||
{
|
||||
"status": "corrected static preparation only; no intendedRED observed",
|
||||
"priorPreparation": "7c563ece9",
|
||||
"productCommit": "4948ece0e5c760943128ece963a30ab20c23c615",
|
||||
"artifacts": [
|
||||
{
|
||||
"path": "packages/bus/tests/model-restart.test.mjs",
|
||||
"sha256": "daf5997cdb367388c1b79ff9392c33ce203d16bec2dc5b351dcb18497fdeb656",
|
||||
"bytes": 10810
|
||||
},
|
||||
{
|
||||
"path": "agents/magica/work/queue-331/b1-proposal.md",
|
||||
"sha256": "0b98c9d87bccf70d73f46a790aeb888ef9966591d6b9543829e47d27c739d79b",
|
||||
"bytes": 7228
|
||||
},
|
||||
{
|
||||
"path": "agents/magica/work/queue-331/b1-preparation-r2.md",
|
||||
"sha256": "e0ca08a1226b5167d7159c2fa8c03641f620c6e42443fc1219eef171d18936e1",
|
||||
"bytes": 1730
|
||||
},
|
||||
{
|
||||
"path": "agents/magica/work/queue-331/b1-expected-red-r2.json",
|
||||
"sha256": "3fffa7848a8dcbd100df3c1808cab8f39c697b14d75a84f75e29ed24acc47dd5",
|
||||
"bytes": 3133
|
||||
},
|
||||
{
|
||||
"path": "agents/magica/work/queue-331/b1-red-files.txt",
|
||||
"sha256": "4f0881da05f0d61a4dda4c7d14ad13608caad8f8325c03c758ce614560823c37",
|
||||
"bytes": 42
|
||||
},
|
||||
{
|
||||
"path": "agents/magica/work/queue-331/b1-proposed-focused-files.txt",
|
||||
"sha256": "1f6fc01f5cb411107cf1940af6b696018fc119db3261eeadb6b190f81d884522",
|
||||
"bytes": 274
|
||||
},
|
||||
{
|
||||
"path": "agents/magica/work/queue-331/b1-static-dependencies.json",
|
||||
"sha256": "860c6a13c6f4c878f8216b6695d6c9ec792eaf3b69c0cd92d55395390a674f3c",
|
||||
"bytes": 1658
|
||||
},
|
||||
{
|
||||
"path": "agents/magica/work/queue-331/b1-prepared-manifest.json",
|
||||
"sha256": "b205b12705ff678b2b9854486672d12e39c132dad4e764b6385b679beb36aea6",
|
||||
"bytes": 1849
|
||||
}
|
||||
],
|
||||
"unchangedProduct": [
|
||||
{
|
||||
"path": "packages/bus/src/runtime.mjs",
|
||||
"sha256": "50f279fa4b4ffbe58faedcad3035e7e0dda905ea4046a92a2c1c96417597712b"
|
||||
},
|
||||
{
|
||||
"path": "packages/bus/src/model-keys.mjs",
|
||||
"sha256": "ad5b37f3078f60299f1f629f4da1a75e934f90bc352e4be56e31cd4c2a1d8c65"
|
||||
},
|
||||
{
|
||||
"path": "packages/cli/src/launcher.mjs",
|
||||
"sha256": "0272cc7c8e2ccbca9d92e4d3a34293cedc8a9bb1ec45fed88917050bd9bdede7"
|
||||
},
|
||||
{
|
||||
"path": "packages/seat/src/session.mjs",
|
||||
"sha256": "c37a6ef6f6d2b4e61443e77d800656bf31e38913bf7dbdc4ca955f4a83b13a41"
|
||||
},
|
||||
{
|
||||
"path": "packages/seat/src/proc.mjs",
|
||||
"sha256": "382cbf7e0ff336911e288ce858bdbfbec693bc2b69879720d1f0b4c7d8455198"
|
||||
}
|
||||
]
|
||||
}
|
||||
@@ -1,101 +0,0 @@
|
||||
# B1 / 647: prepared test-first repair proposal (sage-4483/4488)
|
||||
|
||||
Product code remains byte-for-byte reviewed r5 code4948ece0e. New test-only commit
|
||||
c77a5444c contains12 real-runtime restart cases, not executed. Existing assertions,
|
||||
fixtures and deadlines remain unchanged. Issue1829 comment31701 is authoritative
|
||||
Boyd CHANGES; recorded by Boyd rev4123/round1/candidate d62c69c86. No new queue write.
|
||||
|
||||
## Intended RED first
|
||||
|
||||
Run exactly packages/bus/tests/model-restart.test.mjs whole against current old
|
||||
product, serial nice19 with measured driver/child starts and load/uptime, separate
|
||||
mktemp TMPDIR under /mnt/storage/scratch/tmp, HOME/config there. Same node --test
|
||||
--test-reporter=tap and absolute path; no added test timeout or shorter sweep.
|
||||
Current authorization is preparation only; wait CLEAR. Stop after this whole file,
|
||||
report each failure; no automatic production fix or rerun. Ten cases are expected
|
||||
RED on old code, two controls expected GREEN. This is an expectation, not evidence.
|
||||
|
||||
Fixture uses real startBroker, original1s sweep timer, actual private Credentials
|
||||
metadata and v8-management/models fake loopback server. It seeds/rotates through
|
||||
ModelKeys, closes its credential handle, persists sessionsVersion2 to scratch
|
||||
configured dataRoot, then boots a new runtime with NO launch records. Live identity
|
||||
comes from a scratch-owned sleep process and actual /proc start ticks, deliberately
|
||||
not a real session runner; existing stopSession must refuse to signal that stand-in.
|
||||
No keys printed/asserted as whole records, fake management credential11chars.
|
||||
Actual --no-launch createLauncher.listen uses own scratch config; verifies no bind,
|
||||
no end, unchanged sessions bytes and process survival. Normal recovery gap uses
|
||||
actual Registry constructor that clears sessions before rebinding. New tests wait
|
||||
1250ms to observe unchanged1000ms timer, not a product timer seam/deadline change.
|
||||
|
||||
Cases: live before grace; --no-launch live after grace; normal recovery cleared
|
||||
registry; malformed initial registry; missing initial registry; disagreeing outer
|
||||
start ticks, runner start ticks, keyId; registry unreadable after boot; bound but
|
||||
non-runner stop refusal; exited-and-reaped persisted process control; transition
|
||||
from retained live boot inventory to confirmed exited process. Ten retention cases
|
||||
old code mishandles; bound stop refusal and already-exited control should pass.
|
||||
No claim this stand-in proves successful real-runner SIGTERM or full confinement;
|
||||
existing model-stop/session/sandbox controls remain required in later verification.
|
||||
|
||||
## Proposed smallest production diff, AFTER intended RED and owner ruling
|
||||
|
||||
Prefer runtime.mjs only (plus host-only existing proc helpers if strictly needed),
|
||||
no change to organization writer, validation, sandbox mounts, CLI no-launch code,
|
||||
private model file schema, public verbs or IPC boot schema. Existing proxy-stop-failed
|
||||
is reused for uncertain discovery/identity or unauthorized stop; no new refusal.
|
||||
|
||||
1. Capture and validate readSessions(configured dataRoot) before installing model
|
||||
manager/timer, independently of bindLaunch. Keep a private per-run boot inventory
|
||||
for this runtime; never treat its uninitialized state or an empty modelRuns as
|
||||
evidence of no sessions. Missing/unreadable/malformed discovery keeps a hold
|
||||
(proxy-stop-failed), not a synthesized empty view. No new persistent store.
|
||||
2. Each retirement view rereads the same registry and merges boot inventory plus
|
||||
bound modelRuns, matching business/role/run/modelKeyId and outer/runner pid+start
|
||||
ticks. Retain known identities when launcher Registry temporarily writes [] or
|
||||
removes an entry; drop only on independently confirmed process exit. A missing
|
||||
keyId on a live prior session, contradictory entry, bad shape, PID reuse or
|
||||
read failure holds retirement for the affected agent (or all if unattributable).
|
||||
3. Verify process identity with existing start-time/cmdline checks. readSessions
|
||||
currently maps any proc-read error to live:false via startTimeOf; do NOT treat
|
||||
false alone as confirmed exit. Use a host-only strict /proc read/check that
|
||||
distinguishes process absent/reaped from permission/error/identity disagreement.
|
||||
Null/unknown/error is held; only unambiguous absence/zombie for known recorded
|
||||
identities confirms exit. A live conflicting PID/start identity is held. Recheck
|
||||
before retirement and after bounded stop; old key/local retiring metadata stay
|
||||
on any failure. No arbitrary process command is signalled on identity mismatch.
|
||||
4. The existing runs callback returns the merged checked live view; it throws
|
||||
proxy-stop-failed if discovery is uncertain. Current ModelKeys sweep then retains
|
||||
before grace and only removes when the view positively has no old-key process.
|
||||
No ModelKeys controller behavior change is expected unless implementation shows
|
||||
existing callback needs a small internal adjustment (report before widening).
|
||||
5. A discovered-only prior session is NOT stop authority. Before stopModelRuns,
|
||||
require an identical run already bound through this runtime's trusted bindLaunch
|
||||
plus the existing registry/agent/key/process checks. --no-launch never binds
|
||||
prior sessions, therefore cannot gain signal/end authority; overdue live prior
|
||||
sessions remain retained with proxy-stop-failed until confirmed exit. Normal
|
||||
recovery can execute its existing separately-authorized policy without rotation
|
||||
pretending absent inventory; map deletion/endLaunch alone never proves exit.
|
||||
6. Keep boot inventory until exit is confirmed even if the registry is overwritten
|
||||
or a map entry deleted. Read/discovery failure holds even if cache looks empty;
|
||||
no cache fallback that turns uncertainty into permission. Keep value-free receipt
|
||||
logging and existing bounded stop constant5000ms. No extra session/end reason or
|
||||
role/config/mount/secret access. No timer threshold adjustment.
|
||||
|
||||
This conservative rule can retain keys longer when registry/proc discovery is
|
||||
uncertain; that is intentional fail-closed behavior. It preserves no-launch by
|
||||
refusing autonomous stops of unbound prior sessions instead of adding a new flag.
|
||||
If existing start-time APIs cannot distinguish uncertainty without an internal
|
||||
strict helper, use that helper only in host runtime; no public contract change.
|
||||
If implementing requires public schema/refusal/stop-authority change, stop for
|
||||
exact owner ruling before code. No such expansion is proposed here.
|
||||
|
||||
## Focused dependency proposal after repair (not authorized to run)
|
||||
|
||||
model-restart -> runtime -> ModelKeys/Credentials/readSessions/stopSession/proc;
|
||||
model-restart -> createLauncher -> Registry/proc; runtime and launcher share the
|
||||
configured scratch registry. Focused whole files proposed: new model-restart,
|
||||
existing model-keys, model-stop, seat session, seat sandbox, CLI launcher,
|
||||
CLI session-launch. Full dependency graph/list must be refreshed for repaired
|
||||
candidate before full verification. No new tests run automatically after RED.
|
||||
Every repaired candidate needs fresh full P2 review round with B1 and responses;
|
||||
prior builder green applies old code only; narrow r5 Q246 closure approval remains
|
||||
scoped. Global gates, FED R7 acceptance and row288 are still outstanding.
|
||||
@@ -1,7 +0,0 @@
|
||||
packages/bus/tests/model-restart.test.mjs
|
||||
packages/bus/tests/model-keys.test.mjs
|
||||
packages/bus/tests/model-stop.test.mjs
|
||||
packages/seat/tests/session.test.mjs
|
||||
packages/seat/tests/sandbox.test.mjs
|
||||
packages/cli/tests/launcher.test.mjs
|
||||
packages/cli/tests/session-launch.test.mjs
|
||||
@@ -1,86 +0,0 @@
|
||||
{
|
||||
"clear": "sage-4490",
|
||||
"candidate": "ca0e83337b7eb49cd825d3001e66728cb2764348",
|
||||
"results": [
|
||||
{
|
||||
"name": "B1 restart before grace discovers persisted old-key run without bindLaunch",
|
||||
"outcome": "RED",
|
||||
"assertion": "old key stays remotely installed",
|
||||
"matchesExpected": true
|
||||
},
|
||||
{
|
||||
"name": "B1 no-launch restart past grace neither signals nor ends a prior session",
|
||||
"outcome": "RED",
|
||||
"assertion": "old key stays remotely installed",
|
||||
"matchesExpected": true
|
||||
},
|
||||
{
|
||||
"name": "B1 normal recovery gap retains boot inventory when Registry clears before rebinding",
|
||||
"outcome": "RED",
|
||||
"assertion": "old key stays remotely installed",
|
||||
"matchesExpected": true
|
||||
},
|
||||
{
|
||||
"name": "B1 malformed persisted discovery never authorizes retirement",
|
||||
"outcome": "RED",
|
||||
"assertion": "old key stays remotely installed",
|
||||
"matchesExpected": true
|
||||
},
|
||||
{
|
||||
"name": "B1 missing persisted discovery never authorizes retirement",
|
||||
"outcome": "RED",
|
||||
"assertion": "old key stays remotely installed",
|
||||
"matchesExpected": true
|
||||
},
|
||||
{
|
||||
"name": "B1 persisted identity disagreement in startTime retains key and record",
|
||||
"outcome": "RED",
|
||||
"assertion": "old key stays remotely installed",
|
||||
"matchesExpected": true
|
||||
},
|
||||
{
|
||||
"name": "B1 persisted identity disagreement in runnerStartTime retains key and record",
|
||||
"outcome": "RED",
|
||||
"assertion": "old key stays remotely installed",
|
||||
"matchesExpected": true
|
||||
},
|
||||
{
|
||||
"name": "B1 persisted identity disagreement in modelKeyId retains key and record",
|
||||
"outcome": "RED",
|
||||
"assertion": "old key stays remotely installed",
|
||||
"matchesExpected": true
|
||||
},
|
||||
{
|
||||
"name": "B1 discovery failure after boot retains the cached live old-key inventory",
|
||||
"outcome": "RED",
|
||||
"assertion": "old key stays remotely installed",
|
||||
"matchesExpected": true
|
||||
},
|
||||
{
|
||||
"name": "B1 bound run with unauthorized runner stop retains key and retiring record",
|
||||
"outcome": "GREEN",
|
||||
"assertion": null,
|
||||
"matchesExpected": true
|
||||
},
|
||||
{
|
||||
"name": "B1 confirmed persisted runner exit permits old-key retirement after grace",
|
||||
"outcome": "GREEN",
|
||||
"assertion": null,
|
||||
"matchesExpected": true
|
||||
},
|
||||
{
|
||||
"name": "B1 an observed persisted exit after restart permits retirement, never an empty registry alone",
|
||||
"outcome": "RED",
|
||||
"assertion": "old key stays remotely installed",
|
||||
"matchesExpected": true
|
||||
}
|
||||
],
|
||||
"unexpectedFixtureOrControlFailure": false,
|
||||
"harnessErrors": false,
|
||||
"cleanup": {
|
||||
"testProcessExited": true,
|
||||
"cleanupHookErrors": false,
|
||||
"remainingFixtureRoots": 0
|
||||
},
|
||||
"beforeAfterProductEqual": true
|
||||
}
|
||||
@@ -1,3 +0,0 @@
|
||||
{"name":"packages/bus/tests/model-restart.test.mjs","event":"start","at":"2026-10-25T08:46:14.283Z","uptime":"03:46:14 up 11 days, 19:06, 2 users, load average: 8.00, 7.57, 8.12","TMPDIR":"/mnt/storage/scratch/tmp/BKdLD3","nice":19}
|
||||
{"name":"packages/bus/tests/model-restart.test.mjs","event":"end","at":"2026-10-25T08:46:14.283Z","uptime":"03:46:14 up 11 days, 19:06, 2 users, load average: 8.00, 7.57, 8.12","TMPDIR":"/mnt/storage/scratch/tmp/BKdLD3","nice":19,"measuredDriverNice":19,"measuredChildNice":19,"endAt":"2026-10-25T08:46:27.535Z","endUptime":"03:46:27 up 11 days, 19:06, 2 users, load average: 7.53, 7.48, 8.08","rc":1,"signal":null,"timedOut":false,"tests":12,"pass":2,"fail":10,"skipped":0,"cancelled":0,"skippedLines":[],"failedNames":["B1 restart before grace discovers persisted old-key run without bindLaunch","B1 no-launch restart past grace neither signals nor ends a prior session","B1 normal recovery gap retains boot inventory when Registry clears before rebinding","B1 malformed persisted discovery never authorizes retirement","B1 missing persisted discovery never authorizes retirement","B1 persisted identity disagreement in startTime retains key and record","B1 persisted identity disagreement in runnerStartTime retains key and record","B1 persisted identity disagreement in modelKeyId retains key and record","B1 discovery failure after boot retains the cached live old-key inventory","B1 an observed persisted exit after restart permits retirement, never an empty registry alone"],"log":{"path":"/mnt/storage/scratch/tmp/f1bW1b/001-packages_bus_tests_model-restart.test.mjs.log","sha256":"13f41a18ba8fd6e66ddf49904478589ef657ab5da78dd4e7d5d3f2cfb6e08e30","bytes":19069}}
|
||||
{"event":"stopped","reason":"RED packages/bus/tests/model-restart.test.mjs","at":"2026-10-25T08:46:27.537Z","uptime":"03:46:27 up 11 days, 19:06, 2 users, load average: 7.53, 7.48, 8.08"}
|
||||
@@ -1 +0,0 @@
|
||||
packages/bus/tests/model-restart.test.mjs
|
||||
@@ -1,54 +0,0 @@
|
||||
// sage-4490: exactly one pre-fix whole file, expected B1 RED; no retry or mutation.
|
||||
import fs from 'node:fs';
|
||||
import path from 'node:path';
|
||||
import os from 'node:os';
|
||||
import vm from 'node:vm';
|
||||
import { createHash } from 'node:crypto';
|
||||
import { execFileSync, spawn } from 'node:child_process';
|
||||
const root=process.cwd(),home=path.join(root,'agents/magica/work/queue-331');
|
||||
os.setPriority(0,19);
|
||||
const archive=execFileSync('mktemp',['-d','/mnt/storage/scratch/tmp/XXXXXX'],{encoding:'utf8'}).trim();
|
||||
const events=path.join(home,'b1-red-events.jsonl'),receipt=path.join(home,'b1-red-receipts.json');
|
||||
const candidate=execFileSync('git',['rev-parse','HEAD'],{encoding:'utf8'}).trim();
|
||||
fs.writeFileSync(events,'',{flag:'wx'});
|
||||
const rows=[];
|
||||
const uptime=()=>execFileSync('uptime',[],{encoding:'utf8'}).trim();
|
||||
const logEvent=e=>fs.appendFileSync(events,JSON.stringify(e)+'\n');
|
||||
const hash=b=>createHash('sha256').update(b).digest('hex');
|
||||
async function step(name,command,args,timeout=0){
|
||||
const temp=execFileSync('mktemp',['-d','/mnt/storage/scratch/tmp/XXXXXX'],{encoding:'utf8'}).trim();
|
||||
fs.mkdirSync(path.join(temp,'home'));fs.mkdirSync(path.join(temp,'config'));
|
||||
const env={...process.env,TMPDIR:temp,HOME:path.join(temp,'home'),MOSAIC_CONFIG:path.join(temp,'config/config.json')};
|
||||
for(const key of ['OPENAI_API_KEY','ANTHROPIC_API_KEY','ANTHROPIC_AUTH_TOKEN','CLAUDE_CODE_OAUTH_TOKEN','OPENROUTER_API_KEY','ZAI_API_KEY','MOSAIC_BUS_CAP'])delete env[key];
|
||||
os.setPriority(0,19);
|
||||
const before={name,event:'start',at:new Date().toISOString(),uptime:uptime(),TMPDIR:temp,nice:os.getPriority(0)};
|
||||
logEvent(before);
|
||||
const file=path.join(archive,String(rows.length+1).padStart(3,'0')+'-'+name.replaceAll('/','_')+'.log');
|
||||
const fd=fs.openSync(file,'wx',0o600);
|
||||
const measuredDriverNice=os.getPriority(0);fs.writeSync(fd,'driverNice='+measuredDriverNice+'\n');
|
||||
let timer,timedOut=false;
|
||||
const child=spawn(command,args,{cwd:root,env,stdio:['ignore',fd,fd]});
|
||||
let measuredChildNice=null;
|
||||
if(child.pid){os.setPriority(child.pid,19);measuredChildNice=os.getPriority(child.pid);}
|
||||
fs.writeSync(fd,'nice='+String(measuredChildNice)+'\n');fs.closeSync(fd);
|
||||
if(timeout)timer=setTimeout(()=>{timedOut=true;child.kill('SIGTERM');},timeout);
|
||||
const outcome=await new Promise(resolve=>{child.once('error',error=>resolve({rc:1,error:error.code}));child.once('close',(code,signal)=>resolve({rc:code??1,signal}));});
|
||||
clearTimeout(timer);
|
||||
const endLoad=uptime(),bytes=fs.readFileSync(file),text=bytes.toString();
|
||||
const count=key=>Number(new RegExp('^# '+key+' (\\d+)$','m').exec(text)?.[1]??0);
|
||||
const shell=/selftest: (\d+) passed, (\d+) failed/.exec(text);
|
||||
const row={...before,measuredDriverNice,measuredChildNice,event:'end',endAt:new Date().toISOString(),endUptime:endLoad,...outcome,timedOut,
|
||||
tests:shell?Number(shell[1])+Number(shell[2]):count('tests'),pass:shell?Number(shell[1]):count('pass'),fail:shell?Number(shell[2]):count('fail'),skipped:count('skipped'),cancelled:count('cancelled'),
|
||||
skippedLines:text.split('\n').filter(s=>/\bSKIP\b/.test(s)),
|
||||
failedNames:text.split('\n').filter(s=>s.startsWith('not ok ')).map(s=>s.replace(/^not ok \d+ - /,'')),log:{path:file,sha256:hash(bytes),bytes:bytes.length}};
|
||||
rows.push(row);logEvent(row);fs.writeFileSync(receipt,JSON.stringify({clear:process.env.MOSAIC_GATE_CLEAR??'not supplied',candidate,archive,rows},null,2)+'\n');
|
||||
process.stdout.write(`${name} rc=${row.rc} pass=${row.pass} fail=${row.fail} skip=${row.skipped} start=[${row.uptime}] end=[${endLoad}]\n`);
|
||||
return row;
|
||||
}
|
||||
const testArgs=file=>['--test','--test-reporter=tap',path.join(root,file)];
|
||||
try {
|
||||
const list=fs.readFileSync(path.join(home,'b1-red-files.txt'),'utf8').trim().split('\n');
|
||||
if(list.length!==1||list.includes('packages/cli/tests/case1-accept.test.mjs'))throw Error('focused list mismatch');
|
||||
for(const file of list){const row=await step(file,process.execPath,testArgs(file));if(row.rc!==0)throw Error('RED '+file);}
|
||||
logEvent({event:'complete',at:new Date().toISOString(),uptime:uptime()});
|
||||
}catch(error){logEvent({event:'stopped',reason:error.message,at:new Date().toISOString(),uptime:uptime()});process.stdout.write(error.message+'\n');process.exitCode=1;}
|
||||
@@ -1,22 +0,0 @@
|
||||
[
|
||||
{
|
||||
"path": "packages/bus/src/runtime.mjs",
|
||||
"sha256": "50f279fa4b4ffbe58faedcad3035e7e0dda905ea4046a92a2c1c96417597712b"
|
||||
},
|
||||
{
|
||||
"path": "packages/bus/src/model-keys.mjs",
|
||||
"sha256": "ad5b37f3078f60299f1f629f4da1a75e934f90bc352e4be56e31cd4c2a1d8c65"
|
||||
},
|
||||
{
|
||||
"path": "packages/cli/src/launcher.mjs",
|
||||
"sha256": "0272cc7c8e2ccbca9d92e4d3a34293cedc8a9bb1ec45fed88917050bd9bdede7"
|
||||
},
|
||||
{
|
||||
"path": "packages/seat/src/session.mjs",
|
||||
"sha256": "c37a6ef6f6d2b4e61443e77d800656bf31e38913bf7dbdc4ca955f4a83b13a41"
|
||||
},
|
||||
{
|
||||
"path": "packages/seat/src/proc.mjs",
|
||||
"sha256": "382cbf7e0ff336911e288ce858bdbfbec693bc2b69879720d1f0b4c7d8455198"
|
||||
}
|
||||
]
|
||||
@@ -1,22 +0,0 @@
|
||||
[
|
||||
{
|
||||
"path": "packages/bus/src/runtime.mjs",
|
||||
"sha256": "50f279fa4b4ffbe58faedcad3035e7e0dda905ea4046a92a2c1c96417597712b"
|
||||
},
|
||||
{
|
||||
"path": "packages/bus/src/model-keys.mjs",
|
||||
"sha256": "ad5b37f3078f60299f1f629f4da1a75e934f90bc352e4be56e31cd4c2a1d8c65"
|
||||
},
|
||||
{
|
||||
"path": "packages/cli/src/launcher.mjs",
|
||||
"sha256": "0272cc7c8e2ccbca9d92e4d3a34293cedc8a9bb1ec45fed88917050bd9bdede7"
|
||||
},
|
||||
{
|
||||
"path": "packages/seat/src/session.mjs",
|
||||
"sha256": "c37a6ef6f6d2b4e61443e77d800656bf31e38913bf7dbdc4ca955f4a83b13a41"
|
||||
},
|
||||
{
|
||||
"path": "packages/seat/src/proc.mjs",
|
||||
"sha256": "382cbf7e0ff336911e288ce858bdbfbec693bc2b69879720d1f0b4c7d8455198"
|
||||
}
|
||||
]
|
||||
@@ -1,45 +0,0 @@
|
||||
{
|
||||
"clear": "sage-4490",
|
||||
"candidate": "ca0e83337b7eb49cd825d3001e66728cb2764348",
|
||||
"archive": "/mnt/storage/scratch/tmp/f1bW1b",
|
||||
"rows": [
|
||||
{
|
||||
"name": "packages/bus/tests/model-restart.test.mjs",
|
||||
"event": "end",
|
||||
"at": "2026-10-25T08:46:14.283Z",
|
||||
"uptime": "03:46:14 up 11 days, 19:06, 2 users, load average: 8.00, 7.57, 8.12",
|
||||
"TMPDIR": "/mnt/storage/scratch/tmp/BKdLD3",
|
||||
"nice": 19,
|
||||
"measuredDriverNice": 19,
|
||||
"measuredChildNice": 19,
|
||||
"endAt": "2026-10-25T08:46:27.535Z",
|
||||
"endUptime": "03:46:27 up 11 days, 19:06, 2 users, load average: 7.53, 7.48, 8.08",
|
||||
"rc": 1,
|
||||
"signal": null,
|
||||
"timedOut": false,
|
||||
"tests": 12,
|
||||
"pass": 2,
|
||||
"fail": 10,
|
||||
"skipped": 0,
|
||||
"cancelled": 0,
|
||||
"skippedLines": [],
|
||||
"failedNames": [
|
||||
"B1 restart before grace discovers persisted old-key run without bindLaunch",
|
||||
"B1 no-launch restart past grace neither signals nor ends a prior session",
|
||||
"B1 normal recovery gap retains boot inventory when Registry clears before rebinding",
|
||||
"B1 malformed persisted discovery never authorizes retirement",
|
||||
"B1 missing persisted discovery never authorizes retirement",
|
||||
"B1 persisted identity disagreement in startTime retains key and record",
|
||||
"B1 persisted identity disagreement in runnerStartTime retains key and record",
|
||||
"B1 persisted identity disagreement in modelKeyId retains key and record",
|
||||
"B1 discovery failure after boot retains the cached live old-key inventory",
|
||||
"B1 an observed persisted exit after restart permits retirement, never an empty registry alone"
|
||||
],
|
||||
"log": {
|
||||
"path": "/mnt/storage/scratch/tmp/f1bW1b/001-packages_bus_tests_model-restart.test.mjs.log",
|
||||
"sha256": "13f41a18ba8fd6e66ddf49904478589ef657ab5da78dd4e7d5d3f2cfb6e08e30",
|
||||
"bytes": 19069
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
@@ -1,63 +0,0 @@
|
||||
{
|
||||
"clear": "sage-4490",
|
||||
"testedCheckout": "ca0e83337b7eb49cd825d3001e66728cb2764348",
|
||||
"unchangedProduct": "4948ece0e5c760943128ece963a30ab20c23c615",
|
||||
"artifacts": [
|
||||
{
|
||||
"path": "agents/magica/work/queue-331/b1-prepared-r2-manifest.json",
|
||||
"sha256": "effd22ffa7d865be3063bf6cc3162af0f7bba05591ef098516bedd8c4725b9af",
|
||||
"bytes": 2413
|
||||
},
|
||||
{
|
||||
"path": "agents/magica/work/queue-331/b1-red-files.txt",
|
||||
"sha256": "4f0881da05f0d61a4dda4c7d14ad13608caad8f8325c03c758ce614560823c37",
|
||||
"bytes": 42
|
||||
},
|
||||
{
|
||||
"path": "agents/magica/work/queue-331/b1-red-gate.mjs",
|
||||
"sha256": "371424187e903117db994a9c7af7014a404ba45f68b1ddf322708c4350fcd30f",
|
||||
"bytes": 4192
|
||||
},
|
||||
{
|
||||
"path": "agents/magica/work/queue-331/b1-red-events.jsonl",
|
||||
"sha256": "2fbcb534ca2bd0971a9f74943c6dd66802d33a0801870951356684175c83ce7e",
|
||||
"bytes": 1901
|
||||
},
|
||||
{
|
||||
"path": "agents/magica/work/queue-331/b1-red-receipts.json",
|
||||
"sha256": "e99d225a3d88591e887d37933c0ed49e51dcb7cc186b3b173cbe3212142c551f",
|
||||
"bytes": 1938
|
||||
},
|
||||
{
|
||||
"path": "agents/magica/work/queue-331/b1-red-case-results.json",
|
||||
"sha256": "a0eb144825aa528fc3bdf9dc9971788df56f666614b1d882df43986ab645e58e",
|
||||
"bytes": 2827
|
||||
},
|
||||
{
|
||||
"path": "agents/magica/work/queue-331/b1-red-product-before.json",
|
||||
"sha256": "b21470d8b0dc1dad1a23a8f005f3173cc517e70c0625fc4cd3a849681b41ab01",
|
||||
"bytes": 676
|
||||
},
|
||||
{
|
||||
"path": "agents/magica/work/queue-331/b1-red-product-after.json",
|
||||
"sha256": "b21470d8b0dc1dad1a23a8f005f3173cc517e70c0625fc4cd3a849681b41ab01",
|
||||
"bytes": 676
|
||||
},
|
||||
{
|
||||
"path": "agents/magica/work/queue-331/b1-red-summary.md",
|
||||
"sha256": "27208824dc5126aadf3ff8d5795ffd7ac45450229c233a086e6ac24f374e97f0",
|
||||
"bytes": 1273
|
||||
}
|
||||
],
|
||||
"rawLogs": [
|
||||
{
|
||||
"path": "/mnt/storage/scratch/tmp/f1bW1b/001-packages_bus_tests_model-restart.test.mjs.log",
|
||||
"sha256": "13f41a18ba8fd6e66ddf49904478589ef657ab5da78dd4e7d5d3f2cfb6e08e30",
|
||||
"bytes": 19069
|
||||
},
|
||||
{
|
||||
"path": "/mnt/storage/scratch/tmp/f1bW1b/b1-red-driver.log",
|
||||
"sha256": "6ba8875ff5c5cd4e05204f989a8751ef3ae0a9936c4143ac233dd8a805f3aa75"
|
||||
}
|
||||
]
|
||||
}
|
||||
@@ -1,16 +0,0 @@
|
||||
B1/647 intended RED observed, sage-4490, ca0e83337, product4948ece0e unchanged.
|
||||
Exactly one whole model-restart.test.mjs rc1:12tests/2pass/10fail/0skip/0cancel.
|
||||
All10 fail at old key stays remotely installed (false !== true), exact expected
|
||||
names/map. Bound unauthorized-runner stop and confirmed-exited controls pass.
|
||||
No fixture/control/harness/cleanup/observer timeout failures. Each original sweep
|
||||
was awaited through completion; live->exit case fails first live phase on old code.
|
||||
Measured driver19/child19; load8.00/7.57/8.12 ->7.53/7.48/8.08.
|
||||
Completed08:46:27Z, SLOT BACK0049. Test process exited and no scratch b1 roots remain.
|
||||
Before/after five product hashes equal; no edits/retry/extra run. Own-child cleanup
|
||||
only. No claim failed-case assertions after first failure were reached.
|
||||
Rawlog SHA25613f41a18ba8fd6e66ddf49904478589ef657ab5da78dd4e7d5d3f2cfb6e08e30,
|
||||
19069bytes, /mnt/storage/scratch/tmp/f1bW1b/001-packages_bus_tests_model-restart.test.mjs.log.
|
||||
All12 actual names/expectation match/results in b1-red-case-results.json.
|
||||
Await Sage ruling for bounded runtime implementation and separate focused GREEN;
|
||||
no product fix or new queue/review round. Prior builder evidence remains old code;
|
||||
r5 narrow closure approval/global/288/FEDR7 limits remain unchanged.
|
||||
@@ -1,44 +0,0 @@
|
||||
{
|
||||
"method": "literal top-level import inventory for new test plus previously parsed unchanged r5 source edges; not regenerated/reexecuted Node graph",
|
||||
"source": "packages/bus/tests/model-restart.test.mjs",
|
||||
"direct": [
|
||||
"packages/bus/src/runtime.mjs",
|
||||
"packages/bus/src/credentials.mjs",
|
||||
"packages/bus/src/model-keys.mjs",
|
||||
"packages/model-proxy/src/client.mjs",
|
||||
"packages/bus/src/business.mjs",
|
||||
"packages/business/src/business.mjs",
|
||||
"packages/business/src/resolve.mjs",
|
||||
"packages/business/tests/helpers.mjs",
|
||||
"packages/seat/src/proc.mjs",
|
||||
"packages/seat/src/session.mjs",
|
||||
"packages/cli/src/launcher.mjs"
|
||||
],
|
||||
"transitive": [
|
||||
"packages/bus/src/broker.mjs",
|
||||
"packages/bus/src/business.mjs",
|
||||
"packages/bus/src/credentials.mjs",
|
||||
"packages/bus/src/model-keys.mjs",
|
||||
"packages/bus/src/runtime.mjs",
|
||||
"packages/business/src/business.mjs",
|
||||
"packages/business/src/credentials.mjs",
|
||||
"packages/business/src/errors.mjs",
|
||||
"packages/business/src/launch.mjs",
|
||||
"packages/business/src/project.mjs",
|
||||
"packages/business/src/resolve.mjs",
|
||||
"packages/business/src/role.mjs",
|
||||
"packages/business/src/util.mjs",
|
||||
"packages/business/src/vars.mjs",
|
||||
"packages/business/src/vocabulary.mjs",
|
||||
"packages/business/tests/helpers.mjs",
|
||||
"packages/cli/src/launcher.mjs",
|
||||
"packages/library/src/mapping.mjs",
|
||||
"packages/library/src/problems.mjs",
|
||||
"packages/model-proxy/src/client.mjs",
|
||||
"packages/plugins/src/kinds.mjs",
|
||||
"packages/seat/src/proc.mjs",
|
||||
"packages/seat/src/sandbox.mjs",
|
||||
"packages/seat/src/seat.mjs",
|
||||
"packages/seat/src/session.mjs"
|
||||
]
|
||||
}
|
||||
@@ -1,10 +0,0 @@
|
||||
{
|
||||
"from": "78b69e1e6",
|
||||
"to": "775bbe236",
|
||||
"greenFiles": [],
|
||||
"changedModules": [],
|
||||
"ownDocs": [
|
||||
"BUILD-LOG.md",
|
||||
"docs/SESSIONS.md"
|
||||
]
|
||||
}
|
||||
@@ -1,785 +0,0 @@
|
||||
{
|
||||
"kind": "candidate-blob-manifest",
|
||||
"baseCommit": "78b69e1e68b2b8a9dc4c02564381a0792c0c7549",
|
||||
"sourceCommit": "81cbdea37ff85bf5ca1e99c60f24e33e059eaeec",
|
||||
"scope": "Every committed changed path; later manifest artifact excluded from own anchor",
|
||||
"files": [
|
||||
{
|
||||
"path": "BUILD-LOG.md",
|
||||
"mode": "100644",
|
||||
"gitBlob": "4da3e35522825f74035ac9407d95cb18e9c5df1d",
|
||||
"sha256": "2a6a56c85e1d2842f5635fdf590296bc2b57c121e15a17d2418603302a5bc7be",
|
||||
"bytes": 693524
|
||||
},
|
||||
{
|
||||
"path": "agents/magica/work/queue-331/BUILD.md",
|
||||
"mode": "100644",
|
||||
"gitBlob": "51bac3abaff06e432ea8d1bf9cb5d21a33712856",
|
||||
"sha256": "4ac0437d05ae8632bdbe56b2b0111b4ff360193c088c0fdf2420bc89fc237920",
|
||||
"bytes": 49431
|
||||
},
|
||||
{
|
||||
"path": "agents/magica/work/queue-331/b1-boundary-expected-red.json",
|
||||
"mode": "100644",
|
||||
"gitBlob": "e17559b1d4630d4278e489a69120e46c3f50356c",
|
||||
"sha256": "5155f36f5cbed40695caa112e69b8bc2b89792cb2b629f1a7298053fb370cd7f",
|
||||
"bytes": 542
|
||||
},
|
||||
{
|
||||
"path": "agents/magica/work/queue-331/b1-boundary-prepared-manifest.json",
|
||||
"mode": "100644",
|
||||
"gitBlob": "e0b64b8387b888d5a4c10a708150efa85d555306",
|
||||
"sha256": "cff4465b0a2df4ba09844e7f89710b5b2b66d802d1ac93d5613a168c9fb2e52b",
|
||||
"bytes": 2111
|
||||
},
|
||||
{
|
||||
"path": "agents/magica/work/queue-331/b1-boundary-prepared.md",
|
||||
"mode": "100644",
|
||||
"gitBlob": "a317d9e69ab8d8ba3dbc012938c161b96f163eec",
|
||||
"sha256": "c97d90fc64fe12425cc35e9ef1f5f53332838e3ab62a176b3a466619bf4057d4",
|
||||
"bytes": 2544
|
||||
},
|
||||
{
|
||||
"path": "agents/magica/work/queue-331/b1-boundary-red-events.jsonl",
|
||||
"mode": "100644",
|
||||
"gitBlob": "9bc09cace912a344a1b78d8d94d2e06fc2abbaed",
|
||||
"sha256": "faac1a9694fad9ff5721f1f468fa2b1fbcf04133ea449240ef13f93a7b87bc84",
|
||||
"bytes": 1352
|
||||
},
|
||||
{
|
||||
"path": "agents/magica/work/queue-331/b1-boundary-red-files.txt",
|
||||
"mode": "100644",
|
||||
"gitBlob": "ff3523365c1401970eed6232633db4129c69d050",
|
||||
"sha256": "4639f78fcda9e698ad0d03edd452cfd9a8f8d0f517ca8fc0c189eb48178af2d6",
|
||||
"bytes": 54
|
||||
},
|
||||
{
|
||||
"path": "agents/magica/work/queue-331/b1-boundary-red-gate.mjs",
|
||||
"mode": "100644",
|
||||
"gitBlob": "d013ea9926da754aa50396b68a66ed2b0283fce5",
|
||||
"sha256": "65f4d92de3bcee492ae4c177ba098e9e055b6147ed9df0ba1ff0da553d79f971",
|
||||
"bytes": 4211
|
||||
},
|
||||
{
|
||||
"path": "agents/magica/work/queue-331/b1-boundary-red-product-after.json",
|
||||
"mode": "100644",
|
||||
"gitBlob": "584acbef2706a8918eebdb30f944c33fb8c49935",
|
||||
"sha256": "b21470d8b0dc1dad1a23a8f005f3173cc517e70c0625fc4cd3a849681b41ab01",
|
||||
"bytes": 676
|
||||
},
|
||||
{
|
||||
"path": "agents/magica/work/queue-331/b1-boundary-red-product-before.json",
|
||||
"mode": "100644",
|
||||
"gitBlob": "584acbef2706a8918eebdb30f944c33fb8c49935",
|
||||
"sha256": "b21470d8b0dc1dad1a23a8f005f3173cc517e70c0625fc4cd3a849681b41ab01",
|
||||
"bytes": 676
|
||||
},
|
||||
{
|
||||
"path": "agents/magica/work/queue-331/b1-boundary-red-receipts.json",
|
||||
"mode": "100644",
|
||||
"gitBlob": "99206dcffb4b746e4a0cdf3bd79876d55d857681",
|
||||
"sha256": "7fa8e123c6be63de24fb02d76e73935eb29abbb0cb39e36295ba8a8026d819ba",
|
||||
"bytes": 1293
|
||||
},
|
||||
{
|
||||
"path": "agents/magica/work/queue-331/b1-boundary-red-result-manifest.json",
|
||||
"mode": "100644",
|
||||
"gitBlob": "72d44b45a996d3dddb5ff2e2c43e3703b226d927",
|
||||
"sha256": "8c49df81428ed7271148f5ae6d3c1e913907d374ddbe73d9a11a8f81bd2ed2a9",
|
||||
"bytes": 2140
|
||||
},
|
||||
{
|
||||
"path": "agents/magica/work/queue-331/b1-boundary-red-summary.md",
|
||||
"mode": "100644",
|
||||
"gitBlob": "8793a6448a3e714e10257e4c18aae30b58e2c179",
|
||||
"sha256": "fe6f444537f5be5085a3299f2bf87d06b3489944254eb6899e3e3ad6f10fb4fc",
|
||||
"bytes": 1185
|
||||
},
|
||||
{
|
||||
"path": "agents/magica/work/queue-331/b1-expected-red-r2.json",
|
||||
"mode": "100644",
|
||||
"gitBlob": "156b04f8f80b5598a25c4a78bf0d74bca8e21cae",
|
||||
"sha256": "3fffa7848a8dcbd100df3c1808cab8f39c697b14d75a84f75e29ed24acc47dd5",
|
||||
"bytes": 3133
|
||||
},
|
||||
{
|
||||
"path": "agents/magica/work/queue-331/b1-green-files.txt",
|
||||
"mode": "100644",
|
||||
"gitBlob": "403b7295a89be4b60699cb7d616d1880ae8e4e41",
|
||||
"sha256": "9caa5881c637a5e8173a97784f60bb01512a1e552e3f3142d9e2eb609891e9a6",
|
||||
"bytes": 368
|
||||
},
|
||||
{
|
||||
"path": "agents/magica/work/queue-331/b1-green-gate.mjs",
|
||||
"mode": "100644",
|
||||
"gitBlob": "b39ba9b19053c1c0761cd42dccdd18b842789798",
|
||||
"sha256": "d266a31d665ffd17e971ffde6c51a4ab00059393d962b1b757331e7d1cd0262c",
|
||||
"bytes": 4483
|
||||
},
|
||||
{
|
||||
"path": "agents/magica/work/queue-331/b1-mutation-boundary-proposed.diff",
|
||||
"mode": "100644",
|
||||
"gitBlob": "4674a009dfe3a7584cc8d323b326d08dab7b3dbc",
|
||||
"sha256": "5b94c4265b102909eb693fc2b74c80f6bcbcb7e97dd731f9b135df6757dca370",
|
||||
"bytes": 1122
|
||||
},
|
||||
{
|
||||
"path": "agents/magica/work/queue-331/b1-preparation-r2.md",
|
||||
"mode": "100644",
|
||||
"gitBlob": "a72d2ff00672990b8cd76da4c7be1a38569ab09d",
|
||||
"sha256": "e0ca08a1226b5167d7159c2fa8c03641f620c6e42443fc1219eef171d18936e1",
|
||||
"bytes": 1730
|
||||
},
|
||||
{
|
||||
"path": "agents/magica/work/queue-331/b1-prepared-manifest.json",
|
||||
"mode": "100644",
|
||||
"gitBlob": "a48629279c8f120765f23485a63d93c5acf3ea64",
|
||||
"sha256": "b205b12705ff678b2b9854486672d12e39c132dad4e764b6385b679beb36aea6",
|
||||
"bytes": 1849
|
||||
},
|
||||
{
|
||||
"path": "agents/magica/work/queue-331/b1-prepared-r2-manifest.json",
|
||||
"mode": "100644",
|
||||
"gitBlob": "f333a5ab5f216a2f5a61909c1cb1854c35635a0b",
|
||||
"sha256": "effd22ffa7d865be3063bf6cc3162af0f7bba05591ef098516bedd8c4725b9af",
|
||||
"bytes": 2413
|
||||
},
|
||||
{
|
||||
"path": "agents/magica/work/queue-331/b1-proposal.md",
|
||||
"mode": "100644",
|
||||
"gitBlob": "44e23c616245d0f251ceca3089cf719a0ae07310",
|
||||
"sha256": "0b98c9d87bccf70d73f46a790aeb888ef9966591d6b9543829e47d27c739d79b",
|
||||
"bytes": 7228
|
||||
},
|
||||
{
|
||||
"path": "agents/magica/work/queue-331/b1-proposed-focused-files.txt",
|
||||
"mode": "100644",
|
||||
"gitBlob": "6a1eb0c1d916dc1224001e9210a32c9a2d5cfa68",
|
||||
"sha256": "1f6fc01f5cb411107cf1940af6b696018fc119db3261eeadb6b190f81d884522",
|
||||
"bytes": 274
|
||||
},
|
||||
{
|
||||
"path": "agents/magica/work/queue-331/b1-red-case-results.json",
|
||||
"mode": "100644",
|
||||
"gitBlob": "00307c5835a681f41213144f9ba3d8e842ba8c05",
|
||||
"sha256": "a0eb144825aa528fc3bdf9dc9971788df56f666614b1d882df43986ab645e58e",
|
||||
"bytes": 2827
|
||||
},
|
||||
{
|
||||
"path": "agents/magica/work/queue-331/b1-red-events.jsonl",
|
||||
"mode": "100644",
|
||||
"gitBlob": "64298c427cf9fc14d4f9b3ef471c22beac338ce9",
|
||||
"sha256": "2fbcb534ca2bd0971a9f74943c6dd66802d33a0801870951356684175c83ce7e",
|
||||
"bytes": 1901
|
||||
},
|
||||
{
|
||||
"path": "agents/magica/work/queue-331/b1-red-files.txt",
|
||||
"mode": "100644",
|
||||
"gitBlob": "8ef1d1539dfddc494144f6a51271a7f3e98b8f66",
|
||||
"sha256": "4f0881da05f0d61a4dda4c7d14ad13608caad8f8325c03c758ce614560823c37",
|
||||
"bytes": 42
|
||||
},
|
||||
{
|
||||
"path": "agents/magica/work/queue-331/b1-red-gate.mjs",
|
||||
"mode": "100644",
|
||||
"gitBlob": "3c8bfb029de622aeb24c893323940ff94eec75be",
|
||||
"sha256": "371424187e903117db994a9c7af7014a404ba45f68b1ddf322708c4350fcd30f",
|
||||
"bytes": 4192
|
||||
},
|
||||
{
|
||||
"path": "agents/magica/work/queue-331/b1-red-product-after.json",
|
||||
"mode": "100644",
|
||||
"gitBlob": "584acbef2706a8918eebdb30f944c33fb8c49935",
|
||||
"sha256": "b21470d8b0dc1dad1a23a8f005f3173cc517e70c0625fc4cd3a849681b41ab01",
|
||||
"bytes": 676
|
||||
},
|
||||
{
|
||||
"path": "agents/magica/work/queue-331/b1-red-product-before.json",
|
||||
"mode": "100644",
|
||||
"gitBlob": "584acbef2706a8918eebdb30f944c33fb8c49935",
|
||||
"sha256": "b21470d8b0dc1dad1a23a8f005f3173cc517e70c0625fc4cd3a849681b41ab01",
|
||||
"bytes": 676
|
||||
},
|
||||
{
|
||||
"path": "agents/magica/work/queue-331/b1-red-receipts.json",
|
||||
"mode": "100644",
|
||||
"gitBlob": "2ff8ad8001540298b240243c9b9affdef130e418",
|
||||
"sha256": "e99d225a3d88591e887d37933c0ed49e51dcb7cc186b3b173cbe3212142c551f",
|
||||
"bytes": 1938
|
||||
},
|
||||
{
|
||||
"path": "agents/magica/work/queue-331/b1-red-result-manifest.json",
|
||||
"mode": "100644",
|
||||
"gitBlob": "a32eeea1d257ff93ff8eb6fef13f606c3bdacd41",
|
||||
"sha256": "e69b1ac955dba265160b9f32bf0d981e62db132d9ddd38cb638f85299593b20a",
|
||||
"bytes": 2239
|
||||
},
|
||||
{
|
||||
"path": "agents/magica/work/queue-331/b1-red-summary.md",
|
||||
"mode": "100644",
|
||||
"gitBlob": "650dd1a79b45e6a108c78dca685dbe17d901bc43",
|
||||
"sha256": "27208824dc5126aadf3ff8d5795ffd7ac45450229c233a086e6ac24f374e97f0",
|
||||
"bytes": 1273
|
||||
},
|
||||
{
|
||||
"path": "agents/magica/work/queue-331/b1-static-dependencies.json",
|
||||
"mode": "100644",
|
||||
"gitBlob": "77b0839ba8b58beb809cef0a06fec3c85c764c36",
|
||||
"sha256": "860c6a13c6f4c878f8216b6695d6c9ec792eaf3b69c0cd92d55395390a674f3c",
|
||||
"bytes": 1658
|
||||
},
|
||||
{
|
||||
"path": "agents/magica/work/queue-331/base-overlap.json",
|
||||
"mode": "100644",
|
||||
"gitBlob": "ee07fe7f2d15e048c52178fa8fc0db8870476563",
|
||||
"sha256": "753a5c9344a611771354c463d86d878ac71be54b3fc2fbe8ade15c85528e13a8",
|
||||
"bytes": 154
|
||||
},
|
||||
{
|
||||
"path": "agents/magica/work/queue-331/candidate-r3.json",
|
||||
"mode": "100644",
|
||||
"gitBlob": "453f43a953246ae008519ce1d78633800aa4579f",
|
||||
"sha256": "e4e0353dbd88e829caf4ce3f050443bd55740e1b8af50ed90522962b81d77f37",
|
||||
"bytes": 11965
|
||||
},
|
||||
{
|
||||
"path": "agents/magica/work/queue-331/candidate-r4.json",
|
||||
"mode": "100644",
|
||||
"gitBlob": "d3961fc0f02030bba28e6857074b34a76aedfb2b",
|
||||
"sha256": "139b527420872005ea0c71df0f6c18074f8707fb5fe44bd00cb3d16c3f307973",
|
||||
"bytes": 13245
|
||||
},
|
||||
{
|
||||
"path": "agents/magica/work/queue-331/candidate-r5.json",
|
||||
"mode": "100644",
|
||||
"gitBlob": "80fec7b4eb02dcf5783de625158c13f6ec29d58c",
|
||||
"sha256": "03dfc13f75a1e4894c6098907686c2fb188dc792a00642e403979b073dc02974",
|
||||
"bytes": 15867
|
||||
},
|
||||
{
|
||||
"path": "agents/magica/work/queue-331/green-files.txt",
|
||||
"mode": "100644",
|
||||
"gitBlob": "88111143ae73e68df15d9f6740fab1d6e517f846",
|
||||
"sha256": "512d0c1c8823ff32a1c3308bd08950595e19ac87668fef3569be9c7aac3db674",
|
||||
"bytes": 10786
|
||||
},
|
||||
{
|
||||
"path": "agents/magica/work/queue-331/green-receipts.json",
|
||||
"mode": "100644",
|
||||
"gitBlob": "fbc6eeadc7406b6264dfb01dba7c1ad577315ffb",
|
||||
"sha256": "f086e5ecffaf5367796d41fd56b9afb32555ca2412c6b7ef21942b7d7305abb0",
|
||||
"bytes": 26951
|
||||
},
|
||||
{
|
||||
"path": "agents/magica/work/queue-331/green.sh",
|
||||
"mode": "100755",
|
||||
"gitBlob": "84dc900a8bceebc7a5a59fab743f4eecc69cef03",
|
||||
"sha256": "6daaed7bbdeb2e26218045a168f42d7cd43ec8c71020b064f2bf8658c427390d",
|
||||
"bytes": 1283
|
||||
},
|
||||
{
|
||||
"path": "agents/magica/work/queue-331/import-list.mjs",
|
||||
"mode": "100644",
|
||||
"gitBlob": "ff926c2d5ea6dcc53c2d23c86a662eb9cf3d0a92",
|
||||
"sha256": "2916015ff56c21da56def95608f6026c76bd0d5f456d9fe1ee5b813a79bc2a34",
|
||||
"bytes": 4570
|
||||
},
|
||||
{
|
||||
"path": "agents/magica/work/queue-331/import-manifest.json",
|
||||
"mode": "100644",
|
||||
"gitBlob": "dbb6644da48fb4be156ff7373b0e7000f876853b",
|
||||
"sha256": "a026f5637caf13bfac121b3fd6637e7052d1f90fa1a4114a94e59edf60344875",
|
||||
"bytes": 121509
|
||||
},
|
||||
{
|
||||
"path": "agents/magica/work/queue-331/mutants.mjs",
|
||||
"mode": "100644",
|
||||
"gitBlob": "568824f1d355a7e3b13afc78a33153f14b2d2703",
|
||||
"sha256": "9bb088485beeda99ab946fad4b8ca18bd29df487d6b5fe72240c12e73a5d803d",
|
||||
"bytes": 3569
|
||||
},
|
||||
{
|
||||
"path": "agents/magica/work/queue-331/r2-events.jsonl",
|
||||
"mode": "100644",
|
||||
"gitBlob": "172a22bcf7c0fd5625a3adfc319757a71af38dc9",
|
||||
"sha256": "52d694723f7ca07ebd313660d8deaf22937d6aede71993464060e197b3131d37",
|
||||
"bytes": 49517
|
||||
},
|
||||
{
|
||||
"path": "agents/magica/work/queue-331/r2-gate.mjs",
|
||||
"mode": "100644",
|
||||
"gitBlob": "21d8732c1c429a1ba36855d30a092d7ca3e5a650",
|
||||
"sha256": "bcd155cb5f0400c0600754433876168c4fadded01290fe8f967f9b51db9ad97c",
|
||||
"bytes": 5256
|
||||
},
|
||||
{
|
||||
"path": "agents/magica/work/queue-331/r2-receipts.json",
|
||||
"mode": "100644",
|
||||
"gitBlob": "6d53465a48763b1871bbb6782c8b3966d7001447",
|
||||
"sha256": "beb50238a5f54403eb0f9b84e3ea1fdddd087dfc1d757966defced8c2f8aea1c",
|
||||
"bytes": 47815
|
||||
},
|
||||
{
|
||||
"path": "agents/magica/work/queue-331/r3-events.jsonl",
|
||||
"mode": "100644",
|
||||
"gitBlob": "824652eab9046123510027393068e164a7abb7ce",
|
||||
"sha256": "291ff4d60a2ff136e436a74f3869b2ca9b57899ad5dbe200bec3c620d8dbbb1c",
|
||||
"bytes": 1305
|
||||
},
|
||||
{
|
||||
"path": "agents/magica/work/queue-331/r3-gate.mjs",
|
||||
"mode": "100644",
|
||||
"gitBlob": "5c2fd4762b2f89400edacd66ebe953265488c7a6",
|
||||
"sha256": "3b9f4dbb679b1f59352e7ff5c57274fa13966efc8232f06e70e73665794d4bdc",
|
||||
"bytes": 5784
|
||||
},
|
||||
{
|
||||
"path": "agents/magica/work/queue-331/r3-receipts.json",
|
||||
"mode": "100644",
|
||||
"gitBlob": "86a6216b9637e99d6bd3dc5bbc953a53fc63fd63",
|
||||
"sha256": "a70eb559a9cd394f22576375b1a8222868985bdb878bb8ac74fef009845be52c",
|
||||
"bytes": 1283
|
||||
},
|
||||
{
|
||||
"path": "agents/magica/work/queue-331/r3-summary.json",
|
||||
"mode": "100644",
|
||||
"gitBlob": "4ebf32cda3b3ab34340ed4671c4217e74063e14c",
|
||||
"sha256": "8834bc906a5c79675e063cf302fb540c8eedc3c4fdcc8f439eb3c5a6d51ac3b2",
|
||||
"bytes": 746
|
||||
},
|
||||
{
|
||||
"path": "agents/magica/work/queue-331/r4-events.jsonl",
|
||||
"mode": "100644",
|
||||
"gitBlob": "483da152ec40942eb4a4ab4e9e9d94d24d5c5d67",
|
||||
"sha256": "db59dd5f98069f65972283fe9f56281aafbe59e3c296233b33ba6ca1c5f6ee07",
|
||||
"bytes": 65897
|
||||
},
|
||||
{
|
||||
"path": "agents/magica/work/queue-331/r4-gate.mjs",
|
||||
"mode": "100644",
|
||||
"gitBlob": "f3bb5f3f56aa54d94cae5e7f98b51cef21f0351a",
|
||||
"sha256": "5230125cfff5a87e9008b26c4be9a03dadbc1fd1ab9865f569e034a8ca740a98",
|
||||
"bytes": 5811
|
||||
},
|
||||
{
|
||||
"path": "agents/magica/work/queue-331/r4-receipts.json",
|
||||
"mode": "100644",
|
||||
"gitBlob": "2a3392e548ff7dea51749c86d142b15018a0c2b4",
|
||||
"sha256": "2caf9296c8357ca0753a14f7169d2ae6dd71a967ab34eddb5a8d3ce5a658676c",
|
||||
"bytes": 63777
|
||||
},
|
||||
{
|
||||
"path": "agents/magica/work/queue-331/r4-summary.md",
|
||||
"mode": "100644",
|
||||
"gitBlob": "0b7616039c9fb5c6dc559c4dbea36c6642d15c06",
|
||||
"sha256": "cfd763d82a06b0a893662469c5fcbe17604927592bf66a17d8c08182bdf9d72e",
|
||||
"bytes": 1367
|
||||
},
|
||||
{
|
||||
"path": "agents/magica/work/queue-331/r5-dependency-files.txt",
|
||||
"mode": "100644",
|
||||
"gitBlob": "7afa3352a97614646d53d906a295357027f69714",
|
||||
"sha256": "fd724dd96f315a2c5539cb24eaa799d900d9e79434921cd5675aa5388b71cd20",
|
||||
"bytes": 11118
|
||||
},
|
||||
{
|
||||
"path": "agents/magica/work/queue-331/r5-expanded-full-files.txt",
|
||||
"mode": "100644",
|
||||
"gitBlob": "7afa3352a97614646d53d906a295357027f69714",
|
||||
"sha256": "fd724dd96f315a2c5539cb24eaa799d900d9e79434921cd5675aa5388b71cd20",
|
||||
"bytes": 11118
|
||||
},
|
||||
{
|
||||
"path": "agents/magica/work/queue-331/r5-focused-events.jsonl",
|
||||
"mode": "100644",
|
||||
"gitBlob": "f6c14f61c6ee3b7742a52fd98d719ba0f0c1c44c",
|
||||
"sha256": "ddf6ee0c507656e4578efe361d343e98c36f3889e37acebbd15e0acc6738f0df",
|
||||
"bytes": 15507
|
||||
},
|
||||
{
|
||||
"path": "agents/magica/work/queue-331/r5-focused-files.txt",
|
||||
"mode": "100644",
|
||||
"gitBlob": "cb380502e4cc165ce6cde72a3d1ad6a9dd08dcc0",
|
||||
"sha256": "2e19975256cda4da7291f76d33aeed925b8229feb0718d5c53426cae8514fe6b",
|
||||
"bytes": 714
|
||||
},
|
||||
{
|
||||
"path": "agents/magica/work/queue-331/r5-focused-gate.mjs",
|
||||
"mode": "100644",
|
||||
"gitBlob": "772d9c8ce7cb3e8c806f96c7ccbe8e3d96d20f2c",
|
||||
"sha256": "7602b7abdac831eab78f316003f30a5b2e5745a53d6847870bab17c0318c7d49",
|
||||
"bytes": 4203
|
||||
},
|
||||
{
|
||||
"path": "agents/magica/work/queue-331/r5-focused-hash-manifest.json",
|
||||
"mode": "100644",
|
||||
"gitBlob": "e8a0115a90a91374ea7010e579f6e2e00df14625",
|
||||
"sha256": "c915c61027d9986020dbffd9b3d56ea62bf24771491d168baa903026bcf5f9cf",
|
||||
"bytes": 5328
|
||||
},
|
||||
{
|
||||
"path": "agents/magica/work/queue-331/r5-focused-receipts.json",
|
||||
"mode": "100644",
|
||||
"gitBlob": "481280878b18afaf2ac4df9006e15f37e443476d",
|
||||
"sha256": "a268706a320b74982f2a5ac7db3a423e56e03fa0baa2736224d6d2a347fbb728",
|
||||
"bytes": 15144
|
||||
},
|
||||
{
|
||||
"path": "agents/magica/work/queue-331/r5-focused-summary.md",
|
||||
"mode": "100644",
|
||||
"gitBlob": "fd202bf7620c124acbb666af21948b0a22fa7bab",
|
||||
"sha256": "51c2955bb5c92404e2929a6174e532a20ce9adab76d5e3f11d254242c829e922",
|
||||
"bytes": 1996
|
||||
},
|
||||
{
|
||||
"path": "agents/magica/work/queue-331/r5-full-events.jsonl",
|
||||
"mode": "100644",
|
||||
"gitBlob": "2f843a267be6bbc93ae89f6fd4e71f4c90e85e48",
|
||||
"sha256": "63ac7ddf086bc81aaf845a3c19904a87e27e15250008f86dc4f90f4ccde00a42",
|
||||
"bytes": 261354
|
||||
},
|
||||
{
|
||||
"path": "agents/magica/work/queue-331/r5-full-files.txt",
|
||||
"mode": "100644",
|
||||
"gitBlob": "4b86c2bf049acf18dc22f46b6999f620c01bed8c",
|
||||
"sha256": "651cfff204fde6d5d935519181c44ac3e3eba1cc802c101aef71f1943410e2c5",
|
||||
"bytes": 10833
|
||||
},
|
||||
{
|
||||
"path": "agents/magica/work/queue-331/r5-full-gate.mjs",
|
||||
"mode": "100644",
|
||||
"gitBlob": "773885026dd37645fbbbb8dae08a204ff3d87622",
|
||||
"sha256": "9a83dd8cd4ae7b540ccb83edda3707ceb9323e58a883232d706a2438fd9b2672",
|
||||
"bytes": 5839
|
||||
},
|
||||
{
|
||||
"path": "agents/magica/work/queue-331/r5-full-packet-manifest.json",
|
||||
"mode": "100644",
|
||||
"gitBlob": "1ec9684ff27133a679f3a3f9c21a1cce6ec91962",
|
||||
"sha256": "3993f7d33da7727255dac63cdd1b5717b7132d8a5aefe2dc265a2520c5f59a20",
|
||||
"bytes": 2189
|
||||
},
|
||||
{
|
||||
"path": "agents/magica/work/queue-331/r5-full-receipts.json",
|
||||
"mode": "100644",
|
||||
"gitBlob": "6d8dd7c5bae84293bb75885079fbfbb6fecfb28a",
|
||||
"sha256": "f95b14d7570b3b6a755095ab81e8d9277d8623cf7600b90adbaed14c47af81fd",
|
||||
"bytes": 252950
|
||||
},
|
||||
{
|
||||
"path": "agents/magica/work/queue-331/r5-full-result-manifest.json",
|
||||
"mode": "100644",
|
||||
"gitBlob": "32af48da86dbf59c841078db1552cd05fb028587",
|
||||
"sha256": "f1b6ee9b7f6fb337f5b4b145ccd815abc81ce17ab583d38eea8d52fe4c4e2a14",
|
||||
"bytes": 63134
|
||||
},
|
||||
{
|
||||
"path": "agents/magica/work/queue-331/r5-full-runner.diff",
|
||||
"mode": "100644",
|
||||
"gitBlob": "ab038b7eb9908aa672c87bcffb084efd52df9dfc",
|
||||
"sha256": "3d070ad2becca046485a21386520d3a53c1dcddfdc3bd3a2a7c952b99ca634f5",
|
||||
"bytes": 1885
|
||||
},
|
||||
{
|
||||
"path": "agents/magica/work/queue-331/r5-full-summary.md",
|
||||
"mode": "100644",
|
||||
"gitBlob": "c5c3860be28d62f614f7bd30eec3067b27911e47",
|
||||
"sha256": "5a07a42f4f9f4369c0a3f9dec1d65b97c14f0885486bb53fba9dd87917862581",
|
||||
"bytes": 17353
|
||||
},
|
||||
{
|
||||
"path": "agents/magica/work/queue-331/r5-import-list.mjs",
|
||||
"mode": "100644",
|
||||
"gitBlob": "66c475e7314b619edd435a4dcb533dda11b5db5b",
|
||||
"sha256": "1d1042b53d2e3a43c22448011d2855744769f622809cd9ce00397af0b80de806",
|
||||
"bytes": 4802
|
||||
},
|
||||
{
|
||||
"path": "agents/magica/work/queue-331/r5-import-manifest.json",
|
||||
"mode": "100644",
|
||||
"gitBlob": "efad00ab882c700e54299207b42d87cef4dd6144",
|
||||
"sha256": "bed8a7000b275dda0ddaa96a736ef5c9176d3f6893c274adddd6619355f277bb",
|
||||
"bytes": 121476
|
||||
},
|
||||
{
|
||||
"path": "agents/magica/work/queue-331/r5-queue-review-receipt.json",
|
||||
"mode": "100644",
|
||||
"gitBlob": "f2007b69c1ac898dcca7df069a9600966961eb67",
|
||||
"sha256": "9a328d372cf354caa7eb599511d67cc552195efca4674160afc9563e0696f2aa",
|
||||
"bytes": 605
|
||||
},
|
||||
{
|
||||
"path": "agents/magica/work/queue-331/red-bus-proxy.log",
|
||||
"mode": "100644",
|
||||
"gitBlob": "170e337e038bf80536e75b109dd6905ac59a1cf3",
|
||||
"sha256": "b8eacf3c025c63289702a8a2a5630f694f74e9cc8f02dfa04b983e22f40466ae",
|
||||
"bytes": 6208
|
||||
},
|
||||
{
|
||||
"path": "agents/magica/work/queue-331/red-cli-guards.log",
|
||||
"mode": "100644",
|
||||
"gitBlob": "56ee8e14a9fa7a7fe47f06789e972b8e2041bba4",
|
||||
"sha256": "9645a7c408249ecbacbfaa7d631a5b98c380916a2aa37985061b27a6ed05e1b0",
|
||||
"bytes": 6223
|
||||
},
|
||||
{
|
||||
"path": "agents/magica/work/queue-331/red-client-probe.log",
|
||||
"mode": "100644",
|
||||
"gitBlob": "8fdc9ecc8764a802fc5955c5ca03f8e96691cf38",
|
||||
"sha256": "e72318cbbc3fb0803770e4bb8e8ded9725fb4c4ebee6ea4bec365bceaa68250a",
|
||||
"bytes": 5579
|
||||
},
|
||||
{
|
||||
"path": "agents/magica/work/queue-331/red-model-store.log",
|
||||
"mode": "100644",
|
||||
"gitBlob": "b49b35bd745cb191baa8586ab0f86d088ba2a173",
|
||||
"sha256": "1797d611f72f417612e6b7b24f3119ae0f079dc0b9a12acba087ab5c8b2cec59",
|
||||
"bytes": 4453
|
||||
},
|
||||
{
|
||||
"path": "agents/magica/work/queue-331/red-tmpdir.txt",
|
||||
"mode": "100644",
|
||||
"gitBlob": "9075a58959c6ce812f5a6548a990caa20c7ac51f",
|
||||
"sha256": "af65e1bb7a9e02d52d2635901b66b6ef4de40ade6a806a092228b7d5f87f35f2",
|
||||
"bytes": 32
|
||||
},
|
||||
{
|
||||
"path": "docs/SESSIONS.md",
|
||||
"mode": "100644",
|
||||
"gitBlob": "6483c12b76216aafd7e9a09e4fb338848dbae0b2",
|
||||
"sha256": "17b4a037903cd27f75a7d98e8414b3b18c80bc4a61e8ddf847ed92c1c4bb17b0",
|
||||
"bytes": 591120
|
||||
},
|
||||
{
|
||||
"path": "docs/plans/DEFERRED.md",
|
||||
"mode": "100644",
|
||||
"gitBlob": "16c862ba6c37f42fc0fb469dc5b788a7ceb74119",
|
||||
"sha256": "667b60c9935528aee1c489aaaf284222bab6af1b579e1f8f2fdec4dcb7d7a0f6",
|
||||
"bytes": 59838
|
||||
},
|
||||
{
|
||||
"path": "packages/bus/src/broker.mjs",
|
||||
"mode": "100644",
|
||||
"gitBlob": "94b37966a762a8aceecd2ad0f31fad4baced4965",
|
||||
"sha256": "eafd7e4b7a0d32b7522fa17e1424db088efedc69777b2ed914e98d07a9ffb6a5",
|
||||
"bytes": 406827
|
||||
},
|
||||
{
|
||||
"path": "packages/bus/src/credentials.mjs",
|
||||
"mode": "100644",
|
||||
"gitBlob": "85dfbb11b7ed43bddc224f15b35df4941e7d0c15",
|
||||
"sha256": "1c27b306be4b1d9a3b163b940cf4d9ca0badd62812ed7c78670865a846cad0bd",
|
||||
"bytes": 25161
|
||||
},
|
||||
{
|
||||
"path": "packages/bus/src/model-keys.mjs",
|
||||
"mode": "100644",
|
||||
"gitBlob": "97c10513c4b578d1b4fb16a65cdd6f2881e78d5b",
|
||||
"sha256": "bf96f9413537d75991464df1b6893c999c01599976eb48eb2032e33e9aade92a",
|
||||
"bytes": 14105
|
||||
},
|
||||
{
|
||||
"path": "packages/bus/src/process.mjs",
|
||||
"mode": "100644",
|
||||
"gitBlob": "8cafbcdf37ae8d9b62a40a55d42b8348b3d910b7",
|
||||
"sha256": "3d429ef05c2f869c8782273563fe13b0f02701832349f268634d3ba53a316285",
|
||||
"bytes": 7059
|
||||
},
|
||||
{
|
||||
"path": "packages/bus/src/runtime.mjs",
|
||||
"mode": "100644",
|
||||
"gitBlob": "aea9a5aefb065f64bc3929851934a72ca77885cf",
|
||||
"sha256": "2894ea78e85ca4e11b2acf5dc130bea4cec75eeb1e30eea3bc068d336b58f7a6",
|
||||
"bytes": 52963
|
||||
},
|
||||
{
|
||||
"path": "packages/bus/tests/model-credential-store.test.mjs",
|
||||
"mode": "100644",
|
||||
"gitBlob": "e319400d3291ccd5801e190054d7f4030818ec45",
|
||||
"sha256": "9a5f913845e2a987b4fe2fcc191b0d207696c1271455609aafc6c804906559bf",
|
||||
"bytes": 4790
|
||||
},
|
||||
{
|
||||
"path": "packages/bus/tests/model-keys.test.mjs",
|
||||
"mode": "100644",
|
||||
"gitBlob": "fd2a6c5d5448d9513e9102a1da14deb99327a641",
|
||||
"sha256": "6986c8e290749b9f8f861c8c8d1b39f610131142482842e4834e3c6d48772040",
|
||||
"bytes": 21117
|
||||
},
|
||||
{
|
||||
"path": "packages/bus/tests/model-proxy.test.mjs",
|
||||
"mode": "100644",
|
||||
"gitBlob": "e4fd74beee011ff5a9eeb599a7b4e98c4abac2ac",
|
||||
"sha256": "adcc349357f4ac89956a6bc503af5730b03bfff1ffff20fb07bcdb4d247cbd72",
|
||||
"bytes": 5206
|
||||
},
|
||||
{
|
||||
"path": "packages/bus/tests/model-restart.test.mjs",
|
||||
"mode": "100644",
|
||||
"gitBlob": "e322cb862c1b1b60b4b1d01eb304a67b21df3f72",
|
||||
"sha256": "daf5997cdb367388c1b79ff9392c33ce203d16bec2dc5b351dcb18497fdeb656",
|
||||
"bytes": 10810
|
||||
},
|
||||
{
|
||||
"path": "packages/bus/tests/model-retirement-boundary.test.mjs",
|
||||
"mode": "100644",
|
||||
"gitBlob": "b19683caee716a4c72e520c043adfc5edecb2645",
|
||||
"sha256": "5d2ed538b6db01530b4365675cf664ebee523ffb8ce853d58b635a7373917231",
|
||||
"bytes": 5231
|
||||
},
|
||||
{
|
||||
"path": "packages/bus/tests/model-stop.test.mjs",
|
||||
"mode": "100644",
|
||||
"gitBlob": "a580b2dc26730ab179e393ca030ba2afdf8cddf9",
|
||||
"sha256": "cb4f72afc070d86fc10c9fb410b03969341f3d7015da6ebaaec5ea1f780899ae",
|
||||
"bytes": 2056
|
||||
},
|
||||
{
|
||||
"path": "packages/bus/tests/project-runtime.test.mjs",
|
||||
"mode": "100644",
|
||||
"gitBlob": "fe8622be13c94eb47ffb91d5c303d73bd0f45fd4",
|
||||
"sha256": "f13554e08d7390455075f085dbe2cb2f9e39e678a6513e32cb41b4ba1817e276",
|
||||
"bytes": 5661
|
||||
},
|
||||
{
|
||||
"path": "packages/cli/src/cli.mjs",
|
||||
"mode": "100644",
|
||||
"gitBlob": "7c3424b0857c4632b20092bffa518d6df5bd5177",
|
||||
"sha256": "1e663b175e18e39ff68c9ac3a65ff71fc777a6c37ebca035fce6a2783d0aaac3",
|
||||
"bytes": 38737
|
||||
},
|
||||
{
|
||||
"path": "packages/cli/src/launcher.mjs",
|
||||
"mode": "100644",
|
||||
"gitBlob": "316551a85a55515c318f7b0215313d5920d18838",
|
||||
"sha256": "0272cc7c8e2ccbca9d92e4d3a34293cedc8a9bb1ec45fed88917050bd9bdede7",
|
||||
"bytes": 68619
|
||||
},
|
||||
{
|
||||
"path": "packages/cli/src/model-proxy.mjs",
|
||||
"mode": "100644",
|
||||
"gitBlob": "079d2aa02d02a2c09fd3835d42badadd264146ca",
|
||||
"sha256": "9a043f122e1d49103bab64716d0eb80cfc09da3c91f7e2eb014b0d8ff0b02f3d",
|
||||
"bytes": 4202
|
||||
},
|
||||
{
|
||||
"path": "packages/cli/src/model-stall.mjs",
|
||||
"mode": "100644",
|
||||
"gitBlob": "db3979b0f4fe71dcd0d3432582eb89a4dff9a236",
|
||||
"sha256": "3df9770e8aae51357986a16473c96d2a3879bcd436153fa25c70f71b0ab181d7",
|
||||
"bytes": 1012
|
||||
},
|
||||
{
|
||||
"path": "packages/cli/tests/model-proxy-guards.test.mjs",
|
||||
"mode": "100644",
|
||||
"gitBlob": "5ee58f3d1b3485f7ff515f6626e5068375b4d44d",
|
||||
"sha256": "c4b14bb65b2ea10603f8dfa446ac7a2d31fea6e2f7382892beaed5d3372dd237",
|
||||
"bytes": 3016
|
||||
},
|
||||
{
|
||||
"path": "packages/cli/tests/model-stall.test.mjs",
|
||||
"mode": "100644",
|
||||
"gitBlob": "37ae415d4066470b3463046ac89836305ac601d2",
|
||||
"sha256": "655c9ec5d37e8fa0a8ba3340ec053c886072519b6d322f298654d0ba152d287f",
|
||||
"bytes": 2152
|
||||
},
|
||||
{
|
||||
"path": "packages/harness/src/first-output.mjs",
|
||||
"mode": "100644",
|
||||
"gitBlob": "c254ba2e959c601476a6b21b092b6a9f0aac9717",
|
||||
"sha256": "1ef13e5bd2ea9b166b505c46821f1649444b8fab9882531975858ce20a79f341",
|
||||
"bytes": 473
|
||||
},
|
||||
{
|
||||
"path": "packages/harness/src/runner.mjs",
|
||||
"mode": "100644",
|
||||
"gitBlob": "81bf5ae77ad91206af55fbc790292a157a848a7e",
|
||||
"sha256": "9c0a0482c877dd5eae1e2691f20d30e37a289d68cb7d4998b0418c44055ae6d1",
|
||||
"bytes": 31478
|
||||
},
|
||||
{
|
||||
"path": "packages/harness/tests/first-output.test.mjs",
|
||||
"mode": "100644",
|
||||
"gitBlob": "6a8c8310330fe46c2a51ee2b868fe0315a963091",
|
||||
"sha256": "9cf8bbac00be602675e913699cb57d625bb1cab7a2734aa39396b6b9fe308351",
|
||||
"bytes": 964
|
||||
},
|
||||
{
|
||||
"path": "packages/model-proxy/README.md",
|
||||
"mode": "100644",
|
||||
"gitBlob": "ea2c0bd62b4756341fc04c05ff32e1f77e251f5d",
|
||||
"sha256": "982d06ff27cb69a8e099802cb062e7915e6e26a8a35d698950f21f9209c6e067",
|
||||
"bytes": 4858
|
||||
},
|
||||
{
|
||||
"path": "packages/model-proxy/src/client.mjs",
|
||||
"mode": "100644",
|
||||
"gitBlob": "16433df00fa1219adc8e6e56791273e817e522f2",
|
||||
"sha256": "47120f55d91f110668d48c7fc7b7c2e1de513082bea6197ebc5073bcfea7f611",
|
||||
"bytes": 5465
|
||||
},
|
||||
{
|
||||
"path": "packages/model-proxy/src/common.mjs",
|
||||
"mode": "100644",
|
||||
"gitBlob": "1a733d237f115a001c41367340bac7084e441714",
|
||||
"sha256": "a6fb88352018b8f21593a0bb9311f87162c80d8b1e05e62b4d43b1e69af21b23",
|
||||
"bytes": 1287
|
||||
},
|
||||
{
|
||||
"path": "packages/model-proxy/src/settings.mjs",
|
||||
"mode": "100644",
|
||||
"gitBlob": "8dccb1271abd03a718d9fc63d6270b5b3ae53a4b",
|
||||
"sha256": "1eac4b5741b360a077bb1c871c008b64f7c7119afc64be4d6e4a0dcdb3a313bb",
|
||||
"bytes": 5915
|
||||
},
|
||||
{
|
||||
"path": "packages/model-proxy/src/validation.mjs",
|
||||
"mode": "100644",
|
||||
"gitBlob": "be83e2954366f63f10f92d384f6fd6b9fc617641",
|
||||
"sha256": "e66453cf6662677cf28cbad1ae8f7509917d333e5b80404ab02c53f5cf75e9e1",
|
||||
"bytes": 887
|
||||
},
|
||||
{
|
||||
"path": "packages/model-proxy/tests/client-probe.test.mjs",
|
||||
"mode": "100644",
|
||||
"gitBlob": "252df33d928243696afb2d8ec0922ea611269bbb",
|
||||
"sha256": "77327681d6eb51f25d7aeffcc532b7e8269c1dc59139cb03adb4a3a1409f63e9",
|
||||
"bytes": 2743
|
||||
},
|
||||
{
|
||||
"path": "packages/model-proxy/tests/p2-settings.test.mjs",
|
||||
"mode": "100644",
|
||||
"gitBlob": "28fd3a8dd9a60b3711653ec9f684c303a2df5f89",
|
||||
"sha256": "858a0d254de44acc2d8e9d57e823ab2b4c6820059d1d29d2d73270a313a557ee",
|
||||
"bytes": 1074
|
||||
},
|
||||
{
|
||||
"path": "packages/model-proxy/tests/validation.test.mjs",
|
||||
"mode": "100644",
|
||||
"gitBlob": "d104f98eae10fda3598a017a7087c9ae587bd000",
|
||||
"sha256": "e0a79c3cc9b0e1a0d542f28539ce1e6c9f7239efab2ddbcbc0ee4651e85014cd",
|
||||
"bytes": 2776
|
||||
},
|
||||
{
|
||||
"path": "packages/seat/src/sandbox.mjs",
|
||||
"mode": "100644",
|
||||
"gitBlob": "ed4550c6e7b52e00b4302a94b24cf4242cd8797e",
|
||||
"sha256": "a203f7bb2735e4abeb0758c7719022545696b35f00d7943144b73aa892091807",
|
||||
"bytes": 10764
|
||||
},
|
||||
{
|
||||
"path": "packages/seat/tests/sandbox.test.mjs",
|
||||
"mode": "100644",
|
||||
"gitBlob": "df42bacdda9fac12b7dbbde627d99204c9452efe",
|
||||
"sha256": "0def1344345fe5fd719b8548ddc115d1ba581577294179a3996cb6f39dd5088a",
|
||||
"bytes": 23701
|
||||
},
|
||||
{
|
||||
"path": "scripts/mosaic-config.mjs",
|
||||
"mode": "100755",
|
||||
"gitBlob": "b1866a890e18491158834b21ca8f95816cc54612",
|
||||
"sha256": "55acb1965a630c079a39db740609074790310e47dc9e84f8decf5f278f102738",
|
||||
"bytes": 22360
|
||||
}
|
||||
]
|
||||
}
|
||||
File diff suppressed because it is too large.
Load diff
@@ -1,323 +0,0 @@
|
||||
{
|
||||
"kind": "candidate-blob-manifest",
|
||||
"baseCommit": "78b69e1e68b2b8a9dc4c02564381a0792c0c7549",
|
||||
"sourceCommit": "e0578794ce427d23e9e10af09aa8743f715dd4ad",
|
||||
"scope": "Every tracked path changed between baseCommit and sourceCommit; hashes are SHA256 of committed blob bytes, not working files. The manifest itself is a later evidence artifact.",
|
||||
"files": [
|
||||
{
|
||||
"path": "BUILD-LOG.md",
|
||||
"mode": "100644",
|
||||
"gitBlob": "96ec06b356c817fb84851307aa226c48e0dbee2d",
|
||||
"sha256": "83f1c2b413d8a0c5ff9ad0724db06f322009daac22dbef1f6277b93a9fa2f775",
|
||||
"bytes": 690818
|
||||
},
|
||||
{
|
||||
"path": "agents/magica/work/queue-331/BUILD.md",
|
||||
"mode": "100644",
|
||||
"gitBlob": "4ec9e56edba1c6053393e12a945a7db6701b2db8",
|
||||
"sha256": "a2cc6a2ac835892ff50d1e0ba8675d90f313da9f2bf29a78b4c3ba60d62acb16",
|
||||
"bytes": 27828
|
||||
},
|
||||
{
|
||||
"path": "agents/magica/work/queue-331/base-overlap.json",
|
||||
"mode": "100644",
|
||||
"gitBlob": "ee07fe7f2d15e048c52178fa8fc0db8870476563",
|
||||
"sha256": "753a5c9344a611771354c463d86d878ac71be54b3fc2fbe8ade15c85528e13a8",
|
||||
"bytes": 154
|
||||
},
|
||||
{
|
||||
"path": "agents/magica/work/queue-331/green-files.txt",
|
||||
"mode": "100644",
|
||||
"gitBlob": "88111143ae73e68df15d9f6740fab1d6e517f846",
|
||||
"sha256": "512d0c1c8823ff32a1c3308bd08950595e19ac87668fef3569be9c7aac3db674",
|
||||
"bytes": 10786
|
||||
},
|
||||
{
|
||||
"path": "agents/magica/work/queue-331/green-receipts.json",
|
||||
"mode": "100644",
|
||||
"gitBlob": "fbc6eeadc7406b6264dfb01dba7c1ad577315ffb",
|
||||
"sha256": "f086e5ecffaf5367796d41fd56b9afb32555ca2412c6b7ef21942b7d7305abb0",
|
||||
"bytes": 26951
|
||||
},
|
||||
{
|
||||
"path": "agents/magica/work/queue-331/green.sh",
|
||||
"mode": "100755",
|
||||
"gitBlob": "84dc900a8bceebc7a5a59fab743f4eecc69cef03",
|
||||
"sha256": "6daaed7bbdeb2e26218045a168f42d7cd43ec8c71020b064f2bf8658c427390d",
|
||||
"bytes": 1283
|
||||
},
|
||||
{
|
||||
"path": "agents/magica/work/queue-331/import-list.mjs",
|
||||
"mode": "100644",
|
||||
"gitBlob": "ff926c2d5ea6dcc53c2d23c86a662eb9cf3d0a92",
|
||||
"sha256": "2916015ff56c21da56def95608f6026c76bd0d5f456d9fe1ee5b813a79bc2a34",
|
||||
"bytes": 4570
|
||||
},
|
||||
{
|
||||
"path": "agents/magica/work/queue-331/import-manifest.json",
|
||||
"mode": "100644",
|
||||
"gitBlob": "dbb6644da48fb4be156ff7373b0e7000f876853b",
|
||||
"sha256": "a026f5637caf13bfac121b3fd6637e7052d1f90fa1a4114a94e59edf60344875",
|
||||
"bytes": 121509
|
||||
},
|
||||
{
|
||||
"path": "agents/magica/work/queue-331/mutants.mjs",
|
||||
"mode": "100644",
|
||||
"gitBlob": "568824f1d355a7e3b13afc78a33153f14b2d2703",
|
||||
"sha256": "9bb088485beeda99ab946fad4b8ca18bd29df487d6b5fe72240c12e73a5d803d",
|
||||
"bytes": 3569
|
||||
},
|
||||
{
|
||||
"path": "agents/magica/work/queue-331/r2-events.jsonl",
|
||||
"mode": "100644",
|
||||
"gitBlob": "172a22bcf7c0fd5625a3adfc319757a71af38dc9",
|
||||
"sha256": "52d694723f7ca07ebd313660d8deaf22937d6aede71993464060e197b3131d37",
|
||||
"bytes": 49517
|
||||
},
|
||||
{
|
||||
"path": "agents/magica/work/queue-331/r2-gate.mjs",
|
||||
"mode": "100644",
|
||||
"gitBlob": "21d8732c1c429a1ba36855d30a092d7ca3e5a650",
|
||||
"sha256": "bcd155cb5f0400c0600754433876168c4fadded01290fe8f967f9b51db9ad97c",
|
||||
"bytes": 5256
|
||||
},
|
||||
{
|
||||
"path": "agents/magica/work/queue-331/r2-receipts.json",
|
||||
"mode": "100644",
|
||||
"gitBlob": "6d53465a48763b1871bbb6782c8b3966d7001447",
|
||||
"sha256": "beb50238a5f54403eb0f9b84e3ea1fdddd087dfc1d757966defced8c2f8aea1c",
|
||||
"bytes": 47815
|
||||
},
|
||||
{
|
||||
"path": "agents/magica/work/queue-331/r3-gate.mjs",
|
||||
"mode": "100644",
|
||||
"gitBlob": "5c2fd4762b2f89400edacd66ebe953265488c7a6",
|
||||
"sha256": "3b9f4dbb679b1f59352e7ff5c57274fa13966efc8232f06e70e73665794d4bdc",
|
||||
"bytes": 5784
|
||||
},
|
||||
{
|
||||
"path": "agents/magica/work/queue-331/red-bus-proxy.log",
|
||||
"mode": "100644",
|
||||
"gitBlob": "170e337e038bf80536e75b109dd6905ac59a1cf3",
|
||||
"sha256": "b8eacf3c025c63289702a8a2a5630f694f74e9cc8f02dfa04b983e22f40466ae",
|
||||
"bytes": 6208
|
||||
},
|
||||
{
|
||||
"path": "agents/magica/work/queue-331/red-cli-guards.log",
|
||||
"mode": "100644",
|
||||
"gitBlob": "56ee8e14a9fa7a7fe47f06789e972b8e2041bba4",
|
||||
"sha256": "9645a7c408249ecbacbfaa7d631a5b98c380916a2aa37985061b27a6ed05e1b0",
|
||||
"bytes": 6223
|
||||
},
|
||||
{
|
||||
"path": "agents/magica/work/queue-331/red-client-probe.log",
|
||||
"mode": "100644",
|
||||
"gitBlob": "8fdc9ecc8764a802fc5955c5ca03f8e96691cf38",
|
||||
"sha256": "e72318cbbc3fb0803770e4bb8e8ded9725fb4c4ebee6ea4bec365bceaa68250a",
|
||||
"bytes": 5579
|
||||
},
|
||||
{
|
||||
"path": "agents/magica/work/queue-331/red-model-store.log",
|
||||
"mode": "100644",
|
||||
"gitBlob": "b49b35bd745cb191baa8586ab0f86d088ba2a173",
|
||||
"sha256": "1797d611f72f417612e6b7b24f3119ae0f079dc0b9a12acba087ab5c8b2cec59",
|
||||
"bytes": 4453
|
||||
},
|
||||
{
|
||||
"path": "agents/magica/work/queue-331/red-tmpdir.txt",
|
||||
"mode": "100644",
|
||||
"gitBlob": "9075a58959c6ce812f5a6548a990caa20c7ac51f",
|
||||
"sha256": "af65e1bb7a9e02d52d2635901b66b6ef4de40ade6a806a092228b7d5f87f35f2",
|
||||
"bytes": 32
|
||||
},
|
||||
{
|
||||
"path": "docs/SESSIONS.md",
|
||||
"mode": "100644",
|
||||
"gitBlob": "da95024d6b73256843c3213e9c4b0d3926a6af2f",
|
||||
"sha256": "83e192230f410816515cbd5496113436f2e6dca5f5b045d8e1f48cef1359fe14",
|
||||
"bytes": 589740
|
||||
},
|
||||
{
|
||||
"path": "docs/plans/DEFERRED.md",
|
||||
"mode": "100644",
|
||||
"gitBlob": "16c862ba6c37f42fc0fb469dc5b788a7ceb74119",
|
||||
"sha256": "667b60c9935528aee1c489aaaf284222bab6af1b579e1f8f2fdec4dcb7d7a0f6",
|
||||
"bytes": 59838
|
||||
},
|
||||
{
|
||||
"path": "packages/bus/src/broker.mjs",
|
||||
"mode": "100644",
|
||||
"gitBlob": "65d04c743e06f5e22291a4dceb2c5dd798ad3136",
|
||||
"sha256": "32489120f35028b4f64762f75fadf8c4f53ecbd3689a0a815504453ae246512f",
|
||||
"bytes": 406823
|
||||
},
|
||||
{
|
||||
"path": "packages/bus/src/credentials.mjs",
|
||||
"mode": "100644",
|
||||
"gitBlob": "85dfbb11b7ed43bddc224f15b35df4941e7d0c15",
|
||||
"sha256": "1c27b306be4b1d9a3b163b940cf4d9ca0badd62812ed7c78670865a846cad0bd",
|
||||
"bytes": 25161
|
||||
},
|
||||
{
|
||||
"path": "packages/bus/src/model-keys.mjs",
|
||||
"mode": "100644",
|
||||
"gitBlob": "f00e33796110475f90f729c6cfd7a6592da5830b",
|
||||
"sha256": "ad5b37f3078f60299f1f629f4da1a75e934f90bc352e4be56e31cd4c2a1d8c65",
|
||||
"bytes": 13895
|
||||
},
|
||||
{
|
||||
"path": "packages/bus/src/process.mjs",
|
||||
"mode": "100644",
|
||||
"gitBlob": "8cafbcdf37ae8d9b62a40a55d42b8348b3d910b7",
|
||||
"sha256": "3d429ef05c2f869c8782273563fe13b0f02701832349f268634d3ba53a316285",
|
||||
"bytes": 7059
|
||||
},
|
||||
{
|
||||
"path": "packages/bus/src/runtime.mjs",
|
||||
"mode": "100644",
|
||||
"gitBlob": "1a039cc568cd6f2752fde0030bb857ede093e40f",
|
||||
"sha256": "50f279fa4b4ffbe58faedcad3035e7e0dda905ea4046a92a2c1c96417597712b",
|
||||
"bytes": 48134
|
||||
},
|
||||
{
|
||||
"path": "packages/bus/tests/model-credential-store.test.mjs",
|
||||
"mode": "100644",
|
||||
"gitBlob": "e319400d3291ccd5801e190054d7f4030818ec45",
|
||||
"sha256": "9a5f913845e2a987b4fe2fcc191b0d207696c1271455609aafc6c804906559bf",
|
||||
"bytes": 4790
|
||||
},
|
||||
{
|
||||
"path": "packages/bus/tests/model-keys.test.mjs",
|
||||
"mode": "100644",
|
||||
"gitBlob": "5ff9dca7e3476d2b520502ed0e37511ee9511e54",
|
||||
"sha256": "a2478b4f4192bde79aaebea07d1080e10d0450199f337d38a82ff439c32471e2",
|
||||
"bytes": 20584
|
||||
},
|
||||
{
|
||||
"path": "packages/bus/tests/model-proxy.test.mjs",
|
||||
"mode": "100644",
|
||||
"gitBlob": "e4fd74beee011ff5a9eeb599a7b4e98c4abac2ac",
|
||||
"sha256": "adcc349357f4ac89956a6bc503af5730b03bfff1ffff20fb07bcdb4d247cbd72",
|
||||
"bytes": 5206
|
||||
},
|
||||
{
|
||||
"path": "packages/bus/tests/model-stop.test.mjs",
|
||||
"mode": "100644",
|
||||
"gitBlob": "a580b2dc26730ab179e393ca030ba2afdf8cddf9",
|
||||
"sha256": "cb4f72afc070d86fc10c9fb410b03969341f3d7015da6ebaaec5ea1f780899ae",
|
||||
"bytes": 2056
|
||||
},
|
||||
{
|
||||
"path": "packages/cli/src/cli.mjs",
|
||||
"mode": "100644",
|
||||
"gitBlob": "7c3424b0857c4632b20092bffa518d6df5bd5177",
|
||||
"sha256": "1e663b175e18e39ff68c9ac3a65ff71fc777a6c37ebca035fce6a2783d0aaac3",
|
||||
"bytes": 38737
|
||||
},
|
||||
{
|
||||
"path": "packages/cli/src/launcher.mjs",
|
||||
"mode": "100644",
|
||||
"gitBlob": "316551a85a55515c318f7b0215313d5920d18838",
|
||||
"sha256": "0272cc7c8e2ccbca9d92e4d3a34293cedc8a9bb1ec45fed88917050bd9bdede7",
|
||||
"bytes": 68619
|
||||
},
|
||||
{
|
||||
"path": "packages/cli/src/model-proxy.mjs",
|
||||
"mode": "100644",
|
||||
"gitBlob": "079d2aa02d02a2c09fd3835d42badadd264146ca",
|
||||
"sha256": "9a043f122e1d49103bab64716d0eb80cfc09da3c91f7e2eb014b0d8ff0b02f3d",
|
||||
"bytes": 4202
|
||||
},
|
||||
{
|
||||
"path": "packages/cli/src/model-stall.mjs",
|
||||
"mode": "100644",
|
||||
"gitBlob": "db3979b0f4fe71dcd0d3432582eb89a4dff9a236",
|
||||
"sha256": "3df9770e8aae51357986a16473c96d2a3879bcd436153fa25c70f71b0ab181d7",
|
||||
"bytes": 1012
|
||||
},
|
||||
{
|
||||
"path": "packages/cli/tests/model-proxy-guards.test.mjs",
|
||||
"mode": "100644",
|
||||
"gitBlob": "5ee58f3d1b3485f7ff515f6626e5068375b4d44d",
|
||||
"sha256": "c4b14bb65b2ea10603f8dfa446ac7a2d31fea6e2f7382892beaed5d3372dd237",
|
||||
"bytes": 3016
|
||||
},
|
||||
{
|
||||
"path": "packages/cli/tests/model-stall.test.mjs",
|
||||
"mode": "100644",
|
||||
"gitBlob": "37ae415d4066470b3463046ac89836305ac601d2",
|
||||
"sha256": "655c9ec5d37e8fa0a8ba3340ec053c886072519b6d322f298654d0ba152d287f",
|
||||
"bytes": 2152
|
||||
},
|
||||
{
|
||||
"path": "packages/harness/src/first-output.mjs",
|
||||
"mode": "100644",
|
||||
"gitBlob": "c254ba2e959c601476a6b21b092b6a9f0aac9717",
|
||||
"sha256": "1ef13e5bd2ea9b166b505c46821f1649444b8fab9882531975858ce20a79f341",
|
||||
"bytes": 473
|
||||
},
|
||||
{
|
||||
"path": "packages/harness/src/runner.mjs",
|
||||
"mode": "100644",
|
||||
"gitBlob": "81bf5ae77ad91206af55fbc790292a157a848a7e",
|
||||
"sha256": "9c0a0482c877dd5eae1e2691f20d30e37a289d68cb7d4998b0418c44055ae6d1",
|
||||
"bytes": 31478
|
||||
},
|
||||
{
|
||||
"path": "packages/harness/tests/first-output.test.mjs",
|
||||
"mode": "100644",
|
||||
"gitBlob": "6a8c8310330fe46c2a51ee2b868fe0315a963091",
|
||||
"sha256": "9cf8bbac00be602675e913699cb57d625bb1cab7a2734aa39396b6b9fe308351",
|
||||
"bytes": 964
|
||||
},
|
||||
{
|
||||
"path": "packages/model-proxy/README.md",
|
||||
"mode": "100644",
|
||||
"gitBlob": "ea2c0bd62b4756341fc04c05ff32e1f77e251f5d",
|
||||
"sha256": "982d06ff27cb69a8e099802cb062e7915e6e26a8a35d698950f21f9209c6e067",
|
||||
"bytes": 4858
|
||||
},
|
||||
{
|
||||
"path": "packages/model-proxy/src/client.mjs",
|
||||
"mode": "100644",
|
||||
"gitBlob": "16433df00fa1219adc8e6e56791273e817e522f2",
|
||||
"sha256": "47120f55d91f110668d48c7fc7b7c2e1de513082bea6197ebc5073bcfea7f611",
|
||||
"bytes": 5465
|
||||
},
|
||||
{
|
||||
"path": "packages/model-proxy/src/common.mjs",
|
||||
"mode": "100644",
|
||||
"gitBlob": "9fca50f1e691ef24aaa31910d2594274f8e50a3f",
|
||||
"sha256": "3774e61fe613085bcb8d65d4094ec8be8477cd5afedcdba0ee4d653df51caa0c",
|
||||
"bytes": 2022
|
||||
},
|
||||
{
|
||||
"path": "packages/model-proxy/src/settings.mjs",
|
||||
"mode": "100644",
|
||||
"gitBlob": "8dccb1271abd03a718d9fc63d6270b5b3ae53a4b",
|
||||
"sha256": "1eac4b5741b360a077bb1c871c008b64f7c7119afc64be4d6e4a0dcdb3a313bb",
|
||||
"bytes": 5915
|
||||
},
|
||||
{
|
||||
"path": "packages/model-proxy/tests/client-probe.test.mjs",
|
||||
"mode": "100644",
|
||||
"gitBlob": "252df33d928243696afb2d8ec0922ea611269bbb",
|
||||
"sha256": "77327681d6eb51f25d7aeffcc532b7e8269c1dc59139cb03adb4a3a1409f63e9",
|
||||
"bytes": 2743
|
||||
},
|
||||
{
|
||||
"path": "packages/model-proxy/tests/p2-settings.test.mjs",
|
||||
"mode": "100644",
|
||||
"gitBlob": "28fd3a8dd9a60b3711653ec9f684c303a2df5f89",
|
||||
"sha256": "858a0d254de44acc2d8e9d57e823ab2b4c6820059d1d29d2d73270a313a557ee",
|
||||
"bytes": 1074
|
||||
},
|
||||
{
|
||||
"path": "scripts/mosaic-config.mjs",
|
||||
"mode": "100755",
|
||||
"gitBlob": "b1866a890e18491158834b21ca8f95816cc54612",
|
||||
"sha256": "55acb1965a630c079a39db740609074790310e47dc9e84f8decf5f278f102738",
|
||||
"bytes": 22360
|
||||
}
|
||||
]
|
||||
}
|
||||
@@ -1,358 +0,0 @@
|
||||
{
|
||||
"kind": "candidate-blob-manifest",
|
||||
"baseCommit": "78b69e1e68b2b8a9dc4c02564381a0792c0c7549",
|
||||
"sourceCommit": "0965fe1ea58b1836a4b2868019948cfd509c7b0c",
|
||||
"scope": "Every tracked path changed between baseCommit and sourceCommit; SHA256 pins committed blob bytes. Manifest is a later evidence artifact.",
|
||||
"files": [
|
||||
{
|
||||
"path": "BUILD-LOG.md",
|
||||
"mode": "100644",
|
||||
"gitBlob": "674e686871f5e95a37f51af50b74b934b246a3f3",
|
||||
"sha256": "0decc6f0f36a58f85ef3e47f261064045b8e7c51b3ea5d91da3a4f0d1cb80380",
|
||||
"bytes": 691350
|
||||
},
|
||||
{
|
||||
"path": "agents/magica/work/queue-331/BUILD.md",
|
||||
"mode": "100644",
|
||||
"gitBlob": "148e460a5f04e21122954bc66c06b9075668ab17",
|
||||
"sha256": "ff5284e6da0e98b51fcf3e7037d710b5ad90c847fc790bfd4dce0813e5338fe5",
|
||||
"bytes": 32336
|
||||
},
|
||||
{
|
||||
"path": "agents/magica/work/queue-331/base-overlap.json",
|
||||
"mode": "100644",
|
||||
"gitBlob": "ee07fe7f2d15e048c52178fa8fc0db8870476563",
|
||||
"sha256": "753a5c9344a611771354c463d86d878ac71be54b3fc2fbe8ade15c85528e13a8",
|
||||
"bytes": 154
|
||||
},
|
||||
{
|
||||
"path": "agents/magica/work/queue-331/candidate-r3.json",
|
||||
"mode": "100644",
|
||||
"gitBlob": "453f43a953246ae008519ce1d78633800aa4579f",
|
||||
"sha256": "e4e0353dbd88e829caf4ce3f050443bd55740e1b8af50ed90522962b81d77f37",
|
||||
"bytes": 11965
|
||||
},
|
||||
{
|
||||
"path": "agents/magica/work/queue-331/green-files.txt",
|
||||
"mode": "100644",
|
||||
"gitBlob": "88111143ae73e68df15d9f6740fab1d6e517f846",
|
||||
"sha256": "512d0c1c8823ff32a1c3308bd08950595e19ac87668fef3569be9c7aac3db674",
|
||||
"bytes": 10786
|
||||
},
|
||||
{
|
||||
"path": "agents/magica/work/queue-331/green-receipts.json",
|
||||
"mode": "100644",
|
||||
"gitBlob": "fbc6eeadc7406b6264dfb01dba7c1ad577315ffb",
|
||||
"sha256": "f086e5ecffaf5367796d41fd56b9afb32555ca2412c6b7ef21942b7d7305abb0",
|
||||
"bytes": 26951
|
||||
},
|
||||
{
|
||||
"path": "agents/magica/work/queue-331/green.sh",
|
||||
"mode": "100755",
|
||||
"gitBlob": "84dc900a8bceebc7a5a59fab743f4eecc69cef03",
|
||||
"sha256": "6daaed7bbdeb2e26218045a168f42d7cd43ec8c71020b064f2bf8658c427390d",
|
||||
"bytes": 1283
|
||||
},
|
||||
{
|
||||
"path": "agents/magica/work/queue-331/import-list.mjs",
|
||||
"mode": "100644",
|
||||
"gitBlob": "ff926c2d5ea6dcc53c2d23c86a662eb9cf3d0a92",
|
||||
"sha256": "2916015ff56c21da56def95608f6026c76bd0d5f456d9fe1ee5b813a79bc2a34",
|
||||
"bytes": 4570
|
||||
},
|
||||
{
|
||||
"path": "agents/magica/work/queue-331/import-manifest.json",
|
||||
"mode": "100644",
|
||||
"gitBlob": "dbb6644da48fb4be156ff7373b0e7000f876853b",
|
||||
"sha256": "a026f5637caf13bfac121b3fd6637e7052d1f90fa1a4114a94e59edf60344875",
|
||||
"bytes": 121509
|
||||
},
|
||||
{
|
||||
"path": "agents/magica/work/queue-331/mutants.mjs",
|
||||
"mode": "100644",
|
||||
"gitBlob": "568824f1d355a7e3b13afc78a33153f14b2d2703",
|
||||
"sha256": "9bb088485beeda99ab946fad4b8ca18bd29df487d6b5fe72240c12e73a5d803d",
|
||||
"bytes": 3569
|
||||
},
|
||||
{
|
||||
"path": "agents/magica/work/queue-331/r2-events.jsonl",
|
||||
"mode": "100644",
|
||||
"gitBlob": "172a22bcf7c0fd5625a3adfc319757a71af38dc9",
|
||||
"sha256": "52d694723f7ca07ebd313660d8deaf22937d6aede71993464060e197b3131d37",
|
||||
"bytes": 49517
|
||||
},
|
||||
{
|
||||
"path": "agents/magica/work/queue-331/r2-gate.mjs",
|
||||
"mode": "100644",
|
||||
"gitBlob": "21d8732c1c429a1ba36855d30a092d7ca3e5a650",
|
||||
"sha256": "bcd155cb5f0400c0600754433876168c4fadded01290fe8f967f9b51db9ad97c",
|
||||
"bytes": 5256
|
||||
},
|
||||
{
|
||||
"path": "agents/magica/work/queue-331/r2-receipts.json",
|
||||
"mode": "100644",
|
||||
"gitBlob": "6d53465a48763b1871bbb6782c8b3966d7001447",
|
||||
"sha256": "beb50238a5f54403eb0f9b84e3ea1fdddd087dfc1d757966defced8c2f8aea1c",
|
||||
"bytes": 47815
|
||||
},
|
||||
{
|
||||
"path": "agents/magica/work/queue-331/r3-events.jsonl",
|
||||
"mode": "100644",
|
||||
"gitBlob": "824652eab9046123510027393068e164a7abb7ce",
|
||||
"sha256": "291ff4d60a2ff136e436a74f3869b2ca9b57899ad5dbe200bec3c620d8dbbb1c",
|
||||
"bytes": 1305
|
||||
},
|
||||
{
|
||||
"path": "agents/magica/work/queue-331/r3-gate.mjs",
|
||||
"mode": "100644",
|
||||
"gitBlob": "5c2fd4762b2f89400edacd66ebe953265488c7a6",
|
||||
"sha256": "3b9f4dbb679b1f59352e7ff5c57274fa13966efc8232f06e70e73665794d4bdc",
|
||||
"bytes": 5784
|
||||
},
|
||||
{
|
||||
"path": "agents/magica/work/queue-331/r3-receipts.json",
|
||||
"mode": "100644",
|
||||
"gitBlob": "86a6216b9637e99d6bd3dc5bbc953a53fc63fd63",
|
||||
"sha256": "a70eb559a9cd394f22576375b1a8222868985bdb878bb8ac74fef009845be52c",
|
||||
"bytes": 1283
|
||||
},
|
||||
{
|
||||
"path": "agents/magica/work/queue-331/r3-summary.json",
|
||||
"mode": "100644",
|
||||
"gitBlob": "4ebf32cda3b3ab34340ed4671c4217e74063e14c",
|
||||
"sha256": "8834bc906a5c79675e063cf302fb540c8eedc3c4fdcc8f439eb3c5a6d51ac3b2",
|
||||
"bytes": 746
|
||||
},
|
||||
{
|
||||
"path": "agents/magica/work/queue-331/r4-gate.mjs",
|
||||
"mode": "100644",
|
||||
"gitBlob": "f3bb5f3f56aa54d94cae5e7f98b51cef21f0351a",
|
||||
"sha256": "5230125cfff5a87e9008b26c4be9a03dadbc1fd1ab9865f569e034a8ca740a98",
|
||||
"bytes": 5811
|
||||
},
|
||||
{
|
||||
"path": "agents/magica/work/queue-331/red-bus-proxy.log",
|
||||
"mode": "100644",
|
||||
"gitBlob": "170e337e038bf80536e75b109dd6905ac59a1cf3",
|
||||
"sha256": "b8eacf3c025c63289702a8a2a5630f694f74e9cc8f02dfa04b983e22f40466ae",
|
||||
"bytes": 6208
|
||||
},
|
||||
{
|
||||
"path": "agents/magica/work/queue-331/red-cli-guards.log",
|
||||
"mode": "100644",
|
||||
"gitBlob": "56ee8e14a9fa7a7fe47f06789e972b8e2041bba4",
|
||||
"sha256": "9645a7c408249ecbacbfaa7d631a5b98c380916a2aa37985061b27a6ed05e1b0",
|
||||
"bytes": 6223
|
||||
},
|
||||
{
|
||||
"path": "agents/magica/work/queue-331/red-client-probe.log",
|
||||
"mode": "100644",
|
||||
"gitBlob": "8fdc9ecc8764a802fc5955c5ca03f8e96691cf38",
|
||||
"sha256": "e72318cbbc3fb0803770e4bb8e8ded9725fb4c4ebee6ea4bec365bceaa68250a",
|
||||
"bytes": 5579
|
||||
},
|
||||
{
|
||||
"path": "agents/magica/work/queue-331/red-model-store.log",
|
||||
"mode": "100644",
|
||||
"gitBlob": "b49b35bd745cb191baa8586ab0f86d088ba2a173",
|
||||
"sha256": "1797d611f72f417612e6b7b24f3119ae0f079dc0b9a12acba087ab5c8b2cec59",
|
||||
"bytes": 4453
|
||||
},
|
||||
{
|
||||
"path": "agents/magica/work/queue-331/red-tmpdir.txt",
|
||||
"mode": "100644",
|
||||
"gitBlob": "9075a58959c6ce812f5a6548a990caa20c7ac51f",
|
||||
"sha256": "af65e1bb7a9e02d52d2635901b66b6ef4de40ade6a806a092228b7d5f87f35f2",
|
||||
"bytes": 32
|
||||
},
|
||||
{
|
||||
"path": "docs/SESSIONS.md",
|
||||
"mode": "100644",
|
||||
"gitBlob": "c8c9d394d86930b42b6cf7b654702364be9ef5ba",
|
||||
"sha256": "d5a3200f7301de0b629747dcc85425e759f228b2aca63567c17338bcfab9029a",
|
||||
"bytes": 589965
|
||||
},
|
||||
{
|
||||
"path": "docs/plans/DEFERRED.md",
|
||||
"mode": "100644",
|
||||
"gitBlob": "16c862ba6c37f42fc0fb469dc5b788a7ceb74119",
|
||||
"sha256": "667b60c9935528aee1c489aaaf284222bab6af1b579e1f8f2fdec4dcb7d7a0f6",
|
||||
"bytes": 59838
|
||||
},
|
||||
{
|
||||
"path": "packages/bus/src/broker.mjs",
|
||||
"mode": "100644",
|
||||
"gitBlob": "65d04c743e06f5e22291a4dceb2c5dd798ad3136",
|
||||
"sha256": "32489120f35028b4f64762f75fadf8c4f53ecbd3689a0a815504453ae246512f",
|
||||
"bytes": 406823
|
||||
},
|
||||
{
|
||||
"path": "packages/bus/src/credentials.mjs",
|
||||
"mode": "100644",
|
||||
"gitBlob": "85dfbb11b7ed43bddc224f15b35df4941e7d0c15",
|
||||
"sha256": "1c27b306be4b1d9a3b163b940cf4d9ca0badd62812ed7c78670865a846cad0bd",
|
||||
"bytes": 25161
|
||||
},
|
||||
{
|
||||
"path": "packages/bus/src/model-keys.mjs",
|
||||
"mode": "100644",
|
||||
"gitBlob": "f00e33796110475f90f729c6cfd7a6592da5830b",
|
||||
"sha256": "ad5b37f3078f60299f1f629f4da1a75e934f90bc352e4be56e31cd4c2a1d8c65",
|
||||
"bytes": 13895
|
||||
},
|
||||
{
|
||||
"path": "packages/bus/src/process.mjs",
|
||||
"mode": "100644",
|
||||
"gitBlob": "8cafbcdf37ae8d9b62a40a55d42b8348b3d910b7",
|
||||
"sha256": "3d429ef05c2f869c8782273563fe13b0f02701832349f268634d3ba53a316285",
|
||||
"bytes": 7059
|
||||
},
|
||||
{
|
||||
"path": "packages/bus/src/runtime.mjs",
|
||||
"mode": "100644",
|
||||
"gitBlob": "1a039cc568cd6f2752fde0030bb857ede093e40f",
|
||||
"sha256": "50f279fa4b4ffbe58faedcad3035e7e0dda905ea4046a92a2c1c96417597712b",
|
||||
"bytes": 48134
|
||||
},
|
||||
{
|
||||
"path": "packages/bus/tests/model-credential-store.test.mjs",
|
||||
"mode": "100644",
|
||||
"gitBlob": "e319400d3291ccd5801e190054d7f4030818ec45",
|
||||
"sha256": "9a5f913845e2a987b4fe2fcc191b0d207696c1271455609aafc6c804906559bf",
|
||||
"bytes": 4790
|
||||
},
|
||||
{
|
||||
"path": "packages/bus/tests/model-keys.test.mjs",
|
||||
"mode": "100644",
|
||||
"gitBlob": "fd2a6c5d5448d9513e9102a1da14deb99327a641",
|
||||
"sha256": "6986c8e290749b9f8f861c8c8d1b39f610131142482842e4834e3c6d48772040",
|
||||
"bytes": 21117
|
||||
},
|
||||
{
|
||||
"path": "packages/bus/tests/model-proxy.test.mjs",
|
||||
"mode": "100644",
|
||||
"gitBlob": "e4fd74beee011ff5a9eeb599a7b4e98c4abac2ac",
|
||||
"sha256": "adcc349357f4ac89956a6bc503af5730b03bfff1ffff20fb07bcdb4d247cbd72",
|
||||
"bytes": 5206
|
||||
},
|
||||
{
|
||||
"path": "packages/bus/tests/model-stop.test.mjs",
|
||||
"mode": "100644",
|
||||
"gitBlob": "a580b2dc26730ab179e393ca030ba2afdf8cddf9",
|
||||
"sha256": "cb4f72afc070d86fc10c9fb410b03969341f3d7015da6ebaaec5ea1f780899ae",
|
||||
"bytes": 2056
|
||||
},
|
||||
{
|
||||
"path": "packages/cli/src/cli.mjs",
|
||||
"mode": "100644",
|
||||
"gitBlob": "7c3424b0857c4632b20092bffa518d6df5bd5177",
|
||||
"sha256": "1e663b175e18e39ff68c9ac3a65ff71fc777a6c37ebca035fce6a2783d0aaac3",
|
||||
"bytes": 38737
|
||||
},
|
||||
{
|
||||
"path": "packages/cli/src/launcher.mjs",
|
||||
"mode": "100644",
|
||||
"gitBlob": "316551a85a55515c318f7b0215313d5920d18838",
|
||||
"sha256": "0272cc7c8e2ccbca9d92e4d3a34293cedc8a9bb1ec45fed88917050bd9bdede7",
|
||||
"bytes": 68619
|
||||
},
|
||||
{
|
||||
"path": "packages/cli/src/model-proxy.mjs",
|
||||
"mode": "100644",
|
||||
"gitBlob": "079d2aa02d02a2c09fd3835d42badadd264146ca",
|
||||
"sha256": "9a043f122e1d49103bab64716d0eb80cfc09da3c91f7e2eb014b0d8ff0b02f3d",
|
||||
"bytes": 4202
|
||||
},
|
||||
{
|
||||
"path": "packages/cli/src/model-stall.mjs",
|
||||
"mode": "100644",
|
||||
"gitBlob": "db3979b0f4fe71dcd0d3432582eb89a4dff9a236",
|
||||
"sha256": "3df9770e8aae51357986a16473c96d2a3879bcd436153fa25c70f71b0ab181d7",
|
||||
"bytes": 1012
|
||||
},
|
||||
{
|
||||
"path": "packages/cli/tests/model-proxy-guards.test.mjs",
|
||||
"mode": "100644",
|
||||
"gitBlob": "5ee58f3d1b3485f7ff515f6626e5068375b4d44d",
|
||||
"sha256": "c4b14bb65b2ea10603f8dfa446ac7a2d31fea6e2f7382892beaed5d3372dd237",
|
||||
"bytes": 3016
|
||||
},
|
||||
{
|
||||
"path": "packages/cli/tests/model-stall.test.mjs",
|
||||
"mode": "100644",
|
||||
"gitBlob": "37ae415d4066470b3463046ac89836305ac601d2",
|
||||
"sha256": "655c9ec5d37e8fa0a8ba3340ec053c886072519b6d322f298654d0ba152d287f",
|
||||
"bytes": 2152
|
||||
},
|
||||
{
|
||||
"path": "packages/harness/src/first-output.mjs",
|
||||
"mode": "100644",
|
||||
"gitBlob": "c254ba2e959c601476a6b21b092b6a9f0aac9717",
|
||||
"sha256": "1ef13e5bd2ea9b166b505c46821f1649444b8fab9882531975858ce20a79f341",
|
||||
"bytes": 473
|
||||
},
|
||||
{
|
||||
"path": "packages/harness/src/runner.mjs",
|
||||
"mode": "100644",
|
||||
"gitBlob": "81bf5ae77ad91206af55fbc790292a157a848a7e",
|
||||
"sha256": "9c0a0482c877dd5eae1e2691f20d30e37a289d68cb7d4998b0418c44055ae6d1",
|
||||
"bytes": 31478
|
||||
},
|
||||
{
|
||||
"path": "packages/harness/tests/first-output.test.mjs",
|
||||
"mode": "100644",
|
||||
"gitBlob": "6a8c8310330fe46c2a51ee2b868fe0315a963091",
|
||||
"sha256": "9cf8bbac00be602675e913699cb57d625bb1cab7a2734aa39396b6b9fe308351",
|
||||
"bytes": 964
|
||||
},
|
||||
{
|
||||
"path": "packages/model-proxy/README.md",
|
||||
"mode": "100644",
|
||||
"gitBlob": "ea2c0bd62b4756341fc04c05ff32e1f77e251f5d",
|
||||
"sha256": "982d06ff27cb69a8e099802cb062e7915e6e26a8a35d698950f21f9209c6e067",
|
||||
"bytes": 4858
|
||||
},
|
||||
{
|
||||
"path": "packages/model-proxy/src/client.mjs",
|
||||
"mode": "100644",
|
||||
"gitBlob": "16433df00fa1219adc8e6e56791273e817e522f2",
|
||||
"sha256": "47120f55d91f110668d48c7fc7b7c2e1de513082bea6197ebc5073bcfea7f611",
|
||||
"bytes": 5465
|
||||
},
|
||||
{
|
||||
"path": "packages/model-proxy/src/common.mjs",
|
||||
"mode": "100644",
|
||||
"gitBlob": "9fca50f1e691ef24aaa31910d2594274f8e50a3f",
|
||||
"sha256": "3774e61fe613085bcb8d65d4094ec8be8477cd5afedcdba0ee4d653df51caa0c",
|
||||
"bytes": 2022
|
||||
},
|
||||
{
|
||||
"path": "packages/model-proxy/src/settings.mjs",
|
||||
"mode": "100644",
|
||||
"gitBlob": "8dccb1271abd03a718d9fc63d6270b5b3ae53a4b",
|
||||
"sha256": "1eac4b5741b360a077bb1c871c008b64f7c7119afc64be4d6e4a0dcdb3a313bb",
|
||||
"bytes": 5915
|
||||
},
|
||||
{
|
||||
"path": "packages/model-proxy/tests/client-probe.test.mjs",
|
||||
"mode": "100644",
|
||||
"gitBlob": "252df33d928243696afb2d8ec0922ea611269bbb",
|
||||
"sha256": "77327681d6eb51f25d7aeffcc532b7e8269c1dc59139cb03adb4a3a1409f63e9",
|
||||
"bytes": 2743
|
||||
},
|
||||
{
|
||||
"path": "packages/model-proxy/tests/p2-settings.test.mjs",
|
||||
"mode": "100644",
|
||||
"gitBlob": "28fd3a8dd9a60b3711653ec9f684c303a2df5f89",
|
||||
"sha256": "858a0d254de44acc2d8e9d57e823ab2b4c6820059d1d29d2d73270a313a557ee",
|
||||
"bytes": 1074
|
||||
},
|
||||
{
|
||||
"path": "scripts/mosaic-config.mjs",
|
||||
"mode": "100755",
|
||||
"gitBlob": "b1866a890e18491158834b21ca8f95816cc54612",
|
||||
"sha256": "55acb1965a630c079a39db740609074790310e47dc9e84f8decf5f278f102738",
|
||||
"bytes": 22360
|
||||
}
|
||||
]
|
||||
}
|
||||
@@ -1,428 +0,0 @@
|
||||
{
|
||||
"kind": "candidate-blob-manifest",
|
||||
"baseCommit": "78b69e1e68b2b8a9dc4c02564381a0792c0c7549",
|
||||
"sourceCommit": "4948ece0e5c760943128ece963a30ab20c23c615",
|
||||
"scope": "Every tracked path changed between baseCommit and sourceCommit; SHA256 pins committed blob bytes. Manifest is a later evidence artifact.",
|
||||
"files": [
|
||||
{
|
||||
"path": "BUILD-LOG.md",
|
||||
"mode": "100644",
|
||||
"gitBlob": "c3f8c6dc38d4b914bc50f51d2b181652ae4ff14f",
|
||||
"sha256": "d51871fa2d47f7f34c62a9dd9a21f2606b1f46714d4ac468dd9a1f766ad5abb3",
|
||||
"bytes": 691856
|
||||
},
|
||||
{
|
||||
"path": "agents/magica/work/queue-331/BUILD.md",
|
||||
"mode": "100644",
|
||||
"gitBlob": "ff3e5ca0250c34d2950c71bfd1061407e9fd5de6",
|
||||
"sha256": "9945d192cc435f605754e7c79d3e68f183f24e9c3a03d3b0ddfab22514b4e4d5",
|
||||
"bytes": 35910
|
||||
},
|
||||
{
|
||||
"path": "agents/magica/work/queue-331/base-overlap.json",
|
||||
"mode": "100644",
|
||||
"gitBlob": "ee07fe7f2d15e048c52178fa8fc0db8870476563",
|
||||
"sha256": "753a5c9344a611771354c463d86d878ac71be54b3fc2fbe8ade15c85528e13a8",
|
||||
"bytes": 154
|
||||
},
|
||||
{
|
||||
"path": "agents/magica/work/queue-331/candidate-r3.json",
|
||||
"mode": "100644",
|
||||
"gitBlob": "453f43a953246ae008519ce1d78633800aa4579f",
|
||||
"sha256": "e4e0353dbd88e829caf4ce3f050443bd55740e1b8af50ed90522962b81d77f37",
|
||||
"bytes": 11965
|
||||
},
|
||||
{
|
||||
"path": "agents/magica/work/queue-331/candidate-r4.json",
|
||||
"mode": "100644",
|
||||
"gitBlob": "d3961fc0f02030bba28e6857074b34a76aedfb2b",
|
||||
"sha256": "139b527420872005ea0c71df0f6c18074f8707fb5fe44bd00cb3d16c3f307973",
|
||||
"bytes": 13245
|
||||
},
|
||||
{
|
||||
"path": "agents/magica/work/queue-331/green-files.txt",
|
||||
"mode": "100644",
|
||||
"gitBlob": "88111143ae73e68df15d9f6740fab1d6e517f846",
|
||||
"sha256": "512d0c1c8823ff32a1c3308bd08950595e19ac87668fef3569be9c7aac3db674",
|
||||
"bytes": 10786
|
||||
},
|
||||
{
|
||||
"path": "agents/magica/work/queue-331/green-receipts.json",
|
||||
"mode": "100644",
|
||||
"gitBlob": "fbc6eeadc7406b6264dfb01dba7c1ad577315ffb",
|
||||
"sha256": "f086e5ecffaf5367796d41fd56b9afb32555ca2412c6b7ef21942b7d7305abb0",
|
||||
"bytes": 26951
|
||||
},
|
||||
{
|
||||
"path": "agents/magica/work/queue-331/green.sh",
|
||||
"mode": "100755",
|
||||
"gitBlob": "84dc900a8bceebc7a5a59fab743f4eecc69cef03",
|
||||
"sha256": "6daaed7bbdeb2e26218045a168f42d7cd43ec8c71020b064f2bf8658c427390d",
|
||||
"bytes": 1283
|
||||
},
|
||||
{
|
||||
"path": "agents/magica/work/queue-331/import-list.mjs",
|
||||
"mode": "100644",
|
||||
"gitBlob": "ff926c2d5ea6dcc53c2d23c86a662eb9cf3d0a92",
|
||||
"sha256": "2916015ff56c21da56def95608f6026c76bd0d5f456d9fe1ee5b813a79bc2a34",
|
||||
"bytes": 4570
|
||||
},
|
||||
{
|
||||
"path": "agents/magica/work/queue-331/import-manifest.json",
|
||||
"mode": "100644",
|
||||
"gitBlob": "dbb6644da48fb4be156ff7373b0e7000f876853b",
|
||||
"sha256": "a026f5637caf13bfac121b3fd6637e7052d1f90fa1a4114a94e59edf60344875",
|
||||
"bytes": 121509
|
||||
},
|
||||
{
|
||||
"path": "agents/magica/work/queue-331/mutants.mjs",
|
||||
"mode": "100644",
|
||||
"gitBlob": "568824f1d355a7e3b13afc78a33153f14b2d2703",
|
||||
"sha256": "9bb088485beeda99ab946fad4b8ca18bd29df487d6b5fe72240c12e73a5d803d",
|
||||
"bytes": 3569
|
||||
},
|
||||
{
|
||||
"path": "agents/magica/work/queue-331/r2-events.jsonl",
|
||||
"mode": "100644",
|
||||
"gitBlob": "172a22bcf7c0fd5625a3adfc319757a71af38dc9",
|
||||
"sha256": "52d694723f7ca07ebd313660d8deaf22937d6aede71993464060e197b3131d37",
|
||||
"bytes": 49517
|
||||
},
|
||||
{
|
||||
"path": "agents/magica/work/queue-331/r2-gate.mjs",
|
||||
"mode": "100644",
|
||||
"gitBlob": "21d8732c1c429a1ba36855d30a092d7ca3e5a650",
|
||||
"sha256": "bcd155cb5f0400c0600754433876168c4fadded01290fe8f967f9b51db9ad97c",
|
||||
"bytes": 5256
|
||||
},
|
||||
{
|
||||
"path": "agents/magica/work/queue-331/r2-receipts.json",
|
||||
"mode": "100644",
|
||||
"gitBlob": "6d53465a48763b1871bbb6782c8b3966d7001447",
|
||||
"sha256": "beb50238a5f54403eb0f9b84e3ea1fdddd087dfc1d757966defced8c2f8aea1c",
|
||||
"bytes": 47815
|
||||
},
|
||||
{
|
||||
"path": "agents/magica/work/queue-331/r3-events.jsonl",
|
||||
"mode": "100644",
|
||||
"gitBlob": "824652eab9046123510027393068e164a7abb7ce",
|
||||
"sha256": "291ff4d60a2ff136e436a74f3869b2ca9b57899ad5dbe200bec3c620d8dbbb1c",
|
||||
"bytes": 1305
|
||||
},
|
||||
{
|
||||
"path": "agents/magica/work/queue-331/r3-gate.mjs",
|
||||
"mode": "100644",
|
||||
"gitBlob": "5c2fd4762b2f89400edacd66ebe953265488c7a6",
|
||||
"sha256": "3b9f4dbb679b1f59352e7ff5c57274fa13966efc8232f06e70e73665794d4bdc",
|
||||
"bytes": 5784
|
||||
},
|
||||
{
|
||||
"path": "agents/magica/work/queue-331/r3-receipts.json",
|
||||
"mode": "100644",
|
||||
"gitBlob": "86a6216b9637e99d6bd3dc5bbc953a53fc63fd63",
|
||||
"sha256": "a70eb559a9cd394f22576375b1a8222868985bdb878bb8ac74fef009845be52c",
|
||||
"bytes": 1283
|
||||
},
|
||||
{
|
||||
"path": "agents/magica/work/queue-331/r3-summary.json",
|
||||
"mode": "100644",
|
||||
"gitBlob": "4ebf32cda3b3ab34340ed4671c4217e74063e14c",
|
||||
"sha256": "8834bc906a5c79675e063cf302fb540c8eedc3c4fdcc8f439eb3c5a6d51ac3b2",
|
||||
"bytes": 746
|
||||
},
|
||||
{
|
||||
"path": "agents/magica/work/queue-331/r4-events.jsonl",
|
||||
"mode": "100644",
|
||||
"gitBlob": "483da152ec40942eb4a4ab4e9e9d94d24d5c5d67",
|
||||
"sha256": "db59dd5f98069f65972283fe9f56281aafbe59e3c296233b33ba6ca1c5f6ee07",
|
||||
"bytes": 65897
|
||||
},
|
||||
{
|
||||
"path": "agents/magica/work/queue-331/r4-gate.mjs",
|
||||
"mode": "100644",
|
||||
"gitBlob": "f3bb5f3f56aa54d94cae5e7f98b51cef21f0351a",
|
||||
"sha256": "5230125cfff5a87e9008b26c4be9a03dadbc1fd1ab9865f569e034a8ca740a98",
|
||||
"bytes": 5811
|
||||
},
|
||||
{
|
||||
"path": "agents/magica/work/queue-331/r4-receipts.json",
|
||||
"mode": "100644",
|
||||
"gitBlob": "2a3392e548ff7dea51749c86d142b15018a0c2b4",
|
||||
"sha256": "2caf9296c8357ca0753a14f7169d2ae6dd71a967ab34eddb5a8d3ce5a658676c",
|
||||
"bytes": 63777
|
||||
},
|
||||
{
|
||||
"path": "agents/magica/work/queue-331/r4-summary.md",
|
||||
"mode": "100644",
|
||||
"gitBlob": "0b7616039c9fb5c6dc559c4dbea36c6642d15c06",
|
||||
"sha256": "cfd763d82a06b0a893662469c5fcbe17604927592bf66a17d8c08182bdf9d72e",
|
||||
"bytes": 1367
|
||||
},
|
||||
{
|
||||
"path": "agents/magica/work/queue-331/r5-focused-files.txt",
|
||||
"mode": "100644",
|
||||
"gitBlob": "cb380502e4cc165ce6cde72a3d1ad6a9dd08dcc0",
|
||||
"sha256": "2e19975256cda4da7291f76d33aeed925b8229feb0718d5c53426cae8514fe6b",
|
||||
"bytes": 714
|
||||
},
|
||||
{
|
||||
"path": "agents/magica/work/queue-331/red-bus-proxy.log",
|
||||
"mode": "100644",
|
||||
"gitBlob": "170e337e038bf80536e75b109dd6905ac59a1cf3",
|
||||
"sha256": "b8eacf3c025c63289702a8a2a5630f694f74e9cc8f02dfa04b983e22f40466ae",
|
||||
"bytes": 6208
|
||||
},
|
||||
{
|
||||
"path": "agents/magica/work/queue-331/red-cli-guards.log",
|
||||
"mode": "100644",
|
||||
"gitBlob": "56ee8e14a9fa7a7fe47f06789e972b8e2041bba4",
|
||||
"sha256": "9645a7c408249ecbacbfaa7d631a5b98c380916a2aa37985061b27a6ed05e1b0",
|
||||
"bytes": 6223
|
||||
},
|
||||
{
|
||||
"path": "agents/magica/work/queue-331/red-client-probe.log",
|
||||
"mode": "100644",
|
||||
"gitBlob": "8fdc9ecc8764a802fc5955c5ca03f8e96691cf38",
|
||||
"sha256": "e72318cbbc3fb0803770e4bb8e8ded9725fb4c4ebee6ea4bec365bceaa68250a",
|
||||
"bytes": 5579
|
||||
},
|
||||
{
|
||||
"path": "agents/magica/work/queue-331/red-model-store.log",
|
||||
"mode": "100644",
|
||||
"gitBlob": "b49b35bd745cb191baa8586ab0f86d088ba2a173",
|
||||
"sha256": "1797d611f72f417612e6b7b24f3119ae0f079dc0b9a12acba087ab5c8b2cec59",
|
||||
"bytes": 4453
|
||||
},
|
||||
{
|
||||
"path": "agents/magica/work/queue-331/red-tmpdir.txt",
|
||||
"mode": "100644",
|
||||
"gitBlob": "9075a58959c6ce812f5a6548a990caa20c7ac51f",
|
||||
"sha256": "af65e1bb7a9e02d52d2635901b66b6ef4de40ade6a806a092228b7d5f87f35f2",
|
||||
"bytes": 32
|
||||
},
|
||||
{
|
||||
"path": "docs/SESSIONS.md",
|
||||
"mode": "100644",
|
||||
"gitBlob": "58478c2355fec458887cb8d4b536bca2a8b74ce6",
|
||||
"sha256": "e250f499763428c6ddb6521512425803d43ad6872071d7d5e25ec80e8ddf692f",
|
||||
"bytes": 590177
|
||||
},
|
||||
{
|
||||
"path": "docs/plans/DEFERRED.md",
|
||||
"mode": "100644",
|
||||
"gitBlob": "16c862ba6c37f42fc0fb469dc5b788a7ceb74119",
|
||||
"sha256": "667b60c9935528aee1c489aaaf284222bab6af1b579e1f8f2fdec4dcb7d7a0f6",
|
||||
"bytes": 59838
|
||||
},
|
||||
{
|
||||
"path": "packages/bus/src/broker.mjs",
|
||||
"mode": "100644",
|
||||
"gitBlob": "94b37966a762a8aceecd2ad0f31fad4baced4965",
|
||||
"sha256": "eafd7e4b7a0d32b7522fa17e1424db088efedc69777b2ed914e98d07a9ffb6a5",
|
||||
"bytes": 406827
|
||||
},
|
||||
{
|
||||
"path": "packages/bus/src/credentials.mjs",
|
||||
"mode": "100644",
|
||||
"gitBlob": "85dfbb11b7ed43bddc224f15b35df4941e7d0c15",
|
||||
"sha256": "1c27b306be4b1d9a3b163b940cf4d9ca0badd62812ed7c78670865a846cad0bd",
|
||||
"bytes": 25161
|
||||
},
|
||||
{
|
||||
"path": "packages/bus/src/model-keys.mjs",
|
||||
"mode": "100644",
|
||||
"gitBlob": "f00e33796110475f90f729c6cfd7a6592da5830b",
|
||||
"sha256": "ad5b37f3078f60299f1f629f4da1a75e934f90bc352e4be56e31cd4c2a1d8c65",
|
||||
"bytes": 13895
|
||||
},
|
||||
{
|
||||
"path": "packages/bus/src/process.mjs",
|
||||
"mode": "100644",
|
||||
"gitBlob": "8cafbcdf37ae8d9b62a40a55d42b8348b3d910b7",
|
||||
"sha256": "3d429ef05c2f869c8782273563fe13b0f02701832349f268634d3ba53a316285",
|
||||
"bytes": 7059
|
||||
},
|
||||
{
|
||||
"path": "packages/bus/src/runtime.mjs",
|
||||
"mode": "100644",
|
||||
"gitBlob": "1a039cc568cd6f2752fde0030bb857ede093e40f",
|
||||
"sha256": "50f279fa4b4ffbe58faedcad3035e7e0dda905ea4046a92a2c1c96417597712b",
|
||||
"bytes": 48134
|
||||
},
|
||||
{
|
||||
"path": "packages/bus/tests/model-credential-store.test.mjs",
|
||||
"mode": "100644",
|
||||
"gitBlob": "e319400d3291ccd5801e190054d7f4030818ec45",
|
||||
"sha256": "9a5f913845e2a987b4fe2fcc191b0d207696c1271455609aafc6c804906559bf",
|
||||
"bytes": 4790
|
||||
},
|
||||
{
|
||||
"path": "packages/bus/tests/model-keys.test.mjs",
|
||||
"mode": "100644",
|
||||
"gitBlob": "fd2a6c5d5448d9513e9102a1da14deb99327a641",
|
||||
"sha256": "6986c8e290749b9f8f861c8c8d1b39f610131142482842e4834e3c6d48772040",
|
||||
"bytes": 21117
|
||||
},
|
||||
{
|
||||
"path": "packages/bus/tests/model-proxy.test.mjs",
|
||||
"mode": "100644",
|
||||
"gitBlob": "e4fd74beee011ff5a9eeb599a7b4e98c4abac2ac",
|
||||
"sha256": "adcc349357f4ac89956a6bc503af5730b03bfff1ffff20fb07bcdb4d247cbd72",
|
||||
"bytes": 5206
|
||||
},
|
||||
{
|
||||
"path": "packages/bus/tests/model-stop.test.mjs",
|
||||
"mode": "100644",
|
||||
"gitBlob": "a580b2dc26730ab179e393ca030ba2afdf8cddf9",
|
||||
"sha256": "cb4f72afc070d86fc10c9fb410b03969341f3d7015da6ebaaec5ea1f780899ae",
|
||||
"bytes": 2056
|
||||
},
|
||||
{
|
||||
"path": "packages/bus/tests/project-runtime.test.mjs",
|
||||
"mode": "100644",
|
||||
"gitBlob": "fe8622be13c94eb47ffb91d5c303d73bd0f45fd4",
|
||||
"sha256": "f13554e08d7390455075f085dbe2cb2f9e39e678a6513e32cb41b4ba1817e276",
|
||||
"bytes": 5661
|
||||
},
|
||||
{
|
||||
"path": "packages/cli/src/cli.mjs",
|
||||
"mode": "100644",
|
||||
"gitBlob": "7c3424b0857c4632b20092bffa518d6df5bd5177",
|
||||
"sha256": "1e663b175e18e39ff68c9ac3a65ff71fc777a6c37ebca035fce6a2783d0aaac3",
|
||||
"bytes": 38737
|
||||
},
|
||||
{
|
||||
"path": "packages/cli/src/launcher.mjs",
|
||||
"mode": "100644",
|
||||
"gitBlob": "316551a85a55515c318f7b0215313d5920d18838",
|
||||
"sha256": "0272cc7c8e2ccbca9d92e4d3a34293cedc8a9bb1ec45fed88917050bd9bdede7",
|
||||
"bytes": 68619
|
||||
},
|
||||
{
|
||||
"path": "packages/cli/src/model-proxy.mjs",
|
||||
"mode": "100644",
|
||||
"gitBlob": "079d2aa02d02a2c09fd3835d42badadd264146ca",
|
||||
"sha256": "9a043f122e1d49103bab64716d0eb80cfc09da3c91f7e2eb014b0d8ff0b02f3d",
|
||||
"bytes": 4202
|
||||
},
|
||||
{
|
||||
"path": "packages/cli/src/model-stall.mjs",
|
||||
"mode": "100644",
|
||||
"gitBlob": "db3979b0f4fe71dcd0d3432582eb89a4dff9a236",
|
||||
"sha256": "3df9770e8aae51357986a16473c96d2a3879bcd436153fa25c70f71b0ab181d7",
|
||||
"bytes": 1012
|
||||
},
|
||||
{
|
||||
"path": "packages/cli/tests/model-proxy-guards.test.mjs",
|
||||
"mode": "100644",
|
||||
"gitBlob": "5ee58f3d1b3485f7ff515f6626e5068375b4d44d",
|
||||
"sha256": "c4b14bb65b2ea10603f8dfa446ac7a2d31fea6e2f7382892beaed5d3372dd237",
|
||||
"bytes": 3016
|
||||
},
|
||||
{
|
||||
"path": "packages/cli/tests/model-stall.test.mjs",
|
||||
"mode": "100644",
|
||||
"gitBlob": "37ae415d4066470b3463046ac89836305ac601d2",
|
||||
"sha256": "655c9ec5d37e8fa0a8ba3340ec053c886072519b6d322f298654d0ba152d287f",
|
||||
"bytes": 2152
|
||||
},
|
||||
{
|
||||
"path": "packages/harness/src/first-output.mjs",
|
||||
"mode": "100644",
|
||||
"gitBlob": "c254ba2e959c601476a6b21b092b6a9f0aac9717",
|
||||
"sha256": "1ef13e5bd2ea9b166b505c46821f1649444b8fab9882531975858ce20a79f341",
|
||||
"bytes": 473
|
||||
},
|
||||
{
|
||||
"path": "packages/harness/src/runner.mjs",
|
||||
"mode": "100644",
|
||||
"gitBlob": "81bf5ae77ad91206af55fbc790292a157a848a7e",
|
||||
"sha256": "9c0a0482c877dd5eae1e2691f20d30e37a289d68cb7d4998b0418c44055ae6d1",
|
||||
"bytes": 31478
|
||||
},
|
||||
{
|
||||
"path": "packages/harness/tests/first-output.test.mjs",
|
||||
"mode": "100644",
|
||||
"gitBlob": "6a8c8310330fe46c2a51ee2b868fe0315a963091",
|
||||
"sha256": "9cf8bbac00be602675e913699cb57d625bb1cab7a2734aa39396b6b9fe308351",
|
||||
"bytes": 964
|
||||
},
|
||||
{
|
||||
"path": "packages/model-proxy/README.md",
|
||||
"mode": "100644",
|
||||
"gitBlob": "ea2c0bd62b4756341fc04c05ff32e1f77e251f5d",
|
||||
"sha256": "982d06ff27cb69a8e099802cb062e7915e6e26a8a35d698950f21f9209c6e067",
|
||||
"bytes": 4858
|
||||
},
|
||||
{
|
||||
"path": "packages/model-proxy/src/client.mjs",
|
||||
"mode": "100644",
|
||||
"gitBlob": "16433df00fa1219adc8e6e56791273e817e522f2",
|
||||
"sha256": "47120f55d91f110668d48c7fc7b7c2e1de513082bea6197ebc5073bcfea7f611",
|
||||
"bytes": 5465
|
||||
},
|
||||
{
|
||||
"path": "packages/model-proxy/src/common.mjs",
|
||||
"mode": "100644",
|
||||
"gitBlob": "1a733d237f115a001c41367340bac7084e441714",
|
||||
"sha256": "a6fb88352018b8f21593a0bb9311f87162c80d8b1e05e62b4d43b1e69af21b23",
|
||||
"bytes": 1287
|
||||
},
|
||||
{
|
||||
"path": "packages/model-proxy/src/settings.mjs",
|
||||
"mode": "100644",
|
||||
"gitBlob": "8dccb1271abd03a718d9fc63d6270b5b3ae53a4b",
|
||||
"sha256": "1eac4b5741b360a077bb1c871c008b64f7c7119afc64be4d6e4a0dcdb3a313bb",
|
||||
"bytes": 5915
|
||||
},
|
||||
{
|
||||
"path": "packages/model-proxy/src/validation.mjs",
|
||||
"mode": "100644",
|
||||
"gitBlob": "be83e2954366f63f10f92d384f6fd6b9fc617641",
|
||||
"sha256": "e66453cf6662677cf28cbad1ae8f7509917d333e5b80404ab02c53f5cf75e9e1",
|
||||
"bytes": 887
|
||||
},
|
||||
{
|
||||
"path": "packages/model-proxy/tests/client-probe.test.mjs",
|
||||
"mode": "100644",
|
||||
"gitBlob": "252df33d928243696afb2d8ec0922ea611269bbb",
|
||||
"sha256": "77327681d6eb51f25d7aeffcc532b7e8269c1dc59139cb03adb4a3a1409f63e9",
|
||||
"bytes": 2743
|
||||
},
|
||||
{
|
||||
"path": "packages/model-proxy/tests/p2-settings.test.mjs",
|
||||
"mode": "100644",
|
||||
"gitBlob": "28fd3a8dd9a60b3711653ec9f684c303a2df5f89",
|
||||
"sha256": "858a0d254de44acc2d8e9d57e823ab2b4c6820059d1d29d2d73270a313a557ee",
|
||||
"bytes": 1074
|
||||
},
|
||||
{
|
||||
"path": "packages/model-proxy/tests/validation.test.mjs",
|
||||
"mode": "100644",
|
||||
"gitBlob": "d104f98eae10fda3598a017a7087c9ae587bd000",
|
||||
"sha256": "e0a79c3cc9b0e1a0d542f28539ce1e6c9f7239efab2ddbcbc0ee4651e85014cd",
|
||||
"bytes": 2776
|
||||
},
|
||||
{
|
||||
"path": "packages/seat/src/sandbox.mjs",
|
||||
"mode": "100644",
|
||||
"gitBlob": "ed4550c6e7b52e00b4302a94b24cf4242cd8797e",
|
||||
"sha256": "a203f7bb2735e4abeb0758c7719022545696b35f00d7943144b73aa892091807",
|
||||
"bytes": 10764
|
||||
},
|
||||
{
|
||||
"path": "packages/seat/tests/sandbox.test.mjs",
|
||||
"mode": "100644",
|
||||
"gitBlob": "df42bacdda9fac12b7dbbde627d99204c9452efe",
|
||||
"sha256": "0def1344345fe5fd719b8548ddc115d1ba581577294179a3996cb6f39dd5088a",
|
||||
"bytes": 23701
|
||||
},
|
||||
{
|
||||
"path": "scripts/mosaic-config.mjs",
|
||||
"mode": "100755",
|
||||
"gitBlob": "b1866a890e18491158834b21ca8f95816cc54612",
|
||||
"sha256": "55acb1965a630c079a39db740609074790310e47dc9e84f8decf5f278f102738",
|
||||
"bytes": 22360
|
||||
}
|
||||
]
|
||||
}
|
||||
@@ -1,29 +0,0 @@
|
||||
--- a/docs/plans/2026-10-24_stack-model-proxy.md
|
||||
+++ b/docs/plans/2026-10-24_stack-model-proxy.md
|
||||
@@ -249,8 +249,11 @@
|
||||
`GET /v1/models`. The build row confirms on the stand-in that this is answered locally with no upstream call. A
|
||||
401 refuses the launch with `proxy-key-refused`. A connection failure refuses with `proxy-down`. Neither starts a
|
||||
session, so a revoked key never reaches Claude Code's silent retry. A key that is revoked mid-session is
|
||||
-revoked by the stack, which stops that session first (D14). A session with no output for
|
||||
-`proxy.firstOutputSeconds` (default 120) is stopped and logged as `proxy-stall`.
|
||||
+revoked by the stack, which stops that session first (D14). Idle time before the first actual
|
||||
+adapter/model turn does not arm the first-output clock. The first actual turn arms one initial
|
||||
+`proxy.firstOutputSeconds` budget (default 120) for that run. Later turns never reset or extend it.
|
||||
+First output cancels that run's watcher; a first actual turn still silent when the budget expires
|
||||
+is stopped through the existing trusted path and logged as `proxy-stall`.
|
||||
|
||||
## 7. Usage and limits
|
||||
|
||||
--- a/docs/plans/2026-10-24_model-proxy-rows.md
|
||||
+++ b/docs/plans/2026-10-24_model-proxy-rows.md
|
||||
@@ -216,7 +216,9 @@
|
||||
how the code relies on that.
|
||||
6. **Preflight (D17).** Before each launch in proxy mode, the bus sends one `GET /v1/models` with the agent's
|
||||
key. A 401 refuses `proxy-key-refused`, and a connection failure refuses `proxy-down`. A session with no
|
||||
- output for `proxy.firstOutputSeconds` (default 120) is stopped and logged as `proxy-stall`.
|
||||
+ output during the one initial `proxy.firstOutputSeconds` budget (default 120), armed by its first
|
||||
+ actual adapter/model turn, is stopped and logged as `proxy-stall`. Idle time before that turn is
|
||||
+ unarmed; later turns do not reset or extend the budget; first output cancels the watcher.
|
||||
7. If P1 found that a client key can be limited to some models, narrow each agent's key to its role's
|
||||
models. If it can't, say so in BUILD.md. The bundle's model choice stays the guard.
|
||||
|
||||
@@ -1,252 +0,0 @@
|
||||
diff --git a/docs/plans/2026-10-24_model-proxy-rows.md b/docs/plans/2026-10-24_model-proxy-rows.md
|
||||
index fd4325c05..f6329f41d 100644
|
||||
--- a/docs/plans/2026-10-24_model-proxy-rows.md
|
||||
+++ b/docs/plans/2026-10-24_model-proxy-rows.md
|
||||
@@ -216,7 +216,10 @@ delists the agent, and no session starts on a key the proxy refuses.
|
||||
how the code relies on that.
|
||||
6. **Preflight (D17).** Before each launch in proxy mode, the bus sends one `GET /v1/models` with the agent's
|
||||
key. A 401 refuses `proxy-key-refused`, and a connection failure refuses `proxy-down`. A session with no
|
||||
- output for `proxy.firstOutputSeconds` (default 120) is stopped and logged as `proxy-stall`.
|
||||
+ output during the one initial `proxy.firstOutputSeconds` budget (default 120), armed by successful
|
||||
+ first actual adapter-child spawn, is stopped and logged as `proxy-stall`. Idle before then is
|
||||
+ unarmed; later turns do not reset or extend it; first output cancels. Invalid first-turn metadata
|
||||
+ uses the same existing stop and value-free receipt once, unless output already cancelled it.
|
||||
7. If P1 found that a client key can be limited to some models, narrow each agent's key to its role's
|
||||
models. If it can't, say so in BUILD.md. The bundle's model choice stays the guard.
|
||||
|
||||
diff --git a/docs/plans/2026-10-24_stack-model-proxy.md b/docs/plans/2026-10-24_stack-model-proxy.md
|
||||
index 5f2679e98..29b1057e1 100644
|
||||
--- a/docs/plans/2026-10-24_stack-model-proxy.md
|
||||
+++ b/docs/plans/2026-10-24_stack-model-proxy.md
|
||||
@@ -249,8 +249,13 @@ D17. **Key and proxy preflight.** Before a launch in proxy mode, the bus makes o
|
||||
`GET /v1/models`. The build row confirms on the stand-in that this is answered locally with no upstream call. A
|
||||
401 refuses the launch with `proxy-key-refused`. A connection failure refuses with `proxy-down`. Neither starts a
|
||||
session, so a revoked key never reaches Claude Code's silent retry. A key that is revoked mid-session is
|
||||
-revoked by the stack, which stops that session first (D14). A session with no output for
|
||||
-`proxy.firstOutputSeconds` (default 120) is stopped and logged as `proxy-stall`.
|
||||
+revoked by the stack, which stops that session first (D14). Idle before the first actual adapter turn
|
||||
+is unarmed. The successful adapter-child spawn arms one initial `proxy.firstOutputSeconds` budget
|
||||
+(default 120) per proxy run; later turns never reset or extend it and first output cancels it. A turn
|
||||
+still silent when that budget expires is stopped through the existing trusted path and logged as
|
||||
+`proxy-stall`. Invalid first-turn metadata also uses that same stop and value-free receipt once,
|
||||
+unless first output already cancelled the watcher. The internal timestamp protocol uses the current
|
||||
+Linux host/runner shared monotonic clock; a confined timestamp-bound check is required verification.
|
||||
|
||||
## 7. Usage and limits
|
||||
|
||||
diff --git a/packages/cli/src/launcher.mjs b/packages/cli/src/launcher.mjs
|
||||
index a9a59205c..2052d1a51 100644
|
||||
--- a/packages/cli/src/launcher.mjs
|
||||
+++ b/packages/cli/src/launcher.mjs
|
||||
@@ -515,6 +515,9 @@ export function createLauncher({
|
||||
catch (error) { throw new Refusal(error.code ?? 'proxy-down', error.code ?? 'proxy-down'); }
|
||||
if (!proxy || typeof proxy.key !== 'string' || proxy.baseUrl !== `http://127.0.0.1:${system.proxy.port}`) throw new Refusal('proxy-down', 'proxy-down');
|
||||
modelKeyId = createHash('sha256').update(proxy.key).digest('hex').slice(0, 12);
|
||||
+ // Internal opt-in only: no session.json, user environment or config field.
|
||||
+ try { writeFileSync(join(runDir, 'proxy-first-turn-enabled'), 'enabled\n', { flag: 'wx', mode: 0o600 }); }
|
||||
+ catch { throw new Refusal('launch-failed', 'first-turn protocol setup failed'); }
|
||||
}
|
||||
const sessionDir = store ? store.session : join(runDir, "session");
|
||||
if (!store) mkdirSync(sessionDir, { mode: 0o700 });
|
||||
@@ -645,7 +648,7 @@ export function createLauncher({
|
||||
throw new Refusal("launch-failed", e.message);
|
||||
}
|
||||
children.set(run, exited);
|
||||
- const outputWatch = proxy ? watchModelOutput({ runDir, keyId: modelKeyId, seconds: system.proxy.firstOutputSeconds ?? 120,
|
||||
+ const outputWatch = proxy ? watchModelOutput({ runDir, armAtFirstTurn: true, keyId: modelKeyId, seconds: system.proxy.firstOutputSeconds ?? 120,
|
||||
stop: () => host.op({ op: 'modelStall', business: b.id, role: instance, run, keyId: modelKeyId }), receipt: record }) : null;
|
||||
exited.then(async ({ code, signal }) => {
|
||||
outputWatch?.cancel();
|
||||
diff --git a/packages/cli/src/model-stall.mjs b/packages/cli/src/model-stall.mjs
|
||||
index db3979b0f..2e57cbb9b 100644
|
||||
--- a/packages/cli/src/model-stall.mjs
|
||||
+++ b/packages/cli/src/model-stall.mjs
|
||||
@@ -1,15 +1,40 @@
|
||||
-import { existsSync } from 'node:fs';
|
||||
+import { existsSync, openSync, fstatSync, readSync, closeSync, constants } from 'node:fs';
|
||||
import { join } from 'node:path';
|
||||
-// Observe existence only. Harness stdout and credentials never enter this watcher.
|
||||
-export function watchModelOutput({ runDir, seconds = 120, keyId, stop, receipt }) {
|
||||
+// A first-turn timestamp is protocol metadata only, never output or a credential.
|
||||
+function firstTurn(runDir) {
|
||||
+ let fd;
|
||||
+ try {
|
||||
+ fd = openSync(join(runDir, 'proxy-first-turn'), constants.O_RDONLY | constants.O_NOFOLLOW | constants.O_NONBLOCK);
|
||||
+ const stat = fstatSync(fd);
|
||||
+ if (!stat.isFile() || (stat.mode & 0o777) !== 0o600 || stat.uid !== process.getuid() || stat.size > 64) return 0n;
|
||||
+ const bytes = Buffer.alloc(64), size = readSync(fd, bytes, 0, bytes.length, 0);
|
||||
+ if (bytes.subarray(0, size).some(byte => byte > 127)) return 0n;
|
||||
+ const match = /^turn ([1-9][0-9]{0,23})\n$/.exec(bytes.subarray(0, size).toString('ascii'));
|
||||
+ if (!match || match[0].length !== size || size !== stat.size) return 0n;
|
||||
+ const stamp = BigInt(match[1]);
|
||||
+ return stamp > 0n && stamp <= process.hrtime.bigint() ? stamp : 0n;
|
||||
+ } catch (error) { return error.code === 'ENOENT' ? null : 0n; }
|
||||
+ finally { if (fd !== undefined) { try { closeSync(fd); } catch { return 0n; } } }
|
||||
+}
|
||||
+// Legacy utility callers retain their explicit construction-time budget. Managed
|
||||
+// proxy sessions opt into first-actual-turn arming in the launcher.
|
||||
+export function watchModelOutput({ runDir, seconds = 120, keyId, stop, receipt, armAtFirstTurn = false }) {
|
||||
let timer, settled = false, finish;
|
||||
const done = new Promise(resolve => { finish = resolve; });
|
||||
const cancel = () => { if (settled) return; settled = true; clearTimeout(timer); finish(); };
|
||||
- const deadline = performance.now() + seconds * 1000;
|
||||
+ const budget = BigInt(Math.ceil(seconds * 1e9));
|
||||
+ let deadline = armAtFirstTurn ? null : process.hrtime.bigint() + budget;
|
||||
const tick = async () => {
|
||||
if (settled) return;
|
||||
if (existsSync(join(runDir, 'proxy-first-output'))) { cancel(); return; }
|
||||
- const left = deadline - performance.now();
|
||||
+ if (deadline === null) {
|
||||
+ const first = firstTurn(runDir);
|
||||
+ if (first === null) { timer = setTimeout(tick, 1000); return; }
|
||||
+ // Invalid protocol metadata fails closed through the same trusted stop;
|
||||
+ // it cannot grant an idle session an indefinite or extended budget.
|
||||
+ deadline = first === 0n ? 0n : first + budget;
|
||||
+ }
|
||||
+ const left = Number(deadline - process.hrtime.bigint()) / 1e6;
|
||||
if (left > 0) { timer = setTimeout(tick, Math.min(1000, left)); return; }
|
||||
try { await stop(); receipt({ action: 'proxy-stall', keyIds: [keyId] }); }
|
||||
catch { receipt({ action: 'proxy-stall', code: 'proxy-stop-failed', keyIds: [keyId] }); }
|
||||
diff --git a/packages/harness/src/first-output.mjs b/packages/harness/src/first-output.mjs
|
||||
index c254ba2e9..db3b19cee 100644
|
||||
--- a/packages/harness/src/first-output.mjs
|
||||
+++ b/packages/harness/src/first-output.mjs
|
||||
@@ -1,4 +1,4 @@
|
||||
-import { writeFileSync } from 'node:fs';
|
||||
+import { writeFileSync, openSync, closeSync, linkSync, unlinkSync } from 'node:fs';
|
||||
import { join } from 'node:path';
|
||||
// The host needs an output-exists signal, never the output or a model credential.
|
||||
export function firstOutputMarker(runDir) {
|
||||
@@ -10,3 +10,23 @@ export function firstOutputMarker(runDir) {
|
||||
seen = true;
|
||||
};
|
||||
}
|
||||
+
|
||||
+// Publish only a fixed time record inside the existing writable run directory.
|
||||
+export function firstTurnMarker(runDir) {
|
||||
+ return () => {
|
||||
+ const stamp = process.hrtime.bigint();
|
||||
+ const temporary = join(runDir, `.proxy-first-turn-${process.pid}-${stamp}`);
|
||||
+ let fd, owned = false, failed = false;
|
||||
+ try {
|
||||
+ fd = openSync(temporary, 'wx', 0o600); owned = true;
|
||||
+ writeFileSync(fd, `turn ${stamp}\n`);
|
||||
+ try { linkSync(temporary, join(runDir, 'proxy-first-turn')); }
|
||||
+ catch (error) { if (error.code !== 'EEXIST') throw error; }
|
||||
+ } catch { failed = true; }
|
||||
+ finally {
|
||||
+ if (fd !== undefined) { try { closeSync(fd); } catch { failed = true; } }
|
||||
+ if (owned) { try { unlinkSync(temporary); } catch { failed = true; } }
|
||||
+ }
|
||||
+ if (failed) throw new Error('first-turn marker publication failed');
|
||||
+ };
|
||||
+}
|
||||
diff --git a/packages/harness/src/runner.mjs b/packages/harness/src/runner.mjs
|
||||
index 81bf5ae77..575ae66a9 100644
|
||||
--- a/packages/harness/src/runner.mjs
|
||||
+++ b/packages/harness/src/runner.mjs
|
||||
@@ -38,7 +38,7 @@ import { createServer, connect } from "node:net";
|
||||
import { join } from "node:path";
|
||||
import { pathToFileURL } from "node:url";
|
||||
import { Client } from "../../bus/src/client.mjs";
|
||||
-import { firstOutputMarker } from './first-output.mjs';
|
||||
+import { firstOutputMarker, firstTurnMarker } from './first-output.mjs';
|
||||
import { GUARD_CODES, FIXED_TEXTS } from "../../library/src/reply-protocol.mjs";
|
||||
import { fetchReview, landWork, pushWorking } from "./git-tools.mjs";
|
||||
|
||||
@@ -352,7 +352,7 @@ function runTurn({ session, request, n, env, onChild }) {
|
||||
if (out.length < 4 * BODY_MAX) out += s;
|
||||
});
|
||||
return new Promise((resolve) => {
|
||||
- let timedOut = false;
|
||||
+ let timedOut = false, markerFailed = false, markerKill;
|
||||
const kill = (signal) => {
|
||||
try {
|
||||
process.kill(-child.pid, signal);
|
||||
@@ -363,15 +363,28 @@ function runTurn({ session, request, n, env, onChild }) {
|
||||
kill("SIGTERM");
|
||||
setTimeout(() => kill("SIGKILL"), 5000).unref();
|
||||
}, session.turnTimeout * 1000);
|
||||
+ if (session.proxyFirstTurn) child.once("spawn", () => {
|
||||
+ try { firstTurnMarker(session.runDir)(); }
|
||||
+ catch {
|
||||
+ markerFailed = true;
|
||||
+ clearTimeout(clock);
|
||||
+ kill("SIGTERM");
|
||||
+ markerKill = setTimeout(() => kill("SIGKILL"), 5000).unref();
|
||||
+ }
|
||||
+ });
|
||||
child.on("error", (e) => {
|
||||
+ if (markerFailed) return; // wait for close/reap, never resolve early
|
||||
+
|
||||
clearTimeout(clock);
|
||||
onChild(null);
|
||||
resolve({ ok: false, reason: `adapter didn't start: ${e.code ?? e.message}` });
|
||||
});
|
||||
child.on("close", (code, signal) => {
|
||||
clearTimeout(clock);
|
||||
+ clearTimeout(markerKill);
|
||||
kill("SIGKILL");
|
||||
onChild(null);
|
||||
+ if (markerFailed) return resolve({ ok: false, markerFailed: true, reason: "first-turn marker publication failed" });
|
||||
if (timedOut) return resolve({ ok: false, reason: `turn passed its ${session.turnTimeout} s wall clock` });
|
||||
if (code !== 0) return resolve({ ok: false, reason: signal ? `adapter killed by ${signal}` : `adapter exited ${code}` });
|
||||
// A "marker" harness (row 65: the module's turnEnd()) writes the marker when its turn ends.
|
||||
@@ -434,7 +447,8 @@ export async function main(runDir, { stdin = process.stdin, env = process.env, l
|
||||
|
||||
let session, cap, policy;
|
||||
try {
|
||||
- session = { ...DEFAULTS, ...JSON.parse(readFileSync(join(runDir, "session.json"), "utf8")), runDir };
|
||||
+ session = { ...DEFAULTS, ...JSON.parse(readFileSync(join(runDir, "session.json"), "utf8")), runDir,
|
||||
+ proxyFirstTurn: existsSync(join(runDir, "proxy-first-turn-enabled")) };
|
||||
cap = JSON.parse(await readLine(stdin)).cap;
|
||||
if (typeof cap !== "string" || !/^[0-9a-f]{64}$/.test(cap)) throw new Error("no capability on stdin");
|
||||
policy = JSON.parse(readFileSync(session.bundle.policy, "utf8"));
|
||||
@@ -519,7 +533,13 @@ export async function main(runDir, { stdin = process.stdin, env = process.env, l
|
||||
// Row 156 (#1651): the landing turns, before any message. Each reads the state as a message turn
|
||||
// does and is bracketed by usage with the decision id as its turn; it sends nothing and marks
|
||||
// nothing read. The turn counter is shared with message turns.
|
||||
- let gone = false;
|
||||
+ let gone = false, markerFailure = false;
|
||||
+ const failedMarker = turn => {
|
||||
+ if (!turn.markerFailed) return false;
|
||||
+ markerFailure = true; code = EXIT.usage;
|
||||
+ log("runner: first-turn marker publication failed");
|
||||
+ return true;
|
||||
+ };
|
||||
for (const e of session.landing ?? []) {
|
||||
if (stopping) break;
|
||||
let block;
|
||||
@@ -541,6 +561,7 @@ export async function main(runDir, { stdin = process.stdin, env = process.env, l
|
||||
unslop.read();
|
||||
try { await client.call("usage.end", { turn: e.decision }); }
|
||||
catch (err) { log(`runner: usage outcome unavailable: ${err.code ?? "failed"}`); }
|
||||
+ if (failedMarker(turn)) { gone = true; break; }
|
||||
log(`runner: landing turn ${n} for decision ${e.decision} (${e.task_ref}): ${turn.ok ? "ok" : `failed: ${turn.reason}`}`);
|
||||
}
|
||||
loop: while (!stopping && !gone) {
|
||||
@@ -583,6 +604,7 @@ export async function main(runDir, { stdin = process.stdin, env = process.env, l
|
||||
// A failed/stopped harness can still have used tokens. Missing data remains unknown.
|
||||
try { await client.call("usage.end", { turn: m.id }); }
|
||||
catch (e) { log(`runner: usage outcome unavailable: ${e.code ?? "failed"}`); }
|
||||
+ if (failedMarker(turn)) break loop;
|
||||
if (stopping) break loop;
|
||||
if (!turn.ok) log(`runner: turn ${n} for message ${m.id} failed: ${turn.reason}`);
|
||||
try {
|
||||
@@ -631,6 +653,7 @@ export async function main(runDir, { stdin = process.stdin, env = process.env, l
|
||||
unslop.read();
|
||||
try { await client.call("usage.end", { turn: `${m.id}:retry` }); }
|
||||
catch (e) { log(`runner: usage outcome unavailable: ${e.code ?? "failed"}`); }
|
||||
+ if (failedMarker(retry)) break loop;
|
||||
if (stopping) break loop;
|
||||
if (!retry.ok) log(`runner: retry turn ${n} for message ${m.id} failed: ${retry.reason}`);
|
||||
try { await send(retry); }
|
||||
@@ -653,7 +676,7 @@ export async function main(runDir, { stdin = process.stdin, env = process.env, l
|
||||
}
|
||||
server.close();
|
||||
rmSync(session.toolSocket, { force: true });
|
||||
- if (code === EXIT.stopped && !released) {
|
||||
+ if ((code === EXIT.stopped || markerFailure) && !released) {
|
||||
try {
|
||||
await client.call("role.release");
|
||||
} catch (e) {
|
||||
@@ -1,56 +0,0 @@
|
||||
[
|
||||
{
|
||||
"path": "packages/cli/src/model-stall.mjs",
|
||||
"baseline6dSha256": "3df9770e8aae51357986a16473c96d2a3879bcd436153fa25c70f71b0ab181d7",
|
||||
"currentSha256": "0bdc91dcaa096bd3dc9d08a1dea59893a21f6505c843e698ad9c8daa4b74364b",
|
||||
"changedByExactClock": true
|
||||
},
|
||||
{
|
||||
"path": "packages/harness/src/first-output.mjs",
|
||||
"baseline6dSha256": "1ef13e5bd2ea9b166b505c46821f1649444b8fab9882531975858ce20a79f341",
|
||||
"currentSha256": "6263d358bc6222948242a102d3196727b3cc14a1cc5d02a4fb06f9dc1291d764",
|
||||
"changedByExactClock": true
|
||||
},
|
||||
{
|
||||
"path": "packages/harness/src/runner.mjs",
|
||||
"baseline6dSha256": "9c0a0482c877dd5eae1e2691f20d30e37a289d68cb7d4998b0418c44055ae6d1",
|
||||
"currentSha256": "d4bfea03e7a4f9cb7a5a8515afd32d3b567d95e9aa4234518648a1ed152bc484",
|
||||
"changedByExactClock": true
|
||||
},
|
||||
{
|
||||
"path": "packages/cli/src/launcher.mjs",
|
||||
"baseline6dSha256": "28bd9bd37b6e71b1cdd8bbd7e6c94e47e5b08db9d6c07da90e7bead2ca2c45e4",
|
||||
"currentSha256": "d25274407d3ac3803e85a9dea93c34738dd05b8cd1fbbcc7325c5f682b9eed91",
|
||||
"changedByExactClock": true
|
||||
},
|
||||
{
|
||||
"path": "packages/seat/src/sandbox.mjs",
|
||||
"baseline6dSha256": "a203f7bb2735e4abeb0758c7719022545696b35f00d7943144b73aa892091807",
|
||||
"currentSha256": "a203f7bb2735e4abeb0758c7719022545696b35f00d7943144b73aa892091807",
|
||||
"changedByExactClock": false
|
||||
},
|
||||
{
|
||||
"path": "packages/bus/src/model-keys.mjs",
|
||||
"baseline6dSha256": "815b92c8e0b7b6eca8495ea745c0ec7cfdc91296a44d9b0a62b94ed9b5bc9e1d",
|
||||
"currentSha256": "815b92c8e0b7b6eca8495ea745c0ec7cfdc91296a44d9b0a62b94ed9b5bc9e1d",
|
||||
"changedByExactClock": false
|
||||
},
|
||||
{
|
||||
"path": "packages/bus/src/runtime.mjs",
|
||||
"baseline6dSha256": "c5fe19296aa37632517593226f2e6644ecac2be9c3bbf9cc1ac90742fd505dcb",
|
||||
"currentSha256": "c5fe19296aa37632517593226f2e6644ecac2be9c3bbf9cc1ac90742fd505dcb",
|
||||
"changedByExactClock": false
|
||||
},
|
||||
{
|
||||
"path": "packages/bus/src/broker.mjs",
|
||||
"baseline6dSha256": "7ae9c3cef21024bebf32bd0c8af861a64d39b0137e8ba5899612004dd898b33c",
|
||||
"currentSha256": "7ae9c3cef21024bebf32bd0c8af861a64d39b0137e8ba5899612004dd898b33c",
|
||||
"changedByExactClock": false
|
||||
},
|
||||
{
|
||||
"path": "packages/bus/src/process.mjs",
|
||||
"baseline6dSha256": "ed13afdce6359df31d35a79496ebb4afdefef82030a8326a76b2a25b37e98d9d",
|
||||
"currentSha256": "ed13afdce6359df31d35a79496ebb4afdefef82030a8326a76b2a25b37e98d9d",
|
||||
"changedByExactClock": false
|
||||
}
|
||||
]
|
||||
@@ -1,19 +0,0 @@
|
||||
{
|
||||
"status": "PREPARED ONLY; actual parent pre-run inspection/CLEAR required",
|
||||
"baseHEAD": "8046314af3311c8cbf37bdb52de1e3553484d7c0",
|
||||
"command": "MOSAIC_GATE_CLEAR=<actual-Sage-run-CLEAR> nice -n 19 node /home/jwoltje/.t3/worktrees/mosaic-stack/magica-row331/agents/magica/work/queue-331/clock650-focused-gate.mjs",
|
||||
"list": "clock650-focused-files.txt exact15, all5new first",
|
||||
"flags": [
|
||||
"--test",
|
||||
"--test-reporter=tap",
|
||||
"<absolute whole file>"
|
||||
],
|
||||
"outerTimeout": 0,
|
||||
"priority": "driver/testchild19 measured, nested inherit not all measured",
|
||||
"scratch": "mktemp -d /mnt/storage/scratch/tmp/XXXXXX perstep, private HOME/config/TMPDIR",
|
||||
"stop": "first failure/skip/cancel/unavailable/timeout, no retry/test/helper/source/deadline edits",
|
||||
"confinement": "actual nonskip Linux timestamp/mode/once/temp/no-proxy/output required",
|
||||
"coverage": "atomicownership/FD/controlledexit2/release/ownsignal must reach post-fix assertions; no forcedTERMresistance or confinedfault claim",
|
||||
"productCommit": "only after focusedGREEN and mapping frozen inputs to commit; exclude independent652drafts",
|
||||
"measured652": "confirmed availability defect on6d, unresolved, no repair within clockgrant"
|
||||
}
|
||||
@@ -1,160 +0,0 @@
|
||||
{
|
||||
"status": "actual applied candidate STATIC pre-run inspection packet, no tests executed",
|
||||
"baseHEAD": "8046314af3311c8cbf37bdb52de1e3553484d7c0",
|
||||
"artifacts": [
|
||||
{
|
||||
"path": "agents/magica/work/queue-331/clock650-focused-applied-frozen-content.json",
|
||||
"sha256": "7281d6414fd41327931c28a0fa06322d868ccdfbb79d8a75d8b045393e58b091",
|
||||
"bytes": 294264,
|
||||
"gitBlob": "95718e3e669095f0915c0925ce77c3fb61ce2c40"
|
||||
},
|
||||
{
|
||||
"path": "agents/magica/work/queue-331/clock650-focused-gate.mjs",
|
||||
"sha256": "46c08b9989862de9d081e11e0036e02534411fc5f6fd8e13eea46fc21d07e847",
|
||||
"bytes": 4470,
|
||||
"gitBlob": "61a16fae61b69e6ede91d149d034a9aa01acc773"
|
||||
},
|
||||
{
|
||||
"path": "agents/magica/work/queue-331/clock650-focused-files.txt",
|
||||
"sha256": "0bd38b5d28b1a0203619b7d856c31b65ceb2d7c6e17acc2a561ec729735c8327",
|
||||
"bytes": 646,
|
||||
"gitBlob": "8d9032881e84e04abac9ac172d505fc630437a8d"
|
||||
},
|
||||
{
|
||||
"path": "agents/magica/work/queue-331/clock650-actual-pre-run-config.json",
|
||||
"sha256": "d31a970e7153b1e7ba94657f397d23df781e171c1c76564a41f82a07b072e736",
|
||||
"bytes": 1217,
|
||||
"gitBlob": "e42c5f553bd92fe53507b93d9dbfaabf6f2eea75"
|
||||
},
|
||||
{
|
||||
"path": "agents/magica/work/queue-331/clock650-actual-baseline-products.json",
|
||||
"sha256": "e26825f3d3d84036d87ded853ad5e344319b7f6b10a41398b990262e1c92e0a5",
|
||||
"bytes": 2422,
|
||||
"gitBlob": "b2642dfc2be2caa804369a098a350760f74b1b05"
|
||||
},
|
||||
{
|
||||
"path": "agents/magica/work/queue-331/clock650-actual-applied.diff",
|
||||
"sha256": "4f82709b669f70c20e1cee3274a0c4b2155e3304ed2e78acf85df2585d7fc115",
|
||||
"bytes": 14704,
|
||||
"gitBlob": "0d5149b5cea330cb0b06574defdcac9159181480"
|
||||
},
|
||||
{
|
||||
"path": "agents/magica/work/queue-331/clock650-focused-prepared-manifest.json",
|
||||
"sha256": "4058a60aee3346bc55ced2f9b8ff6517940f5b4e071479923e73c36d647ded09",
|
||||
"bytes": 6254,
|
||||
"gitBlob": "472855f50407210deb5059d67ab05518ac5f5f13"
|
||||
},
|
||||
{
|
||||
"path": "agents/magica/work/queue-331/clock650-all-five-red-pins.json",
|
||||
"sha256": "2408d1a9ffb9e6e1fcd034fae96e71fc0d5b51e5bd3e9b09cc4b2c1bbfd3c3b6",
|
||||
"bytes": 1605,
|
||||
"gitBlob": "1ef69c83a9afa0082669a8abf910c37641aefc51"
|
||||
},
|
||||
{
|
||||
"path": "agents/magica/work/queue-331/interaction652-diagnostic-result-manifest.json",
|
||||
"sha256": "0c88bc5a14bcff09598664662c5c65a0f30275357a7a57782d139ac400535d30",
|
||||
"bytes": 2433,
|
||||
"gitBlob": "b0313a3ce9a0a74d14aa656ceaed7d7af70adb35"
|
||||
},
|
||||
{
|
||||
"path": "agents/magica/work/queue-331/clock650-focused-dependencies.json",
|
||||
"sha256": "bd876c38d696dbf0f809c6d7cc5278fc338f6516d24decb7ad6bd1f1a9172700",
|
||||
"bytes": 4971,
|
||||
"gitBlob": "44984e6e7882ca5f018164097f4beca2c0c0bcea"
|
||||
}
|
||||
],
|
||||
"actualSixCandidateBlobs": [
|
||||
{
|
||||
"path": "packages/harness/src/first-output.mjs",
|
||||
"sha256": "6263d358bc6222948242a102d3196727b3cc14a1cc5d02a4fb06f9dc1291d764",
|
||||
"bytes": 1359,
|
||||
"gitBlob": "db3b19ceec2b5619b3b18bdb8f173098ec1f8d72"
|
||||
},
|
||||
{
|
||||
"path": "packages/harness/src/runner.mjs",
|
||||
"sha256": "d4bfea03e7a4f9cb7a5a8515afd32d3b567d95e9aa4234518648a1ed152bc484",
|
||||
"bytes": 32515,
|
||||
"gitBlob": "575ae66a9100d4e6dc18898d493524d89d79f1c1"
|
||||
},
|
||||
{
|
||||
"path": "packages/cli/src/model-stall.mjs",
|
||||
"sha256": "0bdc91dcaa096bd3dc9d08a1dea59893a21f6505c843e698ad9c8daa4b74364b",
|
||||
"bytes": 2585,
|
||||
"gitBlob": "2e57cbb9bdbe0e1ee15a848818077167cc7ac1ed"
|
||||
},
|
||||
{
|
||||
"path": "packages/cli/src/launcher.mjs",
|
||||
"sha256": "d25274407d3ac3803e85a9dea93c34738dd05b8cd1fbbcc7325c5f682b9eed91",
|
||||
"bytes": 68856,
|
||||
"gitBlob": "2052d1a51e2f07329648fe021561c8c112af59a8"
|
||||
},
|
||||
{
|
||||
"path": "docs/plans/2026-10-24_stack-model-proxy.md",
|
||||
"sha256": "3038d65cd3e42c858445d92ac25675f7c5ae66babef1ef79799bd17ae59f0b17",
|
||||
"bytes": 28975,
|
||||
"gitBlob": "29b1057e1929ae4d8e863670c89a291a02f44762"
|
||||
},
|
||||
{
|
||||
"path": "docs/plans/2026-10-24_model-proxy-rows.md",
|
||||
"sha256": "95e2c9568498cbe628d62f1ef981dfb6819fc9acad0337086b67adc8717208fd",
|
||||
"bytes": 21631,
|
||||
"gitBlob": "f6329f41d1f3aea4b1c8a52d10dc654078c74e96"
|
||||
}
|
||||
],
|
||||
"baseline9Products": [
|
||||
{
|
||||
"path": "packages/cli/src/model-stall.mjs",
|
||||
"baseline6dSha256": "3df9770e8aae51357986a16473c96d2a3879bcd436153fa25c70f71b0ab181d7",
|
||||
"currentSha256": "0bdc91dcaa096bd3dc9d08a1dea59893a21f6505c843e698ad9c8daa4b74364b",
|
||||
"changedByExactClock": true
|
||||
},
|
||||
{
|
||||
"path": "packages/harness/src/first-output.mjs",
|
||||
"baseline6dSha256": "1ef13e5bd2ea9b166b505c46821f1649444b8fab9882531975858ce20a79f341",
|
||||
"currentSha256": "6263d358bc6222948242a102d3196727b3cc14a1cc5d02a4fb06f9dc1291d764",
|
||||
"changedByExactClock": true
|
||||
},
|
||||
{
|
||||
"path": "packages/harness/src/runner.mjs",
|
||||
"baseline6dSha256": "9c0a0482c877dd5eae1e2691f20d30e37a289d68cb7d4998b0418c44055ae6d1",
|
||||
"currentSha256": "d4bfea03e7a4f9cb7a5a8515afd32d3b567d95e9aa4234518648a1ed152bc484",
|
||||
"changedByExactClock": true
|
||||
},
|
||||
{
|
||||
"path": "packages/cli/src/launcher.mjs",
|
||||
"baseline6dSha256": "28bd9bd37b6e71b1cdd8bbd7e6c94e47e5b08db9d6c07da90e7bead2ca2c45e4",
|
||||
"currentSha256": "d25274407d3ac3803e85a9dea93c34738dd05b8cd1fbbcc7325c5f682b9eed91",
|
||||
"changedByExactClock": true
|
||||
},
|
||||
{
|
||||
"path": "packages/seat/src/sandbox.mjs",
|
||||
"baseline6dSha256": "a203f7bb2735e4abeb0758c7719022545696b35f00d7943144b73aa892091807",
|
||||
"currentSha256": "a203f7bb2735e4abeb0758c7719022545696b35f00d7943144b73aa892091807",
|
||||
"changedByExactClock": false
|
||||
},
|
||||
{
|
||||
"path": "packages/bus/src/model-keys.mjs",
|
||||
"baseline6dSha256": "815b92c8e0b7b6eca8495ea745c0ec7cfdc91296a44d9b0a62b94ed9b5bc9e1d",
|
||||
"currentSha256": "815b92c8e0b7b6eca8495ea745c0ec7cfdc91296a44d9b0a62b94ed9b5bc9e1d",
|
||||
"changedByExactClock": false
|
||||
},
|
||||
{
|
||||
"path": "packages/bus/src/runtime.mjs",
|
||||
"baseline6dSha256": "c5fe19296aa37632517593226f2e6644ecac2be9c3bbf9cc1ac90742fd505dcb",
|
||||
"currentSha256": "c5fe19296aa37632517593226f2e6644ecac2be9c3bbf9cc1ac90742fd505dcb",
|
||||
"changedByExactClock": false
|
||||
},
|
||||
{
|
||||
"path": "packages/bus/src/broker.mjs",
|
||||
"baseline6dSha256": "7ae9c3cef21024bebf32bd0c8af861a64d39b0137e8ba5899612004dd898b33c",
|
||||
"currentSha256": "7ae9c3cef21024bebf32bd0c8af861a64d39b0137e8ba5899612004dd898b33c",
|
||||
"changedByExactClock": false
|
||||
},
|
||||
{
|
||||
"path": "packages/bus/src/process.mjs",
|
||||
"baseline6dSha256": "ed13afdce6359df31d35a79496ebb4afdefef82030a8326a76b2a25b37e98d9d",
|
||||
"currentSha256": "ed13afdce6359df31d35a79496ebb4afdefef82030a8326a76b2a25b37e98d9d",
|
||||
"changedByExactClock": false
|
||||
}
|
||||
]
|
||||
}
|
||||
@@ -1,62 +0,0 @@
|
||||
{
|
||||
"scope": "five separately cleared whole-file PRE-FIX results, not GREEN/composite acceptance",
|
||||
"results": [
|
||||
{
|
||||
"path": "agents/magica/work/queue-331/clock650-file1-red-result-manifest.json",
|
||||
"sha256": "eea1cd78f1b68cd0fead6cfa82cd18913e71f5a44ca8fe45b91a705ad5a393b8",
|
||||
"bytes": 2058
|
||||
},
|
||||
{
|
||||
"path": "agents/magica/work/queue-331/clock650-file2-red-result-manifest.json",
|
||||
"sha256": "710093519fc51922dc86b731dcf8b6ed469e07af57fb5e415160e88c8728020b",
|
||||
"bytes": 2061
|
||||
},
|
||||
{
|
||||
"path": "agents/magica/work/queue-331/clock650-file3-red-result-manifest.json",
|
||||
"sha256": "cd294b0480f443f8b447381674868ad4615227db4e027073b54ced5946830559",
|
||||
"bytes": 2057
|
||||
},
|
||||
{
|
||||
"path": "agents/magica/work/queue-331/clock650-file4-red-result-manifest.json",
|
||||
"sha256": "5f56017ebba4e3820a9822b7c8c039038e7a7487364d77ff076e81c7214ddaeb",
|
||||
"bytes": 2066
|
||||
},
|
||||
{
|
||||
"path": "agents/magica/work/queue-331/clock650-file5-red-result-manifest.json",
|
||||
"sha256": "441954f5fe14b9691bec6a983533ca7a00c55773c90ebe94098f338e031a7918",
|
||||
"bytes": 2068
|
||||
}
|
||||
],
|
||||
"countsByFile": [
|
||||
{
|
||||
"file": 1,
|
||||
"tests": 5,
|
||||
"pass": 3,
|
||||
"intendedFail": 2
|
||||
},
|
||||
{
|
||||
"file": 2,
|
||||
"tests": 19,
|
||||
"pass": 1,
|
||||
"intendedFail": 18
|
||||
},
|
||||
{
|
||||
"file": 3,
|
||||
"tests": 7,
|
||||
"pass": 0,
|
||||
"intendedFail": 7
|
||||
},
|
||||
{
|
||||
"file": 4,
|
||||
"tests": 2,
|
||||
"pass": 1,
|
||||
"intendedFail": 1
|
||||
},
|
||||
{
|
||||
"file": 5,
|
||||
"tests": 3,
|
||||
"pass": 0,
|
||||
"intendedFail": 3
|
||||
}
|
||||
]
|
||||
}
|
||||
@@ -1,65 +0,0 @@
|
||||
{
|
||||
"status": "expected only; no execution; unavailable confinement UNVERIFIED",
|
||||
"files": [
|
||||
{
|
||||
"path": "packages/cli/tests/model-turn-clock.test.mjs",
|
||||
"cases": [
|
||||
{
|
||||
"name": "650 idle longer than initial budget remains unarmed",
|
||||
"expected": "RED",
|
||||
"assertion": "idle time must not spend first-output budget"
|
||||
},
|
||||
{
|
||||
"name": "650 first silent turn spends one initial budget then invokes existing stop callback",
|
||||
"expected": "RED",
|
||||
"assertion": "silent turn clock is unarmed before first turn"
|
||||
},
|
||||
{
|
||||
"name": "650 first output cancels turn watcher without output text in receipt",
|
||||
"expected": "GREEN",
|
||||
"assertion": null
|
||||
},
|
||||
{
|
||||
"name": "650 later marker cannot extend already armed initial budget",
|
||||
"expected": "GREEN",
|
||||
"assertion": null
|
||||
},
|
||||
{
|
||||
"name": "650 idle run exit cancellation stops no process",
|
||||
"expected": "GREEN",
|
||||
"assertion": null
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"path": "packages/harness/tests/first-turn.test.mjs",
|
||||
"cases": [
|
||||
{
|
||||
"name": "650 first-turn producer publishes time metadata only and keeps output content separate",
|
||||
"expected": "RED",
|
||||
"assertion": "first-turn protocol producer exists"
|
||||
},
|
||||
{
|
||||
"name": "650 subsequent actual turn cannot reset or extend first timestamp",
|
||||
"expected": "RED",
|
||||
"assertion": "first-turn one-shot producer exists"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"path": "packages/seat/tests/model-markers-confined.test.mjs",
|
||||
"cases": [
|
||||
{
|
||||
"name": "650 confined actual stdout writes fixed output marker in existing runDir without changing reply",
|
||||
"expected": "GREEN",
|
||||
"assertion": null
|
||||
},
|
||||
{
|
||||
"name": "650 confined actual adapter turn publishes first timestamp once and idle stays unarmed",
|
||||
"expected": "RED",
|
||||
"assertion": "actual confined turn publishes first-turn marker"
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
}
|
||||
@@ -1,27 +0,0 @@
|
||||
[
|
||||
{
|
||||
"number": 1,
|
||||
"name": "650 idle longer than initial budget remains unarmed",
|
||||
"pass": false
|
||||
},
|
||||
{
|
||||
"number": 2,
|
||||
"name": "650 first silent turn spends one initial budget then invokes existing stop callback",
|
||||
"pass": false
|
||||
},
|
||||
{
|
||||
"number": 3,
|
||||
"name": "650 first output cancels turn watcher without output text in receipt",
|
||||
"pass": true
|
||||
},
|
||||
{
|
||||
"number": 4,
|
||||
"name": "650 later marker cannot extend already armed initial budget",
|
||||
"pass": true
|
||||
},
|
||||
{
|
||||
"number": 5,
|
||||
"name": "650 idle run exit cancellation stops no process",
|
||||
"pass": true
|
||||
}
|
||||
]
|
||||
@@ -1,15 +0,0 @@
|
||||
{
|
||||
"clear": "sage-4574",
|
||||
"baseHEAD": "b9dfe25d68db3c73e1b387e3713fcd0c3e5cef07",
|
||||
"command": "MOSAIC_GATE_CLEAR=sage-4574 nice -n 19 node /home/jwoltje/.t3/worktrees/mosaic-stack/magica-row331/agents/magica/work/queue-331/clock650-file1-red-gate.mjs",
|
||||
"wholeFile": "packages/cli/tests/model-turn-clock.test.mjs",
|
||||
"flags": [
|
||||
"--test",
|
||||
"--test-reporter=tap",
|
||||
"<absolute whole file>"
|
||||
],
|
||||
"outerTimeout": 0,
|
||||
"priority": "measured driver/testchild19",
|
||||
"scratch": "mktemp -d /mnt/storage/scratch/tmp/XXXXXX, private HOME/config/TMPDIR",
|
||||
"noRetry": true
|
||||
}
|
||||
@@ -1,3 +0,0 @@
|
||||
{"name":"packages/cli/tests/model-turn-clock.test.mjs","event":"start","at":"2026-10-25T11:59:12.623Z","uptime":"06:59:12 up 11 days, 22:19, 2 users, load average: 9.16, 7.74, 7.37","TMPDIR":"/mnt/storage/scratch/tmp/CJhaAI","nice":19}
|
||||
{"name":"packages/cli/tests/model-turn-clock.test.mjs","event":"end","at":"2026-10-25T11:59:12.623Z","uptime":"06:59:12 up 11 days, 22:19, 2 users, load average: 9.16, 7.74, 7.37","TMPDIR":"/mnt/storage/scratch/tmp/CJhaAI","nice":19,"measuredDriverNice":19,"measuredChildNice":19,"endAt":"2026-10-25T11:59:13.392Z","endUptime":"06:59:13 up 11 days, 22:19, 2 users, load average: 9.16, 7.74, 7.37","rc":1,"signal":null,"timedOut":false,"tests":5,"pass":3,"fail":2,"skipped":0,"cancelled":0,"skippedLines":[],"failedNames":["650 idle longer than initial budget remains unarmed","650 first silent turn spends one initial budget then invokes existing stop callback"],"log":{"path":"/mnt/storage/scratch/tmp/TvGwve/001-packages_cli_tests_model-turn-clock.test.mjs.log","sha256":"e4464f9cf57828a6ba25cebe4068dfb39833a4079236b07e95c7ed29d67d9bea","bytes":2385}}
|
||||
{"event":"stopped","reason":"RED packages/cli/tests/model-turn-clock.test.mjs","at":"2026-10-25T11:59:13.397Z","uptime":"06:59:13 up 11 days, 22:19, 2 users, load average: 9.16, 7.74, 7.37"}
|
||||
Loaded 100 of 498 files, more files were not shown because too many files have changed in this diff.
Show more
Reference in new issue
Block a user