docs(row293): record green integrated trace and whole suites

This commit is contained in:
jason.woltje committed 2026-10-22 22:55:25 -05:00
1 parent 78bbe12233
commit e51d116402
253 files changed
+130944 -3

No files matched your search

+4
View File
@@ -86,3 +86,7 @@ Static diagnosis in gander-0176: my harness nested TMPDIR by stage, making lifec
sage-3138 classified run 1 as a harness fault, not a candidate/lifecycle red. Rebased under new branch gander/v574-r2 onto b23783f39, retaining the original branch. The four test files and session.mjs have zero upstream drift, and the four-commit range-diff is unchanged. Manifest cdda41f5 remains unchanged and all entries verify.
Run 2 starts over at P1 with nothing carried: controls, four traced files, all eight seat and 56 CLI files. Corrected harness allocates each stage's TMPDIR with mktemp -d /mnt/storage/scratch/tmp/gXXXXXX, directly in scratch; logs/traces remain separate. lifecycle's expected tools.sock path is 95 bytes, replacing run 1's 120, below the 107-byte product limit. This is a harness-only correction and no test or assertion changed. The previous pre-recorded limits remain. Start load under 4; any second red stops to Sage/Mos before any change. Integration and harness records are in integration-r2/.
## Run 2 GREEN, 2026-10-23 03:06:43Z
Fresh on 6bfab273b / cdda41f5 under sage-3138, started at load 3.80. Controls pass; four traced files 153/0/0 in 45.855 s, seat whole 202/0/0 in 22.687 s, CLI whole 905/0/0 in 1367.764 s. Total window 1564 s. The integrated census is 10 seat and 58 CLI files: the new base added two files to each package; every printed file ran whole. No timeout, skip, cancellation or todo. Final cwd/Node/tee sweep zero. Every trace stage's Git writer set is empty before counting. Both flags occur on all 312 actual traced commits, with zero maintenance children; unflagged positive control has one commit and one maintenance child, flagged control one commit and zero children. Raw driver token-count 313 included one hash-object -t commit; cmd_name=commit reconciles it to 312 in TRACE-COUNTS.json, with no change to the zero-maintenance finding. Full logs, command/guard records, reconstructable raw traces, results and timings are committed in run2/. No prior run result carried and no product, assertion or fingerprint changed.
+8 -3
View File
@@ -4,12 +4,17 @@
"gate": "sage",
"base": "062646487451993302c768c6812b827c834e952b",
"source": "65e919e5cef30911b9902f410549da431423cec4",
"branch": "gander/v574",
"branch": "gander/v574-r2",
"manifest": "cdda41f5baa6b04e6e5bb9b82beff8e00ceef440c6702565cc86944f249bb5d3",
"tests": "Run 1 STOP: lifecycle 13/11; nested harness TMPDIR exceeds tools.sock bound. No retry.",
"tests": "GREEN run 2: focused 153/0/0, seat whole 202/0/0, CLI whole 905/0/0. Trace: 312 actual commits, zero maintenance children; positive control 1 child.",
"scope_authority": [
"mos-1369",
"sage-3110",
"mos-1370"
]
],
"issue": 1805,
"integrated_base": "b23783f3951e5b750ef49cd0c2d7353640ea6899",
"integrated_source": "a61fa3043",
"tested_head": "6bfab273b59a4fa6dc9c468a086ff281f435e572",
"records": "run2/"
}
+26
View File
@@ -0,0 +1,26 @@
# Row 293 / Vikunja 574 run 2
GREEN on tested HEAD 6bfab273b59a4fa6dc9c468a086ff281f435e572, base b23783f39, manifest cdda41f5baa6b04e6e5bb9b82beff8e00ceef440c6702565cc86944f249bb5d3. Start 02:40:39Z, finish 03:06:43Z (1564 s). Start load 3.80. Grant sage-3138. Fresh run; no run 1 result carried.
| Stage | Files | Pass | Fail | Skip | Wall seconds |
| --- | ---: | ---: | ---: | ---: | ---: |
| Traced touched files | 4 | 153 | 0 | 0 | 45.855 |
| Seat whole | 10 | 202 | 0 | 0 | 22.687 |
| CLI whole | 58 | 905 | 0 | 0 | 1367.764 |
No timeout, cancellation or todo. All 10 seat and 58 CLI files printed in the preamble ran whole. The integrated base adds compactions-budget and compactions to seat, and compactions-launch and session-clear to CLI; all are covered. Controls also passed (0.064 s each). Every Node test uses timeout -k 10 and its recorded bound. Every start has a CLEAR busy record. Every stage TMPDIR is directly under /mnt/storage/scratch/tmp/gXXXXXX. The final scratch and worktree Node/tee sweep is zero. No named skips: none occurred, including the sandbox bind-below-1024 case.
| Trace | Actual commit commands | Both flags | Maintenance child_start |
| --- | ---: | ---: | ---: |
| Positive control | 1 | 0 | 1 |
| Flagged control | 1 | 1 | 0 |
| checkout whole | 173 | 173 | 0 |
| working whole | 69 | 69 | 0 |
| git-socket whole | 45 | 45 | 0 |
| lifecycle whole | 25 | 25 | 0 |
P1-P5 hold. Controls import the actual gitEnv(); the scratch shim injects tracing after its environment scrub and chains to /usr/bin/git 2.55.0. Per-process JSON events were counted only after each traced stage's Git cwd writer set was empty. The stable shim was retained throughout. All 312 actual commits across the four whole files carry both flags and spawn zero maintenance children. The positive control proves maintenance detection is non-vacuous.
Count reconciliation: raw driver results call every start argv containing the token `commit` a commit. In working, one is `hash-object -t commit -w --literally --stdin`, not a commit command. TRACE-COUNTS.json uses `cmd_name=commit`, pairs it with start argv to prove both flags, and excludes that one type argument. Thus actual commits are 69 in working, 312 total, rather than the initial token-based 70/313. Maintenance counts are unchanged. Raw results are preserved, not rewritten.
Raw per-process event files are concatenated unedited in *.events.jsonl. TRACE-INDEX.json preserves original filenames, byte offsets, lengths and hashes, so each is exactly reconstructable. Command, busy, sweep and per-file TAP records accompany results.json and SUMMARY.json. The original scratch remains available at /mnt/storage/scratch/tmp/gtrB9gF. All post-test candidate edits are records only; the four manifest blobs remain unchanged.
+43
View File
@@ -0,0 +1,43 @@
{
"status": "GREEN",
"head": "6bfab273b59a4fa6dc9c468a086ff281f435e572",
"manifest": "cdda41f5baa6b04e6e5bb9b82beff8e00ceef440c6702565cc86944f249bb5d3",
"started_utc": "2026-10-23T02:40:39Z",
"finished_utc": "2026-10-23T03:06:43Z",
"counts": {
"focused": {
"pass": 153,
"fail": 0,
"skipped": 0,
"cancelled": 0,
"todo": 0
},
"seat_whole": {
"pass": 202,
"fail": 0,
"skipped": 0,
"cancelled": 0,
"todo": 0
},
"cli_whole": {
"pass": 905,
"fail": 0,
"skipped": 0,
"cancelled": 0,
"todo": 0
}
},
"stage_seconds": {
"focused": 45.855,
"seat_whole": 22.687,
"cli_whole": 1367.764
},
"file_counts": {
"seat": 10,
"cli": 58
},
"timeouts": 0,
"sweep_count": 0,
"skips": [],
"proof_commit_counts": "TRACE-COUNTS.json uses cmd_name=commit; raw driver counts a commit-type hash-object once in working."
}
File diff suppressed because it is too large. Load diff
File diff suppressed because it is too large. Load diff
@@ -0,0 +1 @@
CLEAR
@@ -0,0 +1,18 @@
{
"label": "cli-access.test",
"head": "6bfab273b59a4fa6dc9c468a086ff281f435e572",
"manifest": "cdda41f5baa6b04e6e5bb9b82beff8e00ceef440c6702565cc86944f249bb5d3",
"argv": [
"timeout",
"-k",
"10",
"900",
"node",
"--test",
"--test-concurrency=1",
"--test-reporter=tap",
"packages/cli/tests/access.test.mjs"
],
"limit": 900,
"tmpdir": "/mnt/storage/scratch/tmp/gvdNQcH"
}
@@ -0,0 +1,196 @@
TAP version 13
# Subtest: list prints the revision and the users
ok 1 - list prints the revision and the users
---
duration_ms: 29.294155
type: 'test'
...
# Subtest: grant writes one revision up, a receipt line, and the id in the file
ok 2 - grant writes one revision up, a receipt line, and the id in the file
---
duration_ms: 31.247044
type: 'test'
...
# Subtest: a viewer grant writes the viewer level, one revision up
ok 3 - a viewer grant writes the viewer level, one revision up
---
duration_ms: 28.566201
type: 'test'
...
# Subtest: a second write appends a second receipt and leaves the first intact
ok 4 - a second write appends a second receipt and leaves the first intact
---
duration_ms: 63.02477
type: 'test'
...
# Subtest: a stale revision refuses with revision-conflict and writes nothing
ok 5 - a stale revision refuses with revision-conflict and writes nothing
---
duration_ms: 64.321356
type: 'test'
...
# Subtest: a live holder's lock refuses and leaves the file and the lock alone
ok 6 - a live holder's lock refuses and leaves the file and the lock alone
---
duration_ms: 29.884713
type: 'test'
...
# Subtest: an empty or unreadable lock refuses, since its holder may still be writing
ok 7 - an empty or unreadable lock refuses, since its holder may still be writing
---
duration_ms: 53.818838
type: 'test'
...
# Subtest: a lock left by a dead pid refuses, names the pid, and is not reclaimed
ok 8 - a lock left by a dead pid refuses, names the pid, and is not reclaimed
---
duration_ms: 52.170329
type: 'test'
...
# Subtest: a failed rename leaves the old bytes, removes the temp file, and writes no receipt
ok 9 - a failed rename leaves the old bytes, removes the temp file, and writes no receipt
---
duration_ms: 26.689589
type: 'test'
...
# Subtest: a group-writable access file refuses with exit 3, names the file, and changes nothing
ok 10 - a group-writable access file refuses with exit 3, names the file, and changes nothing
---
duration_ms: 28.729261
type: 'test'
...
# Subtest: an agent or tester caller is refused before the context or the access file is read
ok 11 - an agent or tester caller is refused before the context or the access file is read
---
duration_ms: 1.142382
type: 'test'
...
# Subtest: the lock is mode 0600 while held and removed after a refused write
ok 12 - the lock is mode 0600 while held and removed after a refused write
---
duration_ms: 24.596783
type: 'test'
...
# Subtest: a grant naming an unknown instance is refused before any write
ok 13 - a grant naming an unknown instance is refused before any write
---
duration_ms: 24.505494
type: 'test'
...
# Subtest: a project name resolves to its id at grant time
ok 14 - a project name resolves to its id at grant time
---
duration_ms: 30.16797
type: 'test'
...
# Subtest: an unknown project name refuses before any write
ok 15 - an unknown project name refuses before any write
---
duration_ms: 28.421378
type: 'test'
...
# Subtest: revoke removes the user's grants and leaves a revision behind
ok 16 - revoke removes the user's grants and leaves a revision behind
---
duration_ms: 56.82119
type: 'test'
...
# Subtest: revoke of a user with no grant refuses and writes nothing
ok 17 - revoke of a user with no grant refuses and writes nothing
---
duration_ms: 25.03201
type: 'test'
...
# Subtest: an agent caller is refused before the bus is asked
ok 18 - an agent caller is refused before the bus is asked
---
duration_ms: 0.797699
type: 'test'
...
# Subtest: --tester is refused on every verb before the bus is asked
ok 19 - --tester is refused on every verb before the bus is asked
---
duration_ms: 1.479688
type: 'test'
...
# Subtest: a bus that refuses the human proof blocks the write
ok 20 - a bus that refuses the human proof blocks the write
---
duration_ms: 25.883998
type: 'test'
...
# Subtest: the context reads console.sso subjects and the business files, and peers stay empty
ok 21 - the context reads console.sso subjects and the business files, and peers stay empty
---
duration_ms: 7.447845
type: 'test'
...
# Subtest: the real human-cli, run from agent ancestry, refuses and writes nothing
ok 22 - the real human-cli, run from agent ancestry, refuses and writes nothing
---
duration_ms: 5145.579195
type: 'test'
...
# Subtest: T1 user add writes the user one revision up, prints it and appends a user.add receipt
ok 23 - T1 user add writes the user one revision up, prints it and appends a user.add receipt
---
duration_ms: 30.59263
type: 'test'
...
# Subtest: T2 a bad user add refuses before any write
ok 24 - T2 a bad user add refuses before any write
---
duration_ms: 379.839338
type: 'test'
...
# Subtest: T3 user remove of a user with no grant drops them one revision up, with a user.remove receipt
ok 25 - T3 user remove of a user with no grant drops them one revision up, with a user.remove receipt
---
duration_ms: 31.028462
type: 'test'
...
# Subtest: T4 user remove refuses with user-has-grants while the user holds a grant, and writes nothing
ok 26 - T4 user remove refuses with user-has-grants while the user holds a grant, and writes nothing
---
duration_ms: 78.350806
type: 'test'
...
# Subtest: T5 user remove of an id not in the file refuses and writes nothing
ok 27 - T5 user remove of an id not in the file refuses and writes nothing
---
duration_ms: 32.478994
type: 'test'
...
# Subtest: T6 a stale revision refuses both user verbs with revision-conflict
ok 28 - T6 a stale revision refuses both user verbs with revision-conflict
---
duration_ms: 58.905495
type: 'test'
...
# Subtest: T7 --tester and an agent caller are refused on both user verbs before the bus is asked
ok 29 - T7 --tester and an agent caller are refused on both user verbs before the bus is asked
---
duration_ms: 1.321295
type: 'test'
...
# Subtest: T8 a user verb of the wrong shape prints the help
ok 30 - T8 a user verb of the wrong shape prints the help
---
duration_ms: 0.978374
type: 'test'
...
# Subtest: T9 a bus that refuses the human proof blocks both user verbs
ok 31 - T9 a bus that refuses the human proof blocks both user verbs
---
duration_ms: 58.046887
type: 'test'
...
1..31
# tests 31
# suites 0
# pass 31
# fail 0
# cancelled 0
# skipped 0
# todo 0
# duration_ms 6596.663861
@@ -0,0 +1 @@
CLEAR
@@ -0,0 +1,18 @@
{
"label": "cli-app.test",
"head": "6bfab273b59a4fa6dc9c468a086ff281f435e572",
"manifest": "cdda41f5baa6b04e6e5bb9b82beff8e00ceef440c6702565cc86944f249bb5d3",
"argv": [
"timeout",
"-k",
"10",
"900",
"node",
"--test",
"--test-concurrency=1",
"--test-reporter=tap",
"packages/cli/tests/app.test.mjs"
],
"limit": 900,
"tmpdir": "/mnt/storage/scratch/tmp/g562pEK"
}
@@ -0,0 +1,190 @@
TAP version 13
# Subtest: every screen and overlay fits 120x36, 80x24 and the narrow layout, row for row
ok 1 - every screen and overlay fits 120x36, 80x24 and the narrow layout, row for row
---
duration_ms: 1239.383355
type: 'test'
...
# Subtest: width counts terminal cells: wide CJK and emoji 2, U+FE0F after a one-cell base 1, marks 0
ok 2 - width counts terminal cells: wide CJK and emoji 2, U+FE0F after a one-cell base 1, marks 0
---
duration_ms: 65.330982
type: 'test'
...
# Subtest: broker text is shown, never interpreted: no raw control character or bidi override reaches the terminal
ok 3 - broker text is shown, never interpreted: no raw control character or bidi override reaches the terminal
---
duration_ms: 148.961033
type: 'test'
...
# Subtest: NO_COLOR: no escape codes, except reverse video on the selected row
ok 4 - NO_COLOR: no escape codes, except reverse video on the selected row
---
duration_ms: 224.384257
type: 'test'
...
# Subtest: 1-9 shows the decide flow's own lines and question; only y resolves
ok 5 - 1-9 shows the decide flow's own lines and question; only y resolves
---
duration_ms: 59.855521
type: 'test'
...
# Subtest: the app shows the same decide text as mosaic decide
ok 6 - the app shows the same decide text as mosaic decide
---
duration_ms: 26.0261
type: 'test'
...
# Subtest: any key but y or Y at the question answers No; nothing is sent
ok 7 - any key but y or Y at the question answers No; nothing is sent
---
duration_ms: 238.894221
type: 'test'
...
# Subtest: below 40x10 the question is hidden, so every key answers it No, y included (Filbert R3)
ok 8 - below 40x10 the question is hidden, so every key answers it No, y included (Filbert R3)
---
duration_ms: 92.914512
type: 'test'
...
# Subtest: under 40 columns a tall terminal shows the too-small screen even where the decide box would fit; y sends nothing (Filbert N10)
ok 9 - under 40 columns a tall terminal shows the too-small screen even where the decide box would fit; y sends nothing (Filbert N10)
---
duration_ms: 305.900059
type: 'test'
...
# Subtest: a hidden decide box names the way out, and the status line under it does not promise y (Filbert N12)
ok 10 - a hidden decide box names the way out, and the status line under it does not promise y (Filbert N12)
---
duration_ms: 39.059677
type: 'test'
...
# Subtest: a throw while answering the question goes to crash, sends nothing and leaves no job pending
ok 11 - a throw while answering the question goes to crash, sends nothing and leaves no job pending
---
duration_ms: 24.586171
type: 'test'
...
# Subtest: type-ahead never answers the question: a paste, keys typed before it is drawn, keys inside askMs
ok 12 - type-ahead never answers the question: a paste, keys typed before it is drawn, keys inside askMs
---
duration_ms: 417.248119
type: 'test'
...
# Subtest: quitting at the question answers No and sends nothing, armed or not
ok 13 - quitting at the question answers No and sends nothing, armed or not
---
duration_ms: 43.775485
type: 'test'
...
# Subtest: a timer tick reads nothing under an overlay, never answers the question, and keeps a resolved status
ok 14 - a timer tick reads nothing under an overlay, never answers the question, and keeps a resolved status
---
duration_ms: 36.297579
type: 'test'
...
# Subtest: a long question is cut inside the question; the action, target, choice and prompt stay (Dewey B1)
ok 15 - a long question is cut inside the question; the action, target, choice and prompt stay (Dewey B1)
---
duration_ms: 50.697611
type: 'test'
...
# Subtest: a decide box too big for the terminal says so, and every key answers it No, y included (Dewey B1, round 3)
ok 16 - a decide box too big for the terminal says so, and every key answers it No, y included (Dewey B1, round 3)
---
duration_ms: 335.218191
type: 'test'
...
# Subtest: at every size the decide box shows each line y depends on, or says it is hidden
ok 17 - at every size the decide box shows each line y depends on, or says it is hidden
---
duration_ms: 9975.575963
type: 'test'
...
# Subtest: outcome unknown: the CLI's sentence, no retry, then the trail or a re-read
ok 18 - outcome unknown: the CLI's sentence, no retry, then the trail or a re-read
---
duration_ms: 91.366948
type: 'test'
...
# Subtest: refused and failed reads keep the last list, marked stale; a refused decide says refused
ok 19 - refused and failed reads keep the last list, marked stale; a refused decide says refused
---
duration_ms: 47.376493
type: 'test'
...
# Subtest: help or a detail box cut to fit keeps its last line, Esc included (Dewey)
ok 20 - help or a detail box cut to fit keeps its last line, Esc included (Dewey)
---
duration_ms: 24.950444
type: 'test'
...
# Subtest: keys: views, moving, trail of a selection, the command line, help and quit
ok 21 - keys: views, moving, trail of a selection, the command line, help and quit
---
duration_ms: 107.420751
type: 'test'
...
# Subtest: one option: the status line says Press 1, not 1-1
ok 22 - one option: the status line says Press 1, not 1-1
---
duration_ms: 30.444385
type: 'test'
...
# Subtest: no business: the app says so and :business picks one
ok 23 - no business: the app says so and :business picks one
---
duration_ms: 15.176163
type: 'test'
...
# Subtest: mosaic with no argument: exit 3 in an agent run, exit 4 with the usage off a terminal, the app on one
ok 24 - mosaic with no argument: exit 3 in an agent run, exit 4 with the usage off a terminal, the app on one
---
duration_ms: 2.013954
type: 'test'
...
# Subtest: scripts/mosaic with no argument reaches the app entry; the seat usage it printed before has not drifted
ok 25 - scripts/mosaic with no argument reaches the app entry; the seat usage it printed before has not drifted
---
duration_ms: 218.259976
type: 'test'
...
# Subtest: strings to keep exactly live once, in the decide flow and the transport; the app does not restate them
ok 26 - strings to keep exactly live once, in the decide flow and the transport; the app does not restate them
---
duration_ms: 0.49226
type: 'test'
...
# Subtest: decide with --note still asks; a No sends nothing
ok 27 - decide with --note still asks; a No sends nothing
---
duration_ms: 16.336413
type: 'test'
...
# Subtest: the app's business comes from a live bus host only
ok 28 - the app's business comes from a live bus host only
---
duration_ms: 1.156012
type: 'test'
...
# Subtest: runApp leaves the terminal as it found it on q, end of input, SIGTERM, SIGINT, SIGHUP and an error, the first frame's included
ok 29 - runApp leaves the terminal as it found it on q, end of input, SIGTERM, SIGINT, SIGHUP and an error, the first frame's included
---
duration_ms: 10.269181
type: 'test'
...
# Subtest: draw is pure: same state, same frame
ok 30 - draw is pure: same state, same frame
---
duration_ms: 0.889482
type: 'test'
...
1..30
# tests 30
# suites 0
# pass 30
# fail 0
# cancelled 0
# skipped 0
# todo 0
# duration_ms 14055.01188
@@ -0,0 +1,3 @@
/mnt/storage/scratch/sage-busy-now.sh: line 4: /proc/2510619/cmdline: No such file or directory
/mnt/storage/scratch/sage-busy-now.sh: line 4: /proc/2510741/cmdline: No such file or directory
CLEAR
@@ -0,0 +1,18 @@
{
"label": "cli-boot-status.test",
"head": "6bfab273b59a4fa6dc9c468a086ff281f435e572",
"manifest": "cdda41f5baa6b04e6e5bb9b82beff8e00ceef440c6702565cc86944f249bb5d3",
"argv": [
"timeout",
"-k",
"10",
"900",
"node",
"--test",
"--test-concurrency=1",
"--test-reporter=tap",
"packages/cli/tests/boot-status.test.mjs"
],
"limit": 900,
"tmpdir": "/mnt/storage/scratch/tmp/gKFyTpJ"
}
@@ -0,0 +1,28 @@
TAP version 13
# Subtest: recordBootRefused keeps the last good load across refusals; recordBootOk clears the refusal
ok 1 - recordBootRefused keeps the last good load across refusals; recordBootOk clears the refusal
---
duration_ms: 3.630099
type: 'test'
...
# Subtest: an unknown key and a JSON syntax error each leave the bus down with the reason and path in the status
ok 2 - an unknown key and a JSON syntax error each leave the bus down with the reason and path in the status
---
duration_ms: 770.86316
type: 'test'
...
# Subtest: a missing file is recorded too, and a valid file clears the status on the next start
ok 3 - a missing file is recorded too, and a valid file clears the status on the next start
---
duration_ms: 501.321529
type: 'test'
...
1..3
# tests 3
# suites 0
# pass 3
# fail 0
# cancelled 0
# skipped 0
# todo 0
# duration_ms 1386.74152
@@ -0,0 +1,4 @@
/mnt/storage/scratch/sage-busy-now.sh: line 4: /proc/2514686/cmdline: No such file or directory
/mnt/storage/scratch/sage-busy-now.sh: line 4: /proc/2514760/cmdline: No such file or directory
/mnt/storage/scratch/sage-busy-now.sh: line 4: /proc/2514804/cmdline: No such file or directory
CLEAR
@@ -0,0 +1,18 @@
{
"label": "cli-case1-accept.test",
"head": "6bfab273b59a4fa6dc9c468a086ff281f435e572",
"manifest": "cdda41f5baa6b04e6e5bb9b82beff8e00ceef440c6702565cc86944f249bb5d3",
"argv": [
"timeout",
"-k",
"10",
"1200",
"node",
"--test",
"--test-concurrency=1",
"--test-reporter=tap",
"packages/cli/tests/case1-accept.test.mjs"
],
"limit": 1200,
"tmpdir": "/mnt/storage/scratch/tmp/gAO4HLn"
}
@@ -0,0 +1,314 @@
TAP version 13
# Subtest: row253 socket observation uses configured root, metadata and the Console peer without sending bytes
ok 1 - row253 socket observation uses configured root, metadata and the Console peer without sending bytes
---
duration_ms: 2099.627962
type: 'test'
...
# Subtest: row253 P10 refuses unsafe metadata, wrong peers and an unsafe Python without claiming closure
ok 2 - row253 P10 refuses unsafe metadata, wrong peers and an unsafe Python without claiming closure
---
duration_ms: 34506.471258
type: 'test'
...
# Subtest: row253 acceptance rejects bad config and unsupported copies before talk
ok 3 - row253 acceptance rejects bad config and unsupported copies before talk
---
duration_ms: 1661.001247
type: 'test'
...
# Subtest: row253 stalled peer observation ends within its bound without leaving a reader
ok 4 - row253 stalled peer observation ends within its bound without leaving a reader
---
duration_ms: 4561.347474
type: 'test'
...
# Subtest: row253 P8 refuses both retired TCP and board listeners
ok 5 - row253 P8 refuses both retired TCP and board listeners
---
duration_ms: 4334.946139
type: 'test'
...
# Subtest: row253 C4 acceptance query inner reason holds under both sudo models
ok 6 - row253 C4 acceptance query inner reason holds under both sudo models
---
duration_ms: 10843.471172
type: 'test'
...
# Subtest: row253 C4 acceptance query outer reason discards stdout and names residual cleanup
ok 7 - row253 C4 acceptance query outer reason discards stdout and names residual cleanup
---
duration_ms: 14196.605873
type: 'test'
...
# Subtest: row253 C4 acceptance query overflow is output-limit in both models
ok 8 - row253 C4 acceptance query overflow is output-limit in both models
---
duration_ms: 545.704133
type: 'test'
...
# Subtest: row253 C4 P10 inner reason holds under both sudo models
ok 9 - row253 C4 P10 inner reason holds under both sudo models
---
duration_ms: 12826.218464
type: 'test'
...
# {"fault":"inner","mode":"exec","baselineSeconds":2.0366663589999954,"faultSeconds":4.218895206000001,"probeSeconds":2.1822288470000055}
# {"fault":"inner","mode":"hop","baselineSeconds":2.1938593229999968,"faultSeconds":4.2946186219999944,"probeSeconds":2.1007592989999977}
# Subtest: row253 C4 P10 outer reason holds under both sudo models
ok 10 - row253 C4 P10 outer reason holds under both sudo models
---
duration_ms: 16480.756337
type: 'test'
...
# {"fault":"outer","mode":"exec","baselineSeconds":2.1551267119999973,"faultSeconds":6.022712521000009,"probeSeconds":3.8675858090000115}
# {"fault":"outer","mode":"hop","baselineSeconds":2.2588103499999996,"faultSeconds":5.976356018999999,"probeSeconds":3.7175456689999993}
# Subtest: row253 C4 P10 overflow reason holds under both sudo models
ok 11 - row253 C4 P10 overflow reason holds under both sudo models
---
duration_ms: 4553.732525
type: 'test'
...
# Subtest: row 195 accept: every check passing exits 0, with each P mark and counts that match the lines
ok 12 - row 195 accept: every check passing exits 0, with each P mark and counts that match the lines
---
duration_ms: 2181.295355
type: 'test'
...
# Subtest: row 195 accept: exits 1 with each F check failing alone, and its line names it
ok 13 - row 195 accept: exits 1 with each F check failing alone, and its line names it
---
duration_ms: 23277.047316
type: 'test'
...
# Subtest: row 195 accept: F3 fails on exit 0 with no reply line, and its evidence takes talk's error
ok 14 - row 195 accept: F3 fails on exit 0 with no reply line, and its evidence takes talk's error
---
duration_ms: 4044.498019
type: 'test'
...
# Subtest: row 195 accept: F1 fails on a unit that isn't active or isn't User=mosaic
ok 15 - row 195 accept: F1 fails on a unit that isn't active or isn't User=mosaic
---
duration_ms: 3897.537316
type: 'test'
...
# Subtest: row 195 accept: F2 fails when healthz doesn't answer and when another pid holds the port
ok 16 - row 195 accept: F2 fails when healthz doesn't answer and when another pid holds the port
---
duration_ms: 4094.417205
type: 'test'
...
# Subtest: row 195 accept: F5 fails on unpriv_bwrap (enforce), on complain and on a trailing space
ok 17 - row 195 accept: F5 fails on unpriv_bwrap (enforce), on complain and on a trailing space
---
duration_ms: 9452.292561
type: 'test'
...
# Subtest: row 195 accept: F5 fails with no bwrap of mosaic's, and passes on comm alone
ok 18 - row 195 accept: F5 fails with no bwrap of mosaic's, and passes on comm alone
---
duration_ms: 4664.020527
type: 'test'
...
# Subtest: row 195 accept: F6 fails on a stub that prints nothing, on a path outside claude-<pin> and on a .. segment
ok 19 - row 195 accept: F6 fails on a stub that prints nothing, on a path outside claude-<pin> and on a .. segment
---
duration_ms: 5859.159876
type: 'test'
...
# Subtest: row 195 accept: F7 fails on two live PM launches, one for another business, and no launch.by
ok 20 - row 195 accept: F7 fails on two live PM launches, one for another business, and no launch.by
---
duration_ms: 6819.76327
type: 'test'
...
# Subtest: row 195 accept: F8 fails on 0640, on another owner and on a symlink, and never prints the credential
ok 21 - row 195 accept: F8 fails on 0640, on another owner and on a symlink, and never prints the credential
---
duration_ms: 7245.82622
type: 'test'
...
# Subtest: row 195 accept: F9 fails on another owner, a group-writable mode and a number for the flag
ok 22 - row 195 accept: F9 fails on another owner, a group-writable mode and a number for the flag
---
duration_ms: 7083.082356
type: 'test'
...
# Subtest: row 195 accept: F9 won't run --node as root off the pin path or with a writable directory above it
ok 23 - row 195 accept: F9 won't run --node as root off the pin path or with a writable directory above it
---
duration_ms: 6609.990492
type: 'test'
...
# Subtest: row 195 accept: F11 fails on one *.json under discord/ and passes on an empty directory
ok 24 - row 195 accept: F11 fails on one *.json under discord/ and passes on an empty directory
---
duration_ms: 4452.29451
type: 'test'
...
# Subtest: row 195 accept: each P check reports unnamed on its fault, and the exit stays 0
ok 25 - row 195 accept: each P check reports unnamed on its fault, and the exit stays 0
---
duration_ms: 19603.129736
type: 'test'
...
# Subtest: row 195 accept: P2 is unnamed with a supplementary group, and P5 names docker
ok 26 - row 195 accept: P2 is unnamed with a supplementary group, and P5 names docker
---
duration_ms: 4129.749763
type: 'test'
...
# Subtest: row 195 accept: P5 is closed with no jarvis account, and P2 with an empty authorized_keys
ok 27 - row 195 accept: P5 is closed with no jarvis account, and P2 with an empty authorized_keys
---
duration_ms: 2068.961266
type: 'test'
...
# Subtest: row 195 accept: P9 is unnamed once for each item missing
ok 28 - row 195 accept: P9 is unnamed once for each item missing
---
duration_ms: 10827.416429
type: 'test'
...
# Subtest: row253 accept: P10 fails its observation with another peer; P11 with the unit disabled
ok 29 - row253 accept: P10 fails its observation with another peer; P11 with the unit disabled
---
duration_ms: 4357.658515
type: 'test'
...
# Subtest: row 195 accept: every P check unnamed together still exits 0
ok 30 - row 195 accept: every P check unnamed together still exits 0
---
duration_ms: 1760.939925
type: 'test'
...
# Subtest: row 195 accept: a bad args file refuses with exit 2 before any check, each for its own reason
ok 31 - row 195 accept: a bad args file refuses with exit 2 before any check, each for its own reason
---
duration_ms: 101.075676
type: 'test'
...
# Subtest: row 195 accept: usage errors and a run without --root as a user exit 2
ok 32 - row 195 accept: usage errors and a run without --root as a user exit 2
---
duration_ms: 11.211195
type: 'test'
...
# Subtest: row 195 accept: every in-instance call goes through sudo -u mosaic -H env PATH=<node dir>:...
ok 33 - row 195 accept: every in-instance call goes through sudo -u mosaic -H env PATH=<node dir>:...
---
duration_ms: 2187.326264
type: 'test'
...
# Subtest: row 195 accept: the host check runs with --check and never --enforce
ok 34 - row 195 accept: the host check runs with --check and never --enforce
---
duration_ms: 2130.683907
type: 'test'
...
# Subtest: row276 legacy call inventory pins every production bound and the conversation contract
ok 35 - row276 legacy call inventory pins every production bound and the conversation contract
---
duration_ms: 0.390364
type: 'test'
...
# Subtest: row276 talk legacy inner timeout cleans both sudo models
ok 36 - row276 talk legacy inner timeout cleans both sudo models
---
duration_ms: 1759.317472
type: 'test'
...
# Subtest: row276 precheck legacy inner timeout cleans both sudo models
ok 37 - row276 precheck legacy inner timeout cleans both sudo models
---
duration_ms: 1778.448252
type: 'test'
...
# Subtest: row276 claude-version legacy inner timeout cleans both sudo models
ok 38 - row276 claude-version legacy inner timeout cleans both sudo models
---
duration_ms: 1802.291192
type: 'test'
...
# Subtest: row276 pm-list legacy inner timeout cleans both sudo models
ok 39 - row276 pm-list legacy inner timeout cleans both sudo models
---
duration_ms: 1735.64486
type: 'test'
...
# Subtest: row276 node-version legacy inner timeout cleans both sudo models
ok 40 - row276 node-version legacy inner timeout cleans both sudo models
---
duration_ms: 1764.397671
type: 'test'
...
# Subtest: row276 legacy streams and display status preserve failures without granting success
ok 41 - row276 legacy streams and display status preserve failures without granting success
---
duration_ms: 3013.637962
type: 'test'
...
# Subtest: row276 trailer grammar cannot make supervisor failure pass
ok 42 - row276 trailer grammar cannot make supervisor failure pass
---
duration_ms: 2324.225096
type: 'test'
...
# Subtest: row276 earlier forged trailer and appended zero remain failures
ok 43 - row276 earlier forged trailer and appended zero remain failures
---
duration_ms: 553.290991
type: 'test'
...
# Subtest: row276 precheck outer bound discards success status and fixture cleans residual
ok 44 - row276 precheck outer bound discards success status and fixture cleans residual
---
duration_ms: 2194.291863
type: 'test'
...
# Subtest: row276 case1 capture and legacy tools refuse unsafe system tools
ok 45 - row276 case1 capture and legacy tools refuse unsafe system tools
---
duration_ms: 78.154379
type: 'test'
...
# Subtest: row276 stderr retention is bounded and keeps the final diagnostic
ok 46 - row276 stderr retention is bounded and keeps the final diagnostic
---
duration_ms: 323.84307
type: 'test'
...
# Subtest: row276 version and PM checks refuse successful-looking stdout on supervisor failure
ok 47 - row276 version and PM checks refuse successful-looking stdout on supervisor failure
---
duration_ms: 23.639319
type: 'test'
...
# Subtest: row276 full acceptance keeps all five healthy calls in both sudo models
ok 48 - row276 full acceptance keeps all five healthy calls in both sudo models
---
duration_ms: 4647.371078
type: 'test'
...
# Subtest: row276 vanished pid stat read returns 3 with empty stderr in both scripts
ok 49 - row276 vanished pid stat read returns 3 with empty stderr in both scripts
---
duration_ms: 5.711771
type: 'test'
...
# Subtest: row276 legacy stdout snapshot preserves exact bytes on success and command failure
ok 50 - row276 legacy stdout snapshot preserves exact bytes on success and command failure
---
duration_ms: 3400.169708
type: 'test'
...
1..50
# tests 50
# suites 0
# pass 50
# fail 0
# cancelled 0
# skipped 0
# todo 0
# duration_ms 268997.304734
@@ -0,0 +1,2 @@
/mnt/storage/scratch/sage-busy-now.sh: line 4: /proc/2675672/cmdline: No such file or directory
CLEAR
@@ -0,0 +1,18 @@
{
"label": "cli-case1-hostcheck.test",
"head": "6bfab273b59a4fa6dc9c468a086ff281f435e572",
"manifest": "cdda41f5baa6b04e6e5bb9b82beff8e00ceef440c6702565cc86944f249bb5d3",
"argv": [
"timeout",
"-k",
"10",
"900",
"node",
"--test",
"--test-concurrency=1",
"--test-reporter=tap",
"packages/cli/tests/case1-hostcheck.test.mjs"
],
"limit": 900,
"tmpdir": "/mnt/storage/scratch/tmp/gcoLMYy"
}
@@ -0,0 +1,106 @@
TAP version 13
# Subtest: row 240 check: exits 0 with all seven items and a note that bubblewrap is the install pin
ok 1 - row 240 check: exits 0 with all seven items and a note that bubblewrap is the install pin
---
duration_ms: 55.143073
type: 'test'
...
# Subtest: row 240 check: exits 1 with each item failing alone, and its line names it
ok 2 - row 240 check: exits 1 with each item failing alone, and its line names it
---
duration_ms: 237.487471
type: 'test'
...
# Subtest: row 240 check: item 1 fails when a package owns the profile, when dpkg -S errs, or with no pin
ok 3 - row 240 check: item 1 fails when a package owns the profile, when dpkg -S errs, or with no pin
---
duration_ms: 91.508115
type: 'test'
...
# Subtest: row 240 check: item 2 fails on a loaded mosaic-bwrap, a missing unpriv_bwrap or a failed aa-status
ok 4 - row 240 check: item 2 fails on a loaded mosaic-bwrap, a missing unpriv_bwrap or a failed aa-status
---
duration_ms: 91.078335
type: 'test'
...
# Subtest: row 240 check: item 3 fails on a second file naming bwrap as a word, /{usr/,}bin/bwrap included
ok 5 - row 240 check: item 3 fails on a second file naming bwrap as a word, /{usr/,}bin/bwrap included
---
duration_ms: 144.226635
type: 'test'
...
# Subtest: row 240 check: item 4 reads the label under the units' no-new-privs and matches it exactly
ok 6 - row 240 check: item 4 reads the label under the units' no-new-privs and matches it exactly
---
duration_ms: 133.912947
type: 'test'
...
# Subtest: row 240 check: item 5 needs the statoverride and stat to agree
ok 7 - row 240 check: item 5 needs the statoverride and stat to agree
---
duration_ms: 32.953513
type: 'test'
...
# Subtest: row 240 check: item 6 fails on protected_hardlinks 0; item 7 fails with the floor at 732 and reads 1023 with no unit
ok 8 - row 240 check: item 6 fails on protected_hardlinks 0; item 7 fails with the floor at 732 and reads 1023 with no unit
---
duration_ms: 189.216488
type: 'test'
...
# Subtest: row 240 check: a bubblewrap version other than the install pin is a note, not a failure
ok 9 - row 240 check: a bubblewrap version other than the install pin is a note, not a failure
---
duration_ms: 32.888208
type: 'test'
...
# Subtest: row 240 enforce: a pass with no DRIFT changes nothing and exits 0
ok 10 - row 240 enforce: a pass with no DRIFT changes nothing and exits 0
---
duration_ms: 38.597571
type: 'test'
...
# Subtest: row 240 enforce: each failure exits 0, unloads the profile, closes bwrap, writes DRIFT and one log line
ok 11 - row 240 enforce: each failure exits 0, unloads the profile, closes bwrap, writes DRIFT and one log line
---
duration_ms: 290.424397
type: 'test'
...
# Subtest: row 240 enforce: with DRIFT present and every item passing, it still closes bwrap
ok 12 - row 240 enforce: with DRIFT present and every item passing, it still closes bwrap
---
duration_ms: 38.322929
type: 'test'
...
# Subtest: row 240 enforce: no unload when aa-status lists neither bwrap profile; never writes the statoverride
ok 13 - row 240 enforce: no unload when aa-status lists neither bwrap profile; never writes the statoverride
---
duration_ms: 390.386326
type: 'test'
...
# Subtest: row 240 upstream: a candidate whose profile differs prints the difference and exits 0
ok 14 - row 240 upstream: a candidate whose profile differs prints the difference and exits 0
---
duration_ms: 59.104407
type: 'test'
...
# Subtest: row 240 boot unit: a oneshot after apparmor and before the bus that runs --enforce
ok 15 - row 240 boot unit: a oneshot after apparmor and before the bus that runs --enforce
---
duration_ms: 1.050437
type: 'test'
...
# Subtest: row 240 pins and usage: the shipped pins are r6's, the script reads the pins beside it, and bad usage exits 2
ok 16 - row 240 pins and usage: the shipped pins are r6's, the script reads the pins beside it, and bad usage exits 2
---
duration_ms: 46.633152
type: 'test'
...
1..16
# tests 16
# suites 0
# pass 16
# fail 0
# cancelled 0
# skipped 0
# todo 0
# duration_ms 2016.436137
@@ -0,0 +1,2 @@
/mnt/storage/scratch/sage-busy-now.sh: line 4: /proc/2669779/cmdline: No such file or directory
CLEAR
@@ -0,0 +1,18 @@
{
"label": "cli-case2-persona-import.test",
"head": "6bfab273b59a4fa6dc9c468a086ff281f435e572",
"manifest": "cdda41f5baa6b04e6e5bb9b82beff8e00ceef440c6702565cc86944f249bb5d3",
"argv": [
"timeout",
"-k",
"10",
"900",
"node",
"--test",
"--test-concurrency=1",
"--test-reporter=tap",
"packages/cli/tests/case2-persona-import.test.mjs"
],
"limit": 900,
"tmpdir": "/mnt/storage/scratch/tmp/gTQolOe"
}
@@ -0,0 +1,94 @@
TAP version 13
# Subtest: stage takes each profile's SOUL.md byte for byte and prints the pairing with sizes and digests
ok 1 - stage takes each profile's SOUL.md byte for byte and prints the pairing with sizes and digests
---
duration_ms: 74.201432
type: 'test'
...
# Subtest: stage lists the per-channel prompts in all three places by name and byte count only
ok 2 - stage lists the per-channel prompts in all three places by name and byte count only
---
duration_ms: 50.784633
type: 'test'
...
# Subtest: a config key with a newline prints as one quoted line
ok 3 - a config key with a newline prints as one quoted line
---
duration_ms: 53.282579
type: 'test'
...
# Subtest: a read trace shows stage and the dry run open SOUL.md and config.yaml and never memory, sessions or secrets
ok 4 - a read trace shows stage and the dry run open SOUL.md and config.yaml and never memory, sessions or secrets
---
duration_ms: 110.775787
type: 'test'
...
# Subtest: the pairing refuses anything but two existing profiles naming Bean and Chet once each, and writes nothing
ok 5 - the pairing refuses anything but two existing profiles naming Bean and Chet once each, and writes nothing
---
duration_ms: 439.649997
type: 'test'
...
# Subtest: a profile with no persona refuses: no SOUL.md, a blank one, a symlink, not UTF-8
ok 6 - a profile with no persona refuses: no SOUL.md, a blank one, a symlink, not UTF-8
---
duration_ms: 390.120764
type: 'test'
...
# Subtest: the import applies C2-08's exported fence at its boundaries
ok 7 - the import applies C2-08's exported fence at its boundaries
---
duration_ms: 446.179715
type: 'test'
...
# Subtest: install writes 0600 persona files in 0700 directories whose digests match, and prints the vars
ok 8 - install writes 0600 persona files in 0700 directories whose digests match, and prints the vars
---
duration_ms: 104.473662
type: 'test'
...
# Subtest: install refuses an open or foreign staging file, a digest off the manifest and an existing persona
ok 9 - install refuses an open or foreign staging file, a digest off the manifest and an existing persona
---
duration_ms: 542.3347
type: 'test'
...
# Subtest: --dry-run writes nothing and prints only counts and the fence fault, two heading lines in a fixture counted
ok 10 - --dry-run writes nothing and prints only counts and the fence fault, two heading lines in a fixture counted
---
duration_ms: 47.3832
type: 'test'
...
# Subtest: --dry-run applies C2-08's fence: over it the fault prints, nothing is written and it exits 1
ok 11 - --dry-run applies C2-08's fence: over it the fault prints, nothing is written and it exits 1
---
duration_ms: 109.814894
type: 'test'
...
# Subtest: a directory made between the check and mkdir refuses by name, at stage and at install
ok 12 - a directory made between the check and mkdir refuses by name, at stage and at install
---
duration_ms: 169.665412
type: 'test'
...
# Subtest: --dry-run counts three lines naming a Hermes tool or channel and prints none of the words
ok 13 - --dry-run counts three lines naming a Hermes tool or channel and prints none of the words
---
duration_ms: 48.777716
type: 'test'
...
# Subtest: usage: stage needs one of --staging and --dry-run, install takes only its own options
ok 14 - usage: stage needs one of --staging and --dry-run, install takes only its own options
---
duration_ms: 330.356564
type: 'test'
...
1..14
# tests 14
# suites 0
# pass 14
# fail 0
# cancelled 0
# skipped 0
# todo 0
# duration_ms 3034.227202
@@ -0,0 +1,2 @@
/mnt/storage/scratch/sage-busy-now.sh: line 4: /proc/2688341/cmdline: No such file or directory
CLEAR
@@ -0,0 +1,18 @@
{
"label": "cli-case2-unit.test",
"head": "6bfab273b59a4fa6dc9c468a086ff281f435e572",
"manifest": "cdda41f5baa6b04e6e5bb9b82beff8e00ceef440c6702565cc86944f249bb5d3",
"argv": [
"timeout",
"-k",
"10",
"900",
"node",
"--test",
"--test-concurrency=1",
"--test-reporter=tap",
"packages/cli/tests/case2-unit.test.mjs"
],
"limit": 900,
"tmpdir": "/mnt/storage/scratch/tmp/gZuwvKO"
}
@@ -0,0 +1,268 @@
TAP version 13
# Subtest: row253 factory socket uses actual config and target-uid query without widening hardening
ok 1 - row253 factory socket uses actual config and target-uid query without widening hardening
---
duration_ms: 338.283498
type: 'test'
...
# Subtest: row253 installer refuses unsafe location and query facts before unit writes
ok 2 - row253 installer refuses unsafe location and query facts before unit writes
---
duration_ms: 3395.933392
type: 'test'
...
# Subtest: row253 query timeout kills its process group and leaves no running child
ok 3 - row253 query timeout kills its process group and leaves no running child
---
duration_ms: 7044.554617
type: 'test'
...
# Subtest: row253 protected homes refuse before any filesystem access
ok 4 - row253 protected homes refuse before any filesystem access
---
duration_ms: 10.47266
type: 'test'
...
# Subtest: row253 C4 sleep query has exact inner reason and cleans all members
ok 5 - row253 C4 sleep query has exact inner reason and cleans all members
---
duration_ms: 10704.529984
type: 'test'
...
# Subtest: row253 C4 signals query has exact inner reason and cleans all members
ok 6 - row253 C4 signals query has exact inner reason and cleans all members
---
duration_ms: 10694.538508
type: 'test'
...
# Subtest: row253 C4 member query has exact inner reason and cleans all members
ok 7 - row253 C4 member query has exact inner reason and cleans all members
---
duration_ms: 10812.385742
type: 'test'
...
# Subtest: row253 C4 overflow is output-limit in both sudo modes
ok 8 - row253 C4 overflow is output-limit in both sudo modes
---
duration_ms: 504.787876
type: 'test'
...
# Subtest: row253 C4 stalled supervisor uses the outer reason and explicit residual cleanup
ok 9 - row253 C4 stalled supervisor uses the outer reason and explicit residual cleanup
---
duration_ms: 14151.127856
type: 'test'
...
# Subtest: row253 C4 inline supervisor is byte-identical in both host scripts
ok 10 - row253 C4 inline supervisor is byte-identical in both host scripts
---
duration_ms: 0.386863
type: 'test'
...
# Subtest: row253 C4 cleanup budget starts after inventory pass one
ok 11 - row253 C4 cleanup budget starts after inventory pass one
---
duration_ms: 36.729601
type: 'test'
...
# Subtest: row253 query reaps its group even when a child closes stdout before the query returns
ok 12 - row253 query reaps its group even when a child closes stdout before the query returns
---
duration_ms: 135.617997
type: 'test'
...
# Subtest: row253 config parser is strict
ok 13 - row253 config parser is strict
---
duration_ms: 8.881547
type: 'test'
...
# Subtest: a clean library render writes both units 0644 with the fixed lines, and enables both then starts the bus then the Console
ok 14 - a clean library render writes both units 0644 with the fixed lines, and enables both then starts the bus then the Console
---
duration_ms: 97.91631
type: 'test'
...
# Subtest: PATH starts with the --node directory, for a node outside the default list and for /usr/bin/node
ok 15 - PATH starts with the --node directory, for a node outside the default list and for /usr/bin/node
---
duration_ms: 106.834651
type: 'test'
...
# Subtest: a failed bus start refuses with the Console not started
ok 16 - a failed bus start refuses with the Console not started
---
duration_ms: 97.396545
type: 'test'
...
# Subtest: the script never links a unit file
ok 17 - the script never links a unit file
---
duration_ms: 0.176184
type: 'test'
...
# Subtest: factory renders --pm once and one MOSAIC_CLAUDE_BIN line, and without them both tokens render empty
ok 18 - factory renders --pm once and one MOSAIC_CLAUDE_BIN line, and without them both tokens render empty
---
duration_ms: 594.972488
type: 'test'
...
# Subtest: a re-install over running units says they are still on the old copy and must restart together, never that it started them
ok 19 - a re-install over running units says they are still on the old copy and must restart together, never that it started them
---
duration_ms: 446.390101
type: 'test'
...
# Subtest: a re-install to another copy re-renders both units, and an edited installed unit refuses
ok 20 - a re-install to another copy re-renders both units, and an edited installed unit refuses
---
duration_ms: 1100.300083
type: 'test'
...
# Subtest: a template with a namespace, user or system call restriction refuses
ok 21 - a template with a namespace, user or system call restriction refuses
---
duration_ms: 286.985202
type: 'test'
...
# Subtest: the bus template's EnvironmentFile line must be there and point at the session env, and the Console template must have none
ok 22 - the bus template's EnvironmentFile line must be there and point at the session env, and the Console template must have none
---
duration_ms: 229.108716
type: 'test'
...
# Subtest: a template holding an unknown token, PermissionsStartOnly or a privileged Exec prefix refuses
ok 23 - a template holding an unknown token, PermissionsStartOnly or a privileged Exec prefix refuses
---
duration_ms: 201.490675
type: 'test'
...
# Subtest: a symlink at either unit path refuses
ok 24 - a symlink at either unit path refuses
---
duration_ms: 197.693274
type: 'test'
...
# Subtest: a --node that is relative, not root-owned or under <home> refuses
ok 25 - a --node that is relative, not root-owned or under <home> refuses
---
duration_ms: 30.379862
type: 'test'
...
# Subtest: a re-install with a different --node or different serve flags refuses
ok 26 - a re-install with a different --node or different serve flags refuses
---
duration_ms: 646.168739
type: 'test'
...
# Subtest: an installed pair whose units name different copies refuses
ok 27 - an installed pair whose units name different copies refuses
---
duration_ms: 348.56173
type: 'test'
...
# Subtest: a copy id that is short, uppercase, holds / or .., or names no directory refuses
ok 28 - a copy id that is short, uppercase, holds / or .., or names no directory refuses
---
duration_ms: 42.378314
type: 'test'
...
# Subtest: library refuses a privileged-floor miss, a bad proof pair and every flag outside its set
ok 29 - library refuses a privileged-floor miss, a bad proof pair and every flag outside its set
---
duration_ms: 383.807951
type: 'test'
...
# Subtest: library refuses a proof file not owned by <user>'s uid
ok 30 - library refuses a proof file not owned by <user>'s uid
---
duration_ms: 22.258961
type: 'test'
...
# Subtest: factory refuses duplicate socket, a missing --port or --business, and each proxy flag
ok 31 - factory refuses duplicate socket, a missing --port or --business, and each proxy flag
---
duration_ms: 317.48472
type: 'test'
...
# Subtest: row253 factory refuses retired TCP and a value after the socket marker
ok 32 - row253 factory refuses retired TCP and a value after the socket marker
---
duration_ms: 40.521206
type: 'test'
...
# Subtest: factory refuses a --claude that is relative, not root-owned or under <home>, and a re-install with another --pm or --claude
ok 33 - factory refuses a --claude that is relative, not root-owned or under <home>, and a re-install with another --pm or --claude
---
duration_ms: 1614.076845
type: 'test'
...
# Subtest: the precheck passes on a good host and prints free memory, without the key
ok 34 - the precheck passes on a good host and prints free memory, without the key
---
duration_ms: 121.880337
type: 'test'
...
# Subtest: the precheck refuses each failed host check
ok 35 - the precheck refuses each failed host check
---
duration_ms: 1080.979929
type: 'test'
...
# Subtest: the precheck refuses a user missing from passwd, a business file that does not load, and a symlinked run root
ok 36 - the precheck refuses a user missing from passwd, a business file that does not load, and a symlinked run root
---
duration_ms: 732.541492
type: 'test'
...
# Subtest: a bwrap that fails refuses and prints the sysctl and where bwrap is
ok 37 - a bwrap that fails refuses and prints the sysctl and where bwrap is
---
duration_ms: 170.570612
type: 'test'
...
# Subtest: an unprivileged port floor at or below the Console's port refuses, and so does a missing Console unit
ok 38 - an unprivileged port floor at or below the Console's port refuses, and so does a missing Console unit
---
duration_ms: 794.690583
type: 'test'
...
# Subtest: bus.tester: library refuses it on, factory needs it on, and factory refuses a library business
ok 39 - bus.tester: library refuses it on, factory needs it on, and factory refuses a library business
---
duration_ms: 512.518686
type: 'test'
...
# Subtest: the claude check runs only for a claude-code instance, and refuses a claude that appends or answers wrong
ok 40 - the claude check runs only for a claude-code instance, and refuses a claude that appends or answers wrong
---
duration_ms: 1216.727895
type: 'test'
...
# Subtest: the claude check runs the bus unit's MOSAIC_CLAUDE_BIN over claude on PATH
ok 41 - the claude check runs the bus unit's MOSAIC_CLAUDE_BIN over claude on PATH
---
duration_ms: 419.16746
type: 'test'
...
# Subtest: the session env file refuses when missing, open to others, a symlink, empty, or emptied by a later line
ok 42 - the session env file refuses when missing, open to others, a symlink, empty, or emptied by a later line
---
duration_ms: 802.854657
type: 'test'
...
# Subtest: inside a session's sandbox a bind below 1024 fails with EACCES, and a bind on a free high port succeeds
ok 43 - inside a session's sandbox a bind below 1024 fails with EACCES, and a bind on a free high port succeeds
---
duration_ms: 126.726265
type: 'test'
...
1..43
# tests 43
# suites 0
# pass 43
# fail 0
# cancelled 0
# skipped 0
# todo 0
# duration_ms 70755.18746
@@ -0,0 +1,3 @@
/mnt/storage/scratch/sage-busy-now.sh: line 4: /proc/2705986/cmdline: No such file or directory
/mnt/storage/scratch/sage-busy-now.sh: line 4: /proc/2720890/cmdline: No such file or directory
CLEAR
@@ -0,0 +1,18 @@
{
"label": "cli-channel-cli.test",
"head": "6bfab273b59a4fa6dc9c468a086ff281f435e572",
"manifest": "cdda41f5baa6b04e6e5bb9b82beff8e00ceef440c6702565cc86944f249bb5d3",
"argv": [
"timeout",
"-k",
"10",
"900",
"node",
"--test",
"--test-concurrency=1",
"--test-reporter=tap",
"packages/cli/tests/channel-cli.test.mjs"
],
"limit": 900,
"tmpdir": "/mnt/storage/scratch/tmp/gsKXQa2"
}
@@ -0,0 +1,22 @@
TAP version 13
# Subtest: CLI off, absent and other-only channel selections refuse every project/thread flow before any effect
ok 1 - CLI off, absent and other-only channel selections refuse every project/thread flow before any effect
---
duration_ms: 14.862016
type: 'test'
...
# Subtest: CLI enabled project/thread lists dispatch through selection without changing output
ok 2 - CLI enabled project/thread lists dispatch through selection without changing output
---
duration_ms: 1.810402
type: 'test'
...
1..2
# tests 2
# suites 0
# pass 2
# fail 0
# cancelled 0
# skipped 0
# todo 0
# duration_ms 161.566927
@@ -0,0 +1,2 @@
/mnt/storage/scratch/sage-busy-now.sh: line 4: /proc/2724982/cmdline: No such file or directory
CLEAR
@@ -0,0 +1,18 @@
{
"label": "cli-channel-recovery.test",
"head": "6bfab273b59a4fa6dc9c468a086ff281f435e572",
"manifest": "cdda41f5baa6b04e6e5bb9b82beff8e00ceef440c6702565cc86944f249bb5d3",
"argv": [
"timeout",
"-k",
"10",
"900",
"node",
"--test",
"--test-concurrency=1",
"--test-reporter=tap",
"packages/cli/tests/channel-recovery.test.mjs"
],
"limit": 900,
"tmpdir": "/mnt/storage/scratch/tmp/go7AJdp"
}
@@ -0,0 +1,16 @@
TAP version 13
# Subtest: both channels off recover through the existing human CLI, socket and organization writer
ok 1 - both channels off recover through the existing human CLI, socket and organization writer
---
duration_ms: 2452.887029
type: 'test'
...
1..1
# tests 1
# suites 0
# pass 1
# fail 0
# cancelled 0
# skipped 0
# todo 0
# duration_ms 2577.21069
@@ -0,0 +1,2 @@
/mnt/storage/scratch/sage-busy-now.sh: line 4: /proc/2718888/cmdline: No such file or directory
CLEAR
@@ -0,0 +1,18 @@
{
"label": "cli-cli.test",
"head": "6bfab273b59a4fa6dc9c468a086ff281f435e572",
"manifest": "cdda41f5baa6b04e6e5bb9b82beff8e00ceef440c6702565cc86944f249bb5d3",
"argv": [
"timeout",
"-k",
"10",
"900",
"node",
"--test",
"--test-concurrency=1",
"--test-reporter=tap",
"packages/cli/tests/cli.test.mjs"
],
"limit": 900,
"tmpdir": "/mnt/storage/scratch/tmp/gANOAg1"
}
@@ -0,0 +1,82 @@
TAP version 13
# Subtest: inbox lists only decisions routed to the human, with what approving authorizes and how to decide
ok 1 - inbox lists only decisions routed to the human, with what approving authorizes and how to decide
---
duration_ms: 25.242063
type: 'test'
...
# Subtest: decide resolves by id prefix with --yes, and the trail shows it in broker order with the task to follow
ok 2 - decide resolves by id prefix with --yes, and the trail shows it in broker order with the task to follow
---
duration_ms: 19.969662
type: 'test'
...
# Subtest: decide refuses without a terminal or --yes, on an unknown option and on a short reference
ok 3 - decide refuses without a terminal or --yes, on an unknown option and on a short reference
---
duration_ms: 17.281164
type: 'test'
...
# Subtest: decide prints a declining choice as declining
ok 4 - decide prints a declining choice as declining
---
duration_ms: 16.51824
type: 'test'
...
# Subtest: an unknown outcome is reported once and never resent
ok 5 - an unknown outcome is reported once and never resent
---
duration_ms: 15.534297
type: 'test'
...
# Subtest: a decision closed before the answer arrives exits 2 and points at its trail
ok 6 - a decision closed before the answer arrives exits 2 and points at its trail
---
duration_ms: 15.245479
type: 'test'
...
# Subtest: a prefix that matches two open decisions exits 2 and resolves neither
ok 7 - a prefix that matches two open decisions exits 2 and resolves neither
---
duration_ms: 18.353886
type: 'test'
...
# Subtest: without --business a command uses the live host's business, and a stale host.json is not a host
ok 8 - without --business a command uses the live host's business, and a stale host.json is not a host
---
duration_ms: 17.168794
type: 'test'
...
# Subtest: every human command refuses inside an agent run before it touches the bus
ok 9 - every human command refuses inside an agent run before it touches the bus
---
duration_ms: 14.686821
type: 'test'
...
# Subtest: usage errors exit 4; no business and no host is a usage error
ok 10 - usage errors exit 4; no business and no host is a usage error
---
duration_ms: 18.348432
type: 'test'
...
# Subtest: agents and tasks print through the broker
ok 11 - agents and tasks print through the broker
---
duration_ms: 15.919454
type: 'test'
...
# Subtest: notify.json: missing, loose, malformed and extra keys refuse; a binding or null passes
ok 12 - notify.json: missing, loose, malformed and extra keys refuse; a binding or null passes
---
duration_ms: 2.134067
type: 'test'
...
1..12
# tests 12
# suites 0
# pass 12
# fail 0
# cancelled 0
# skipped 0
# todo 0
# duration_ms 345.023606
@@ -0,0 +1,6 @@
/mnt/storage/scratch/sage-busy-now.sh: line 4: /proc/2734470/cmdline: No such file or directory
/mnt/storage/scratch/sage-busy-now.sh: line 4: /proc/2734471/cmdline: No such file or directory
/mnt/storage/scratch/sage-busy-now.sh: line 4: /proc/2734483/cmdline: No such file or directory
/mnt/storage/scratch/sage-busy-now.sh: line 4: /proc/2734484/cmdline: No such file or directory
/mnt/storage/scratch/sage-busy-now.sh: line 4: /proc/2734485/cmdline: No such file or directory
CLEAR
@@ -0,0 +1,18 @@
{
"label": "cli-compactions-launch.test",
"head": "6bfab273b59a4fa6dc9c468a086ff281f435e572",
"manifest": "cdda41f5baa6b04e6e5bb9b82beff8e00ceef440c6702565cc86944f249bb5d3",
"argv": [
"timeout",
"-k",
"10",
"900",
"node",
"--test",
"--test-concurrency=1",
"--test-reporter=tap",
"packages/cli/tests/compactions-launch.test.mjs"
],
"limit": 900,
"tmpdir": "/mnt/storage/scratch/tmp/gv1p2U4"
}
@@ -0,0 +1,49 @@
TAP version 13
# usage: {"event":"usage-unknown","business":"acme","run":"r9b3b7ed31472","instance":"assistant","turn":"82d5b28f-c9f8-4aec-a47a-6ec56ad9cb75","source":"@none","code":"baseline-unknown"}
# usage: {"event":"usage-unknown","business":"acme","run":"r34dccd1faa35","instance":"assistant","turn":"16acf3fd-3731-4b41-8b46-1969ffc1c6cd","source":"@none","code":"baseline-unknown"}
# Subtest: REQ-THREAD-2 T3 a run collects compactions at its start and its end, and the count holds across a resume and a host restart
ok 1 - REQ-THREAD-2 T3 a run collects compactions at its start and its end, and the count holds across a resume and a host restart
---
duration_ms: 3060.513912
type: 'test'
...
# usage: {"event":"usage-unknown","business":"acme","run":"r7987e5e98f94","instance":"assistant","turn":"512b7ba9-df7d-42ec-afdf-1d2506148696","source":"@none","code":"baseline-unknown"}
# usage: {"event":"usage-unknown","business":"acme","run":"r183cb86b10d2","instance":"assistant","turn":"e27b3e1c-9bcc-40ad-a062-f146793dba6f","source":"@none","code":"baseline-unknown"}
# Subtest: REQ-THREAD-2 T3 a collection that fails is logged and recorded store-unreadable, and the run ends as one whose collections count
ok 2 - REQ-THREAD-2 T3 a collection that fails is logged and recorded store-unreadable, and the run ends as one whose collections count
---
duration_ms: 2836.42437
type: 'test'
...
# usage: {"event":"usage-unknown","business":"acme","run":"ra75431fa79f0","instance":"assistant","turn":"4c91828b-718b-4ac6-bcdf-fb8dcb2b8bdd","source":"@none","code":"baseline-unknown"}
# usage: {"event":"usage-unknown","business":"acme","run":"r1450d66c421c","instance":"assistant","turn":"c282410a-0651-4bb5-ae26-3d43f79e4b8e","source":"@none","code":"baseline-unknown"}
# Subtest: REQ-THREAD-2 T3 the read budget is the system config's compactionReadBytes, and a bad value takes the default
ok 3 - REQ-THREAD-2 T3 the read budget is the system config's compactionReadBytes, and a bad value takes the default
---
duration_ms: 2964.243073
type: 'test'
...
# usage: {"event":"usage-unknown","business":"acme","run":"r3cc51381700b","instance":"assistant","turn":"a208c9ff-e339-4ccb-ba7d-647e0fcad96a","source":"@none","code":"baseline-unknown"}
# usage: {"event":"usage-unknown","business":"acme","run":"rebd0e645051f","instance":"assistant","turn":"3f166978-a37b-4720-b5f6-23739160ab30","source":"@none","code":"baseline-unknown"}
# Subtest: REQ-THREAD-2 T3 the stream cap is the system config's compactionStreams, and a bad value takes the default
ok 4 - REQ-THREAD-2 T3 the stream cap is the system config's compactionStreams, and a bad value takes the default
---
duration_ms: 2985.353374
type: 'test'
...
# usage: {"event":"usage-unknown","business":"acme","run":"r38cd5fc106f6","instance":"assistant","turn":"d1689f86-422d-4722-9137-8b6d98f6d8e3","source":"@none","code":"baseline-unknown"}
# Subtest: REQ-THREAD-2 T3 T4 a clear leaves the retired session's count as it was, its successor counts from 0, and a legacy session reads the thread's ledger
ok 5 - REQ-THREAD-2 T3 T4 a clear leaves the retired session's count as it was, its successor counts from 0, and a legacy session reads the thread's ledger
---
duration_ms: 2894.272332
type: 'test'
...
1..5
# tests 5
# suites 0
# pass 5
# fail 0
# cancelled 0
# skipped 0
# todo 0
# duration_ms 14897.217121
@@ -0,0 +1,3 @@
/mnt/storage/scratch/sage-busy-now.sh: line 4: /proc/2729884/cmdline: No such file or directory
/mnt/storage/scratch/sage-busy-now.sh: line 4: /proc/2740110/cmdline: No such file or directory
CLEAR
@@ -0,0 +1,18 @@
{
"label": "cli-config.test",
"head": "6bfab273b59a4fa6dc9c468a086ff281f435e572",
"manifest": "cdda41f5baa6b04e6e5bb9b82beff8e00ceef440c6702565cc86944f249bb5d3",
"argv": [
"timeout",
"-k",
"10",
"900",
"node",
"--test",
"--test-concurrency=1",
"--test-reporter=tap",
"packages/cli/tests/config.test.mjs"
],
"limit": 900,
"tmpdir": "/mnt/storage/scratch/tmp/gqPHWdx"
}
@@ -0,0 +1,46 @@
TAP version 13
# Subtest: bootConfig builds the broker's boot message for one business, with no trackers key when no project names one
ok 1 - bootConfig builds the broker's boot message for one business, with no trackers key when no project names one
---
duration_ms: 47.533158
type: 'test'
...
# Subtest: trackers come from the tracker.* variables of the one project that names a tracker project
ok 2 - trackers come from the tracker.* variables of the one project that names a tracker project
---
duration_ms: 82.772069
type: 'test'
...
# Subtest: with two projects, the one that sets tracker.project supplies the tracker and the other is no conflict
ok 3 - with two projects, the one that sets tracker.project supplies the tracker and the other is no conflict
---
duration_ms: 42.496949
type: 'test'
...
# Subtest: two projects that each name a tracker project refuse, since the boot shape holds one
ok 4 - two projects that each name a tracker project refuse, since the boot shape holds one
---
duration_ms: 40.465424
type: 'test'
...
# Subtest: a business without tracker.baseUrl gets no trackers entry
ok 5 - a business without tracker.baseUrl gets no trackers entry
---
duration_ms: 44.976205
type: 'test'
...
# Subtest: an unknown business and a broken system config refuse with exit 3
ok 6 - an unknown business and a broken system config refuse with exit 3
---
duration_ms: 80.054576
type: 'test'
...
1..6
# tests 6
# suites 0
# pass 6
# fail 0
# cancelled 0
# skipped 0
# todo 0
# duration_ms 481.867119
@@ -0,0 +1,2 @@
/mnt/storage/scratch/sage-busy-now.sh: line 4: /proc/2739538/cmdline: No such file or directory
CLEAR
@@ -0,0 +1,18 @@
{
"label": "cli-credentials.test",
"head": "6bfab273b59a4fa6dc9c468a086ff281f435e572",
"manifest": "cdda41f5baa6b04e6e5bb9b82beff8e00ceef440c6702565cc86944f249bb5d3",
"argv": [
"timeout",
"-k",
"10",
"900",
"node",
"--test",
"--test-concurrency=1",
"--test-reporter=tap",
"packages/cli/tests/credentials.test.mjs"
],
"limit": 900,
"tmpdir": "/mnt/storage/scratch/tmp/gwjrLbh"
}
@@ -0,0 +1,40 @@
TAP version 13
# Subtest: row 199: issue and rotate send the stdin token once to credentials.issue and print no value
ok 1 - row 199: issue and rotate send the stdin token once to credentials.issue and print no value
---
duration_ms: 6.049775
type: 'test'
...
# Subtest: row 199: rotate goes ahead on each held state, rotation-due included, and refuses not-issued, revoked and an unknown entry
ok 2 - row 199: rotate goes ahead on each held state, rotation-due included, and refuses not-issued, revoked and an unknown entry
---
duration_ms: 2.332996
type: 'test'
...
# Subtest: row 199: status, revoke and delete; the tester runs status and revoke only
ok 3 - row 199: status, revoke and delete; the tester runs status and revoke only
---
duration_ms: 2.4827
type: 'test'
...
# Subtest: row 210: issue of a host.<id> kind prints public material only
ok 4 - row 210: issue of a host.<id> kind prints public material only
---
duration_ms: 1.076741
type: 'test'
...
# Subtest: row 199: scripts/mosaic sends credentials to packages/cli, not the seat CLI
ok 5 - row 199: scripts/mosaic sends credentials to packages/cli, not the seat CLI
---
duration_ms: 100.820374
type: 'test'
...
1..5
# tests 5
# suites 0
# pass 5
# fail 0
# cancelled 0
# skipped 0
# todo 0
# duration_ms 245.28395
@@ -0,0 +1,3 @@
/mnt/storage/scratch/sage-busy-now.sh: line 4: /proc/2740109/cmdline: No such file or directory
/mnt/storage/scratch/sage-busy-now.sh: line 4: /proc/2750637/cmdline: No such file or directory
CLEAR
@@ -0,0 +1,18 @@
{
"label": "cli-follow.test",
"head": "6bfab273b59a4fa6dc9c468a086ff281f435e572",
"manifest": "cdda41f5baa6b04e6e5bb9b82beff8e00ceef440c6702565cc86944f249bb5d3",
"argv": [
"timeout",
"-k",
"10",
"900",
"node",
"--test",
"--test-concurrency=1",
"--test-reporter=tap",
"packages/cli/tests/follow.test.mjs"
],
"limit": 900,
"tmpdir": "/mnt/storage/scratch/tmp/gql3NXN"
}
@@ -0,0 +1,46 @@
TAP version 13
# Subtest: follow prints an unsolicited message after plain talk returned
ok 1 - follow prints an unsolicited message after plain talk returned
---
duration_ms: 32.177613
type: 'test'
...
# Subtest: talk --follow continues after reply and prints a later unsolicited message
ok 2 - talk --follow continues after reply and prints a later unsolicited message
---
duration_ms: 30.726311
type: 'test'
...
# Subtest: inbox lists all unread human messages under decisions, does not deliver or read them
ok 3 - inbox lists all unread human messages under decisions, does not deliver or read them
---
duration_ms: 291.201044
type: 'test'
...
# Subtest: follow refuses agent context and bad arguments
ok 4 - follow refuses agent context and bad arguments
---
duration_ms: 13.974453
type: 'test'
...
# Subtest: follow Ctrl-C wakes the poll sleep and removes its handler; transport errors also clean up
ok 5 - follow Ctrl-C wakes the poll sleep and removes its handler; transport errors also clean up
---
duration_ms: 12.555306
type: 'test'
...
# Subtest: plain talk leaves the process SIGINT handlers unchanged
ok 6 - plain talk leaves the process SIGINT handlers unchanged
---
duration_ms: 15.128181
type: 'test'
...
1..6
# tests 6
# suites 0
# pass 6
# fail 0
# cancelled 0
# skipped 0
# todo 0
# duration_ms 519.127806
@@ -0,0 +1 @@
CLEAR
@@ -0,0 +1,18 @@
{
"label": "cli-format.test",
"head": "6bfab273b59a4fa6dc9c468a086ff281f435e572",
"manifest": "cdda41f5baa6b04e6e5bb9b82beff8e00ceef440c6702565cc86944f249bb5d3",
"argv": [
"timeout",
"-k",
"10",
"900",
"node",
"--test",
"--test-concurrency=1",
"--test-reporter=tap",
"packages/cli/tests/format.test.mjs"
],
"limit": 900,
"tmpdir": "/mnt/storage/scratch/tmp/g8SWnhq"
}
@@ -0,0 +1,34 @@
TAP version 13
# Subtest: empty views say so
ok 1 - empty views say so
---
duration_ms: 0.6655
type: 'test'
...
# Subtest: agents adds a thread line for each held thread claim, after the roles
ok 2 - agents adds a thread line for each held thread claim, after the roles
---
duration_ms: 0.143368
type: 'test'
...
# Subtest: the trail keeps the broker's order and names a decision's task without its rows
ok 3 - the trail keeps the broker's order and names a decision's task without its rows
---
duration_ms: 1.292604
type: 'test'
...
# Subtest: tasks print the tracker fields the snapshot carries
ok 4 - tasks print the tracker fields the snapshot carries
---
duration_ms: 0.146742
type: 'test'
...
1..4
# tests 4
# suites 0
# pass 4
# fail 0
# cancelled 0
# skipped 0
# todo 0
# duration_ms 54.78105
@@ -0,0 +1,2 @@
/mnt/storage/scratch/sage-busy-now.sh: line 4: /proc/2697551/cmdline: No such file or directory
CLEAR
@@ -0,0 +1,18 @@
{
"label": "cli-gate-lane-auth.test",
"head": "6bfab273b59a4fa6dc9c468a086ff281f435e572",
"manifest": "cdda41f5baa6b04e6e5bb9b82beff8e00ceef440c6702565cc86944f249bb5d3",
"argv": [
"timeout",
"-k",
"10",
"900",
"node",
"--test",
"--test-concurrency=1",
"--test-reporter=tap",
"packages/cli/tests/gate-lane-auth.test.mjs"
],
"limit": 900,
"tmpdir": "/mnt/storage/scratch/tmp/g7HdD5m"
}
@@ -0,0 +1,43 @@
TAP version 13
# Subtest: guardDocker refuses a compose run unless PI_AUTH_FILE is a regular file inside the lane temp root
ok 1 - guardDocker refuses a compose run unless PI_AUTH_FILE is a regular file inside the lane temp root
---
duration_ms: 3.533553
type: 'test'
...
# Subtest: cleanEnv points PI_AUTH_FILE at the lane fixture and drops MOSAIC_LIVE_PROVIDER
ok 2 - cleanEnv points PI_AUTH_FILE at the lane fixture and drops MOSAIC_LIVE_PROVIDER
---
duration_ms: 0.481998
type: 'test'
...
# Subtest: test-release.sh activates through the mock adapter with a 0600 fixture auth file
ok 3 - test-release.sh activates through the mock adapter with a 0600 fixture auth file
---
duration_ms: 1567.218594
type: 'test'
...
# {"script":"test-release.sh","extra":[],"wallMs":1287,"status":0}
# Subtest: test-task.sh mounts only its fixture, uses only the mock adapter and prints the live skip twice
ok 4 - test-task.sh mounts only its fixture, uses only the mock adapter and prints the live skip twice
---
duration_ms: 8010.374306
type: 'test'
...
# {"script":"test-task.sh","extra":[],"wallMs":7939,"status":1}
# Subtest: M-T: MOSAIC_LIVE_PROVIDER=1 runs the real-model cases, which fail under a fixture auth file
ok 5 - M-T: MOSAIC_LIVE_PROVIDER=1 runs the real-model cases, which fail under a fixture auth file
---
duration_ms: 8544.524875
type: 'test'
...
# {"script":"test-task.sh","extra":["MOSAIC_LIVE_PROVIDER","PI_AUTH_FILE"],"wallMs":8476,"status":1}
1..5
# tests 5
# suites 0
# pass 5
# fail 0
# cancelled 0
# skipped 0
# todo 0
# duration_ms 18193.082729
@@ -0,0 +1 @@
CLEAR
@@ -0,0 +1,18 @@
{
"label": "cli-gate-lane-fixtures.test",
"head": "6bfab273b59a4fa6dc9c468a086ff281f435e572",
"manifest": "cdda41f5baa6b04e6e5bb9b82beff8e00ceef440c6702565cc86944f249bb5d3",
"argv": [
"timeout",
"-k",
"10",
"900",
"node",
"--test",
"--test-concurrency=1",
"--test-reporter=tap",
"packages/cli/tests/gate-lane-fixtures.test.mjs"
],
"limit": 900,
"tmpdir": "/mnt/storage/scratch/tmp/gmgJikS"
}
@@ -0,0 +1,58 @@
TAP version 13
# Subtest: parallel lease holders use only the active lane and its shared state
ok 1 - parallel lease holders use only the active lane and its shared state
---
duration_ms: 22.268532
type: 'test'
...
# Subtest: unrelated home changes do not become lane writes, and own-root references do
ok 2 - unrelated home changes do not become lane writes, and own-root references do
---
duration_ms: 0.345374
type: 'test'
...
# Subtest: proof summaries refuse missing timings, non-overlap and a pair without a lane swap
ok 3 - proof summaries refuse missing timings, non-overlap and a pair without a lane swap
---
duration_ms: 0.987671
type: 'test'
...
# Subtest: an exhausted single-port band refuses, and an occupied foreign listener survives the probe
ok 4 - an exhausted single-port band refuses, and an occupied foreign listener survives the probe
---
duration_ms: 10.180104
type: 'test'
...
# Subtest: parallel child allocators share real lane locks; a lease remains held through child shutdown
ok 5 - parallel child allocators share real lane locks; a lease remains held through child shutdown
---
duration_ms: 158.353131
type: 'test'
...
# Subtest: abrupt allocator death releases its holder without touching a foreign lease
ok 6 - abrupt allocator death releases its holder without touching a foreign lease
---
duration_ms: 55.962636
type: 'test'
...
# Subtest: fixture caches survive a replacement environment with a separate tmp subdirectory
ok 7 - fixture caches survive a replacement environment with a separate tmp subdirectory
---
duration_ms: 24.279942
type: 'test'
...
# Subtest: an unrelated session can append while a supervised step runs without becoming an attributed write
ok 8 - an unrelated session can append while a supervised step runs without becoming an attributed write
---
duration_ms: 39.23961
type: 'test'
...
1..8
# tests 8
# suites 0
# pass 8
# fail 0
# cancelled 0
# skipped 0
# todo 0
# duration_ms 371.486334
@@ -0,0 +1,10 @@
/mnt/storage/scratch/sage-busy-now.sh: line 4: /proc/2765847/cmdline: No such file or directory
/mnt/storage/scratch/sage-busy-now.sh: line 4: /proc/2770202/cmdline: No such file or directory
/mnt/storage/scratch/sage-busy-now.sh: line 4: /proc/2773282/cmdline: No such file or directory
/mnt/storage/scratch/sage-busy-now.sh: line 4: /proc/2774106/cmdline: No such file or directory
/mnt/storage/scratch/sage-busy-now.sh: line 4: /proc/2774108/cmdline: No such file or directory
/mnt/storage/scratch/sage-busy-now.sh: line 4: /proc/2774629/cmdline: No such file or directory
/mnt/storage/scratch/sage-busy-now.sh: line 4: /proc/2774679/cmdline: No such file or directory
/mnt/storage/scratch/sage-busy-now.sh: line 4: /proc/2774702/cmdline: No such file or directory
/mnt/storage/scratch/sage-busy-now.sh: line 4: /proc/2774703/cmdline: No such file or directory
CLEAR
@@ -0,0 +1,18 @@
{
"label": "cli-gate-lane-image.test",
"head": "6bfab273b59a4fa6dc9c468a086ff281f435e572",
"manifest": "cdda41f5baa6b04e6e5bb9b82beff8e00ceef440c6702565cc86944f249bb5d3",
"argv": [
"timeout",
"-k",
"10",
"900",
"node",
"--test",
"--test-concurrency=1",
"--test-reporter=tap",
"packages/cli/tests/gate-lane-image.test.mjs"
],
"limit": 900,
"tmpdir": "/mnt/storage/scratch/tmp/gOV4zek"
}
@@ -0,0 +1,89 @@
TAP version 13
# Subtest: a changed COPY input or actual image ID refuses compatible image sharing
ok 1 - a changed COPY input or actual image ID refuses compatible image sharing
---
duration_ms: 4.631814
type: 'test'
...
# Subtest: warm Docker guard disables implicit build and pull and refuses image mutation
ok 2 - warm Docker guard disables implicit build and pull and refuses image mutation
---
duration_ms: 1.504714
type: 'test'
...
# Subtest: exclusive image preparation records actual image ID and build wall time and requires a grant
ok 3 - exclusive image preparation records actual image ID and build wall time and requires a grant
---
duration_ms: 2.513219
type: 'test'
...
# Subtest: cleanup refuses a foreign Docker label and removes only an exact owned project
ok 4 - cleanup refuses a foreign Docker label and removes only an exact owned project
---
duration_ms: 0.37577
type: 'test'
...
# Subtest: missing receipt and missing image refuse without permitting a gate
ok 5 - missing receipt and missing image refuse without permitting a gate
---
duration_ms: 1.761432
type: 'test'
...
# Subtest: a tag changed between supervised steps fails the next boundary and suppresses gate success
ok 6 - a tag changed between supervised steps fails the next boundary and suppresses gate success
---
duration_ms: 26.095707
type: 'test'
...
# Subtest: mutable-base rebuilds with identical files have distinct image IDs; cold and warm counters stay separate
ok 7 - mutable-base rebuilds with identical files have distinct image IDs; cold and warm counters stay separate
---
duration_ms: 2.996312
type: 'test'
...
# Subtest: warm pinned execution records zero builds and checks the tag again after its final step
ok 8 - warm pinned execution records zero builds and checks the tag again after its final step
---
duration_ms: 47.816546
type: 'test'
...
# Subtest: installed Compose accepts rewritten run argv without starting a container
ok 9 - installed Compose accepts rewritten run argv without starting a container
---
duration_ms: 82.330012
type: 'test'
...
# Subtest: installed Compose resolves the private override with no build and the pinned image
ok 10 - installed Compose resolves the private override with no build and the pinned image
---
duration_ms: 43.475093
type: 'test'
...
# {"installedComposeConfig":{"buildPresent":false,"image":"sha256:aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa"}}
# Subtest: guard owns every Compose file argument and refuses caller configuration overrides
ok 11 - guard owns every Compose file argument and refuses caller configuration overrides
---
duration_ms: 0.681145
type: 'test'
...
# Subtest: changing packages/processing-control/src/state.mjs invalidates the image receipt
ok 12 - changing packages/processing-control/src/state.mjs invalidates the image receipt
---
duration_ms: 1.410212
type: 'test'
...
# Subtest: changing packages/processing-control/src/entrypoint.mjs invalidates the image receipt
ok 13 - changing packages/processing-control/src/entrypoint.mjs invalidates the image receipt
---
duration_ms: 1.581395
type: 'test'
...
1..13
# tests 13
# suites 0
# pass 13
# fail 0
# cancelled 0
# skipped 0
# todo 0
# duration_ms 266.439661
@@ -0,0 +1 @@
CLEAR
@@ -0,0 +1,18 @@
{
"label": "cli-gate-lane-state.test",
"head": "6bfab273b59a4fa6dc9c468a086ff281f435e572",
"manifest": "cdda41f5baa6b04e6e5bb9b82beff8e00ceef440c6702565cc86944f249bb5d3",
"argv": [
"timeout",
"-k",
"10",
"900",
"node",
"--test",
"--test-concurrency=1",
"--test-reporter=tap",
"packages/cli/tests/gate-lane-state.test.mjs"
],
"limit": 900,
"tmpdir": "/mnt/storage/scratch/tmp/g4tn3Kj"
}
@@ -0,0 +1,94 @@
TAP version 13
# Subtest: unfinished dead-owner runs quarantine their lane and a recovery record clears only that run
ok 1 - unfinished dead-owner runs quarantine their lane and a recovery record clears only that run
---
duration_ms: 4.979095
type: 'test'
...
# Subtest: a legacy landing gate beside a lane stays legacy even with the same parent
ok 2 - a legacy landing gate beside a lane stays legacy even with the same parent
---
duration_ms: 1.658263
type: 'test'
...
# Subtest: the shell status entry reads scratch receipts and reports legacy processes without mutating old slots
ok 3 - the shell status entry reads scratch receipts and reports legacy processes without mutating old slots
---
duration_ms: 68.062109
type: 'test'
...
# Subtest: recovery supersedes an unclean terminal without rewriting either receipt
ok 4 - recovery supersedes an unclean terminal without rewriting either receipt
---
duration_ms: 2.15456
type: 'test'
...
# Subtest: the wrapper refuses a held lane lock and preserves its inode
ok 5 - the wrapper refuses a held lane lock and preserves its inode
---
duration_ms: 48.445321
type: 'test'
...
# Subtest: a held kernel lock without a start receipt is BUSY rather than CLEAR
ok 6 - a held kernel lock without a start receipt is BUSY rather than CLEAR
---
duration_ms: 4.624175
type: 'test'
...
# Subtest: SIGKILL leaves a quarantined run and locked recovery publishes a new clean receipt
ok 7 - SIGKILL leaves a quarantined run and locked recovery publishes a new clean receipt
---
duration_ms: 227.885809
type: 'test'
...
# Subtest: a malformed receipt refuses status and an identity mismatch cannot look live
ok 8 - a malformed receipt refuses status and an identity mismatch cannot look live
---
duration_ms: 1.595525
type: 'test'
...
# Subtest: a symlink lock is refused before acquiring or replacing its target
ok 9 - a symlink lock is refused before acquiring or replacing its target
---
duration_ms: 37.887184
type: 'test'
...
# Subtest: failed recovery keeps quarantine and never publishes a clean recovery receipt
ok 10 - failed recovery keeps quarantine and never publishes a clean recovery receipt
---
duration_ms: 223.103762
type: 'test'
...
# Subtest: two shared image holders coexist, but exclusive preparation refuses their lock
ok 11 - two shared image holders coexist, but exclusive preparation refuses their lock
---
duration_ms: 141.650363
type: 'test'
...
# Subtest: two simultaneous shell claims have one winner; supervisor retains lock FDs and ordinary children do not
ok 12 - two simultaneous shell claims have one winner; supervisor retains lock FDs and ordinary children do not
---
duration_ms: 127.630822
type: 'test'
...
# Subtest: same checkout and a legacy land gate each refuse a claim on an otherwise free lane
ok 13 - same checkout and a legacy land gate each refuse a claim on an otherwise free lane
---
duration_ms: 3.336295
type: 'test'
...
# Subtest: recovery kills a proven surviving child, preserves a foreign child and keeps quarantine if interrupted
ok 14 - recovery kills a proven surviving child, preserves a foreign child and keeps quarantine if interrupted
---
duration_ms: 495.034166
type: 'test'
...
1..14
# tests 14
# suites 0
# pass 14
# fail 0
# cancelled 0
# skipped 0
# todo 0
# duration_ms 1439.358653
@@ -0,0 +1 @@
CLEAR
@@ -0,0 +1,18 @@
{
"label": "cli-gate-lane.test",
"head": "6bfab273b59a4fa6dc9c468a086ff281f435e572",
"manifest": "cdda41f5baa6b04e6e5bb9b82beff8e00ceef440c6702565cc86944f249bb5d3",
"argv": [
"timeout",
"-k",
"10",
"900",
"node",
"--test",
"--test-concurrency=1",
"--test-reporter=tap",
"packages/cli/tests/gate-lane.test.mjs"
],
"limit": 900,
"tmpdir": "/mnt/storage/scratch/tmp/gZZyzOr"
}
@@ -0,0 +1,88 @@
TAP version 13
# Subtest: preflight refuses unsafe lane roots, missing grants and live port 9 before side effects
ok 1 - preflight refuses unsafe lane roots, missing grants and live port 9 before side effects
---
duration_ms: 38.492975
type: 'test'
...
# Subtest: discovery preserves all package and script steps while ignoring non-file shell names
ok 2 - discovery preserves all package and script steps while ignoring non-file shell names
---
duration_ms: 10.648521
type: 'test'
...
# Subtest: a failed step stops the gate and records its nonzero exit without running the next step
ok 3 - a failed step stops the gate and records its nonzero exit without running the next step
---
duration_ms: 14.326387
type: 'test'
...
# Subtest: a cancelled step stops its process group and records failure
ok 4 - a cancelled step stops its process group and records failure
---
duration_ms: 114.067797
type: 'test'
...
# Subtest: step receipts retain pass fail skipped counts and hashes of their actual logs
ok 5 - step receipts retain pass fail skipped counts and hashes of their actual logs
---
duration_ms: 35.956779
type: 'test'
...
# Subtest: preflight rejects a real 31-byte root, missing dependency tree, occupied band and missing inventory
ok 6 - preflight rejects a real 31-byte root, missing dependency tree, occupied band and missing inventory
---
duration_ms: 24.155102
type: 'test'
...
# Subtest: preflight refuses canonical and builder checkouts and an existing output
ok 7 - preflight refuses canonical and builder checkouts and an existing output
---
duration_ms: 12.54575
type: 'test'
...
# Subtest: both candidates must carry every approved launcher file
ok 8 - both candidates must carry every approved launcher file
---
duration_ms: 11.416491
type: 'test'
...
# Subtest: the 92-byte socket example passes and an over-107-byte pathname refuses
ok 9 - the 92-byte socket example passes and an over-107-byte pathname refuses
---
duration_ms: 0.163849
type: 'test'
...
# Subtest: package/script duplicates stay and every supervised step clears NODE_TEST_CONTEXT
ok 10 - package/script duplicates stay and every supervised step clears NODE_TEST_CONTEXT
---
duration_ms: 55.316396
type: 'test'
...
# Subtest: scoped ss loopback and wildcard port 9 listeners refuse
ok 11 - scoped ss loopback and wildcard port 9 listeners refuse
---
duration_ms: 24.232819
type: 'test'
...
# Subtest: step children use legacy umask 022 while the supervisor retains 077
ok 12 - step children use legacy umask 022 while the supervisor retains 077
---
duration_ms: 32.57601
type: 'test'
...
# Subtest: lane wrapper keeps its state directory and lock files private
ok 13 - lane wrapper keeps its state directory and lock files private
---
duration_ms: 94.530468
type: 'test'
...
1..13
# tests 13
# suites 0
# pass 13
# fail 0
# cancelled 0
# skipped 0
# todo 0
# duration_ms 517.71105
@@ -0,0 +1 @@
CLEAR
@@ -0,0 +1,18 @@
{
"label": "cli-git-socket.test",
"head": "6bfab273b59a4fa6dc9c468a086ff281f435e572",
"manifest": "cdda41f5baa6b04e6e5bb9b82beff8e00ceef440c6702565cc86944f249bb5d3",
"argv": [
"timeout",
"-k",
"10",
"900",
"node",
"--test",
"--test-concurrency=1",
"--test-reporter=tap",
"packages/cli/tests/git-socket.test.mjs"
],
"limit": 900,
"tmpdir": "/mnt/storage/scratch/tmp/gtZbXHS"
}
@@ -0,0 +1,154 @@
TAP version 13
# Subtest: the review loop: the coder pushes and asks, the reviewer fetches and approves, and the task's trail holds each step
ok 1 - the review loop: the coder pushes and asks, the reviewer fetches and approves, and the task's trail holds each step
---
duration_ms: 946.127184
type: 'test'
...
# Subtest: refusals: no action, non-fast-forward, an unknown commit or request, and a push for another task moves only that task's ref
ok 2 - refusals: no action, non-fast-forward, an unknown commit or request, and a push for another task moves only that task's ref
---
duration_ms: 931.023409
type: 'test'
...
# Subtest: the size cap refuses a push before any byte
ok 3 - the size cap refuses a push before any byte
---
duration_ms: 261.95295
type: 'test'
...
# Subtest: a fetch over the cap refuses before any byte reaches the reviewer
ok 4 - a fetch over the cap refuses before any byte reaches the reviewer
---
duration_ms: 885.352974
type: 'test'
...
# Subtest: the socket refuses a request with no capability, an unknown one, and a bad request line
ok 5 - the socket refuses a request with no capability, an unknown one, and a bad request line
---
duration_ms: 358.443131
type: 'test'
...
# Subtest: a rigged clone runs nothing: hooks, fsmonitor, a filter, a gitlink and a symlinked .git/config leave no marker
ok 6 - a rigged clone runs nothing: hooks, fsmonitor, a filter, a gitlink and a symlinked .git/config leave no marker
---
duration_ms: 741.648721
type: 'test'
...
# Subtest: an identity with no role, or of another business, refuses not-a-role and moves no ref
ok 7 - an identity with no role, or of another business, refuses not-a-role and moves no ref
---
duration_ms: 471.73732
type: 'test'
...
# Subtest: a review of a project the business no longer has refuses unknown-project
ok 8 - a review of a project the business no longer has refuses unknown-project
---
duration_ms: 445.80986
type: 'test'
...
# Subtest: past maxActive connections the socket refuses git-busy, and a hung-up connection frees its slot
ok 9 - past maxActive connections the socket refuses git-busy, and a hung-up connection frees its slot
---
duration_ms: 227.378952
type: 'test'
...
# Subtest: close() answers host-closing to a connection still sending its request line
ok 10 - close() answers host-closing to a connection still sending its request line
---
duration_ms: 250.003208
type: 'test'
...
# Subtest: a bundle that trickles in refuses body-timeout at its deadline and frees its slot
ok 11 - a bundle that trickles in refuses body-timeout at its deadline and frees its slot
---
duration_ms: 675.199988
type: 'test'
...
# Subtest: a reviewer gone before its bundle was sent is filed fetch-aborted, not as the host's fault
ok 12 - a reviewer gone before its bundle was sent is filed fetch-aborted, not as the host's fault
---
duration_ms: 807.306211
type: 'test'
...
# Subtest: a reviewer that hangs up the moment it has the whole bundle was served, not aborted
ok 13 - a reviewer that hangs up the moment it has the whole bundle was served, not aborted
---
duration_ms: 1839.193362
type: 'test'
...
# Subtest: send: a close after every byte left is served; one that fails a queued write is fetch-aborted
ok 14 - send: a close after every byte left is served; one that fails a queued write is fetch-aborted
---
duration_ms: 41.5625
type: 'test'
...
# Subtest: a bundle with no bytes for bodyIdle refuses body-timeout long before its deadline
ok 15 - a bundle with no bytes for bodyIdle refuses body-timeout long before its deadline
---
duration_ms: 550.002409
type: 'test'
...
# Subtest: send: a close once the loop is past its last chunk is served, and a failed write there is fetch-aborted
ok 16 - send: a close once the loop is past its last chunk is served, and a failed write there is fetch-aborted
---
duration_ms: 45.930672
type: 'test'
...
# Subtest: letGo waits for an answer to leave for at most its cap, then destroys the socket
ok 17 - letGo waits for an answer to leave for at most its cap, then destroys the socket
---
duration_ms: 301.929937
type: 'test'
...
# Subtest: a record that fails and can't be undone refuses rollback-failed, which the host logs
ok 18 - a record that fails and can't be undone refuses rollback-failed, which the host logs
---
duration_ms: 632.638401
type: 'test'
...
# Subtest: land: the squash runs the gate in its own worktree, then main moves and the broker records it
ok 19 - land: the squash runs the gate in its own worktree, then main moves and the broker records it
---
duration_ms: 800.130808
type: 'test'
...
# Subtest: land: an arbiter-resolved landing's squash says the arbiter resolved it through the broker
ok 20 - land: an arbiter-resolved landing's squash says the arbiter resolved it through the broker
---
duration_ms: 798.73066
type: 'test'
...
# Subtest: land: refusals before the gate answer the role at once and leave main and no worktree
ok 21 - land: refusals before the gate answer the role at once and leave main and no worktree
---
duration_ms: 891.801475
type: 'test'
...
# Subtest: land: a failed gate is refused gate-failed with its step, told to the role, and main stays
ok 22 - land: a failed gate is refused gate-failed with its step, told to the role, and main stays
---
duration_ms: 906.496092
type: 'test'
...
# Subtest: land: a record the broker refuses moves main back, and the landing is refused with the broker's code
ok 23 - land: a record the broker refuses moves main back, and the landing is refused with the broker's code
---
duration_ms: 913.081233
type: 'test'
...
# Subtest: land: a second landing while one runs refuses land-busy, and close() stops the gate and refuses host-closing
ok 24 - land: a second landing while one runs refuses land-busy, and close() stops the gate and refuses host-closing
---
duration_ms: 929.938071
type: 'test'
...
1..24
# tests 24
# suites 0
# pass 24
# fail 0
# cancelled 0
# skipped 0
# todo 0
# duration_ms 15761.489115
@@ -0,0 +1,9 @@
/mnt/storage/scratch/sage-busy-now.sh: line 4: /proc/2793481/cmdline: No such file or directory
/mnt/storage/scratch/sage-busy-now.sh: line 4: /proc/2793484/cmdline: No such file or directory
/mnt/storage/scratch/sage-busy-now.sh: line 4: /proc/2793486/cmdline: No such file or directory
/mnt/storage/scratch/sage-busy-now.sh: line 4: /proc/2793489/cmdline: No such file or directory
/mnt/storage/scratch/sage-busy-now.sh: line 4: /proc/2793491/cmdline: No such file or directory
/mnt/storage/scratch/sage-busy-now.sh: line 4: /proc/2793492/cmdline: No such file or directory
/mnt/storage/scratch/sage-busy-now.sh: line 4: /proc/2793497/cmdline: No such file or directory
/mnt/storage/scratch/sage-busy-now.sh: line 4: /proc/2793498/cmdline: No such file or directory
CLEAR
@@ -0,0 +1,18 @@
{
"label": "cli-grants.test",
"head": "6bfab273b59a4fa6dc9c468a086ff281f435e572",
"manifest": "cdda41f5baa6b04e6e5bb9b82beff8e00ceef440c6702565cc86944f249bb5d3",
"argv": [
"timeout",
"-k",
"10",
"900",
"node",
"--test",
"--test-concurrency=1",
"--test-reporter=tap",
"packages/cli/tests/grants.test.mjs"
],
"limit": 900,
"tmpdir": "/mnt/storage/scratch/tmp/gLq0JYv"
}
@@ -0,0 +1,46 @@
TAP version 13
# Subtest: row 236: grants status prints one line per entry, and --json the answer
ok 1 - row 236: grants status prints one line per entry, and --json the answer
---
duration_ms: 3.1719
type: 'test'
...
# Subtest: row 236: run, revoke, sweep and admin rotate and remove send their args
ok 2 - row 236: run, revoke, sweep and admin rotate and remove send their args
---
duration_ms: 0.774393
type: 'test'
...
# Subtest: row 236: admin set sends the stdin token once to grants.admin.set and prints no value
ok 3 - row 236: admin set sends the stdin token once to grants.admin.set and prints no value
---
duration_ms: 4.401435
type: 'test'
...
# Subtest: row 236: a malformed grants command is a usage error and calls nothing
ok 4 - row 236: a malformed grants command is a usage error and calls nothing
---
duration_ms: 5.334496
type: 'test'
...
# Subtest: row 236: a bus refusal exits 2 with its code
ok 5 - row 236: a bus refusal exits 2 with its code
---
duration_ms: 0.429603
type: 'test'
...
# Subtest: row 236: scripts/mosaic sends grants to packages/cli, not the seat CLI
ok 6 - row 236: scripts/mosaic sends grants to packages/cli, not the seat CLI
---
duration_ms: 94.593472
type: 'test'
...
1..6
# tests 6
# suites 0
# pass 6
# fail 0
# cancelled 0
# skipped 0
# todo 0
# duration_ms 250.805213
@@ -0,0 +1,8 @@
/mnt/storage/scratch/sage-busy-now.sh: line 4: /proc/2797251/cmdline: No such file or directory
/mnt/storage/scratch/sage-busy-now.sh: line 4: /proc/2797254/cmdline: No such file or directory
/mnt/storage/scratch/sage-busy-now.sh: line 4: /proc/2797255/cmdline: No such file or directory
/mnt/storage/scratch/sage-busy-now.sh: line 4: /proc/2797256/cmdline: No such file or directory
/mnt/storage/scratch/sage-busy-now.sh: line 4: /proc/2797257/cmdline: No such file or directory
/mnt/storage/scratch/sage-busy-now.sh: line 4: /proc/2797258/cmdline: No such file or directory
/mnt/storage/scratch/sage-busy-now.sh: line 4: /proc/2797259/cmdline: No such file or directory
CLEAR
@@ -0,0 +1,18 @@
{
"label": "cli-host.test",
"head": "6bfab273b59a4fa6dc9c468a086ff281f435e572",
"manifest": "cdda41f5baa6b04e6e5bb9b82beff8e00ceef440c6702565cc86944f249bb5d3",
"argv": [
"timeout",
"-k",
"10",
"900",
"node",
"--test",
"--test-concurrency=1",
"--test-reporter=tap",
"packages/cli/tests/host.test.mjs"
],
"limit": 900,
"tmpdir": "/mnt/storage/scratch/tmp/g9TXZ8O"
}
@@ -0,0 +1,268 @@
TAP version 13
# Subtest: the host boots the broker, binds a launch in process, and the notifier DMs a blocking decision exactly once
ok 1 - the host boots the broker, binds a launch in process, and the notifier DMs a blocking decision exactly once
---
duration_ms: 1022.692043
type: 'test'
...
# Subtest: a notifier that dies takes the host down with exit 1, so the unit restarts the pair
ok 2 - a notifier that dies takes the host down with exit 1, so the unit restarts the pair
---
duration_ms: 290.049557
type: 'test'
...
# Subtest: a second host for the same data root refuses with exit 3 while the first runs
ok 3 - a second host for the same data root refuses with exit 3 while the first runs
---
duration_ms: 179.234414
type: 'test'
...
# Subtest: two bus starts racing for one data root leave one host running; the other refuses that a host already runs
ok 4 - two bus starts racing for one data root leave one host running; the other refuses that a host already runs
---
duration_ms: 659.887677
type: 'test'
...
# Subtest: a host takes over a host.lock its dead host left, and puts back a live claim that replaced it meanwhile
ok 5 - a host takes over a host.lock its dead host left, and puts back a live claim that replaced it meanwhile
---
duration_ms: 2.046386
type: 'test'
...
# Subtest: a host.lock that goes between the check and the read is tried again; one that can't be parsed still refuses as unreadable
ok 6 - a host.lock that goes between the check and the read is tried again; one that can't be parsed still refuses as unreadable
---
duration_ms: 1.102222
type: 'test'
...
# Subtest: a live host's lock stays, however old the file is
ok 7 - a live host's lock stays, however old the file is
---
duration_ms: 0.54824
type: 'test'
...
# Subtest: a host.lock left by a host killed with SIGKILL doesn't stop the next bus start
ok 8 - a host.lock left by a host killed with SIGKILL doesn't stop the next bus start
---
duration_ms: 1093.922588
type: 'test'
...
# Subtest: while a host boots, a reader sees no host: the human commands still ask for --business, stop and status find none
ok 9 - while a host boots, a reader sees no host: the human commands still ask for --business, stop and status find none
---
duration_ms: 363.55788
type: 'test'
...
# Subtest: a host started before host.lock existed, holding only host.json, still refuses a second start, which leaves no lock
ok 10 - a host started before host.lock existed, holding only host.json, still refuses a second start, which leaves no lock
---
duration_ms: 40.256031
type: 'test'
...
# Subtest: a broker fork that throws leaves no host.lock and no host.json
ok 11 - a broker fork that throws leaves no host.lock and no host.json
---
duration_ms: 71.452089
type: 'test'
...
# Subtest: a broker send that throws leaves no host.lock and no host.json
ok 12 - a broker send that throws leaves no host.lock and no host.json
---
duration_ms: 49.521495
type: 'test'
...
# Subtest: a broker that misses its boot wait leaves no host.lock and no host.json
ok 13 - a broker that misses its boot wait leaves no host.lock and no host.json
---
duration_ms: 40.674606
type: 'test'
...
# Subtest: a notifier fork that throws stops the broker and leaves no host.lock and no host.json
ok 14 - a notifier fork that throws stops the broker and leaves no host.lock and no host.json
---
duration_ms: 234.528045
type: 'test'
...
# Subtest: a notifier send that throws stops the broker and leaves no host.lock and no host.json
ok 15 - a notifier send that throws stops the broker and leaves no host.lock and no host.json
---
duration_ms: 237.706258
type: 'test'
...
# Subtest: a boot reply with no reader for the business refuses with exit 3 naming it, before the notifier starts, and leaves no host.lock and no live broker
ok 16 - a boot reply with no reader for the business refuses with exit 3 naming it, before the notifier starts, and leaves no host.lock and no live broker
---
duration_ms: 250.66904
type: 'test'
...
# Subtest: a boot reply with no reader for the business refuses with exit 3 naming it, with no notifier, and leaves no host.lock and no live broker
ok 17 - a boot reply with no reader for the business refuses with exit 3 naming it, with no notifier, and leaves no host.lock and no live broker
---
duration_ms: 196.608716
type: 'test'
...
# Subtest: a host.json that can't be written stops both children and leaves no host.lock
ok 18 - a host.json that can't be written stops both children and leaves no host.lock
---
duration_ms: 325.555338
type: 'test'
...
# Subtest: an error event on the broker before it replies fails the start at once, and leaves no host.lock and no live child
ok 19 - an error event on the broker before it replies fails the start at once, and leaves no host.lock and no live child
---
duration_ms: 35.5044
type: 'test'
...
# Subtest: an error event on the notifier before it replies fails the start at once, and leaves no host.lock and no live child
ok 20 - an error event on the notifier before it replies fails the start at once, and leaves no host.lock and no live child
---
duration_ms: 187.03327
type: 'test'
...
# Subtest: an error event on the broker while the notifier starts fails the start once the notifier replies
ok 21 - an error event on the broker while the notifier starts fails the start once the notifier replies
---
duration_ms: 353.473268
type: 'test'
...
# Subtest: an error event on the broker once the host is up stops the host with exit 1, and leaves no host.lock and no host.json
ok 22 - an error event on the broker once the host is up stops the host with exit 1, and leaves no host.lock and no host.json
---
duration_ms: 342.614558
type: 'test'
...
# Subtest: an error event on the notifier once the host is up stops the host with exit 1, and leaves no host.lock and no host.json
ok 23 - an error event on the notifier once the host is up stops the host with exit 1, and leaves no host.lock and no host.json
---
duration_ms: 366.012199
type: 'test'
...
# Subtest: a broker reply that misses the wait breaks the channel: the late reply answers nothing, later requests refuse, the host exits 1
ok 24 - a broker reply that misses the wait breaks the channel: the late reply answers nothing, later requests refuse, the host exits 1
---
duration_ms: 1197.584716
type: 'test'
...
# Subtest: a broker reply with another request's id, or none, breaks the channel and the host exits 1
ok 25 - a broker reply with another request's id, or none, breaks the channel and the host exits 1
---
duration_ms: 412.737097
type: 'test'
...
# Subtest: a broker reply with no request waiting breaks the channel and the host exits 1
ok 26 - a broker reply with no request waiting breaks the channel and the host exits 1
---
duration_ms: 191.268036
type: 'test'
...
# Subtest: a notifier that refuses stops the broker and the host refuses with exit 3
ok 27 - a notifier that refuses stops the broker and the host refuses with exit 3
---
duration_ms: 255.445466
type: 'test'
...
# Subtest: a notifier that refuses after the broker died still refuses with exit 3, without a send to the dead broker
ok 28 - a notifier that refuses after the broker died still refuses with exit 3, without a send to the dead broker
---
duration_ms: 270.996451
type: 'test'
...
# Subtest: a notifier that dies before it replies, after the broker died, still refuses, without a send to the dead broker
ok 29 - a notifier that dies before it replies, after the broker died, still refuses, without a send to the dead broker
---
duration_ms: 196.694621
type: 'test'
...
# Subtest: a close send that fails with EPIPE after the notifier refuses still gives the notifier's refusal, exit 3
ok 30 - a close send that fails with EPIPE after the notifier refuses still gives the notifier's refusal, exit 3
---
duration_ms: 225.943126
type: 'test'
...
# Subtest: a close send that fails with EPIPE after the notifier dies unanswered still gives the notifier's error
ok 31 - a close send that fails with EPIPE after the notifier dies unanswered still gives the notifier's error
---
duration_ms: 196.546041
type: 'test'
...
# Subtest: close() whose stop and close sends fail with EPIPE still finishes, with exit 1
ok 32 - close() whose stop and close sends fail with EPIPE still finishes, with exit 1
---
duration_ms: 247.325878
type: 'test'
...
# Subtest: watchChildren reports a child that died before it was called, and one that dies later
ok 33 - watchChildren reports a child that died before it was called, and one that dies later
---
duration_ms: 25.247243
type: 'test'
...
# Subtest: bus stop refuses to signal a live pid that is not a bus host
ok 34 - bus stop refuses to signal a live pid that is not a bus host
---
duration_ms: 202.876756
type: 'test'
...
# Subtest: bus start refuses with exit 3 and the code when the broker refuses to boot; bus status names the lock
ok 35 - bus start refuses with exit 3 and the code when the broker refuses to boot; bus status names the lock
---
duration_ms: 350.250448
type: 'test'
...
# Subtest: bus start refuses with exit 3 without a notifier config
ok 36 - bus start refuses with exit 3 without a notifier config
---
duration_ms: 141.254053
type: 'test'
...
# Subtest: bus start runs until bus stop; status reports it while it runs
ok 37 - bus start runs until bus stop; status reports it while it runs
---
duration_ms: 951.671648
type: 'test'
...
# Subtest: bus start --no-launch says launches are disabled in its host-up line and stops cleanly; with --pm it is a usage error
ok 38 - bus start --no-launch says launches are disabled in its host-up line and stops cleanly; with --pm it is a usage error
---
duration_ms: 717.544239
type: 'test'
...
# Subtest: bus-service.sh renders the unit and installs it into a given directory
ok 39 - bus-service.sh renders the unit and installs it into a given directory
---
duration_ms: 268.27879
type: 'test'
...
# Subtest: bus-service.sh pins the claude binary, refuses one the unit can't carry, and renders without one
ok 40 - bus-service.sh pins the claude binary, refuses one the unit can't carry, and renders without one
---
duration_ms: 476.065024
type: 'test'
...
# Subtest: bus-service.sh refuses a directory pin and keeps a symlink default unresolved
ok 41 - bus-service.sh refuses a directory pin and keeps a symlink default unresolved
---
duration_ms: 108.185969
type: 'test'
...
# Subtest: bus-service.sh refuses a default claude without the execute bit, or in a PATH dir with a space
ok 42 - bus-service.sh refuses a default claude without the execute bit, or in a PATH dir with a space
---
duration_ms: 76.190182
type: 'test'
...
# Subtest: bus start --pm while halted keeps the control host up without launching the chief
ok 43 - bus start --pm while halted keeps the control host up without launching the chief
---
duration_ms: 451.733221
type: 'test'
...
1..43
# tests 43
# suites 0
# pass 43
# fail 0
# cancelled 0
# skipped 0
# todo 0
# duration_ms 13428.106601
@@ -0,0 +1,9 @@
/mnt/storage/scratch/sage-busy-now.sh: line 4: /proc/2806166/cmdline: No such file or directory
/mnt/storage/scratch/sage-busy-now.sh: line 4: /proc/2806186/cmdline: No such file or directory
/mnt/storage/scratch/sage-busy-now.sh: line 4: /proc/2806190/cmdline: No such file or directory
/mnt/storage/scratch/sage-busy-now.sh: line 4: /proc/2806191/cmdline: No such file or directory
/mnt/storage/scratch/sage-busy-now.sh: line 4: /proc/2806192/cmdline: No such file or directory
/mnt/storage/scratch/sage-busy-now.sh: line 4: /proc/2806219/cmdline: No such file or directory
/mnt/storage/scratch/sage-busy-now.sh: line 4: /proc/2806220/cmdline: No such file or directory
/mnt/storage/scratch/sage-busy-now.sh: line 4: /proc/2806222/cmdline: No such file or directory
CLEAR
@@ -0,0 +1,18 @@
{
"label": "cli-hosts.test",
"head": "6bfab273b59a4fa6dc9c468a086ff281f435e572",
"manifest": "cdda41f5baa6b04e6e5bb9b82beff8e00ceef440c6702565cc86944f249bb5d3",
"argv": [
"timeout",
"-k",
"10",
"900",
"node",
"--test",
"--test-concurrency=1",
"--test-reporter=tap",
"packages/cli/tests/hosts.test.mjs"
],
"limit": 900,
"tmpdir": "/mnt/storage/scratch/tmp/gUvJs2d"
}
@@ -0,0 +1,58 @@
TAP version 13
# Subtest: row 234: hosts status prints one line per host, and --json the rows
ok 1 - row 234: hosts status prints one line per host, and --json the rows
---
duration_ms: 2.206305
type: 'test'
...
# Subtest: row 234: hosts check and remove send the host id, as the human or the tester
ok 2 - row 234: hosts check and remove send the host id, as the human or the tester
---
duration_ms: 0.406655
type: 'test'
...
# Subtest: row 234: a malformed hosts command is a usage error and calls nothing
ok 3 - row 234: a malformed hosts command is a usage error and calls nothing
---
duration_ms: 1.935925
type: 'test'
...
# Subtest: row 234: a bus refusal exits 2 with its code
ok 4 - row 234: a bus refusal exits 2 with its code
---
duration_ms: 0.398405
type: 'test'
...
# Subtest: row 234: scripts/mosaic sends hosts to packages/cli, not the seat CLI
ok 5 - row 234: scripts/mosaic sends hosts to packages/cli, not the seat CLI
---
duration_ms: 94.656985
type: 'test'
...
# Subtest: row 235: hosts revoke sends agent, host and reason, and sweep the host, as the human or the tester
ok 6 - row 235: hosts revoke sends agent, host and reason, and sweep the host, as the human or the tester
---
duration_ms: 0.686015
type: 'test'
...
# Subtest: row 235 (N10): revoke without --reason, --reason on another verb, and inherited names are usage errors
ok 7 - row 235 (N10): revoke without --reason, --reason on another verb, and inherited names are usage errors
---
duration_ms: 2.922772
type: 'test'
...
# Subtest: row 235: a status line shows the tags of a revoke in progress
ok 8 - row 235: a status line shows the tags of a revoke in progress
---
duration_ms: 0.3769
type: 'test'
...
1..8
# tests 8
# suites 0
# pass 8
# fail 0
# cancelled 0
# skipped 0
# todo 0
# duration_ms 248.345536
@@ -0,0 +1,2 @@
/mnt/storage/scratch/sage-busy-now.sh: line 4: /proc/2810589/cmdline: No such file or directory
CLEAR
@@ -0,0 +1,18 @@
{
"label": "cli-instances.test",
"head": "6bfab273b59a4fa6dc9c468a086ff281f435e572",
"manifest": "cdda41f5baa6b04e6e5bb9b82beff8e00ceef440c6702565cc86944f249bb5d3",
"argv": [
"timeout",
"-k",
"10",
"900",
"node",
"--test",
"--test-concurrency=1",
"--test-reporter=tap",
"packages/cli/tests/instances.test.mjs"
],
"limit": 900,
"tmpdir": "/mnt/storage/scratch/tmp/gbWdpHG"
}
@@ -0,0 +1,96 @@
TAP version 13
# organization: {"event":"reload-needs-restart","business":"acme"}
# organization: {"event":"reload-needs-restart","business":"acme"}
# Subtest: row 165 CLI: instance add puts an instance in the file, validate exits 0, the log names the human, and the instance binds with no restart (row 194, T1)
ok 1 - row 165 CLI: instance add puts an instance in the file, validate exits 0, the log names the human, and the instance binds with no restart (row 194, T1)
---
duration_ms: 199.605056
type: 'test'
...
# Subtest: row 194 CLI: a bus whose boot credential references differ from the file answers restart needed, and doesn't bind the instance (D3 item 3)
ok 2 - row 194 CLI: a bus whose boot credential references differ from the file answers restart needed, and doesn't bind the instance (D3 item 3)
---
duration_ms: 92.473932
type: 'test'
...
# Subtest: row 165 CLI: instance set passes the vars file and --no-launch, and a vars-only change needs no restart
ok 3 - row 165 CLI: instance set passes the vars file and --no-launch, and a vars-only change needs no restart
---
duration_ms: 144.557656
type: 'test'
...
# Subtest: row 165 CLI: a refusal names its code and why, exits 2 and keeps the bytes
ok 4 - row 165 CLI: a refusal names its code and why, exits 2 and keeps the bytes
---
duration_ms: 73.741509
type: 'test'
...
# Subtest: row 165 CLI: usage errors exit 4 before any bus call, and an agent session is refused
ok 5 - row 165 CLI: usage errors exit 4 before any bus call, and an agent session is refused
---
duration_ms: 64.084574
type: 'test'
...
# Subtest: row 165: scripts/mosaic sends business instances, instance and (row 194) veto to packages/cli, and validate still to packages/business
ok 6 - row 165: scripts/mosaic sends business instances, instance and (row 194) veto to packages/cli, and validate still to packages/business
---
duration_ms: 240.59414
type: 'test'
...
# Subtest: row 194 CLI V6: veto keep, unkeep, nohire and hire write through veto.set, the read shows kept and noHire, and a no-op refuses
ok 7 - row 194 CLI V6: veto keep, unkeep, nohire and hire write through veto.set, the read shows kept and noHire, and a no-op refuses
---
duration_ms: 122.976005
type: 'test'
...
# Subtest: row 194 CLI: the read lists each instance's running run from the bus claims
ok 8 - row 194 CLI: the read lists each instance's running run from the bus claims
---
duration_ms: 69.615713
type: 'test'
...
# Subtest: row 194 CLI D1.1 item 5: launch and regenerate poll instance.request and print the run; a done with a refusal exits 3 with its code and the request id
ok 9 - row 194 CLI D1.1 item 5: launch and regenerate poll instance.request and print the run; a done with a refusal exits 3 with its code and the request id
---
duration_ms: 84.408039
type: 'test'
...
# Subtest: row 194 CLI D1.1 item 5: an open request at --wait exits 3 with its id, and a taken one with no done is outcome-unknown
ok 10 - row 194 CLI D1.1 item 5: an open request at --wait exits 3 with its id, and a taken one with no done is outcome-unknown
---
duration_ms: 1143.559847
type: 'test'
...
# Subtest: row 194 CLI: a request cancelled by a terminate exits 3 request-cancelled
ok 11 - row 194 CLI: a request cancelled by a terminate exits 3 request-cancelled
---
duration_ms: 82.03302
type: 'test'
...
# Subtest: row 194 CLI V3: terminate prints the runs, the cancelled and the taken requests, and nothing held refuses not-held
ok 12 - row 194 CLI V3: terminate prints the runs, the cancelled and the taken requests, and nothing held refuses not-held
---
duration_ms: 79.116964
type: 'test'
...
# Subtest: row 194 CLI V5: delete polls to the transaction and the read lists the name retired; workspace-rename-failed names the transaction
ok 13 - row 194 CLI V5: delete polls to the transaction and the read lists the name retired; workspace-rename-failed names the transaction
---
duration_ms: 131.683282
type: 'test'
...
# Subtest: row 194 CLI: lifecycle and veto usage errors exit 4 before any bus call
ok 14 - row 194 CLI: lifecycle and veto usage errors exit 4 before any bus call
---
duration_ms: 74.350713
type: 'test'
...
1..14
# tests 14
# suites 0
# pass 14
# fail 0
# cancelled 0
# skipped 0
# todo 0
# duration_ms 2766.780224
@@ -0,0 +1,7 @@
/mnt/storage/scratch/sage-busy-now.sh: line 4: /proc/2804946/cmdline: No such file or directory
/mnt/storage/scratch/sage-busy-now.sh: line 4: /proc/2815829/cmdline: No such file or directory
/mnt/storage/scratch/sage-busy-now.sh: line 4: /proc/2815867/cmdline: No such file or directory
/mnt/storage/scratch/sage-busy-now.sh: line 4: /proc/2815881/cmdline: No such file or directory
/mnt/storage/scratch/sage-busy-now.sh: line 4: /proc/2815902/cmdline: No such file or directory
/mnt/storage/scratch/sage-busy-now.sh: line 4: /proc/2815911/cmdline: No such file or directory
CLEAR
@@ -0,0 +1,18 @@
{
"label": "cli-launch-account.test",
"head": "6bfab273b59a4fa6dc9c468a086ff281f435e572",
"manifest": "cdda41f5baa6b04e6e5bb9b82beff8e00ceef440c6702565cc86944f249bb5d3",
"argv": [
"timeout",
"-k",
"10",
"900",
"node",
"--test",
"--test-concurrency=1",
"--test-reporter=tap",
"packages/cli/tests/launch-account.test.mjs"
],
"limit": 900,
"tmpdir": "/mnt/storage/scratch/tmp/gZbEYi1"
}
@@ -0,0 +1,52 @@
TAP version 13
# Subtest: REQ-LIMIT-2 a claude-code launch asks mayLaunch with launch.account.name
ok 1 - REQ-LIMIT-2 a claude-code launch asks mayLaunch with launch.account.name
---
duration_ms: 22.315359
type: 'test'
...
# Subtest: REQ-LIMIT-2 each login set the account can name is accepted when the bus host holds exactly it
ok 2 - REQ-LIMIT-2 each login set the account can name is accepted when the bus host holds exactly it
---
duration_ms: 32.660784
type: 'test'
...
# Subtest: REQ-LIMIT-2 account-credential-missing: the named set is not a login set, or the bus host lacks part of it
ok 3 - REQ-LIMIT-2 account-credential-missing: the named set is not a login set, or the bus host lacks part of it
---
duration_ms: 30.284391
type: 'test'
...
# Subtest: REQ-LIMIT-2 account-credential-ambiguous: the bus host sets a credential variable outside the named set, ANTHROPIC_BASE_URL included
ok 4 - REQ-LIMIT-2 account-credential-ambiguous: the bus host sets a credential variable outside the named set, ANTHROPIC_BASE_URL included
---
duration_ms: 24.140836
type: 'test'
...
# Subtest: REQ-LIMIT-2 account-is-credential: launch.account.name is the value of a credential variable the bus host sets
ok 5 - REQ-LIMIT-2 account-is-credential: launch.account.name is the value of a credential variable the bus host sets
---
duration_ms: 17.465238
type: 'test'
...
# Subtest: REQ-LIMIT-2 a pi launch carries account null and skips both account checks
ok 6 - REQ-LIMIT-2 a pi launch carries account null and skips both account checks
---
duration_ms: 22.171588
type: 'test'
...
# Subtest: REQ-LIMIT-2 with no launch.account a claude-code launch carries null and the environment is not checked for ambiguity
ok 7 - REQ-LIMIT-2 with no launch.account a claude-code launch carries null and the environment is not checked for ambiguity
---
duration_ms: 11.846993
type: 'test'
...
1..7
# tests 7
# suites 0
# pass 7
# fail 0
# cancelled 0
# skipped 0
# todo 0
# duration_ms 285.254022
@@ -0,0 +1,8 @@
/mnt/storage/scratch/sage-busy-now.sh: line 4: /proc/2319302/cmdline: No such file or directory
/mnt/storage/scratch/sage-busy-now.sh: line 4: /proc/2319305/cmdline: No such file or directory
/mnt/storage/scratch/sage-busy-now.sh: line 4: /proc/2805725/cmdline: No such file or directory
/mnt/storage/scratch/sage-busy-now.sh: line 4: /proc/2820755/cmdline: No such file or directory
/mnt/storage/scratch/sage-busy-now.sh: line 4: /proc/2820809/cmdline: No such file or directory
/mnt/storage/scratch/sage-busy-now.sh: line 4: /proc/2820814/cmdline: No such file or directory
/mnt/storage/scratch/sage-busy-now.sh: line 4: /proc/2820815/cmdline: No such file or directory
CLEAR
@@ -0,0 +1,18 @@
{
"label": "cli-launch-limit-checks.test",
"head": "6bfab273b59a4fa6dc9c468a086ff281f435e572",
"manifest": "cdda41f5baa6b04e6e5bb9b82beff8e00ceef440c6702565cc86944f249bb5d3",
"argv": [
"timeout",
"-k",
"10",
"900",
"node",
"--test",
"--test-concurrency=1",
"--test-reporter=tap",
"packages/cli/tests/launch-limit-checks.test.mjs"
],
"limit": 900,
"tmpdir": "/mnt/storage/scratch/tmp/glHeOrm"
}
@@ -0,0 +1,40 @@
TAP version 13
# Subtest: REQ-LIMIT-4 the launcher asks mayLaunch with the instance, provider, model and account (row 126), and goes on to authorization on an allow
ok 1 - REQ-LIMIT-4 the launcher asks mayLaunch with the instance, provider, model and account (row 126), and goes on to authorization on an allow
---
duration_ms: 21.023014
type: 'test'
...
# Subtest: REQ-LIMIT-3 REQ-LIMIT-4 a launch whose subject is at its limit is refused limit-reached and logged with the check, limit and count
ok 2 - REQ-LIMIT-3 REQ-LIMIT-4 a launch whose subject is at its limit is refused limit-reached and logged with the check, limit and count
---
duration_ms: 10.514182
type: 'test'
...
# Subtest: REQ-LIMIT-4 fail closed: a refused op, a check failure or a malformed answer refuses limit-check-failed, naming the check and the code
ok 3 - REQ-LIMIT-4 fail closed: a refused op, a check failure or a malformed answer refuses limit-check-failed, naming the check and the code
---
duration_ms: 77.366635
type: 'test'
...
# Subtest: REQ-LIMIT-4 the launcher reaches token-limit only through the bus: launcher.mjs imports no limit check
ok 4 - REQ-LIMIT-4 the launcher reaches token-limit only through the bus: launcher.mjs imports no limit check
---
duration_ms: 0.705828
type: 'test'
...
# Subtest: a launcher before trusted control initialization refuses processing-uninitialized
ok 5 - a launcher before trusted control initialization refuses processing-uninitialized
---
duration_ms: 3.610128
type: 'test'
...
1..5
# tests 5
# suites 0
# pass 5
# fail 0
# cancelled 0
# skipped 0
# todo 0
# duration_ms 239.423044
@@ -0,0 +1,3 @@
/mnt/storage/scratch/sage-busy-now.sh: line 4: /proc/2825303/cmdline: No such file or directory
/mnt/storage/scratch/sage-busy-now.sh: line 4: /proc/2825330/cmdline: No such file or directory
CLEAR
@@ -0,0 +1,18 @@
{
"label": "cli-launch-limits.test",
"head": "6bfab273b59a4fa6dc9c468a086ff281f435e572",
"manifest": "cdda41f5baa6b04e6e5bb9b82beff8e00ceef440c6702565cc86944f249bb5d3",
"argv": [
"timeout",
"-k",
"10",
"900",
"node",
"--test",
"--test-concurrency=1",
"--test-reporter=tap",
"packages/cli/tests/launch-limits.test.mjs"
],
"limit": 900,
"tmpdir": "/mnt/storage/scratch/tmp/gjCPO85"
}
@@ -0,0 +1,16 @@
TAP version 13
# Subtest: each launch rereads limits and model selections; lowered limits keep sessions and log exact hit
ok 1 - each launch rereads limits and model selections; lowered limits keep sessions and log exact hit
---
duration_ms: 46.545302
type: 'test'
...
1..1
# tests 1
# suites 0
# pass 1
# fail 0
# cancelled 0
# skipped 0
# todo 0
# duration_ms 234.513047
@@ -0,0 +1,2 @@
/mnt/storage/scratch/sage-busy-now.sh: line 4: /proc/2829386/cmdline: No such file or directory
CLEAR
@@ -0,0 +1,18 @@
{
"label": "cli-launch-routes.test",
"head": "6bfab273b59a4fa6dc9c468a086ff281f435e572",
"manifest": "cdda41f5baa6b04e6e5bb9b82beff8e00ceef440c6702565cc86944f249bb5d3",
"argv": [
"timeout",
"-k",
"10",
"900",
"node",
"--test",
"--test-concurrency=1",
"--test-reporter=tap",
"packages/cli/tests/launch-routes.test.mjs"
],
"limit": 900,
"tmpdir": "/mnt/storage/scratch/tmp/gRnjD3O"
}
@@ -0,0 +1,64 @@
TAP version 13
# Subtest: row 65 a passing primary is the route: its provider and model reach mayLaunch, and a stated fallback is never used
ok 1 - row 65 a passing primary is the route: its provider and model reach mayLaunch, and a stated fallback is never used
---
duration_ms: 24.718242
type: 'test'
...
# Subtest: row 65 a failed primary preflight takes the stated fallback, and the limit checks see the fallback route
ok 2 - row 65 a failed primary preflight takes the stated fallback, and the limit checks see the fallback route
---
duration_ms: 14.567957
type: 'test'
...
# Subtest: row 65 a failed primary with no fallback refuses with the preflight code and never asks mayLaunch
ok 3 - row 65 a failed primary with no fallback refuses with the preflight code and never asks mayLaunch
---
duration_ms: 11.808817
type: 'test'
...
# Subtest: row 65 a fallback whose own preflight fails refuses with its code and names both reasons
ok 4 - row 65 a fallback whose own preflight fails refuses with its code and names both reasons
---
duration_ms: 12.118897
type: 'test'
...
# Subtest: row 65 the fallback route spends launch.account when its module counts the account
ok 5 - row 65 the fallback route spends launch.account when its module counts the account
---
duration_ms: 14.540581
type: 'test'
...
# Subtest: row 65 a missing harness, model or thinking var refuses no-route naming it, and the system execution keys never fill it
ok 6 - row 65 a missing harness, model or thinking var refuses no-route naming it, and the system execution keys never fill it
---
duration_ms: 25.792603
type: 'test'
...
# Subtest: row 65 a harness that is not switched on refuses harness-off, primary or fallback, and an off primary never falls back
ok 7 - row 65 a harness that is not switched on refuses harness-off, primary or fallback, and an off primary never falls back
---
duration_ms: 34.040575
type: 'test'
...
# Subtest: row 65 the loader refusing a module refuses harness-refused and names it; a module that throws refuses harness-failed
ok 8 - row 65 the loader refusing a module refuses harness-refused and names it; a module that throws refuses harness-failed
---
duration_ms: 29.991103
type: 'test'
...
# Subtest: row 65 a thinking level the route harness does not apply refuses thinking-unsupported, on the primary or a fallback taken
ok 9 - row 65 a thinking level the route harness does not apply refuses thinking-unsupported, on the primary or a fallback taken
---
duration_ms: 33.3564
type: 'test'
...
1..9
# tests 9
# suites 0
# pass 9
# fail 0
# cancelled 0
# skipped 0
# todo 0
# duration_ms 335.204383
@@ -0,0 +1,2 @@
/mnt/storage/scratch/sage-busy-now.sh: line 4: /proc/2833337/cmdline: No such file or directory
CLEAR
@@ -0,0 +1,18 @@
{
"label": "cli-launcher.test",
"head": "6bfab273b59a4fa6dc9c468a086ff281f435e572",
"manifest": "cdda41f5baa6b04e6e5bb9b82beff8e00ceef440c6702565cc86944f249bb5d3",
"argv": [
"timeout",
"-k",
"10",
"900",
"node",
"--test",
"--test-concurrency=1",
"--test-reporter=tap",
"packages/cli/tests/launcher.test.mjs"
],
"limit": 900,
"tmpdir": "/mnt/storage/scratch/tmp/gy8kj1Y"
}
@@ -0,0 +1,229 @@
TAP version 13
# Subtest: C2-04: launcher workspace clones code but never the library
ok 1 - C2-04: launcher workspace clones code but never the library
---
duration_ms: 1480.634384
type: 'test'
...
# Subtest: bus start --pm: the launcher instance (the chief of staff) runs under its own PID namespace, registered, with a manifest
ok 2 - bus start --pm: the launcher instance (the chief of staff) runs under its own PID namespace, registered, with a manifest
---
duration_ms: 1407.775808
type: 'test'
...
# usage: {"event":"usage-unknown","business":"acme","run":"r972ef424e1d3","instance":"chief","turn":"1cca7466-1664-4b9c-a0fe-4f5395c5a717","source":"@none","code":"baseline-unknown"}
# usage: {"event":"usage-unknown","business":"acme","run":"r0bab1fb6bf8d","instance":"coder","turn":"69e9679c-d217-4224-95e0-985b514c64c3","source":"@none","code":"baseline-unknown"}
# Subtest: the chief of staff launches a coder through its launch tool; the coder answers; refusals name their code
ok 3 - the chief of staff launches a coder through its launch tool; the coder answers; refusals name their code
---
duration_ms: 822.051482
type: 'test'
...
# usage: {"event":"usage-unknown","business":"acme","run":"r5bb3288d80a4","instance":"chief","turn":"db22017b-046d-4c66-ae91-601dfe86c8b1","source":"@none","code":"baseline-unknown"}
# usage: {"event":"usage-unknown","business":"acme","run":"r9bf9c9527dff","instance":"pm","turn":"1242738b-e086-401b-967b-78774c099a3a","source":"@none","code":"baseline-unknown"}
# usage: {"event":"usage-unknown","business":"acme","run":"r5bb3288d80a4","instance":"chief","turn":"5cab5cae-7554-4d3f-826f-f26ee8bb4b09","source":"@none","code":"baseline-unknown"}
# usage: {"event":"usage-unknown","business":"acme","run":"r9bf9c9527dff","instance":"pm","turn":"87b0a1c1-cc56-4538-8790-284afbc809e9","source":"@none","code":"baseline-unknown"}
# usage: {"event":"usage-unknown","business":"acme","run":"r9bf9c9527dff","instance":"pm","turn":"9ca256b7-62eb-4ee9-a009-3d97c62d2f6e","source":"@none","code":"baseline-unknown"}
# usage: {"event":"usage-unknown","business":"acme","run":"r5bb3288d80a4","instance":"chief","turn":"130393af-c58c-4804-ba3d-53cc51398be9","source":"@none","code":"baseline-unknown"}
# usage: {"event":"usage-unknown","business":"acme","run":"r9bf9c9527dff","instance":"pm","turn":"6e99259b-d1d2-46a9-85e4-6c9ee0f60710","source":"@none","code":"baseline-unknown"}
# usage: {"event":"usage-unknown","business":"acme","run":"r5bb3288d80a4","instance":"chief","turn":"92065f8c-af12-4a22-a16d-73e4e0fa0624","source":"@none","code":"baseline-unknown"}
# Subtest: a launched pm's request_staff reaches the chief of staff; no other session has the tool and the launch limits still hold
ok 4 - a launched pm's request_staff reaches the chief of staff; no other session has the tool and the launch limits still hold
---
duration_ms: 1433.531226
type: 'test'
...
# Subtest: each launch makes sure the workspace has a clone of the project: cloned, fast-forwarded, or fetched and logged
ok 5 - each launch makes sure the workspace has a clone of the project: cloned, fast-forwarded, or fetched and logged
---
duration_ms: 4386.796117
type: 'test'
...
# Subtest: a role the broker says holds a merge decision gets land_work, its prompt line, its landing and the git socket; without it, none
ok 6 - a role the broker says holds a merge decision gets land_work, its prompt line, its landing and the git socket; without it, none
---
duration_ms: 826.910663
type: 'test'
...
# Subtest: REQ-LAUNCH-1 the tick starts a listed merge decision holder once, with land_work, the Landing line and its landing turn; an unlisted holder starts nothing
ok 7 - REQ-LAUNCH-1 the tick starts a listed merge decision holder once, with land_work, the Landing line and its landing turn; an unlisted holder starts nothing
---
duration_ms: 537.413891
type: 'test'
...
# usage: {"event":"usage-unknown","business":"acme","run":"rbe977948b217","instance":"coder","turn":"2eda5cce-2bd9-45c7-9000-1d06b49d85c6","source":"@none","code":"baseline-unknown"}
# Subtest: a holder running since before the resolution is stopped once the broker releases it, land-relaunch, and the next tick starts it: landing turn first, then the message that waited
ok 8 - a holder running since before the resolution is stopped once the broker releases it, land-relaunch, and the next tick starts it: landing turn first, then the message that waited
---
duration_ms: 882.524487
type: 'test'
...
# Subtest: a landing run that ended isn't started again for its decision, a spent decision starts nothing, and a new decision starts the holder
ok 9 - a landing run that ended isn't started again for its decision, a spent decision starts nothing, and a new decision starts the holder
---
duration_ms: 835.208898
type: 'test'
...
# Subtest: after a restart, the new host's first tick starts a holder whose decision is still held
ok 10 - after a restart, the new host's first tick starts a holder whose decision is still held
---
duration_ms: 1130.528358
type: 'test'
...
# Subtest: a refused landing start is logged once per code with its decision, isn't a start, and the next tick with room starts the holder
ok 11 - a refused landing start is logged once per code with its decision, isn't a start, and the next tick with room starts the holder
---
duration_ms: 769.887535
type: 'test'
...
# Subtest: a project clone that can't be made refuses checkout-failed, from --chief and from a session, with no run and no clone left
ok 12 - a project clone that can't be made refuses checkout-failed, from --chief and from a session, with no run and no clone left
---
duration_ms: 340.064447
type: 'test'
...
# Subtest: a runner that stops at once ends its launch with the runner's reason
ok 13 - a runner that stops at once ends its launch with the runner's reason
---
duration_ms: 403.119092
type: 'test'
...
# Subtest: a Claude Code launch with no session credential refuses before it starts
ok 14 - a Claude Code launch with no session credential refuses before it starts
---
duration_ms: 224.436937
type: 'test'
...
# Subtest: a pi launch needs no session credential: pi logs in through its own ENV_ALLOW variables
ok 15 - a pi launch needs no session credential: pi logs in through its own ENV_ALLOW variables
---
duration_ms: 377.413924
type: 'test'
...
# usage: {"event":"plugin-refused","kind":"harness","name":"down","code":"missing","message":"/home/jwoltje/.t3/worktrees/mosaic-stack/gander-row196/packages/plugins/harness/down is missing","kept":[]}
# plugins: {"event":"plugin-refused","kind":"harness","name":"down","code":"missing","message":"/home/jwoltje/.t3/worktrees/mosaic-stack/gander-row196/packages/plugins/harness/down is missing","kept":[]}
# Subtest: row 65 a failed primary preflight launches the fallback on a fixture harness module, recording the route and the reason
ok 16 - row 65 a failed primary preflight launches the fallback on a fixture harness module, recording the route and the reason
---
duration_ms: 423.386392
type: 'test'
...
# Subtest: a runner killed from the host ends its launch as killed, not failed
ok 17 - a runner killed from the host ends its launch as killed, not failed
---
duration_ms: 453.996625
type: 'test'
...
# Subtest: a missing or failing bwrap refuses sandbox-unavailable before anything starts; there is no unconfined fallback
ok 18 - a missing or failing bwrap refuses sandbox-unavailable before anything starts; there is no unconfined fallback
---
duration_ms: 216.272594
type: 'test'
...
# Subtest: row 64 a role skill that isn't enabled refuses skill-not-enabled, and one that isn't a plain directory skill-refused, before anything starts
ok 19 - row 64 a role skill that isn't enabled refuses skill-not-enabled, and one that isn't a plain directory skill-refused, before anything starts
---
duration_ms: 225.969179
type: 'test'
...
# Subtest: row 213 a creative instance's persona is read from <configDir>/personas: off its digest the launch fails with the mismatch as its reason
ok 20 - row 213 a creative instance's persona is read from <configDir>/personas: off its digest the launch fails with the mismatch as its reason
---
duration_ms: 311.587982
type: 'test'
...
# Subtest: row 64 on Claude Code a role skill that isn't enabled refuses the same way, before anything starts
ok 21 - row 64 on Claude Code a role skill that isn't enabled refuses the same way, before anything starts
---
duration_ms: 220.374596
type: 'test'
...
# usage: {"event":"usage-unknown","business":"acme","run":"rbe574f375e33","instance":"chief","turn":"8c0fd8b7-ff75-47a7-9ba2-2d3882c39a48","source":"@none","code":"baseline-unknown"}
# usage: {"event":"usage-unknown","business":"acme","run":"r25896ce0552e","instance":"coder","turn":"a40d2679-0106-4d46-88dc-0b063e499404","source":"@none","code":"baseline-unknown"}
# Subtest: a real Claude Code coder's shell can't read a stand-in secret or anything else its sandbox doesn't hold
ok 22 - a real Claude Code coder's shell can't read a stand-in secret or anything else its sandbox doesn't hold
---
duration_ms: 1702.608167
type: 'test'
...
# Subtest: a host that died hard leaves its sessions to the next host, which kills them and ends their runs so the role can be launched again
ok 23 - a host that died hard leaves its sessions to the next host, which kills them and ends their runs so the role can be launched again
---
duration_ms: 1277.096906
type: 'test'
...
# Subtest: a host that died hard leaves its sessions to the next host, which finds one already exited (23) and ends their runs so the role can be launched again
ok 24 - a host that died hard leaves its sessions to the next host, which finds one already exited (23) and ends their runs so the role can be launched again
---
duration_ms: 4177.940922
type: 'test'
...
# Subtest: bus start --no-launch leaves an earlier host's live session alone: no signal, no end, sessions.json as it was
ok 25 - bus start --no-launch leaves an earlier host's live session alone: no signal, no end, sessions.json as it was
---
duration_ms: 287.642969
type: 'test'
...
# Subtest: bus start --no-launch refuses every launch: the PM launch and a session's request, each logged, nothing spawned
ok 26 - bus start --no-launch refuses every launch: the PM launch and a session's request, each logged, nothing spawned
---
duration_ms: 240.579019
type: 'test'
...
# Subtest: bus start --no-launch starts no thread tick; the same host with launches runs it
ok 27 - bus start --no-launch starts no thread tick; the same host with launches runs it
---
duration_ms: 1198.891847
type: 'test'
...
# Subtest: a malformed sessions.json refuses the host start with exit 3 and stays as it was
ok 28 - a malformed sessions.json refuses the host start with exit 3 and stays as it was
---
duration_ms: 240.448524
type: 'test'
...
# Subtest: an over-long launch request is refused at once, not at the 10 s idle timeout
ok 29 - an over-long launch request is refused at once, not at the 10 s idle timeout
---
duration_ms: 193.995336
type: 'test'
...
# Subtest: a launch client that never closes its side doesn't hold the host's close
ok 30 - a launch client that never closes its side doesn't hold the host's close
---
duration_ms: 205.569268
type: 'test'
...
# Subtest: a runner that ignores SIGTERM is killed when the host closes
ok 31 - a runner that ignores SIGTERM is killed when the host closes
---
duration_ms: 1386.115976
type: 'test'
...
# Subtest: kill switch refuses chief and hire before launch work and a clear permits a later request
ok 32 - kill switch refuses chief and hire before launch work and a clear permits a later request
---
duration_ms: 336.213835
type: 'test'
...
# Subtest: kill switch stops an actual managed namespace and records the halt reason without rewriting its bundle
ok 33 - kill switch stops an actual managed namespace and records the halt reason without rewriting its bundle
---
duration_ms: 344.421393
type: 'test'
...
# Subtest: a launch waiting across halt and resume cannot use its stale admission
ok 34 - a launch waiting across halt and resume cannot use its stale admission
---
duration_ms: 215.915288
type: 'test'
...
1..34
# tests 34
# suites 0
# pass 34
# fail 0
# cancelled 0
# skipped 0
# todo 0
# duration_ms 29655.470419
@@ -0,0 +1,4 @@
/mnt/storage/scratch/sage-busy-now.sh: line 4: /proc/2840798/cmdline: No such file or directory
/mnt/storage/scratch/sage-busy-now.sh: line 4: /proc/2842543/cmdline: No such file or directory
/mnt/storage/scratch/sage-busy-now.sh: line 4: /proc/2842544/cmdline: No such file or directory
CLEAR
@@ -0,0 +1,18 @@
{
"label": "cli-lifecycle.test",
"head": "6bfab273b59a4fa6dc9c468a086ff281f435e572",
"manifest": "cdda41f5baa6b04e6e5bb9b82beff8e00ceef440c6702565cc86944f249bb5d3",
"argv": [
"timeout",
"-k",
"10",
"900",
"node",
"--test",
"--test-concurrency=1",
"--test-reporter=tap",
"packages/cli/tests/lifecycle.test.mjs"
],
"limit": 900,
"tmpdir": "/mnt/storage/scratch/tmp/gvqPjKG"
}
@@ -0,0 +1,161 @@
TAP version 13
# Subtest: row 194 T2: the human's launch runs an unlisted instance and launch.by through the pm branch, and closes with the run
ok 1 - row 194 T2: the human's launch runs an unlisted instance and launch.by through the pm branch, and closes with the run
---
duration_ms: 415.168406
type: 'test'
...
# Subtest: row 194 T2: a request past its 60 s never launches, and a refused check closes the request with its code
ok 2 - row 194 T2: a request past its 60 s never launches, and a refused check closes the request with its code
---
duration_ms: 126.203735
type: 'test'
...
# Subtest: row 194 T3: a --no-launch host closes each request launches-disabled and starts nothing
ok 3 - row 194 T3: a --no-launch host closes each request launches-disabled and starts nothing
---
duration_ms: 95.121978
type: 'test'
...
# Subtest: row 194 T3: a limit refusal closes the request with its code and the limit in the launch log
ok 4 - row 194 T3: a limit refusal closes the request with its code and the limit in the launch log
---
duration_ms: 238.661478
type: 'test'
...
# Subtest: row 194 T4: terminate revokes and cancels at the verb, then the pass signals the run, which ends once
ok 5 - row 194 T4: terminate revokes and cancels at the verb, then the pass signals the run, which ends once
---
duration_ms: 304.388851
type: 'test'
...
# Subtest: row 194 T5: regenerate ends the run in the registry and starts a new run on the same workspace
ok 6 - row 194 T5: regenerate ends the run in the registry and starts a new run on the same workspace
---
duration_ms: 580.006322
type: 'test'
...
# Subtest: row 194 T5: a run that outlasts the request's mark closes the regenerate regenerate-timeout and starts nothing
ok 7 - row 194 T5: a run that outlasts the request's mark closes the regenerate regenerate-timeout and starts nothing
---
duration_ms: 2821.724219
type: 'test'
...
# Subtest: row 194 V5: delete retires the name, renames the workspace to .retired/I-<transaction> at 0700, and a retry renames after workspace-rename-failed
ok 8 - row 194 V5: delete retires the name, renames the workspace to .retired/I-<transaction> at 0700, and a retry renames after workspace-rename-failed
---
duration_ms: 102.484159
type: 'test'
...
# Subtest: row 194 V5: a delete with no workspace commits and closes with the transaction
ok 9 - row 194 V5: a delete with no workspace commits and closes with the transaction
---
duration_ms: 91.836435
type: 'test'
...
# Subtest: row 281 T10: the delete pass closes a granted instance's first request grants-revoking and the host channel stays up
ok 10 - row 281 T10: the delete pass closes a granted instance's first request grants-revoking and the host channel stays up
---
duration_ms: 106.670927
type: 'test'
...
# Subtest: row 194 D1.1 item 5: the CLI's launch, regenerate, terminate and delete end to end through the pass, and a closed refusal exits 3 with the request id
ok 11 - row 194 D1.1 item 5: the CLI's launch, regenerate, terminate and delete end to end through the pass, and a closed refusal exits 3 with the request id
---
duration_ms: 684.961998
type: 'test'
...
# Subtest: row 194 T20: a store-only delete with a tracker bot closes naming the bot, and the CLI says to remove it in Vikunja
ok 12 - row 194 T20: a store-only delete with a tracker bot closes naming the bot, and the CLI says to remove it in Vikunja
---
duration_ms: 105.494691
type: 'test'
...
# Subtest: row 194 T2a: a launch.revoke between the request and the pass closes it launch-revoked with no process; a done that fails once leaves the request taken and the next pass starts nothing
ok 13 - row 194 T2a: a launch.revoke between the request and the pass closes it launch-revoked with no process; a done that fails once leaves the request taken and the next pass starts nothing
---
duration_ms: 245.094521
type: 'test'
...
# Subtest: row 194 T4: terminate signals a spawned run in the registry that the bus never bound, and not a run whose start time differs
ok 14 - row 194 T4: terminate signals a spawned run in the registry that the bus never bound, and not a run whose start time differs
---
duration_ms: 385.928924
type: 'test'
...
# Subtest: row 194 T9a: fire signals its bound run and a spawned but unbound registry run; a SIGTERM-ignoring runner gets SIGKILL and lifecycle.end.killed, and one whose kill fails gets lifecycle.end.alive
ok 15 - row 194 T9a: fire signals its bound run and a spawned but unbound registry run; a SIGTERM-ignoring runner gets SIGKILL and lifecycle.end.killed, and one whose kill fails gets lifecycle.end.alive
---
duration_ms: 1076.01072
type: 'test'
...
# Subtest: row 194 T9a: fire of a registry run with no runtime record reads lifecycle.end.alive with reason unknown, never killed
ok 16 - row 194 T9a: fire of a registry run with no runtime record reads lifecycle.end.alive with reason unknown, never killed
---
duration_ms: 558.812626
type: 'test'
...
# Subtest: row 194 T9a: a runner whose identity changed before the SIGTERM gets no signal, and one whose identity changed between the SIGTERM and the SIGKILL gets no SIGKILL
ok 17 - row 194 T9a: a runner whose identity changed before the SIGTERM gets no signal, and one whose identity changed between the SIGTERM and the SIGKILL gets no SIGKILL
---
duration_ms: 210.046746
type: 'test'
...
# Subtest: row 194 T9a: V3 terminate of a SIGTERM-ignoring runner sends no SIGKILL
ok 18 - row 194 T9a: V3 terminate of a SIGTERM-ignoring runner sends no SIGKILL
---
duration_ms: 990.213811
type: 'test'
...
# Subtest: row 194 T9b: a halt during a fire's stop sends no second SIGTERM, keeps the fire's deadline, writes one stop receipt with reason fire and the request, and counts the run; a fire while halted refuses
ok 19 - row 194 T9b: a halt during a fire's stop sends no second SIGTERM, keeps the fire's deadline, writes one stop receipt with reason fire and the request, and counts the run; a fire while halted refuses
---
duration_ms: 1700.999343
type: 'test'
...
# Subtest: row 194 T15: while halted the pass closes a launch and a regenerate processing-halted and runs no thread pass, terminate signals, and after a resume a launch starts
ok 20 - row 194 T15: while halted the pass closes a launch and a regenerate processing-halted and runs no thread pass, terminate signals, and after a resume a launch starts
---
duration_ms: 293.47764
type: 'test'
...
# Subtest: row 194 N6: a run spawned after a terminate's verb survives its pass, and the next terminate ends it
ok 21 - row 194 N6: a run spawned after a terminate's verb survives its pass, and the next terminate ends it
---
duration_ms: 522.569814
type: 'test'
...
# Subtest: row 194 T6: a delete leaves the run evidence bytes unchanged, and the retired name refuses a create and a launch
ok 22 - row 194 T6: a delete leaves the run evidence bytes unchanged, and the retired name refuses a create and a launch
---
duration_ms: 307.638697
type: 'test'
...
# Subtest: row 194 T11: two stack roots with the same business id; a launch, a terminate and a delete in one leave the other byte-identical
ok 23 - row 194 T11: two stack roots with the same business id; a launch, a terminate and a delete in one leave the other byte-identical
---
duration_ms: 387.906
type: 'test'
...
# usage: {"event":"usage-unknown","business":"acme","run":"r958ba176b68f","instance":"chief","turn":"41a66bef-f840-484e-ba25-4cdbf5e9e3c0","source":"@none","code":"baseline-unknown"}
# usage: {"event":"usage-unknown","business":"acme","run":"r958ba176b68f","instance":"chief","turn":"5b720c7d-dda9-4669-a9be-10945c9516e9","source":"@none","code":"baseline-unknown"}
# usage: {"event":"usage-unknown","business":"acme","run":"r958ba176b68f","instance":"chief","turn":"5ba5a477-3db8-4fc0-9c17-179d07d2383e","source":"@none","code":"baseline-unknown"}
# usage: {"event":"usage-unknown","business":"acme","run":"r958ba176b68f","instance":"chief","turn":"3b92b914-90e1-4c8a-a03a-63b5bceb2a4e","source":"@none","code":"baseline-unknown"}
# usage: {"event":"usage-unknown","business":"acme","run":"r958ba176b68f","instance":"chief","turn":"3a71cdd3-6716-47c9-b81c-0c1d61b1dcf5","source":"@none","code":"baseline-unknown"}
# usage: {"event":"usage-unknown","business":"acme","run":"r958ba176b68f","instance":"chief","turn":"f1da76b7-d2d2-47f8-b924-f80d01f8d2b5","source":"@none","code":"baseline-unknown"}
# usage: {"event":"usage-unknown","business":"acme","run":"r958ba176b68f","instance":"chief","turn":"07e3ec44-cb3e-46f0-9b86-674af1303f91","source":"@none","code":"baseline-unknown"}
# Subtest: row 194 D3 item 5: the chief's session hires with its tool and launches its hire in the same session, then fires it
ok 24 - row 194 D3 item 5: the chief's session hires with its tool and launches its hire in the same session, then fires it
---
duration_ms: 1381.092901
type: 'test'
...
1..24
# tests 24
# suites 0
# pass 24
# fail 0
# cancelled 0
# skipped 0
# todo 0
# duration_ms 13888.62031
@@ -0,0 +1 @@
CLEAR
Loaded 100 of 253 files, more files were not shown because too many files have changed in this diff. Show more