Files

3986 lines
169 KiB
Plaintext

TAP version 13
# Subtest: R6 a configured peer id validates as a user's home and an unconfigured one refuses
ok 1 - R6 a configured peer id validates as a user's home and an unconfigured one refuses
---
duration_ms: 8.146992
type: 'test'
...
# Subtest: R6 B1 a boot with access.json binds a granted user, whose home is a configured peer
ok 2 - R6 B1 a boot with access.json binds a granted user, whose home is a configured peer
---
duration_ms: 71.911312
type: 'test'
...
# Subtest: R6 B2 a boot without access.json has no access and binds no user
ok 3 - R6 B2 a boot without access.json has no access and binds no user
---
duration_ms: 61.246634
type: 'test'
...
# Subtest: R6 B3 a boot with a file R1's loader refuses still boots, binds no user and says so once
ok 4 - R6 B3 a boot with a file R1's loader refuses still boots, binds no user and says so once
---
duration_ms: 182.719063
type: 'test'
...
# Subtest: list prints the revision and the users
ok 5 - list prints the revision and the users
---
duration_ms: 40.525571
type: 'test'
...
# Subtest: grant writes one revision up, a receipt line, and the id in the file
ok 6 - grant writes one revision up, a receipt line, and the id in the file
---
duration_ms: 56.931677
type: 'test'
...
# Subtest: a viewer grant writes the viewer level, one revision up
ok 7 - a viewer grant writes the viewer level, one revision up
---
duration_ms: 53.102864
type: 'test'
...
# Subtest: a second write appends a second receipt and leaves the first intact
ok 8 - a second write appends a second receipt and leaves the first intact
---
duration_ms: 112.122436
type: 'test'
...
# Subtest: a stale revision refuses with revision-conflict and writes nothing
ok 9 - a stale revision refuses with revision-conflict and writes nothing
---
duration_ms: 82.029872
type: 'test'
...
# Subtest: a live holder's lock refuses and leaves the file and the lock alone
ok 10 - a live holder's lock refuses and leaves the file and the lock alone
---
duration_ms: 32.404085
type: 'test'
...
# Subtest: an empty or unreadable lock refuses, since its holder may still be writing
ok 11 - an empty or unreadable lock refuses, since its holder may still be writing
---
duration_ms: 48.117606
type: 'test'
...
# Subtest: a lock left by a dead pid refuses, names the pid, and is not reclaimed
ok 12 - a lock left by a dead pid refuses, names the pid, and is not reclaimed
---
duration_ms: 47.259486
type: 'test'
...
# Subtest: a failed rename leaves the old bytes, removes the temp file, and writes no receipt
ok 13 - a failed rename leaves the old bytes, removes the temp file, and writes no receipt
---
duration_ms: 26.948334
type: 'test'
...
# Subtest: a group-writable access file refuses with exit 3, names the file, and changes nothing
ok 14 - a group-writable access file refuses with exit 3, names the file, and changes nothing
---
duration_ms: 25.741748
type: 'test'
...
# Subtest: an agent or tester caller is refused before the context or the access file is read
ok 15 - an agent or tester caller is refused before the context or the access file is read
---
duration_ms: 1.031121
type: 'test'
...
# Subtest: the lock is mode 0600 while held and removed after a refused write
ok 16 - the lock is mode 0600 while held and removed after a refused write
---
duration_ms: 27.969113
type: 'test'
...
# Subtest: a grant naming an unknown instance is refused before any write
ok 17 - a grant naming an unknown instance is refused before any write
---
duration_ms: 25.142911
type: 'test'
...
# Subtest: a project name resolves to its id at grant time
ok 18 - a project name resolves to its id at grant time
---
duration_ms: 49.230148
type: 'test'
...
# Subtest: an unknown project name refuses before any write
ok 19 - an unknown project name refuses before any write
---
duration_ms: 26.123689
type: 'test'
...
# Subtest: revoke removes the user's grants and leaves a revision behind
ok 20 - revoke removes the user's grants and leaves a revision behind
---
duration_ms: 98.431414
type: 'test'
...
# Subtest: revoke of a user with no grant refuses and writes nothing
ok 21 - revoke of a user with no grant refuses and writes nothing
---
duration_ms: 23.720849
type: 'test'
...
# Subtest: an agent caller is refused before the bus is asked
ok 22 - an agent caller is refused before the bus is asked
---
duration_ms: 0.767753
type: 'test'
...
# Subtest: --tester is refused on every verb before the bus is asked
ok 23 - --tester is refused on every verb before the bus is asked
---
duration_ms: 0.921972
type: 'test'
...
# Subtest: a bus that refuses the human proof blocks the write
ok 24 - a bus that refuses the human proof blocks the write
---
duration_ms: 26.09522
type: 'test'
...
# Subtest: the context reads console.sso subjects and the business files, and peers stay empty
ok 25 - the context reads console.sso subjects and the business files, and peers stay empty
---
duration_ms: 7.054408
type: 'test'
...
# Subtest: the real human-cli, run from agent ancestry, refuses and writes nothing
ok 26 - the real human-cli, run from agent ancestry, refuses and writes nothing
---
duration_ms: 5135.142627
type: 'test'
...
# Subtest: T1 user add writes the user one revision up, prints it and appends a user.add receipt
ok 27 - T1 user add writes the user one revision up, prints it and appends a user.add receipt
---
duration_ms: 23.702337
type: 'test'
...
# Subtest: T2 a bad user add refuses before any write
ok 28 - T2 a bad user add refuses before any write
---
duration_ms: 300.329713
type: 'test'
...
# Subtest: T3 user remove of a user with no grant drops them one revision up, with a user.remove receipt
ok 29 - T3 user remove of a user with no grant drops them one revision up, with a user.remove receipt
---
duration_ms: 24.366606
type: 'test'
...
# Subtest: T4 user remove refuses with user-has-grants while the user holds a grant, and writes nothing
ok 30 - T4 user remove refuses with user-has-grants while the user holds a grant, and writes nothing
---
duration_ms: 72.141522
type: 'test'
...
# Subtest: T5 user remove of an id not in the file refuses and writes nothing
ok 31 - T5 user remove of an id not in the file refuses and writes nothing
---
duration_ms: 23.392707
type: 'test'
...
# Subtest: T6 a stale revision refuses both user verbs with revision-conflict
ok 32 - T6 a stale revision refuses both user verbs with revision-conflict
---
duration_ms: 47.721918
type: 'test'
...
# Subtest: T7 --tester and an agent caller are refused on both user verbs before the bus is asked
ok 33 - T7 --tester and an agent caller are refused on both user verbs before the bus is asked
---
duration_ms: 1.221019
type: 'test'
...
# Subtest: T8 a user verb of the wrong shape prints the help
ok 34 - T8 a user verb of the wrong shape prints the help
---
duration_ms: 0.916947
type: 'test'
...
# Subtest: T9 a bus that refuses the human proof blocks both user verbs
ok 35 - T9 a bus that refuses the human proof blocks both user verbs
---
duration_ms: 51.312829
type: 'test'
...
# Subtest: R4 grant and revoke call access.reload after the write, and nothing else does
ok 36 - R4 grant and revoke call access.reload after the write, and nothing else does
---
duration_ms: 147.390223
type: 'test'
...
# Subtest: R4 a refused access.reload after a good write exits 0, stdout reports the write, stderr names the code and the 30 s timer
ok 37 - R4 a refused access.reload after a good write exits 0, stdout reports the write, stderr names the code and the 30 s timer
---
duration_ms: 48.943597
type: 'test'
...
# Subtest: R4 the help keeps the provider-removal order and says what a refused reload means
ok 38 - R4 the help keeps the provider-removal order and says what a refused reload means
---
duration_ms: 0.75609
type: 'test'
...
# Subtest: every screen and overlay fits 120x36, 80x24 and the narrow layout, row for row
ok 39 - every screen and overlay fits 120x36, 80x24 and the narrow layout, row for row
---
duration_ms: 1099.087428
type: 'test'
...
# Subtest: width counts terminal cells: wide CJK and emoji 2, U+FE0F after a one-cell base 1, marks 0
ok 40 - width counts terminal cells: wide CJK and emoji 2, U+FE0F after a one-cell base 1, marks 0
---
duration_ms: 61.135744
type: 'test'
...
# Subtest: broker text is shown, never interpreted: no raw control character or bidi override reaches the terminal
ok 41 - broker text is shown, never interpreted: no raw control character or bidi override reaches the terminal
---
duration_ms: 139.380188
type: 'test'
...
# Subtest: NO_COLOR: no escape codes, except reverse video on the selected row
ok 42 - NO_COLOR: no escape codes, except reverse video on the selected row
---
duration_ms: 227.590427
type: 'test'
...
# Subtest: 1-9 shows the decide flow's own lines and question; only y resolves
ok 43 - 1-9 shows the decide flow's own lines and question; only y resolves
---
duration_ms: 57.956998
type: 'test'
...
# Subtest: the app shows the same decide text as mosaic decide
ok 44 - the app shows the same decide text as mosaic decide
---
duration_ms: 25.970061
type: 'test'
...
# Subtest: any key but y or Y at the question answers No; nothing is sent
ok 45 - any key but y or Y at the question answers No; nothing is sent
---
duration_ms: 230.040196
type: 'test'
...
# Subtest: below 40x10 the question is hidden, so every key answers it No, y included (Filbert R3)
ok 46 - below 40x10 the question is hidden, so every key answers it No, y included (Filbert R3)
---
duration_ms: 90.381094
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 47 - 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: 297.75967
type: 'test'
...
# Subtest: a hidden decide box names the way out, and the status line under it does not promise y (Filbert N12)
ok 48 - a hidden decide box names the way out, and the status line under it does not promise y (Filbert N12)
---
duration_ms: 36.289942
type: 'test'
...
# Subtest: a throw while answering the question goes to crash, sends nothing and leaves no job pending
ok 49 - a throw while answering the question goes to crash, sends nothing and leaves no job pending
---
duration_ms: 23.459514
type: 'test'
...
# Subtest: type-ahead never answers the question: a paste, keys typed before it is drawn, keys inside askMs
ok 50 - type-ahead never answers the question: a paste, keys typed before it is drawn, keys inside askMs
---
duration_ms: 414.336233
type: 'test'
...
# Subtest: quitting at the question answers No and sends nothing, armed or not
ok 51 - quitting at the question answers No and sends nothing, armed or not
---
duration_ms: 41.079352
type: 'test'
...
# Subtest: a timer tick reads nothing under an overlay, never answers the question, and keeps a resolved status
ok 52 - a timer tick reads nothing under an overlay, never answers the question, and keeps a resolved status
---
duration_ms: 33.658777
type: 'test'
...
# Subtest: a long question is cut inside the question; the action, target, choice and prompt stay (Dewey B1)
ok 53 - a long question is cut inside the question; the action, target, choice and prompt stay (Dewey B1)
---
duration_ms: 48.536699
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 54 - a decide box too big for the terminal says so, and every key answers it No, y included (Dewey B1, round 3)
---
duration_ms: 313.962553
type: 'test'
...
# Subtest: at every size the decide box shows each line y depends on, or says it is hidden
ok 55 - at every size the decide box shows each line y depends on, or says it is hidden
---
duration_ms: 8141.75369
type: 'test'
...
# Subtest: outcome unknown: the CLI's sentence, no retry, then the trail or a re-read
ok 56 - outcome unknown: the CLI's sentence, no retry, then the trail or a re-read
---
duration_ms: 74.054227
type: 'test'
...
# Subtest: refused and failed reads keep the last list, marked stale; a refused decide says refused
ok 57 - refused and failed reads keep the last list, marked stale; a refused decide says refused
---
duration_ms: 39.491862
type: 'test'
...
# Subtest: help or a detail box cut to fit keeps its last line, Esc included (Dewey)
ok 58 - help or a detail box cut to fit keeps its last line, Esc included (Dewey)
---
duration_ms: 20.670444
type: 'test'
...
# Subtest: keys: views, moving, trail of a selection, the command line, help and quit
ok 59 - keys: views, moving, trail of a selection, the command line, help and quit
---
duration_ms: 93.441379
type: 'test'
...
# Subtest: one option: the status line says Press 1, not 1-1
ok 60 - one option: the status line says Press 1, not 1-1
---
duration_ms: 27.796224
type: 'test'
...
# Subtest: no business: the app says so and :business picks one
ok 61 - no business: the app says so and :business picks one
---
duration_ms: 14.321853
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 62 - mosaic with no argument: exit 3 in an agent run, exit 4 with the usage off a terminal, the app on one
---
duration_ms: 1.92841
type: 'test'
...
# Subtest: scripts/mosaic with no argument reaches the app entry; the seat usage it printed before has not drifted
ok 63 - scripts/mosaic with no argument reaches the app entry; the seat usage it printed before has not drifted
---
duration_ms: 199.330716
type: 'test'
...
# Subtest: strings to keep exactly live once, in the decide flow and the transport; the app does not restate them
ok 64 - strings to keep exactly live once, in the decide flow and the transport; the app does not restate them
---
duration_ms: 0.460497
type: 'test'
...
# Subtest: decide with --note still asks; a No sends nothing
ok 65 - decide with --note still asks; a No sends nothing
---
duration_ms: 15.123097
type: 'test'
...
# Subtest: the app's business comes from a live bus host only
ok 66 - the app's business comes from a live bus host only
---
duration_ms: 0.982852
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 67 - 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: 6.367571
type: 'test'
...
# Subtest: draw is pure: same state, same frame
ok 68 - draw is pure: same state, same frame
---
duration_ms: 0.78333
type: 'test'
...
# Subtest: recordBootRefused keeps the last good load across refusals; recordBootOk clears the refusal
ok 69 - recordBootRefused keeps the last good load across refusals; recordBootOk clears the refusal
---
duration_ms: 2.951716
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 70 - an unknown key and a JSON syntax error each leave the bus down with the reason and path in the status
---
duration_ms: 669.223034
type: 'test'
...
# Subtest: a missing file is recorded too, and a valid file clears the status on the next start
ok 71 - a missing file is recorded too, and a valid file clears the status on the next start
---
duration_ms: 437.800431
type: 'test'
...
# Subtest: row253 socket observation uses configured root, metadata and the Console peer without sending bytes
ok 72 - row253 socket observation uses configured root, metadata and the Console peer without sending bytes
---
duration_ms: 1776.922975
type: 'test'
...
# Subtest: row253 P10 refuses unsafe metadata, wrong peers and an unsafe Python without claiming closure
ok 73 - row253 P10 refuses unsafe metadata, wrong peers and an unsafe Python without claiming closure
---
duration_ms: 27696.612309
type: 'test'
...
# Subtest: row253 acceptance rejects bad config and unsupported copies before talk
ok 74 - row253 acceptance rejects bad config and unsupported copies before talk
---
duration_ms: 1275.272147
type: 'test'
...
# Subtest: row253 stalled peer observation ends within its bound without leaving a reader
ok 75 - row253 stalled peer observation ends within its bound without leaving a reader
---
duration_ms: 3883.32942
type: 'test'
...
# Subtest: row253 P8 refuses both retired TCP and board listeners
ok 76 - row253 P8 refuses both retired TCP and board listeners
---
duration_ms: 3526.636866
type: 'test'
...
# Subtest: row253 C4 acceptance query inner reason holds under both sudo models
ok 77 - row253 C4 acceptance query inner reason holds under both sudo models
---
duration_ms: 10657.359669
type: 'test'
...
# Subtest: row253 C4 acceptance query outer reason discards stdout and names residual cleanup
ok 78 - row253 C4 acceptance query outer reason discards stdout and names residual cleanup
---
duration_ms: 14176.328858
type: 'test'
...
# Subtest: row253 C4 acceptance query overflow is output-limit in both models
ok 79 - row253 C4 acceptance query overflow is output-limit in both models
---
duration_ms: 461.992007
type: 'test'
...
# Subtest: row299 P10 timing copy preserves shipped bytes and isolates observer variables
ok 80 - row299 P10 timing copy preserves shipped bytes and isolates observer variables
---
duration_ms: 0.809315
type: 'test'
...
# Subtest: row299 P10 observers preserve stdout stderr status and the EXIT trap
ok 81 - row299 P10 observers preserve stdout stderr status and the EXIT trap
---
duration_ms: 3.092174
type: 'test'
...
# Subtest: row299 P10 observer records are complete and ordered
ok 82 - row299 P10 observer records are complete and ordered
---
duration_ms: 0.519186
type: 'test'
...
# Subtest: row253 C4 P10 inner reason holds under both sudo models
ok 83 - row253 C4 P10 inner reason holds under both sudo models
---
duration_ms: 11393.329568
type: 'test'
...
# {"fault":"inner","mode":"exec","baselineSeconds":1.7630547210000005,"faultSeconds":3.878048723999993,"probeSeconds":2.24}
# {"fault":"inner","mode":"hop","baselineSeconds":1.8009510109999973,"faultSeconds":3.8939258770000014,"probeSeconds":2.24}
# Subtest: row253 C4 P10 outer reason holds under both sudo models
ok 84 - row253 C4 P10 outer reason holds under both sudo models
---
duration_ms: 14970.974807
type: 'test'
...
# {"fault":"outer","mode":"exec","baselineSeconds":1.7586227660000004,"faultSeconds":5.675560427999997,"probeSeconds":4}
# {"fault":"outer","mode":"hop","baselineSeconds":1.8019969989999953,"faultSeconds":5.685352882999999,"probeSeconds":4}
# Subtest: row253 C4 P10 overflow reason holds under both sudo models
ok 85 - row253 C4 P10 overflow reason holds under both sudo models
---
duration_ms: 3532.631988
type: 'test'
...
# Subtest: row 195 accept: every check passing exits 0, with each P mark and counts that match the lines
ok 86 - row 195 accept: every check passing exits 0, with each P mark and counts that match the lines
---
duration_ms: 1748.885223
type: 'test'
...
# Subtest: row 195 accept: exits 1 with each F check failing alone, and its line names it
ok 87 - row 195 accept: exits 1 with each F check failing alone, and its line names it
---
duration_ms: 19889.650159
type: 'test'
...
# Subtest: row 195 accept: F3 fails on exit 0 with no reply line, and its evidence takes talk's error
ok 88 - row 195 accept: F3 fails on exit 0 with no reply line, and its evidence takes talk's error
---
duration_ms: 3510.431208
type: 'test'
...
# Subtest: row 195 accept: F1 fails on a unit that isn't active or isn't User=mosaic
ok 89 - row 195 accept: F1 fails on a unit that isn't active or isn't User=mosaic
---
duration_ms: 3331.804948
type: 'test'
...
# Subtest: row 195 accept: F2 fails when healthz doesn't answer and when another pid holds the port
ok 90 - row 195 accept: F2 fails when healthz doesn't answer and when another pid holds the port
---
duration_ms: 3564.470641
type: 'test'
...
# Subtest: row 195 accept: F5 fails on unpriv_bwrap (enforce), on complain and on a trailing space
ok 91 - row 195 accept: F5 fails on unpriv_bwrap (enforce), on complain and on a trailing space
---
duration_ms: 8362.713242
type: 'test'
...
# Subtest: row 195 accept: F5 fails with no bwrap of mosaic's, and passes on comm alone
ok 92 - row 195 accept: F5 fails with no bwrap of mosaic's, and passes on comm alone
---
duration_ms: 3824.429177
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 93 - row 195 accept: F6 fails on a stub that prints nothing, on a path outside claude-<pin> and on a .. segment
---
duration_ms: 4920.966121
type: 'test'
...
# Subtest: row 195 accept: F7 fails on two live PM launches, one for another business, and no launch.by
ok 94 - row 195 accept: F7 fails on two live PM launches, one for another business, and no launch.by
---
duration_ms: 5340.767666
type: 'test'
...
# Subtest: row 195 accept: F8 fails on 0640, on another owner and on a symlink, and never prints the credential
ok 95 - row 195 accept: F8 fails on 0640, on another owner and on a symlink, and never prints the credential
---
duration_ms: 5384.145877
type: 'test'
...
# Subtest: row 195 accept: F9 fails on another owner, a group-writable mode and a number for the flag
ok 96 - row 195 accept: F9 fails on another owner, a group-writable mode and a number for the flag
---
duration_ms: 5192.920994
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 97 - row 195 accept: F9 won't run --node as root off the pin path or with a writable directory above it
---
duration_ms: 5007.094765
type: 'test'
...
# Subtest: row 195 accept: F11 fails on one *.json under discord/ and passes on an empty directory
ok 98 - row 195 accept: F11 fails on one *.json under discord/ and passes on an empty directory
---
duration_ms: 3613.591991
type: 'test'
...
# Subtest: row 195 accept: each P check reports unnamed on its fault, and the exit stays 0
ok 99 - row 195 accept: each P check reports unnamed on its fault, and the exit stays 0
---
duration_ms: 16171.890133
type: 'test'
...
# Subtest: row 195 accept: P2 is unnamed with a supplementary group, and P5 names docker
ok 100 - row 195 accept: P2 is unnamed with a supplementary group, and P5 names docker
---
duration_ms: 3584.216805
type: 'test'
...
# Subtest: row 195 accept: P5 is closed with no jarvis account, and P2 with an empty authorized_keys
ok 101 - row 195 accept: P5 is closed with no jarvis account, and P2 with an empty authorized_keys
---
duration_ms: 1760.761585
type: 'test'
...
# Subtest: row 195 accept: P9 is unnamed once for each item missing
ok 102 - row 195 accept: P9 is unnamed once for each item missing
---
duration_ms: 8985.142959
type: 'test'
...
# Subtest: row253 accept: P10 fails its observation with another peer; P11 with the unit disabled
ok 103 - row253 accept: P10 fails its observation with another peer; P11 with the unit disabled
---
duration_ms: 3637.469608
type: 'test'
...
# Subtest: row 195 accept: every P check unnamed together still exits 0
ok 104 - row 195 accept: every P check unnamed together still exits 0
---
duration_ms: 1640.236666
type: 'test'
...
# Subtest: row 195 accept: a bad args file refuses with exit 2 before any check, each for its own reason
ok 105 - row 195 accept: a bad args file refuses with exit 2 before any check, each for its own reason
---
duration_ms: 93.831969
type: 'test'
...
# Subtest: row 195 accept: usage errors and a run without --root as a user exit 2
ok 106 - row 195 accept: usage errors and a run without --root as a user exit 2
---
duration_ms: 10.248672
type: 'test'
...
# Subtest: row 195 accept: every in-instance call goes through sudo -u mosaic -H env PATH=<node dir>:...
ok 107 - row 195 accept: every in-instance call goes through sudo -u mosaic -H env PATH=<node dir>:...
---
duration_ms: 1786.808482
type: 'test'
...
# Subtest: row 195 accept: the host check runs with --check and never --enforce
ok 108 - row 195 accept: the host check runs with --check and never --enforce
---
duration_ms: 1780.251989
type: 'test'
...
# Subtest: row276 legacy call inventory pins every production bound and the conversation contract
ok 109 - row276 legacy call inventory pins every production bound and the conversation contract
---
duration_ms: 0.358964
type: 'test'
...
# Subtest: row276 talk legacy inner timeout cleans both sudo models
ok 110 - row276 talk legacy inner timeout cleans both sudo models
---
duration_ms: 1634.683872
type: 'test'
...
# Subtest: row276 precheck legacy inner timeout cleans both sudo models
ok 111 - row276 precheck legacy inner timeout cleans both sudo models
---
duration_ms: 1625.826537
type: 'test'
...
# Subtest: row276 claude-version legacy inner timeout cleans both sudo models
ok 112 - row276 claude-version legacy inner timeout cleans both sudo models
---
duration_ms: 1653.906776
type: 'test'
...
# Subtest: row276 pm-list legacy inner timeout cleans both sudo models
ok 113 - row276 pm-list legacy inner timeout cleans both sudo models
---
duration_ms: 1651.19714
type: 'test'
...
# Subtest: row276 node-version legacy inner timeout cleans both sudo models
ok 114 - row276 node-version legacy inner timeout cleans both sudo models
---
duration_ms: 1649.676808
type: 'test'
...
# Subtest: row276 legacy streams and display status preserve failures without granting success
ok 115 - row276 legacy streams and display status preserve failures without granting success
---
duration_ms: 2461.523818
type: 'test'
...
# Subtest: row276 trailer grammar cannot make supervisor failure pass
ok 116 - row276 trailer grammar cannot make supervisor failure pass
---
duration_ms: 1891.849221
type: 'test'
...
# Subtest: row276 earlier forged trailer and appended zero remain failures
ok 117 - row276 earlier forged trailer and appended zero remain failures
---
duration_ms: 489.452388
type: 'test'
...
# Subtest: row276 precheck outer bound discards success status and fixture cleans residual
ok 118 - row276 precheck outer bound discards success status and fixture cleans residual
---
duration_ms: 2165.272937
type: 'test'
...
# Subtest: row276 case1 capture and legacy tools refuse unsafe system tools
ok 119 - row276 case1 capture and legacy tools refuse unsafe system tools
---
duration_ms: 74.725189
type: 'test'
...
# Subtest: row276 stderr retention is bounded and keeps the final diagnostic
ok 120 - row276 stderr retention is bounded and keeps the final diagnostic
---
duration_ms: 244.858202
type: 'test'
...
# Subtest: row276 version and PM checks refuse successful-looking stdout on supervisor failure
ok 121 - row276 version and PM checks refuse successful-looking stdout on supervisor failure
---
duration_ms: 15.714843
type: 'test'
...
# Subtest: row276 full acceptance keeps all five healthy calls in both sudo models
ok 122 - row276 full acceptance keeps all five healthy calls in both sudo models
---
duration_ms: 3577.799322
type: 'test'
...
# Subtest: row276 vanished pid stat read returns 3 with empty stderr in both scripts
ok 123 - row276 vanished pid stat read returns 3 with empty stderr in both scripts
---
duration_ms: 12.166067
type: 'test'
...
# Subtest: row276 legacy stdout snapshot preserves exact bytes on success and command failure
ok 124 - row276 legacy stdout snapshot preserves exact bytes on success and command failure
---
duration_ms: 3153.111996
type: 'test'
...
# Subtest: row 240 check: exits 0 with all seven items and a note that bubblewrap is the install pin
ok 125 - row 240 check: exits 0 with all seven items and a note that bubblewrap is the install pin
---
duration_ms: 35.353376
type: 'test'
...
# Subtest: row 240 check: exits 1 with each item failing alone, and its line names it
ok 126 - row 240 check: exits 1 with each item failing alone, and its line names it
---
duration_ms: 210.301473
type: 'test'
...
# Subtest: row 240 check: item 1 fails when a package owns the profile, when dpkg -S errs, or with no pin
ok 127 - row 240 check: item 1 fails when a package owns the profile, when dpkg -S errs, or with no pin
---
duration_ms: 87.035349
type: 'test'
...
# Subtest: row 240 check: item 2 fails on a loaded mosaic-bwrap, a missing unpriv_bwrap or a failed aa-status
ok 128 - row 240 check: item 2 fails on a loaded mosaic-bwrap, a missing unpriv_bwrap or a failed aa-status
---
duration_ms: 86.451436
type: 'test'
...
# Subtest: row 240 check: item 3 fails on a second file naming bwrap as a word, /{usr/,}bin/bwrap included
ok 129 - row 240 check: item 3 fails on a second file naming bwrap as a word, /{usr/,}bin/bwrap included
---
duration_ms: 123.977622
type: 'test'
...
# Subtest: row 240 check: item 4 reads the label under the units' no-new-privs and matches it exactly
ok 130 - row 240 check: item 4 reads the label under the units' no-new-privs and matches it exactly
---
duration_ms: 119.825058
type: 'test'
...
# Subtest: row 240 check: item 5 needs the statoverride and stat to agree
ok 131 - row 240 check: item 5 needs the statoverride and stat to agree
---
duration_ms: 31.076086
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 132 - 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: 172.982338
type: 'test'
...
# Subtest: row 240 check: a bubblewrap version other than the install pin is a note, not a failure
ok 133 - row 240 check: a bubblewrap version other than the install pin is a note, not a failure
---
duration_ms: 30.185425
type: 'test'
...
# Subtest: row 240 enforce: a pass with no DRIFT changes nothing and exits 0
ok 134 - row 240 enforce: a pass with no DRIFT changes nothing and exits 0
---
duration_ms: 29.737683
type: 'test'
...
# Subtest: row 240 enforce: each failure exits 0, unloads the profile, closes bwrap, writes DRIFT and one log line
ok 135 - row 240 enforce: each failure exits 0, unloads the profile, closes bwrap, writes DRIFT and one log line
---
duration_ms: 260.419938
type: 'test'
...
# Subtest: row 240 enforce: with DRIFT present and every item passing, it still closes bwrap
ok 136 - row 240 enforce: with DRIFT present and every item passing, it still closes bwrap
---
duration_ms: 36.741497
type: 'test'
...
# Subtest: row 240 enforce: no unload when aa-status lists neither bwrap profile; never writes the statoverride
ok 137 - row 240 enforce: no unload when aa-status lists neither bwrap profile; never writes the statoverride
---
duration_ms: 294.625863
type: 'test'
...
# Subtest: row 240 upstream: a candidate whose profile differs prints the difference and exits 0
ok 138 - row 240 upstream: a candidate whose profile differs prints the difference and exits 0
---
duration_ms: 57.829463
type: 'test'
...
# Subtest: row 240 boot unit: a oneshot after apparmor and before the bus that runs --enforce
ok 139 - row 240 boot unit: a oneshot after apparmor and before the bus that runs --enforce
---
duration_ms: 0.444253
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 140 - 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: 42.962726
type: 'test'
...
# Subtest: Vikunja 614 check: item 5 accepts dpkg's bare octal mode and leading-zero equivalents
ok 141 - Vikunja 614 check: item 5 accepts dpkg's bare octal mode and leading-zero equivalents
---
duration_ms: 59.981055
type: 'test'
...
# Subtest: Vikunja 614 enforce: dpkg's bare 750 leaves bwrap open and writes no DRIFT
ok 142 - Vikunja 614 enforce: dpkg's bare 750 leaves bwrap open and writes no DRIFT
---
duration_ms: 30.469868
type: 'test'
...
# Subtest: Vikunja 614 check: item 5 refuses other modes, owners, groups, paths and malformed overrides
ok 143 - Vikunja 614 check: item 5 refuses other modes, owners, groups, paths and malformed overrides
---
duration_ms: 807.82005
type: 'test'
...
# Subtest: the library install writes the business file, personas and slot dir, makes the copy and starts nothing
ok 144 - the library install writes the business file, personas and slot dir, makes the copy and starts nothing
---
duration_ms: 246.153208
type: 'test'
...
# Subtest: a library re-run passes and leaves every file as it was
ok 145 - a library re-run passes and leaves every file as it was
---
duration_ms: 394.535467
type: 'test'
...
# Subtest: a re-run refuses business-file-differs and leaves the file unchanged
ok 146 - a re-run refuses business-file-differs and leaves the file unchanged
---
duration_ms: 271.321952
type: 'test'
...
# Subtest: a re-run refuses persona-differs when an installed persona isn't the staged one, and writes nothing
ok 147 - a re-run refuses persona-differs when an installed persona isn't the staged one, and writes nothing
---
duration_ms: 271.546109
type: 'test'
...
# Subtest: the factory install writes no library mapping, persona or slot dir
ok 148 - the factory install writes no library mapping, persona or slot dir
---
duration_ms: 168.286159
type: 'test'
...
# Subtest: the factory install refuses a library project and bus.tester off, before anything is written
ok 149 - the factory install refuses a library project and bus.tester off, before anything is written
---
duration_ms: 72.763354
type: 'test'
...
# Subtest: the library install refuses bus.tester on and a persona var in the input
ok 150 - the library install refuses bus.tester on and a persona var in the input
---
duration_ms: 76.909334
type: 'test'
...
# Subtest: the install refuses root, a business id mismatch, another --home and a config dir with group bits
ok 151 - the install refuses root, a business id mismatch, another --home and a config dir with group bits
---
duration_ms: 54.930376
type: 'test'
...
# Subtest: the library install needs --personas
ok 152 - the library install needs --personas
---
duration_ms: 5.344435
type: 'test'
...
# Subtest: a validate refusal removes the business file this run wrote
ok 153 - a validate refusal removes the business file this run wrote
---
duration_ms: 231.794508
type: 'test'
...
# Subtest: N4: a validate refusal on a re-run leaves the matching business file in place, byte for byte
ok 154 - N4: a validate refusal on a re-run leaves the matching business file in place, byte for byte
---
duration_ms: 395.185954
type: 'test'
...
# Subtest: a clean library host passes the precheck with no mirror yet
ok 155 - a clean library host passes the precheck with no mirror yet
---
duration_ms: 402.721786
type: 'test'
...
# Subtest: the library precheck refuses a persona file at 0644
ok 156 - the library precheck refuses a persona file at 0644
---
duration_ms: 391.941128
type: 'test'
...
# Subtest: the library precheck refuses a persona whose digest isn't persona.sha256
ok 157 - the library precheck refuses a persona whose digest isn't persona.sha256
---
duration_ms: 388.931615
type: 'test'
...
# Subtest: the library precheck refuses a persona dir with group bits
ok 158 - the library precheck refuses a persona dir with group bits
---
duration_ms: 392.779584
type: 'test'
...
# Subtest: the library precheck refuses a business file at 0644
ok 159 - the library precheck refuses a business file at 0644
---
duration_ms: 390.451045
type: 'test'
...
# Subtest: the library precheck refuses a changes.jsonl at 0644
ok 160 - the library precheck refuses a changes.jsonl at 0644
---
duration_ms: 564.277453
type: 'test'
...
# Subtest: the library precheck refuses a Discord binding
ok 161 - the library precheck refuses a Discord binding
---
duration_ms: 403.924528
type: 'test'
...
# Subtest: --library-status refuses library-mirror-missing before the bus has made the mirror
ok 162 - --library-status refuses library-mirror-missing before the bus has made the mirror
---
duration_ms: 313.337717
type: 'test'
...
# Subtest: --library-status refuses library-never-synced on a fresh mirror
ok 163 - --library-status refuses library-never-synced on a fresh mirror
---
duration_ms: 338.077668
type: 'test'
...
# Subtest: --library-status names a recorded lastError before the null lastFetch it leaves (N3)
ok 164 - --library-status names a recorded lastError before the null lastFetch it leaves (N3)
---
duration_ms: 331.670986
type: 'test'
...
# Subtest: --library-status prints each R-problem's path as an escaped JSON string, then the count, and passes
ok 165 - --library-status prints each R-problem's path as an escaped JSON string, then the count, and passes
---
duration_ms: 376.940223
type: 'test'
...
# Subtest: --library-status takes no --profile
ok 166 - --library-status takes no --profile
---
duration_ms: 5.394389
type: 'test'
...
# Subtest: Vikunja 614: install preserves the explicit notifier decision bytes and mode and creates none when absent
ok 167 - Vikunja 614: install preserves the explicit notifier decision bytes and mode and creates none when absent
---
duration_ms: 465.321273
type: 'test'
...
# Subtest: row 322 F8: library personas install from the copy with no clone node_modules
ok 168 - row 322 F8: library personas install from the copy with no clone node_modules
---
duration_ms: 139.602229
type: 'test'
...
# Subtest: row 322 F9: importer refusal keeps the error line rather than the Node banner
ok 169 - row 322 F9: importer refusal keeps the error line rather than the Node banner
---
duration_ms: 91.845548
type: 'test'
...
# Subtest: stage takes each profile's SOUL.md byte for byte and prints the pairing with sizes and digests
ok 170 - stage takes each profile's SOUL.md byte for byte and prints the pairing with sizes and digests
---
duration_ms: 57.512823
type: 'test'
...
# Subtest: stage lists the per-channel prompts in all three places by name and byte count only
ok 171 - stage lists the per-channel prompts in all three places by name and byte count only
---
duration_ms: 50.937759
type: 'test'
...
# Subtest: a config key with a newline prints as one quoted line
ok 172 - a config key with a newline prints as one quoted line
---
duration_ms: 52.032785
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 173 - a read trace shows stage and the dry run open SOUL.md and config.yaml and never memory, sessions or secrets
---
duration_ms: 108.776844
type: 'test'
...
# Subtest: the pairing refuses anything but two existing profiles naming Bean and Chet once each, and writes nothing
ok 174 - the pairing refuses anything but two existing profiles naming Bean and Chet once each, and writes nothing
---
duration_ms: 414.95738
type: 'test'
...
# Subtest: a profile with no persona refuses: no SOUL.md, a blank one, a symlink, not UTF-8
ok 175 - a profile with no persona refuses: no SOUL.md, a blank one, a symlink, not UTF-8
---
duration_ms: 358.410278
type: 'test'
...
# Subtest: the import applies C2-08's exported fence at its boundaries
ok 176 - the import applies C2-08's exported fence at its boundaries
---
duration_ms: 396.590595
type: 'test'
...
# Subtest: install writes 0600 persona files in 0700 directories whose digests match, and prints the vars
ok 177 - install writes 0600 persona files in 0700 directories whose digests match, and prints the vars
---
duration_ms: 92.431941
type: 'test'
...
# Subtest: install refuses an open or foreign staging file, a digest off the manifest and an existing persona
ok 178 - install refuses an open or foreign staging file, a digest off the manifest and an existing persona
---
duration_ms: 510.92523
type: 'test'
...
# Subtest: --dry-run writes nothing and prints only counts and the fence fault, two heading lines in a fixture counted
ok 179 - --dry-run writes nothing and prints only counts and the fence fault, two heading lines in a fixture counted
---
duration_ms: 41.70514
type: 'test'
...
# Subtest: --dry-run applies C2-08's fence: over it the fault prints, nothing is written and it exits 1
ok 180 - --dry-run applies C2-08's fence: over it the fault prints, nothing is written and it exits 1
---
duration_ms: 96.742822
type: 'test'
...
# Subtest: a directory made between the check and mkdir refuses by name, at stage and at install
ok 181 - a directory made between the check and mkdir refuses by name, at stage and at install
---
duration_ms: 144.552942
type: 'test'
...
# Subtest: --dry-run counts three lines naming a Hermes tool or channel and prints none of the words
ok 182 - --dry-run counts three lines naming a Hermes tool or channel and prints none of the words
---
duration_ms: 45.72796
type: 'test'
...
# Subtest: usage: stage needs one of --staging and --dry-run, install takes only its own options
ok 183 - usage: stage needs one of --staging and --dry-run, install takes only its own options
---
duration_ms: 308.432899
type: 'test'
...
# Subtest: row253 factory socket uses actual config and target-uid query without widening hardening
ok 184 - row253 factory socket uses actual config and target-uid query without widening hardening
---
duration_ms: 262.418565
type: 'test'
...
# Subtest: row253 installer refuses unsafe location and query facts before unit writes
ok 185 - row253 installer refuses unsafe location and query facts before unit writes
---
duration_ms: 2738.778283
type: 'test'
...
# Subtest: row253 query timeout kills its process group and leaves no running child
ok 186 - row253 query timeout kills its process group and leaves no running child
---
duration_ms: 7042.943544
type: 'test'
...
# Subtest: row253 protected homes refuse before any filesystem access
ok 187 - row253 protected homes refuse before any filesystem access
---
duration_ms: 8.640828
type: 'test'
...
# Subtest: row253 C4 sleep query has exact inner reason and cleans all members
ok 188 - row253 C4 sleep query has exact inner reason and cleans all members
---
duration_ms: 10601.466864
type: 'test'
...
# Subtest: row253 C4 signals query has exact inner reason and cleans all members
ok 189 - row253 C4 signals query has exact inner reason and cleans all members
---
duration_ms: 10590.823152
type: 'test'
...
# Subtest: row253 C4 member query has exact inner reason and cleans all members
ok 190 - row253 C4 member query has exact inner reason and cleans all members
---
duration_ms: 10579.421201
type: 'test'
...
# Subtest: row253 C4 overflow is output-limit in both sudo modes
ok 191 - row253 C4 overflow is output-limit in both sudo modes
---
duration_ms: 389.74805
type: 'test'
...
# Subtest: row253 C4 stalled supervisor uses the outer reason and explicit residual cleanup
ok 192 - row253 C4 stalled supervisor uses the outer reason and explicit residual cleanup
---
duration_ms: 14129.383846
type: 'test'
...
# Subtest: row253 C4 inline supervisor is byte-identical in both host scripts
ok 193 - row253 C4 inline supervisor is byte-identical in both host scripts
---
duration_ms: 0.31142
type: 'test'
...
# Subtest: row253 C4 cleanup budget starts after inventory pass one
ok 194 - row253 C4 cleanup budget starts after inventory pass one
---
duration_ms: 29.427064
type: 'test'
...
# Subtest: row253 query reaps its group even when a child closes stdout before the query returns
ok 195 - row253 query reaps its group even when a child closes stdout before the query returns
---
duration_ms: 129.558395
type: 'test'
...
# Subtest: row253 config parser is strict
ok 196 - row253 config parser is strict
---
duration_ms: 8.726982
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 197 - a clean library render writes both units 0644 with the fixed lines, and enables both then starts the bus then the Console
---
duration_ms: 94.805212
type: 'test'
...
# Subtest: PATH starts with the --node directory, for a node outside the default list and for /usr/bin/node
ok 198 - PATH starts with the --node directory, for a node outside the default list and for /usr/bin/node
---
duration_ms: 98.970717
type: 'test'
...
# Subtest: a failed bus start refuses with the Console not started
ok 199 - a failed bus start refuses with the Console not started
---
duration_ms: 90.821255
type: 'test'
...
# Subtest: the script never links a unit file
ok 200 - the script never links a unit file
---
duration_ms: 0.181466
type: 'test'
...
# Subtest: factory renders --pm once and one MOSAIC_CLAUDE_BIN line, and without them both tokens render empty
ok 201 - factory renders --pm once and one MOSAIC_CLAUDE_BIN line, and without them both tokens render empty
---
duration_ms: 522.953468
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 202 - 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: 402.802349
type: 'test'
...
# Subtest: a re-install to another copy re-renders both units, and an edited installed unit refuses
ok 203 - a re-install to another copy re-renders both units, and an edited installed unit refuses
---
duration_ms: 958.273633
type: 'test'
...
# Subtest: a template with a namespace, user or system call restriction refuses
ok 204 - a template with a namespace, user or system call restriction refuses
---
duration_ms: 256.590268
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 205 - the bus template's EnvironmentFile line must be there and point at the session env, and the Console template must have none
---
duration_ms: 179.469241
type: 'test'
...
# Subtest: a template holding an unknown token, PermissionsStartOnly or a privileged Exec prefix refuses
ok 206 - a template holding an unknown token, PermissionsStartOnly or a privileged Exec prefix refuses
---
duration_ms: 135.663724
type: 'test'
...
# Subtest: a symlink at either unit path refuses
ok 207 - a symlink at either unit path refuses
---
duration_ms: 160.989435
type: 'test'
...
# Subtest: a --node that is relative, not root-owned or under <home> refuses
ok 208 - a --node that is relative, not root-owned or under <home> refuses
---
duration_ms: 18.057503
type: 'test'
...
# Subtest: a re-install with a different --node or different serve flags refuses
ok 209 - a re-install with a different --node or different serve flags refuses
---
duration_ms: 442.676809
type: 'test'
...
# Subtest: an installed pair whose units name different copies refuses
ok 210 - an installed pair whose units name different copies refuses
---
duration_ms: 237.524916
type: 'test'
...
# Subtest: a copy id that is short, uppercase, holds / or .., or names no directory refuses
ok 211 - a copy id that is short, uppercase, holds / or .., or names no directory refuses
---
duration_ms: 25.941288
type: 'test'
...
# Subtest: library refuses a privileged-floor miss, a bad proof pair and every flag outside its set
ok 212 - library refuses a privileged-floor miss, a bad proof pair and every flag outside its set
---
duration_ms: 260.712597
type: 'test'
...
# Subtest: library refuses a proof file not owned by <user>'s uid
ok 213 - library refuses a proof file not owned by <user>'s uid
---
duration_ms: 16.011361
type: 'test'
...
# Subtest: factory refuses duplicate socket, a missing --port or --business, and each proxy flag
ok 214 - factory refuses duplicate socket, a missing --port or --business, and each proxy flag
---
duration_ms: 171.202055
type: 'test'
...
# Subtest: row253 factory refuses retired TCP and a value after the socket marker
ok 215 - row253 factory refuses retired TCP and a value after the socket marker
---
duration_ms: 25.130708
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 216 - factory refuses a --claude that is relative, not root-owned or under <home>, and a re-install with another --pm or --claude
---
duration_ms: 1108.973125
type: 'test'
...
# Subtest: the precheck passes on a good host and prints free memory, without the key
ok 217 - the precheck passes on a good host and prints free memory, without the key
---
duration_ms: 145.890486
type: 'test'
...
# Subtest: the precheck refuses each failed host check
ok 218 - the precheck refuses each failed host check
---
duration_ms: 1287.400632
type: 'test'
...
# Subtest: the precheck refuses a user missing from passwd, a business file that does not load, and a symlinked run root
ok 219 - the precheck refuses a user missing from passwd, a business file that does not load, and a symlinked run root
---
duration_ms: 732.917128
type: 'test'
...
# Subtest: a bwrap that fails refuses and prints the sysctl and where bwrap is
ok 220 - a bwrap that fails refuses and prints the sysctl and where bwrap is
---
duration_ms: 153.16525
type: 'test'
...
# Subtest: an unprivileged port floor at or below the Console's port refuses, and so does a missing Console unit
ok 221 - an unprivileged port floor at or below the Console's port refuses, and so does a missing Console unit
---
duration_ms: 735.880807
type: 'test'
...
# Subtest: bus.tester: library refuses it on, factory needs it on, and factory refuses a library business
ok 222 - bus.tester: library refuses it on, factory needs it on, and factory refuses a library business
---
duration_ms: 578.362081
type: 'test'
...
# Subtest: the claude check runs only for a claude-code instance, and refuses a claude that appends or answers wrong
ok 223 - the claude check runs only for a claude-code instance, and refuses a claude that appends or answers wrong
---
duration_ms: 1175.244691
type: 'test'
...
# Subtest: the claude check runs the bus unit's MOSAIC_CLAUDE_BIN over claude on PATH
ok 224 - the claude check runs the bus unit's MOSAIC_CLAUDE_BIN over claude on PATH
---
duration_ms: 375.469391
type: 'test'
...
# Subtest: the session env file refuses when missing, open to others, a symlink, empty, or emptied by a later line
ok 225 - the session env file refuses when missing, open to others, a symlink, empty, or emptied by a later line
---
duration_ms: 890.986763
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 226 - inside a session's sandbox a bind below 1024 fails with EACCES, and a bind on a free high port succeeds
---
duration_ms: 92.258444
type: 'test'
...
# Subtest: Vikunja 614 factory: scoped @anthropic-ai Claude path renders and passes installed read-back
ok 227 - Vikunja 614 factory: scoped @anthropic-ai Claude path renders and passes installed read-back
---
duration_ms: 712.26328
type: 'test'
...
# Subtest: Vikunja 614 factory: plain paths still refuse every named unsafe character
ok 228 - Vikunja 614 factory: plain paths still refuse every named unsafe character
---
duration_ms: 85.105164
type: 'test'
...
# Subtest: Vikunja 614 precheck: explicit null and named notifier decisions pass
ok 229 - Vikunja 614 precheck: explicit null and named notifier decisions pass
---
duration_ms: 310.796635
type: 'test'
...
# Subtest: Vikunja 614 precheck: notifier config refuses missing, public, malformed and extra-key decisions
ok 230 - Vikunja 614 precheck: notifier config refuses missing, public, malformed and extra-key decisions
---
duration_ms: 1170.308733
type: 'test'
...
# Subtest: CLI off, absent and other-only channel selections refuse every project/thread flow before any effect
ok 231 - CLI off, absent and other-only channel selections refuse every project/thread flow before any effect
---
duration_ms: 10.09708
type: 'test'
...
# Subtest: CLI enabled project/thread lists dispatch through selection without changing output
ok 232 - CLI enabled project/thread lists dispatch through selection without changing output
---
duration_ms: 1.192163
type: 'test'
...
# Subtest: both channels off recover through the existing human CLI, socket and organization writer
ok 233 - both channels off recover through the existing human CLI, socket and organization writer
---
duration_ms: 2091.546868
type: 'test'
...
# Subtest: inbox lists only decisions routed to the human, with what approving authorizes and how to decide
ok 234 - inbox lists only decisions routed to the human, with what approving authorizes and how to decide
---
duration_ms: 23.210794
type: 'test'
...
# Subtest: decide resolves by id prefix with --yes, and the trail shows it in broker order with the task to follow
ok 235 - decide resolves by id prefix with --yes, and the trail shows it in broker order with the task to follow
---
duration_ms: 19.617753
type: 'test'
...
# Subtest: decide refuses without a terminal or --yes, on an unknown option and on a short reference
ok 236 - decide refuses without a terminal or --yes, on an unknown option and on a short reference
---
duration_ms: 16.805475
type: 'test'
...
# Subtest: decide prints a declining choice as declining
ok 237 - decide prints a declining choice as declining
---
duration_ms: 14.049164
type: 'test'
...
# Subtest: an unknown outcome is reported once and never resent
ok 238 - an unknown outcome is reported once and never resent
---
duration_ms: 12.911227
type: 'test'
...
# Subtest: a decision closed before the answer arrives exits 2 and points at its trail
ok 239 - a decision closed before the answer arrives exits 2 and points at its trail
---
duration_ms: 12.66051
type: 'test'
...
# Subtest: a prefix that matches two open decisions exits 2 and resolves neither
ok 240 - a prefix that matches two open decisions exits 2 and resolves neither
---
duration_ms: 13.020165
type: 'test'
...
# Subtest: without --business a command uses the live host's business, and a stale host.json is not a host
ok 241 - without --business a command uses the live host's business, and a stale host.json is not a host
---
duration_ms: 12.960696
type: 'test'
...
# Subtest: every human command refuses inside an agent run before it touches the bus
ok 242 - every human command refuses inside an agent run before it touches the bus
---
duration_ms: 11.386718
type: 'test'
...
# Subtest: usage errors exit 4; no business and no host is a usage error
ok 243 - usage errors exit 4; no business and no host is a usage error
---
duration_ms: 12.03452
type: 'test'
...
# Subtest: agents and tasks print through the broker
ok 244 - agents and tasks print through the broker
---
duration_ms: 12.631405
type: 'test'
...
# Subtest: notify.json: missing, loose, malformed and extra keys refuse; a binding or null passes
ok 245 - notify.json: missing, loose, malformed and extra keys refuse; a binding or null passes
---
duration_ms: 1.04242
type: 'test'
...
# usage: {"event":"usage-unknown","business":"acme","run":"r7f4d3c2c27ae","instance":"assistant","turn":"e4b5af34-4d3f-48df-b35c-f5bf6fa9df38","source":"@none","code":"baseline-unknown"}
# usage: {"event":"usage-unknown","business":"acme","run":"rc3457230ee2a","instance":"assistant","turn":"0aded494-b54d-4b1d-89b9-edcd49e7a35f","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 246 - 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: 2990.225764
type: 'test'
...
# usage: {"event":"usage-unknown","business":"acme","run":"rd070336408ad","instance":"assistant","turn":"c1cffc59-e01e-490b-8d33-3e40c025bb27","source":"@none","code":"baseline-unknown"}
# usage: {"event":"usage-unknown","business":"acme","run":"rabbca97dd008","instance":"assistant","turn":"e30644f0-5a14-42b8-8032-5a4e9933131d","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 247 - 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: 2839.286529
type: 'test'
...
# usage: {"event":"usage-unknown","business":"acme","run":"rd302eac88385","instance":"assistant","turn":"97a331da-baca-4e5b-b81a-3bfdb1ec3bb4","source":"@none","code":"baseline-unknown"}
# usage: {"event":"usage-unknown","business":"acme","run":"rffb2fb1707e9","instance":"assistant","turn":"55cabbc7-a0ac-4219-bf7a-0aed63bbbfdb","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 248 - REQ-THREAD-2 T3 the read budget is the system config's compactionReadBytes, and a bad value takes the default
---
duration_ms: 2920.487634
type: 'test'
...
# usage: {"event":"usage-unknown","business":"acme","run":"r1b020a66bf81","instance":"assistant","turn":"61b45702-3b24-4332-9042-cec9190edffd","source":"@none","code":"baseline-unknown"}
# usage: {"event":"usage-unknown","business":"acme","run":"r23746f88fd1a","instance":"assistant","turn":"26fff113-024e-4a10-a434-c1c07b00a5e9","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 249 - REQ-THREAD-2 T3 the stream cap is the system config's compactionStreams, and a bad value takes the default
---
duration_ms: 2927.691039
type: 'test'
...
# usage: {"event":"usage-unknown","business":"acme","run":"rcd3ababd27c8","instance":"assistant","turn":"3274546f-48c8-4c82-9bc3-38e4ff572094","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 250 - 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: 2789.455624
type: 'test'
...
# Subtest: bootConfig builds the broker's boot message for one business, with no trackers key when no project names one
ok 251 - bootConfig builds the broker's boot message for one business, with no trackers key when no project names one
---
duration_ms: 35.347333
type: 'test'
...
# Subtest: trackers come from the tracker.* variables of the one project that names a tracker project
ok 252 - trackers come from the tracker.* variables of the one project that names a tracker project
---
duration_ms: 57.496187
type: 'test'
...
# Subtest: with two projects, the one that sets tracker.project supplies the tracker and the other is no conflict
ok 253 - with two projects, the one that sets tracker.project supplies the tracker and the other is no conflict
---
duration_ms: 28.651745
type: 'test'
...
# Subtest: two projects that each name a tracker project refuse, since the boot shape holds one
ok 254 - two projects that each name a tracker project refuse, since the boot shape holds one
---
duration_ms: 29.999921
type: 'test'
...
# Subtest: a business without tracker.baseUrl gets no trackers entry
ok 255 - a business without tracker.baseUrl gets no trackers entry
---
duration_ms: 34.756116
type: 'test'
...
# Subtest: an unknown business and a broken system config refuse with exit 3
ok 256 - an unknown business and a broken system config refuse with exit 3
---
duration_ms: 51.984054
type: 'test'
...
# Subtest: Row 252 (Webby N1): every console.sso subject reaches the boot as a console owner, and no sso means no consoleOwners key
ok 257 - Row 252 (Webby N1): every console.sso subject reaches the boot as a console owner, and no sso means no consoleOwners key
---
duration_ms: 28.478795
type: 'test'
...
# Subtest: row 199: issue and rotate send the stdin token once to credentials.issue and print no value
ok 258 - row 199: issue and rotate send the stdin token once to credentials.issue and print no value
---
duration_ms: 6.219125
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 259 - row 199: rotate goes ahead on each held state, rotation-due included, and refuses not-issued, revoked and an unknown entry
---
duration_ms: 2.371374
type: 'test'
...
# Subtest: row 199: status, revoke and delete; the tester runs status and revoke only
ok 260 - row 199: status, revoke and delete; the tester runs status and revoke only
---
duration_ms: 2.613811
type: 'test'
...
# Subtest: row 210: issue of a host.<id> kind prints public material only
ok 261 - row 210: issue of a host.<id> kind prints public material only
---
duration_ms: 1.089511
type: 'test'
...
# Subtest: row 199: scripts/mosaic sends credentials to packages/cli, not the seat CLI
ok 262 - row 199: scripts/mosaic sends credentials to packages/cli, not the seat CLI
---
duration_ms: 84.14224
type: 'test'
...
# Subtest: follow prints an unsolicited message after plain talk returned
ok 263 - follow prints an unsolicited message after plain talk returned
---
duration_ms: 33.426732
type: 'test'
...
# Subtest: talk --follow continues after reply and prints a later unsolicited message
ok 264 - talk --follow continues after reply and prints a later unsolicited message
---
duration_ms: 31.500577
type: 'test'
...
# Subtest: inbox lists all unread human messages under decisions, does not deliver or read them
ok 265 - inbox lists all unread human messages under decisions, does not deliver or read them
---
duration_ms: 278.040102
type: 'test'
...
# Subtest: follow refuses agent context and bad arguments
ok 266 - follow refuses agent context and bad arguments
---
duration_ms: 12.682936
type: 'test'
...
# Subtest: follow Ctrl-C wakes the poll sleep and removes its handler; transport errors also clean up
ok 267 - follow Ctrl-C wakes the poll sleep and removes its handler; transport errors also clean up
---
duration_ms: 11.970645
type: 'test'
...
# Subtest: plain talk leaves the process SIGINT handlers unchanged
ok 268 - plain talk leaves the process SIGINT handlers unchanged
---
duration_ms: 14.545579
type: 'test'
...
# Subtest: empty views say so
ok 269 - empty views say so
---
duration_ms: 0.573603
type: 'test'
...
# Subtest: agents adds a thread line for each held thread claim, after the roles
ok 270 - agents adds a thread line for each held thread claim, after the roles
---
duration_ms: 0.125815
type: 'test'
...
# Subtest: the trail keeps the broker's order and names a decision's task without its rows
ok 271 - the trail keeps the broker's order and names a decision's task without its rows
---
duration_ms: 4.005817
type: 'test'
...
# Subtest: tasks print the tracker fields the snapshot carries
ok 272 - tasks print the tracker fields the snapshot carries
---
duration_ms: 0.129653
type: 'test'
...
# Subtest: guardDocker refuses a compose run unless PI_AUTH_FILE is a regular file inside the lane temp root
ok 273 - guardDocker refuses a compose run unless PI_AUTH_FILE is a regular file inside the lane temp root
---
duration_ms: 3.526317
type: 'test'
...
# Subtest: cleanEnv points PI_AUTH_FILE at the lane fixture and drops MOSAIC_LIVE_PROVIDER
ok 274 - cleanEnv points PI_AUTH_FILE at the lane fixture and drops MOSAIC_LIVE_PROVIDER
---
duration_ms: 0.614813
type: 'test'
...
# Subtest: test-release.sh activates through the mock adapter with a 0600 fixture auth file
ok 275 - test-release.sh activates through the mock adapter with a 0600 fixture auth file
---
duration_ms: 1435.880506
type: 'test'
...
# {"script":"test-release.sh","extra":[],"wallMs":1178,"status":1}
# Subtest: test-task.sh mounts only its fixture, uses only the mock adapter and prints the live skip twice
ok 276 - test-task.sh mounts only its fixture, uses only the mock adapter and prints the live skip twice
---
duration_ms: 7295.152738
type: 'test'
...
# {"script":"test-task.sh","extra":[],"wallMs":7234,"status":1}
# Subtest: M-T: MOSAIC_LIVE_PROVIDER=1 runs the real-model cases, which fail under a fixture auth file
ok 277 - M-T: MOSAIC_LIVE_PROVIDER=1 runs the real-model cases, which fail under a fixture auth file
---
duration_ms: 8493.396977
type: 'test'
...
# {"script":"test-task.sh","extra":["MOSAIC_LIVE_PROVIDER","PI_AUTH_FILE"],"wallMs":8424,"status":1}
# Subtest: parallel lease holders use only the active lane and its shared state
ok 278 - parallel lease holders use only the active lane and its shared state
---
duration_ms: 17.362821
type: 'test'
...
# Subtest: unrelated home changes do not become lane writes, and own-root references do
ok 279 - unrelated home changes do not become lane writes, and own-root references do
---
duration_ms: 0.211789
type: 'test'
...
# Subtest: proof summaries refuse missing timings, non-overlap and a pair without a lane swap
ok 280 - proof summaries refuse missing timings, non-overlap and a pair without a lane swap
---
duration_ms: 0.627775
type: 'test'
...
# Subtest: an exhausted single-port band refuses, and an occupied foreign listener survives the probe
ok 281 - an exhausted single-port band refuses, and an occupied foreign listener survives the probe
---
duration_ms: 6.550588
type: 'test'
...
# Subtest: parallel child allocators share real lane locks; a lease remains held through child shutdown
ok 282 - parallel child allocators share real lane locks; a lease remains held through child shutdown
---
duration_ms: 115.637638
type: 'test'
...
# Subtest: abrupt allocator death releases its holder without touching a foreign lease
ok 283 - abrupt allocator death releases its holder without touching a foreign lease
---
duration_ms: 44.265361
type: 'test'
...
# Subtest: fixture caches survive a replacement environment with a separate tmp subdirectory
ok 284 - fixture caches survive a replacement environment with a separate tmp subdirectory
---
duration_ms: 25.380452
type: 'test'
...
# Subtest: an unrelated session can append while a supervised step runs without becoming an attributed write
ok 285 - an unrelated session can append while a supervised step runs without becoming an attributed write
---
duration_ms: 38.82153
type: 'test'
...
# Subtest: a changed COPY input or actual image ID refuses compatible image sharing
ok 286 - a changed COPY input or actual image ID refuses compatible image sharing
---
duration_ms: 5.303261
type: 'test'
...
# Subtest: warm Docker guard disables implicit build and pull and refuses image mutation
ok 287 - warm Docker guard disables implicit build and pull and refuses image mutation
---
duration_ms: 1.361139
type: 'test'
...
# Subtest: exclusive image preparation records actual image ID and build wall time and requires a grant
ok 288 - exclusive image preparation records actual image ID and build wall time and requires a grant
---
duration_ms: 2.681888
type: 'test'
...
# Subtest: cleanup refuses a foreign Docker label and removes only an exact owned project
ok 289 - cleanup refuses a foreign Docker label and removes only an exact owned project
---
duration_ms: 0.370481
type: 'test'
...
# Subtest: missing receipt and missing image refuse without permitting a gate
ok 290 - missing receipt and missing image refuse without permitting a gate
---
duration_ms: 1.651881
type: 'test'
...
# Subtest: a tag changed between supervised steps fails the next boundary and suppresses gate success
ok 291 - a tag changed between supervised steps fails the next boundary and suppresses gate success
---
duration_ms: 24.057277
type: 'test'
...
# Subtest: mutable-base rebuilds with identical files have distinct image IDs; cold and warm counters stay separate
ok 292 - mutable-base rebuilds with identical files have distinct image IDs; cold and warm counters stay separate
---
duration_ms: 2.927442
type: 'test'
...
# Subtest: warm pinned execution records zero builds and checks the tag again after its final step
ok 293 - warm pinned execution records zero builds and checks the tag again after its final step
---
duration_ms: 40.882145
type: 'test'
...
# Subtest: installed Compose accepts rewritten run argv without starting a container
ok 294 - installed Compose accepts rewritten run argv without starting a container
---
duration_ms: 75.084034
type: 'test'
...
# Subtest: installed Compose resolves the private override with no build and the pinned image
ok 295 - installed Compose resolves the private override with no build and the pinned image
---
duration_ms: 45.47547
type: 'test'
...
# {"installedComposeConfig":{"buildPresent":false,"image":"sha256:aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa"}}
# Subtest: guard owns every Compose file argument and refuses caller configuration overrides
ok 296 - guard owns every Compose file argument and refuses caller configuration overrides
---
duration_ms: 0.687507
type: 'test'
...
# Subtest: changing packages/processing-control/src/state.mjs invalidates the image receipt
ok 297 - changing packages/processing-control/src/state.mjs invalidates the image receipt
---
duration_ms: 1.459461
type: 'test'
...
# Subtest: changing packages/processing-control/src/entrypoint.mjs invalidates the image receipt
ok 298 - changing packages/processing-control/src/entrypoint.mjs invalidates the image receipt
---
duration_ms: 1.587165
type: 'test'
...
# Subtest: unfinished dead-owner runs quarantine their lane and a recovery record clears only that run
ok 299 - unfinished dead-owner runs quarantine their lane and a recovery record clears only that run
---
duration_ms: 4.516453
type: 'test'
...
# Subtest: a legacy landing gate beside a lane stays legacy even with the same parent
ok 300 - a legacy landing gate beside a lane stays legacy even with the same parent
---
duration_ms: 1.530099
type: 'test'
...
# Subtest: the shell status entry reads scratch receipts and reports legacy processes without mutating old slots
ok 301 - the shell status entry reads scratch receipts and reports legacy processes without mutating old slots
---
duration_ms: 60.915694
type: 'test'
...
# Subtest: recovery supersedes an unclean terminal without rewriting either receipt
ok 302 - recovery supersedes an unclean terminal without rewriting either receipt
---
duration_ms: 2.216242
type: 'test'
...
# Subtest: the wrapper refuses a held lane lock and preserves its inode
ok 303 - the wrapper refuses a held lane lock and preserves its inode
---
duration_ms: 41.298357
type: 'test'
...
# Subtest: a held kernel lock without a start receipt is BUSY rather than CLEAR
ok 304 - a held kernel lock without a start receipt is BUSY rather than CLEAR
---
duration_ms: 4.328
type: 'test'
...
# Subtest: SIGKILL leaves a quarantined run and locked recovery publishes a new clean receipt
ok 305 - SIGKILL leaves a quarantined run and locked recovery publishes a new clean receipt
---
duration_ms: 200.474482
type: 'test'
...
# Subtest: a malformed receipt refuses status and an identity mismatch cannot look live
ok 306 - a malformed receipt refuses status and an identity mismatch cannot look live
---
duration_ms: 2.017781
type: 'test'
...
# Subtest: a symlink lock is refused before acquiring or replacing its target
ok 307 - a symlink lock is refused before acquiring or replacing its target
---
duration_ms: 33.306789
type: 'test'
...
# Subtest: failed recovery keeps quarantine and never publishes a clean recovery receipt
ok 308 - failed recovery keeps quarantine and never publishes a clean recovery receipt
---
duration_ms: 174.958804
type: 'test'
...
# Subtest: two shared image holders coexist, but exclusive preparation refuses their lock
ok 309 - two shared image holders coexist, but exclusive preparation refuses their lock
---
duration_ms: 105.218523
type: 'test'
...
# Subtest: two simultaneous shell claims have one winner; supervisor retains lock FDs and ordinary children do not
ok 310 - two simultaneous shell claims have one winner; supervisor retains lock FDs and ordinary children do not
---
duration_ms: 107.473932
type: 'test'
...
# Subtest: same checkout and a legacy land gate each refuse a claim on an otherwise free lane
ok 311 - same checkout and a legacy land gate each refuse a claim on an otherwise free lane
---
duration_ms: 3.155545
type: 'test'
...
# Subtest: recovery kills a proven surviving child, preserves a foreign child and keeps quarantine if interrupted
ok 312 - recovery kills a proven surviving child, preserves a foreign child and keeps quarantine if interrupted
---
duration_ms: 428.782297
type: 'test'
...
# Subtest: preflight refuses unsafe lane roots, missing grants and live port 9 before side effects
ok 313 - preflight refuses unsafe lane roots, missing grants and live port 9 before side effects
---
duration_ms: 31.216237
type: 'test'
...
# Subtest: discovery preserves all package and script steps while ignoring non-file shell names
ok 314 - discovery preserves all package and script steps while ignoring non-file shell names
---
duration_ms: 10.085398
type: 'test'
...
# Subtest: a failed step stops the gate and records its nonzero exit without running the next step
ok 315 - a failed step stops the gate and records its nonzero exit without running the next step
---
duration_ms: 14.061847
type: 'test'
...
# Subtest: a cancelled step stops its process group and records failure
ok 316 - a cancelled step stops its process group and records failure
---
duration_ms: 113.124984
type: 'test'
...
# Subtest: step receipts retain pass fail skipped counts and hashes of their actual logs
ok 317 - step receipts retain pass fail skipped counts and hashes of their actual logs
---
duration_ms: 35.099485
type: 'test'
...
# Subtest: preflight rejects a real 31-byte root, missing dependency tree, occupied band and missing inventory
ok 318 - preflight rejects a real 31-byte root, missing dependency tree, occupied band and missing inventory
---
duration_ms: 22.60732
type: 'test'
...
# Subtest: preflight refuses canonical and builder checkouts and an existing output
ok 319 - preflight refuses canonical and builder checkouts and an existing output
---
duration_ms: 11.892186
type: 'test'
...
# Subtest: both candidates must carry every approved launcher file
ok 320 - both candidates must carry every approved launcher file
---
duration_ms: 10.876999
type: 'test'
...
# Subtest: the 92-byte socket example passes and an over-107-byte pathname refuses
ok 321 - the 92-byte socket example passes and an over-107-byte pathname refuses
---
duration_ms: 0.155837
type: 'test'
...
# Subtest: package/script duplicates stay and every supervised step clears NODE_TEST_CONTEXT
ok 322 - package/script duplicates stay and every supervised step clears NODE_TEST_CONTEXT
---
duration_ms: 52.087788
type: 'test'
...
# Subtest: scoped ss loopback and wildcard port 9 listeners refuse
ok 323 - scoped ss loopback and wildcard port 9 listeners refuse
---
duration_ms: 22.338122
type: 'test'
...
# Subtest: step children use legacy umask 022 while the supervisor retains 077
ok 324 - step children use legacy umask 022 while the supervisor retains 077
---
duration_ms: 33.333361
type: 'test'
...
# Subtest: lane wrapper keeps its state directory and lock files private
ok 325 - lane wrapper keeps its state directory and lock files private
---
duration_ms: 81.979581
type: 'test'
...
# Subtest: the review loop: the coder pushes and asks, the reviewer fetches and approves, and the task's trail holds each step
ok 326 - the review loop: the coder pushes and asks, the reviewer fetches and approves, and the task's trail holds each step
---
duration_ms: 843.098413
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 327 - 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: 769.219448
type: 'test'
...
# Subtest: the size cap refuses a push before any byte
ok 328 - the size cap refuses a push before any byte
---
duration_ms: 233.409464
type: 'test'
...
# Subtest: a fetch over the cap refuses before any byte reaches the reviewer
ok 329 - a fetch over the cap refuses before any byte reaches the reviewer
---
duration_ms: 714.425898
type: 'test'
...
# Subtest: the socket refuses a request with no capability, an unknown one, and a bad request line
ok 330 - the socket refuses a request with no capability, an unknown one, and a bad request line
---
duration_ms: 314.779047
type: 'test'
...
# Subtest: a rigged clone runs nothing: hooks, fsmonitor, a filter, a gitlink and a symlinked .git/config leave no marker
ok 331 - a rigged clone runs nothing: hooks, fsmonitor, a filter, a gitlink and a symlinked .git/config leave no marker
---
duration_ms: 630.196454
type: 'test'
...
# Subtest: an identity with no role, or of another business, refuses not-a-role and moves no ref
ok 332 - an identity with no role, or of another business, refuses not-a-role and moves no ref
---
duration_ms: 418.911932
type: 'test'
...
# Subtest: a review of a project the business no longer has refuses unknown-project
ok 333 - a review of a project the business no longer has refuses unknown-project
---
duration_ms: 413.318767
type: 'test'
...
# Subtest: past maxActive connections the socket refuses git-busy, and a hung-up connection frees its slot
ok 334 - past maxActive connections the socket refuses git-busy, and a hung-up connection frees its slot
---
duration_ms: 218.641904
type: 'test'
...
# Subtest: close() answers host-closing to a connection still sending its request line
ok 335 - close() answers host-closing to a connection still sending its request line
---
duration_ms: 216.818435
type: 'test'
...
# Subtest: a bundle that trickles in refuses body-timeout at its deadline and frees its slot
ok 336 - a bundle that trickles in refuses body-timeout at its deadline and frees its slot
---
duration_ms: 632.166351
type: 'test'
...
# Subtest: a reviewer gone before its bundle was sent is filed fetch-aborted, not as the host's fault
ok 337 - a reviewer gone before its bundle was sent is filed fetch-aborted, not as the host's fault
---
duration_ms: 702.099447
type: 'test'
...
# Subtest: a reviewer that hangs up the moment it has the whole bundle was served, not aborted
ok 338 - a reviewer that hangs up the moment it has the whole bundle was served, not aborted
---
duration_ms: 1478.582235
type: 'test'
...
# Subtest: send: a close after every byte left is served; one that fails a queued write is fetch-aborted
ok 339 - send: a close after every byte left is served; one that fails a queued write is fetch-aborted
---
duration_ms: 41.448768
type: 'test'
...
# Subtest: a bundle with no bytes for bodyIdle refuses body-timeout long before its deadline
ok 340 - a bundle with no bytes for bodyIdle refuses body-timeout long before its deadline
---
duration_ms: 542.862664
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 341 - send: a close once the loop is past its last chunk is served, and a failed write there is fetch-aborted
---
duration_ms: 52.459876
type: 'test'
...
# Subtest: letGo waits for an answer to leave for at most its cap, then destroys the socket
ok 342 - letGo waits for an answer to leave for at most its cap, then destroys the socket
---
duration_ms: 302.334863
type: 'test'
...
# Subtest: a record that fails and can't be undone refuses rollback-failed, which the host logs
ok 343 - a record that fails and can't be undone refuses rollback-failed, which the host logs
---
duration_ms: 558.977769
type: 'test'
...
# Subtest: land: the squash runs the gate in its own worktree, then main moves and the broker records it
ok 344 - land: the squash runs the gate in its own worktree, then main moves and the broker records it
---
duration_ms: 717.156276
type: 'test'
...
# Subtest: land: an arbiter-resolved landing's squash says the arbiter resolved it through the broker
ok 345 - land: an arbiter-resolved landing's squash says the arbiter resolved it through the broker
---
duration_ms: 680.425759
type: 'test'
...
# Subtest: land: refusals before the gate answer the role at once and leave main and no worktree
ok 346 - land: refusals before the gate answer the role at once and leave main and no worktree
---
duration_ms: 720.500967
type: 'test'
...
# Subtest: land: a failed gate is refused gate-failed with its step, told to the role, and main stays
ok 347 - land: a failed gate is refused gate-failed with its step, told to the role, and main stays
---
duration_ms: 658.586317
type: 'test'
...
# Subtest: land: a record the broker refuses moves main back, and the landing is refused with the broker's code
ok 348 - land: a record the broker refuses moves main back, and the landing is refused with the broker's code
---
duration_ms: 646.972002
type: 'test'
...
# Subtest: land: a second landing while one runs refuses land-busy, and close() stops the gate and refuses host-closing
ok 349 - land: a second landing while one runs refuses land-busy, and close() stops the gate and refuses host-closing
---
duration_ms: 687.986745
type: 'test'
...
# Subtest: row 298 CLI: scope reads and scope set sends JSON and the observed revision
ok 350 - row 298 CLI: scope reads and scope set sends JSON and the observed revision
---
duration_ms: 4.240428
type: 'test'
...
# Subtest: row 298 CLI: every access agent marker refuses scope set before transport
ok 351 - row 298 CLI: every access agent marker refuses scope set before transport
---
duration_ms: 2.326217
type: 'test'
...
# Subtest: row 298 CLI: --tester cannot read or change the scope
ok 352 - row 298 CLI: --tester cannot read or change the scope
---
duration_ms: 0.562271
type: 'test'
...
# Subtest: row 298 CLI: missing revision and empty, invalid or oversized JSON refuse without a call
ok 353 - row 298 CLI: missing revision and empty, invalid or oversized JSON refuse without a call
---
duration_ms: 2.313226
type: 'test'
...
# Subtest: row 236: grants status prints one line per entry, and --json the answer
ok 354 - row 236: grants status prints one line per entry, and --json the answer
---
duration_ms: 2.722549
type: 'test'
...
# Subtest: row 236: run, revoke, sweep and admin rotate and remove send their args
ok 355 - row 236: run, revoke, sweep and admin rotate and remove send their args
---
duration_ms: 0.639262
type: 'test'
...
# Subtest: row 236: admin set sends the stdin token once to grants.admin.set and prints no value
ok 356 - row 236: admin set sends the stdin token once to grants.admin.set and prints no value
---
duration_ms: 3.624327
type: 'test'
...
# Subtest: row 236: a malformed grants command is a usage error and calls nothing
ok 357 - row 236: a malformed grants command is a usage error and calls nothing
---
duration_ms: 4.577983
type: 'test'
...
# Subtest: row 236: a bus refusal exits 2 with its code
ok 358 - row 236: a bus refusal exits 2 with its code
---
duration_ms: 0.357313
type: 'test'
...
# Subtest: row 236: scripts/mosaic sends grants to packages/cli, not the seat CLI
ok 359 - row 236: scripts/mosaic sends grants to packages/cli, not the seat CLI
---
duration_ms: 84.542019
type: 'test'
...
# Subtest: the host boots the broker, binds a launch in process, and the notifier DMs a blocking decision exactly once
ok 360 - the host boots the broker, binds a launch in process, and the notifier DMs a blocking decision exactly once
---
duration_ms: 953.90299
type: 'test'
...
# Subtest: a notifier that dies takes the host down with exit 1, so the unit restarts the pair
ok 361 - a notifier that dies takes the host down with exit 1, so the unit restarts the pair
---
duration_ms: 291.913456
type: 'test'
...
# Subtest: a second host for the same data root refuses with exit 3 while the first runs
ok 362 - a second host for the same data root refuses with exit 3 while the first runs
---
duration_ms: 181.713077
type: 'test'
...
# Subtest: two bus starts racing for one data root leave one host running; the other refuses that a host already runs
ok 363 - two bus starts racing for one data root leave one host running; the other refuses that a host already runs
---
duration_ms: 584.933625
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 364 - a host takes over a host.lock its dead host left, and puts back a live claim that replaced it meanwhile
---
duration_ms: 5.077034
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 365 - 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: 0.719286
type: 'test'
...
# Subtest: a live host's lock stays, however old the file is
ok 366 - a live host's lock stays, however old the file is
---
duration_ms: 0.491149
type: 'test'
...
# Subtest: a host.lock left by a host killed with SIGKILL doesn't stop the next bus start
ok 367 - a host.lock left by a host killed with SIGKILL doesn't stop the next bus start
---
duration_ms: 920.213411
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 368 - while a host boots, a reader sees no host: the human commands still ask for --business, stop and status find none
---
duration_ms: 220.839002
type: 'test'
...
# Subtest: a host started before host.lock existed, holding only host.json, still refuses a second start, which leaves no lock
ok 369 - a host started before host.lock existed, holding only host.json, still refuses a second start, which leaves no lock
---
duration_ms: 29.364838
type: 'test'
...
# Subtest: a broker fork that throws leaves no host.lock and no host.json
ok 370 - a broker fork that throws leaves no host.lock and no host.json
---
duration_ms: 31.280524
type: 'test'
...
# Subtest: a broker send that throws leaves no host.lock and no host.json
ok 371 - a broker send that throws leaves no host.lock and no host.json
---
duration_ms: 33.225289
type: 'test'
...
# Subtest: a broker that misses its boot wait leaves no host.lock and no host.json
ok 372 - a broker that misses its boot wait leaves no host.lock and no host.json
---
duration_ms: 34.223927
type: 'test'
...
# Subtest: a notifier fork that throws stops the broker and leaves no host.lock and no host.json
ok 373 - a notifier fork that throws stops the broker and leaves no host.lock and no host.json
---
duration_ms: 174.67689
type: 'test'
...
# Subtest: a notifier send that throws stops the broker and leaves no host.lock and no host.json
ok 374 - a notifier send that throws stops the broker and leaves no host.lock and no host.json
---
duration_ms: 173.071984
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 375 - 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: 171.247158
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 376 - 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: 172.259001
type: 'test'
...
# Subtest: a host.json that can't be written stops both children and leaves no host.lock
ok 377 - a host.json that can't be written stops both children and leaves no host.lock
---
duration_ms: 282.836868
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 378 - 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: 30.773884
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 379 - 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: 170.566589
type: 'test'
...
# Subtest: an error event on the broker while the notifier starts fails the start once the notifier replies
ok 380 - an error event on the broker while the notifier starts fails the start once the notifier replies
---
duration_ms: 283.694877
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 381 - 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: 285.38364
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 382 - 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: 276.927346
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 383 - a broker reply that misses the wait breaks the channel: the late reply answers nothing, later requests refuse, the host exits 1
---
duration_ms: 1176.493619
type: 'test'
...
# Subtest: a broker reply with another request's id, or none, breaks the channel and the host exits 1
ok 384 - a broker reply with another request's id, or none, breaks the channel and the host exits 1
---
duration_ms: 345.460801
type: 'test'
...
# Subtest: a broker reply with no request waiting breaks the channel and the host exits 1
ok 385 - a broker reply with no request waiting breaks the channel and the host exits 1
---
duration_ms: 174.607397
type: 'test'
...
# Subtest: a notifier that refuses stops the broker and the host refuses with exit 3
ok 386 - a notifier that refuses stops the broker and the host refuses with exit 3
---
duration_ms: 223.236482
type: 'test'
...
# Subtest: a notifier that refuses after the broker died still refuses with exit 3, without a send to the dead broker
ok 387 - a notifier that refuses after the broker died still refuses with exit 3, without a send to the dead broker
---
duration_ms: 221.596166
type: 'test'
...
# Subtest: a notifier that dies before it replies, after the broker died, still refuses, without a send to the dead broker
ok 388 - a notifier that dies before it replies, after the broker died, still refuses, without a send to the dead broker
---
duration_ms: 169.276105
type: 'test'
...
# Subtest: a close send that fails with EPIPE after the notifier refuses still gives the notifier's refusal, exit 3
ok 389 - a close send that fails with EPIPE after the notifier refuses still gives the notifier's refusal, exit 3
---
duration_ms: 224.3004
type: 'test'
...
# Subtest: a close send that fails with EPIPE after the notifier dies unanswered still gives the notifier's error
ok 390 - a close send that fails with EPIPE after the notifier dies unanswered still gives the notifier's error
---
duration_ms: 168.75694
type: 'test'
...
# Subtest: close() whose stop and close sends fail with EPIPE still finishes, with exit 1
ok 391 - close() whose stop and close sends fail with EPIPE still finishes, with exit 1
---
duration_ms: 242.633012
type: 'test'
...
# Subtest: watchChildren reports a child that died before it was called, and one that dies later
ok 392 - watchChildren reports a child that died before it was called, and one that dies later
---
duration_ms: 22.8561
type: 'test'
...
# Subtest: bus stop refuses to signal a live pid that is not a bus host
ok 393 - bus stop refuses to signal a live pid that is not a bus host
---
duration_ms: 202.633856
type: 'test'
...
# Subtest: bus start refuses with exit 3 and the code when the broker refuses to boot; bus status names the lock
ok 394 - bus start refuses with exit 3 and the code when the broker refuses to boot; bus status names the lock
---
duration_ms: 333.484353
type: 'test'
...
# Subtest: bus start refuses with exit 3 without a notifier config
ok 395 - bus start refuses with exit 3 without a notifier config
---
duration_ms: 116.985903
type: 'test'
...
# Subtest: bus start runs until bus stop; status reports it while it runs
ok 396 - bus start runs until bus stop; status reports it while it runs
---
duration_ms: 840.828641
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 397 - 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: 707.852705
type: 'test'
...
# Subtest: bus-service.sh renders the unit and installs it into a given directory
ok 398 - bus-service.sh renders the unit and installs it into a given directory
---
duration_ms: 315.974911
type: 'test'
...
# Subtest: bus-service.sh pins the claude binary, refuses one the unit can't carry, and renders without one
ok 399 - bus-service.sh pins the claude binary, refuses one the unit can't carry, and renders without one
---
duration_ms: 418.234821
type: 'test'
...
# Subtest: bus-service.sh refuses a directory pin and keeps a symlink default unresolved
ok 400 - bus-service.sh refuses a directory pin and keeps a symlink default unresolved
---
duration_ms: 96.677022
type: 'test'
...
# Subtest: bus-service.sh refuses a default claude without the execute bit, or in a PATH dir with a space
ok 401 - bus-service.sh refuses a default claude without the execute bit, or in a PATH dir with a space
---
duration_ms: 57.933615
type: 'test'
...
# Subtest: bus start --pm while halted keeps the control host up without launching the chief
ok 402 - bus start --pm while halted keeps the control host up without launching the chief
---
duration_ms: 426.401405
type: 'test'
...
# Subtest: row 234: hosts status prints one line per host, and --json the rows
ok 403 - row 234: hosts status prints one line per host, and --json the rows
---
duration_ms: 2.00812
type: 'test'
...
# Subtest: row 234: hosts check and remove send the host id, as the human or the tester
ok 404 - row 234: hosts check and remove send the host id, as the human or the tester
---
duration_ms: 0.394015
type: 'test'
...
# Subtest: row 234: a malformed hosts command is a usage error and calls nothing
ok 405 - row 234: a malformed hosts command is a usage error and calls nothing
---
duration_ms: 1.718973
type: 'test'
...
# Subtest: row 234: a bus refusal exits 2 with its code
ok 406 - row 234: a bus refusal exits 2 with its code
---
duration_ms: 0.362639
type: 'test'
...
# Subtest: row 234: scripts/mosaic sends hosts to packages/cli, not the seat CLI
ok 407 - row 234: scripts/mosaic sends hosts to packages/cli, not the seat CLI
---
duration_ms: 84.049876
type: 'test'
...
# Subtest: row 235: hosts revoke sends agent, host and reason, and sweep the host, as the human or the tester
ok 408 - row 235: hosts revoke sends agent, host and reason, and sweep the host, as the human or the tester
---
duration_ms: 0.432433
type: 'test'
...
# Subtest: row 235 (N10): revoke without --reason, --reason on another verb, and inherited names are usage errors
ok 409 - row 235 (N10): revoke without --reason, --reason on another verb, and inherited names are usage errors
---
duration_ms: 2.406256
type: 'test'
...
# Subtest: row 235: a status line shows the tags of a revoke in progress
ok 410 - row 235: a status line shows the tags of a revoke in progress
---
duration_ms: 0.333822
type: 'test'
...
# usage: {"event":"usage-unknown","business":"acme","run":"r7e60aab334b2","instance":"assistant","turn":"e6e3fe44-86b3-4d8d-8d7f-29b491a46c37","source":"@none","code":"baseline-unknown"}
# usage: {"event":"usage-unknown","business":"acme","run":"r90f1bfcd8c8f","instance":"assistant","turn":"076a2a0b-a5d9-4da7-8171-4e4da93539ac","source":"@none","code":"baseline-unknown"}
# Subtest: row 302 REQ-THREAD-2 an idle-released run whose call lands before the SIGTERM ends stopped/0; a run whose claim the human revoked in the same window still ends session-invalid/22
ok 411 - row 302 REQ-THREAD-2 an idle-released run whose call lands before the SIGTERM ends stopped/0; a run whose claim the human revoked in the same window still ends session-invalid/22
---
duration_ms: 1600.9371
type: 'test'
...
# 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 412 - 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: 170.766738
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 413 - 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: 82.008441
type: 'test'
...
# Subtest: row 165 CLI: instance set passes the vars file and --no-launch, and a vars-only change needs no restart
ok 414 - row 165 CLI: instance set passes the vars file and --no-launch, and a vars-only change needs no restart
---
duration_ms: 137.858222
type: 'test'
...
# Subtest: row 165 CLI: a refusal names its code and why, exits 2 and keeps the bytes
ok 415 - row 165 CLI: a refusal names its code and why, exits 2 and keeps the bytes
---
duration_ms: 72.400377
type: 'test'
...
# Subtest: row 165 CLI: usage errors exit 4 before any bus call, and an agent session is refused
ok 416 - row 165 CLI: usage errors exit 4 before any bus call, and an agent session is refused
---
duration_ms: 62.407986
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 417 - row 165: scripts/mosaic sends business instances, instance and (row 194) veto to packages/cli, and validate still to packages/business
---
duration_ms: 199.057364
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 418 - 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: 110.676075
type: 'test'
...
# Subtest: row 194 CLI: the read lists each instance's running run from the bus claims
ok 419 - row 194 CLI: the read lists each instance's running run from the bus claims
---
duration_ms: 66.469984
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 420 - 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: 75.166926
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 421 - 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: 1120.276633
type: 'test'
...
# Subtest: row 194 CLI: a request cancelled by a terminate exits 3 request-cancelled
ok 422 - row 194 CLI: a request cancelled by a terminate exits 3 request-cancelled
---
duration_ms: 62.853108
type: 'test'
...
# Subtest: row 194 CLI V3: terminate prints the runs, the cancelled and the taken requests, and nothing held refuses not-held
ok 423 - row 194 CLI V3: terminate prints the runs, the cancelled and the taken requests, and nothing held refuses not-held
---
duration_ms: 66.432639
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 424 - row 194 CLI V5: delete polls to the transaction and the read lists the name retired; workspace-rename-failed names the transaction
---
duration_ms: 111.366203
type: 'test'
...
# Subtest: row 239 T5 CLI: a delete closed -revoked says the tokens may already be revoked; a plain revision-conflict doesn't
ok 425 - row 239 T5 CLI: a delete closed -revoked says the tokens may already be revoked; a plain revision-conflict doesn't
---
duration_ms: 87.007429
type: 'test'
...
# Subtest: row 194 CLI: lifecycle and veto usage errors exit 4 before any bus call
ok 426 - row 194 CLI: lifecycle and veto usage errors exit 4 before any bus call
---
duration_ms: 61.463234
type: 'test'
...
# Subtest: REQ-LIMIT-2 a claude-code launch asks mayLaunch with launch.account.name
ok 427 - REQ-LIMIT-2 a claude-code launch asks mayLaunch with launch.account.name
---
duration_ms: 17.414125
type: 'test'
...
# Subtest: REQ-LIMIT-2 each login set the account can name is accepted when the bus host holds exactly it
ok 428 - REQ-LIMIT-2 each login set the account can name is accepted when the bus host holds exactly it
---
duration_ms: 25.399104
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 429 - REQ-LIMIT-2 account-credential-missing: the named set is not a login set, or the bus host lacks part of it
---
duration_ms: 25.547594
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 430 - REQ-LIMIT-2 account-credential-ambiguous: the bus host sets a credential variable outside the named set, ANTHROPIC_BASE_URL included
---
duration_ms: 18.176396
type: 'test'
...
# Subtest: REQ-LIMIT-2 account-is-credential: launch.account.name is the value of a credential variable the bus host sets
ok 431 - REQ-LIMIT-2 account-is-credential: launch.account.name is the value of a credential variable the bus host sets
---
duration_ms: 11.662859
type: 'test'
...
# Subtest: REQ-LIMIT-2 a pi launch carries account null and skips both account checks
ok 432 - REQ-LIMIT-2 a pi launch carries account null and skips both account checks
---
duration_ms: 13.316043
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 433 - REQ-LIMIT-2 with no launch.account a claude-code launch carries null and the environment is not checked for ambiguity
---
duration_ms: 7.37655
type: 'test'
...
# 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 434 - 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: 16.651446
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 435 - 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: 8.267115
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 436 - 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: 62.745482
type: 'test'
...
# Subtest: REQ-LIMIT-4 the launcher reaches token-limit only through the bus: launcher.mjs imports no limit check
ok 437 - REQ-LIMIT-4 the launcher reaches token-limit only through the bus: launcher.mjs imports no limit check
---
duration_ms: 0.57689
type: 'test'
...
# Subtest: a launcher before trusted control initialization refuses processing-uninitialized
ok 438 - a launcher before trusted control initialization refuses processing-uninitialized
---
duration_ms: 2.894929
type: 'test'
...
# Subtest: each launch rereads limits and model selections; lowered limits keep sessions and log exact hit
ok 439 - each launch rereads limits and model selections; lowered limits keep sessions and log exact hit
---
duration_ms: 27.596048
type: 'test'
...
# Subtest: row 65 a passing primary is the route: its provider and model reach mayLaunch, and a stated fallback is never used
ok 440 - row 65 a passing primary is the route: its provider and model reach mayLaunch, and a stated fallback is never used
---
duration_ms: 18.780036
type: 'test'
...
# Subtest: row 65 a failed primary preflight takes the stated fallback, and the limit checks see the fallback route
ok 441 - row 65 a failed primary preflight takes the stated fallback, and the limit checks see the fallback route
---
duration_ms: 10.719215
type: 'test'
...
# Subtest: row 65 a failed primary with no fallback refuses with the preflight code and never asks mayLaunch
ok 442 - row 65 a failed primary with no fallback refuses with the preflight code and never asks mayLaunch
---
duration_ms: 8.594369
type: 'test'
...
# Subtest: row 65 a fallback whose own preflight fails refuses with its code and names both reasons
ok 443 - row 65 a fallback whose own preflight fails refuses with its code and names both reasons
---
duration_ms: 8.436913
type: 'test'
...
# Subtest: row 65 the fallback route spends launch.account when its module counts the account
ok 444 - row 65 the fallback route spends launch.account when its module counts the account
---
duration_ms: 10.205287
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 445 - row 65 a missing harness, model or thinking var refuses no-route naming it, and the system execution keys never fill it
---
duration_ms: 19.027666
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 446 - row 65 a harness that is not switched on refuses harness-off, primary or fallback, and an off primary never falls back
---
duration_ms: 24.883267
type: 'test'
...
# Subtest: row 65 the loader refusing a module refuses harness-refused and names it; a module that throws refuses harness-failed
ok 447 - row 65 the loader refusing a module refuses harness-refused and names it; a module that throws refuses harness-failed
---
duration_ms: 21.160448
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 448 - row 65 a thinking level the route harness does not apply refuses thinking-unsupported, on the primary or a fallback taken
---
duration_ms: 27.637801
type: 'test'
...
# Subtest: C2-04: launcher workspace clones code but never the library
ok 449 - C2-04: launcher workspace clones code but never the library
---
duration_ms: 1380.686217
type: 'test'
...
# Subtest: bus start --pm: the launcher instance (the chief of staff) runs under its own PID namespace, registered, with a manifest
ok 450 - bus start --pm: the launcher instance (the chief of staff) runs under its own PID namespace, registered, with a manifest
---
duration_ms: 1323.052036
type: 'test'
...
# usage: {"event":"usage-unknown","business":"acme","run":"rb6b4a4c0c798","instance":"chief","turn":"5547e285-a6cd-4f35-a327-bef8e73a8c5f","source":"@none","code":"baseline-unknown"}
# usage: {"event":"usage-unknown","business":"acme","run":"rf25d7167bdce","instance":"coder","turn":"ae4398ed-e3ae-42e2-9d0c-93b5e8978d9e","source":"@none","code":"baseline-unknown"}
# usage: {"event":"usage-unknown","business":"acme","run":"rb6b4a4c0c798","instance":"chief","turn":"40f60f3e-209b-484e-922b-fc41eae85269","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 451 - the chief of staff launches a coder through its launch tool; the coder answers; refusals name their code
---
duration_ms: 645.221566
type: 'test'
...
# usage: {"event":"usage-unknown","business":"acme","run":"ra55ab55d4c18","instance":"chief","turn":"05dc5392-f9a3-4f98-8f97-2f569e0c22b8","source":"@none","code":"baseline-unknown"}
# usage: {"event":"usage-unknown","business":"acme","run":"r337c22cd586e","instance":"pm","turn":"60b3ffc2-ec3f-44fb-9c03-f447dc73df93","source":"@none","code":"baseline-unknown"}
# usage: {"event":"usage-unknown","business":"acme","run":"ra55ab55d4c18","instance":"chief","turn":"cf3c2253-f1b9-4ae4-9913-c18ea83ce8c9","source":"@none","code":"baseline-unknown"}
# usage: {"event":"usage-unknown","business":"acme","run":"r337c22cd586e","instance":"pm","turn":"41459181-e843-4e46-92ce-c02e8a49b041","source":"@none","code":"baseline-unknown"}
# usage: {"event":"usage-unknown","business":"acme","run":"r337c22cd586e","instance":"pm","turn":"508098a5-c293-4b3a-8d9e-21b7cbf73fe3","source":"@none","code":"baseline-unknown"}
# usage: {"event":"usage-unknown","business":"acme","run":"ra55ab55d4c18","instance":"chief","turn":"751cb661-9a3a-49ac-930d-3f3b7372c482","source":"@none","code":"baseline-unknown"}
# usage: {"event":"usage-unknown","business":"acme","run":"r337c22cd586e","instance":"pm","turn":"7b5eec28-0961-42eb-bfdb-51dc5b8542e9","source":"@none","code":"baseline-unknown"}
# usage: {"event":"usage-unknown","business":"acme","run":"ra55ab55d4c18","instance":"chief","turn":"13bb2ecd-7dcf-407a-9413-4dee20c94df1","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 452 - 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: 1352.991961
type: 'test'
...
# Subtest: each launch makes sure the workspace has a clone of the project: cloned, fast-forwarded, or fetched and logged
ok 453 - each launch makes sure the workspace has a clone of the project: cloned, fast-forwarded, or fetched and logged
---
duration_ms: 4074.692007
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 454 - 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: 719.376246
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 455 - 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: 403.640394
type: 'test'
...
# usage: {"event":"usage-unknown","business":"acme","run":"r4e12a6d9be78","instance":"coder","turn":"bb7ee304-5be4-4ab3-885b-dec6f9108a20","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 456 - 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: 687.610104
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 457 - 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: 639.885427
type: 'test'
...
# Subtest: after a restart, the new host's first tick starts a holder whose decision is still held
ok 458 - after a restart, the new host's first tick starts a holder whose decision is still held
---
duration_ms: 867.838228
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 459 - 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: 637.100406
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 460 - 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: 260.313029
type: 'test'
...
# Subtest: a runner that stops at once ends its launch with the runner's reason
ok 461 - a runner that stops at once ends its launch with the runner's reason
---
duration_ms: 341.349396
type: 'test'
...
# Subtest: a Claude Code launch with no session credential refuses before it starts
ok 462 - a Claude Code launch with no session credential refuses before it starts
---
duration_ms: 187.669387
type: 'test'
...
# Subtest: a pi launch needs no session credential: pi logs in through its own ENV_ALLOW variables
ok 463 - a pi launch needs no session credential: pi logs in through its own ENV_ALLOW variables
---
duration_ms: 321.602799
type: 'test'
...
# usage: {"event":"plugin-refused","kind":"harness","name":"down","code":"missing","message":"/home/jwoltje/.t3/worktrees/mosaic-stack/goldie-row323/packages/plugins/harness/down is missing","kept":[]}
# plugins: {"event":"plugin-refused","kind":"harness","name":"down","code":"missing","message":"/home/jwoltje/.t3/worktrees/mosaic-stack/goldie-row323/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 464 - row 65 a failed primary preflight launches the fallback on a fixture harness module, recording the route and the reason
---
duration_ms: 364.393966
type: 'test'
...
# Subtest: a runner killed from the host ends its launch as killed, not failed
ok 465 - a runner killed from the host ends its launch as killed, not failed
---
duration_ms: 393.155185
type: 'test'
...
# Subtest: a missing or failing bwrap refuses sandbox-unavailable before anything starts; there is no unconfined fallback
ok 466 - a missing or failing bwrap refuses sandbox-unavailable before anything starts; there is no unconfined fallback
---
duration_ms: 208.569891
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 467 - 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: 201.627047
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 468 - 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: 287.947317
type: 'test'
...
# Subtest: row 64 on Claude Code a role skill that isn't enabled refuses the same way, before anything starts
ok 469 - row 64 on Claude Code a role skill that isn't enabled refuses the same way, before anything starts
---
duration_ms: 203.838809
type: 'test'
...
# usage: {"event":"usage-unknown","business":"acme","run":"r7bbce2d683ec","instance":"chief","turn":"125f63d8-94dc-407c-b7b2-fac492f82f5e","source":"@none","code":"baseline-unknown"}
# usage: {"event":"usage-unknown","business":"acme","run":"r7bbce2d683ec","instance":"chief","turn":"96d9b94e-24b4-4e94-b957-8cb9c124d225","source":"@none","code":"baseline-unknown"}
# usage: {"event":"usage-unknown","business":"acme","run":"r38ec939a257b","instance":"coder","turn":"0233d71b-2c48-4642-8ab5-494a0ec2713b","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 470 - a real Claude Code coder's shell can't read a stand-in secret or anything else its sandbox doesn't hold
---
duration_ms: 1727.34778
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 471 - 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: 1059.697566
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 472 - 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: 3987.231535
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 473 - bus start --no-launch leaves an earlier host's live session alone: no signal, no end, sessions.json as it was
---
duration_ms: 239.054543
type: 'test'
...
# Subtest: bus start --no-launch refuses every launch: the PM launch and a session's request, each logged, nothing spawned
ok 474 - bus start --no-launch refuses every launch: the PM launch and a session's request, each logged, nothing spawned
---
duration_ms: 195.553373
type: 'test'
...
# Subtest: bus start --no-launch starts no thread tick; the same host with launches runs it
ok 475 - bus start --no-launch starts no thread tick; the same host with launches runs it
---
duration_ms: 1174.805564
type: 'test'
...
# Subtest: a malformed sessions.json refuses the host start with exit 3 and stays as it was
ok 476 - a malformed sessions.json refuses the host start with exit 3 and stays as it was
---
duration_ms: 184.258716
type: 'test'
...
# Subtest: an over-long launch request is refused at once, not at the 10 s idle timeout
ok 477 - an over-long launch request is refused at once, not at the 10 s idle timeout
---
duration_ms: 179.332556
type: 'test'
...
# Subtest: a launch client that never closes its side doesn't hold the host's close
ok 478 - a launch client that never closes its side doesn't hold the host's close
---
duration_ms: 189.428312
type: 'test'
...
# Subtest: a runner that ignores SIGTERM is killed when the host closes
ok 479 - a runner that ignores SIGTERM is killed when the host closes
---
duration_ms: 1357.968352
type: 'test'
...
# Subtest: kill switch refuses chief and hire before launch work and a clear permits a later request
ok 480 - kill switch refuses chief and hire before launch work and a clear permits a later request
---
duration_ms: 325.260637
type: 'test'
...
# Subtest: kill switch stops an actual managed namespace and records the halt reason without rewriting its bundle
ok 481 - kill switch stops an actual managed namespace and records the halt reason without rewriting its bundle
---
duration_ms: 326.887826
type: 'test'
...
# Subtest: a launch waiting across halt and resume cannot use its stale admission
ok 482 - a launch waiting across halt and resume cannot use its stale admission
---
duration_ms: 199.060935
type: 'test'
...
# 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 483 - 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: 397.396203
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 484 - row 194 T2: a request past its 60 s never launches, and a refused check closes the request with its code
---
duration_ms: 79.465304
type: 'test'
...
# Subtest: row 194 T3: a --no-launch host closes each request launches-disabled and starts nothing
ok 485 - row 194 T3: a --no-launch host closes each request launches-disabled and starts nothing
---
duration_ms: 79.752964
type: 'test'
...
# Subtest: row 194 T3: a limit refusal closes the request with its code and the limit in the launch log
ok 486 - row 194 T3: a limit refusal closes the request with its code and the limit in the launch log
---
duration_ms: 212.14728
type: 'test'
...
# Subtest: row 194 T4: terminate revokes and cancels at the verb, then the pass signals the run, which ends once
ok 487 - row 194 T4: terminate revokes and cancels at the verb, then the pass signals the run, which ends once
---
duration_ms: 276.504154
type: 'test'
...
# Subtest: row 194 T5: regenerate ends the run in the registry and starts a new run on the same workspace
ok 488 - row 194 T5: regenerate ends the run in the registry and starts a new run on the same workspace
---
duration_ms: 471.471991
type: 'test'
...
# Subtest: row 194 T5: a run that outlasts the request's mark closes the regenerate regenerate-timeout and starts nothing
ok 489 - row 194 T5: a run that outlasts the request's mark closes the regenerate regenerate-timeout and starts nothing
---
duration_ms: 2755.919048
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 490 - 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: 94.437498
type: 'test'
...
# Subtest: row 194 V5: a delete with no workspace commits and closes with the transaction
ok 491 - row 194 V5: a delete with no workspace commits and closes with the transaction
---
duration_ms: 83.027509
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 492 - row 281 T10: the delete pass closes a granted instance's first request grants-revoking and the host channel stays up
---
duration_ms: 97.240766
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 493 - 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: 565.075033
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 494 - 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: 98.562266
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 495 - 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: 206.477552
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 496 - 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: 386.073353
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 497 - 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: 1066.418662
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 498 - row 194 T9a: fire of a registry run with no runtime record reads lifecycle.end.alive with reason unknown, never killed
---
duration_ms: 526.987178
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 499 - 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: 211.715248
type: 'test'
...
# Subtest: row 194 T9a: V3 terminate of a SIGTERM-ignoring runner sends no SIGKILL
ok 500 - row 194 T9a: V3 terminate of a SIGTERM-ignoring runner sends no SIGKILL
---
duration_ms: 981.340976
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 501 - 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: 1679.897652
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 502 - 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: 274.852975
type: 'test'
...
# Subtest: row 194 N6: a run spawned after a terminate's verb survives its pass, and the next terminate ends it
ok 503 - row 194 N6: a run spawned after a terminate's verb survives its pass, and the next terminate ends it
---
duration_ms: 513.941893
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 504 - row 194 T6: a delete leaves the run evidence bytes unchanged, and the retired name refuses a create and a launch
---
duration_ms: 289.409442
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 505 - 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: 360.96202
type: 'test'
...
# usage: {"event":"usage-unknown","business":"acme","run":"rc3568f19fe0d","instance":"chief","turn":"60d5a8b3-bec8-4f1e-a3ff-c66fb85f0341","source":"@none","code":"baseline-unknown"}
# usage: {"event":"usage-unknown","business":"acme","run":"rc3568f19fe0d","instance":"chief","turn":"2b8576a7-c538-4145-9322-1fa6ce8c7568","source":"@none","code":"baseline-unknown"}
# usage: {"event":"usage-unknown","business":"acme","run":"rc3568f19fe0d","instance":"chief","turn":"4c865889-525d-4e19-a59c-07ccd4203829","source":"@none","code":"baseline-unknown"}
# usage: {"event":"usage-unknown","business":"acme","run":"rc3568f19fe0d","instance":"chief","turn":"b09e18af-ab3b-48fa-8fae-33b8943760ab","source":"@none","code":"baseline-unknown"}
# usage: {"event":"usage-unknown","business":"acme","run":"rc3568f19fe0d","instance":"chief","turn":"027d4ac5-1076-4420-9419-d1bba428ea2c","source":"@none","code":"baseline-unknown"}
# usage: {"event":"usage-unknown","business":"acme","run":"rc3568f19fe0d","instance":"chief","turn":"318a579d-b092-4f2b-a6ef-9ffaa6d5c31d","source":"@none","code":"baseline-unknown"}
# usage: {"event":"usage-unknown","business":"acme","run":"rc3568f19fe0d","instance":"chief","turn":"8e7d4de0-a270-4bcf-b9e8-3ff7b1c1dab0","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 506 - 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: 1357.962888
type: 'test'
...
# Subtest: REQ-LIMIT-3 REQ-LIMIT-4 formatTokens shows each limit counted, not enforced, or check failed, in reset path words
ok 507 - REQ-LIMIT-3 REQ-LIMIT-4 formatTokens shows each limit counted, not enforced, or check failed, in reset path words
---
duration_ms: 0.666232
type: 'test'
...
# Subtest: REQ-LIMIT-2 row 126: any daily quota row adds one line after the list saying the count is this stack's own use
ok 508 - REQ-LIMIT-2 row 126: any daily quota row adds one line after the list saying the count is this stack's own use
---
duration_ms: 0.200164
type: 'test'
...
# Subtest: REQ-LIMIT-3 the view prints the limits then the token lines; --json keeps tokens in the result
ok 509 - REQ-LIMIT-3 the view prints the limits then the token lines; --json keeps tokens in the result
---
duration_ms: 2.172714
type: 'test'
...
# Subtest: REQ-LIMIT-3 reset reads the revision, then sends limits.set with one path per limit, a word per level
ok 510 - REQ-LIMIT-3 reset reads the revision, then sends limits.set with one path per limit, a word per level
---
duration_ms: 0.54907
type: 'test'
...
# Subtest: REQ-LIMIT-3 reset with no path, or with --file, is refused before the bus
ok 511 - REQ-LIMIT-3 reset with no path, or with --file, is refused before the bus
---
duration_ms: 1.074653
type: 'test'
...
# Subtest: migration needs no bus/config, prints whole converted document, is idempotent and never writes
ok 512 - migration needs no bus/config, prints whole converted document, is idempotent and never writes
---
duration_ms: 19.190554
type: 'test'
...
# Subtest: limits view/set use the human bus transport and pass only the explicit patch
ok 513 - limits view/set use the human bus transport and pass only the explicit patch
---
duration_ms: 0.958281
type: 'test'
...
# Subtest: limits set passes an assistants patch through unchanged, and the usage names the key
ok 514 - limits set passes an assistants patch through unchanged, and the usage names the key
---
duration_ms: 1.090983
type: 'test'
...
# Subtest: post-119 example and Jason fixture migrate with checked inherited models; wrong or absent config refuses
ok 515 - post-119 example and Jason fixture migrate with checked inherited models; wrong or absent config refuses
---
duration_ms: 162.528179
type: 'test'
...
# Subtest: plugins view/set use the human bus transport and pass only the explicit patch (vikunja:19/305)
ok 516 - plugins view/set use the human bus transport and pass only the explicit patch (vikunja:19/305)
---
duration_ms: 1.797916
type: 'test'
...
# Subtest: inbox --read marks one message by the id inbox prints, delivered or not, and leaves the rest unread
ok 517 - inbox --read marks one message by the id inbox prints, delivered or not, and leaves the rest unread
---
duration_ms: 44.287577
type: 'test'
...
# Subtest: inbox --read refuses an id that is not the human's, prints its code, still marks the rest and exits 2
ok 518 - inbox --read refuses an id that is not the human's, prints its code, still marks the rest and exits 2
---
duration_ms: 21.175411
type: 'test'
...
# Subtest: inbox --read refuses an ambiguous or short prefix, names every match, reads nothing for them and marks the rest
ok 519 - inbox --read refuses an ambiguous or short prefix, names every match, reads nothing for them and marks the rest
---
duration_ms: 0.673219
type: 'test'
...
# Subtest: inbox --read-all marks every message the inbox walk lists, delivered or not, and inbox then shows 0 unread
ok 520 - inbox --read-all marks every message the inbox walk lists, delivered or not, and inbox then shows 0 unread
---
duration_ms: 670.406301
type: 'test'
...
# Subtest: inbox --read stops on an error that is not about one message
ok 521 - inbox --read stops on an error that is not about one message
---
duration_ms: 0.608182
type: 'test'
...
# Subtest: inbox --read and --read-all refuse bad combinations; other verbs refuse them
ok 522 - inbox --read and --read-all refuse bad combinations; other verbs refuse them
---
duration_ms: 12.287668
type: 'test'
...
# Subtest: the human names an instance, lists it, and talk's message.send reaches it by that name
ok 523 - the human names an instance, lists it, and talk's message.send reaches it by that name
---
duration_ms: 32.482816
type: 'test'
...
# Subtest: name and names refuse the wrong number of arguments with the usage
ok 524 - name and names refuse the wrong number of arguments with the usage
---
duration_ms: 12.311286
type: 'test'
...
# Subtest: zoned uses the IANA zone across DST
ok 525 - zoned uses the IANA zone across DST
---
duration_ms: 11.451929
type: 'test'
...
# Subtest: each open blocking decision is DM'd once, across polls and a restart; non-blocking ones are not
ok 526 - each open blocking decision is DM'd once, across polls and a restart; non-blocking ones are not
---
duration_ms: 32.156304
type: 'test'
...
# Subtest: two blocking decisions get two DMs with different nonces
ok 527 - two blocking decisions get two DMs with different nonces
---
duration_ms: 14.723738
type: 'test'
...
# Subtest: the digest nonce differs per business and per day and fits Discord's 25 characters
ok 528 - the digest nonce differs per business and per day and fits Discord's 25 characters
---
duration_ms: 0.168251
type: 'test'
...
# Subtest: a failed DM is journaled, backs off, and is retried until it lands
ok 529 - a failed DM is journaled, backs off, and is retried until it lands
---
duration_ms: 15.854021
type: 'test'
...
# Subtest: five definite refusals stop a DM: one gave-up line, one log line, and a restart keeps the count
ok 530 - five definite refusals stop a DM: one gave-up line, one log line, and a restart keeps the count
---
duration_ms: 18.337831
type: 'test'
...
# Subtest: 429s, 5xx-style unknowns and refusals without a status never count toward the limit
ok 531 - 429s, 5xx-style unknowns and refusals without a status never count toward the limit
---
duration_ms: 21.40198
type: 'test'
...
# Subtest: a crash between the fifth refusal and its gave-up line: the next poll appends it and sends nothing
ok 532 - a crash between the fifth refusal and its gave-up line: the next poll appends it and sends nothing
---
duration_ms: 15.446015
type: 'test'
...
# Subtest: polled every POLL_MS against a permanent 403, a DM is sent at 0, 30, 60, 90 and 120 min and gives up only then
ok 533 - polled every POLL_MS against a permanent 403, a DM is sent at 0, 30, 60, 90 and 120 min and gives up only then
---
duration_ms: 122.530343
type: 'test'
...
# Subtest: a restart after the second refusal does not send before that refusal's 30 min are up
ok 534 - a restart after the second refusal does not send before that refusal's 30 min are up
---
duration_ms: 72.431153
type: 'test'
...
# Subtest: the digest goes at 08:00 Chicago once a day, with blocking ones marked as DM'd
ok 535 - the digest goes at 08:00 Chicago once a day, with blocking ones marked as DM'd
---
duration_ms: 18.833903
type: 'test'
...
# Subtest: a late start with no digest for the day sends one at once; an empty inbox gets one line
ok 536 - a late start with no digest for the day sends one at once; an empty inbox gets one line
---
duration_ms: 11.909856
type: 'test'
...
# Subtest: an inbox read failure is logged and the next poll retries
ok 537 - an inbox read failure is logged and the next poll retries
---
duration_ms: 0.588187
type: 'test'
...
# Subtest: no Discord id reaches the journal or the log
ok 538 - no Discord id reaches the journal or the log
---
duration_ms: 12.261315
type: 'test'
...
# Subtest: the journal: a torn tail is copied out and truncated, so an append after it reopens cleanly
ok 539 - the journal: a torn tail is copied out and truncated, so an append after it reopens cleanly
---
duration_ms: 1.625137
type: 'test'
...
# Subtest: the journal: a crash between the copy and the truncate leaves a tail the next open repairs
ok 540 - the journal: a crash between the copy and the truncate leaves a tail the next open repairs
---
duration_ms: 1.750064
type: 'test'
...
# Subtest: the journal: a whole file that is one torn line truncates to empty
ok 541 - the journal: a whole file that is one torn line truncates to empty
---
duration_ms: 1.114059
type: 'test'
...
# Subtest: the journal: a malformed complete line refuses and leaves the file and any torn tail alone
ok 542 - the journal: a malformed complete line refuses and leaves the file and any torn tail alone
---
duration_ms: 0.392141
type: 'test'
...
# Subtest: the journal: a loose file mode, a loose directory or a symlinked journal refuses
ok 543 - the journal: a loose file mode, a loose directory or a symlinked journal refuses
---
duration_ms: 0.471556
type: 'test'
...
# Subtest: the journal: a line with a wrong type refuses with exit 3 and names the field
ok 544 - the journal: a line with a wrong type refuses with exit 3 and names the field
---
duration_ms: 1.747388
type: 'test'
...
# Subtest: the journal: a symlinked directory refuses and says it is a link
ok 545 - the journal: a symlinked directory refuses and says it is a link
---
duration_ms: 0.298783
type: 'test'
...
# Subtest: the journal: a dangling directory link, a parent that is a file and a journal that is a directory each refuse with exit 3
ok 546 - the journal: a dangling directory link, a parent that is a file and a journal that is a directory each refuse with exit 3
---
duration_ms: 0.434169
type: 'test'
...
# Subtest: the journal: an append after the file was swapped for a symlink refuses and writes nothing through it
ok 547 - the journal: an append after the file was swapped for a symlink refuses and writes nothing through it
---
duration_ms: 0.327025
type: 'test'
...
# Subtest: the journal: a directory it cannot write or create refuses with exit 3 and names the path
ok 548 - the journal: a directory it cannot write or create refuses with exit 3 and names the path
---
duration_ms: 0.408156
type: 'test'
...
# Subtest: digest content stays within Discord's 2000 characters
ok 549 - digest content stays within Discord's 2000 characters
---
duration_ms: 0.233439
type: 'test'
...
# Subtest: runLoop never overlaps ticks and stops after the one in flight
ok 550 - runLoop never overlaps ticks and stops after the one in flight
---
duration_ms: 110.58235
type: 'test'
...
# Subtest: processing halt prevents notifier reads and sends and fences the wait before delivery
ok 551 - processing halt prevents notifier reads and sends and fences the wait before delivery
---
duration_ms: 33.167804
type: 'test'
...
# Subtest: Q247: bootConfig omits tracker setup even with tracker variables left in the business
ok 552 - Q247: bootConfig omits tracker setup even with tracker variables left in the business
---
duration_ms: 5.739375
type: 'test'
...
# Subtest: Q247: trackerless business boots and registers no @sync credential
ok 553 - Q247: trackerless business boots and registers no @sync credential
---
duration_ms: 103.148708
type: 'test'
...
# Subtest: Q247: Console business read works with tracker absent and shows no sync credential
ok 554 - Q247: Console business read works with tracker absent and shows no sync credential
---
duration_ms: 1.741034
type: 'test'
...
# Subtest: Q247: a present tracker with a missing token still refuses bus boot
ok 555 - Q247: a present tracker with a missing token still refuses bus boot
---
duration_ms: 11.009559
type: 'test'
...
# Subtest: a human command refused with human-required prints the other-tree line and exits 3
ok 556 - a human command refused with human-required prints the other-tree line and exits 3
---
duration_ms: 1.846996
type: 'test'
...
# Subtest: a --tester command refused with tester-required prints the other-tree line and exits 3
ok 557 - a --tester command refused with tester-required prints the other-tree line and exits 3
---
duration_ms: 0.671611
type: 'test'
...
# Subtest: other exit-3 refusals print no other-tree line
ok 558 - other exit-3 refusals print no other-tree line
---
duration_ms: 0.924857
type: 'test'
...
# Subtest: the line names no path
ok 559 - the line names no path
---
duration_ms: 0.080231
type: 'test'
...
# Subtest: human halt/status/resume uses management transport without loading any channel
ok 560 - human halt/status/resume uses management transport without loading any channel
---
duration_ms: 35.315933
type: 'test'
...
# Subtest: halt refuses inside an agent before transport
ok 561 - halt refuses inside an agent before transport
---
duration_ms: 10.650032
type: 'test'
...
# Subtest: resume refuses inside an agent before transport
ok 562 - resume refuses inside an agent before transport
---
duration_ms: 9.45841
type: 'test'
...
# Subtest: unknown and partially stopped outcomes are never reported as a successful halt
ok 563 - unknown and partially stopped outcomes are never reported as a successful halt
---
duration_ms: 10.395889
type: 'test'
...
# Subtest: threads project resolution explains a business repository and falls back if its file cannot load
ok 564 - threads project resolution explains a business repository and falls back if its file cannot load
---
duration_ms: 54.065572
type: 'test'
...
# Subtest: project create prints the repository-name refusal and exits two without writing
ok 565 - project create prints the repository-name refusal and exits two without writing
---
duration_ms: 15.767371
type: 'test'
...
# Subtest: project init/check use declared business repo and never contact the bus
ok 566 - project init/check use declared business repo and never contact the bus
---
duration_ms: 109.432114
type: 'test'
...
# Subtest: project commands validate args and refuse undeclared projects and agent init
ok 567 - project commands validate args and refuse undeclared projects and agent init
---
duration_ms: 31.160217
type: 'test'
...
# Subtest: project create and list validate their arguments before any bus call
ok 568 - project create and list validate their arguments before any bus call
---
duration_ms: 29.902151
type: 'test'
...
# Subtest: project dispatcher reaches the human CLI
ok 569 - project dispatcher reaches the human CLI
---
duration_ms: 92.00985
type: 'test'
...
# Subtest: T3 end to end: publish under an approved decision sends the work commit to the agent's own fork and records it once
ok 570 - T3 end to end: publish under an approved decision sends the work commit to the agent's own fork and records it once
---
duration_ms: 585.22064
type: 'test'
...
# Subtest: T3 end to end: a fork the token can't reach is fork-unavailable, filed once, and nothing is recorded as allowed
ok 571 - T3 end to end: a fork the token can't reach is fork-unavailable, filed once, and nothing is recorded as allowed
---
duration_ms: 364.679767
type: 'test'
...
# Subtest: a bad branch or project refuses before the broker; a fork, user or ref in the request is ignored
ok 572 - a bad branch or project refuses before the broker; a fork, user or ref in the request is ignored
---
duration_ms: 425.56148
type: 'test'
...
# Subtest: T3 end to end: two agents, one project, each lands on its own fork only; the upstream receives nothing
ok 573 - T3 end to end: two agents, one project, each lands on its own fork only; the upstream receives nothing
---
duration_ms: 738.352813
type: 'test'
...
# Subtest: T3: a push after checkPublish and before the lock refuses ref-moved; the fork receives nothing
ok 574 - T3: a push after checkPublish and before the lock refuses ref-moved; the fork receives nothing
---
duration_ms: 459.701013
type: 'test'
...
# Subtest: T3: a push recorded while the bus process pushes refuses decision-mismatch; only the decision's commit reached the fork
ok 575 - T3: a push recorded while the bus process pushes refuses decision-mismatch; only the decision's commit reached the fork
---
duration_ms: 417.490058
type: 'test'
...
# Subtest: row 237: two publishes race on one decision; the second refuses publish-busy and exactly one push reaches the fork
ok 576 - row 237: two publishes race on one decision; the second refuses publish-busy and exactly one push reaches the fork
---
duration_ms: 422.034168
type: 'test'
...
# Subtest: sage-1440: the publishResult poll is bounded: publish-timeout, filed once, and nothing recorded
ok 577 - sage-1440: the publishResult poll is bounded: publish-timeout, filed once, and nothing recorded
---
duration_ms: 502.609601
type: 'test'
...
# bus: publish f9fab578-b19d-4fd2-8602-29bff1187eca: pushed after the git socket refused publish-timeout; recorded
# Subtest: row 242: a retry after publish-timeout refuses publish-busy while the bus process's push runs; the late push is recorded and the decision pushes once
ok 578 - row 242: a retry after publish-timeout refuses publish-busy while the bus process's push runs; the late push is recorded and the decision pushes once
---
duration_ms: 531.996829
type: 'test'
...
# Subtest: row 306 REQ-LAUNCH-1 R4 a revoked run whose call lands before the SIGTERM ends stopped/0; a run the human stopped in the same window still ends session-invalid/22
not ok 579 - row 306 REQ-LAUNCH-1 R4 a revoked run whose call lands before the SIGTERM ends stopped/0; a run the human stopped in the same window still ends session-invalid/22
---
duration_ms: 20111.683685
type: 'test'
location: '/home/jwoltje/.t3/worktrees/mosaic-stack/goldie-row323/packages/cli/tests/revoke-window.test.mjs:170:1'
failureType: 'testCodeFailure'
error: 'no RESULT on 61c275d4-42f9-4a92-8a43-1ae94c25b730'
code: 'ERR_ASSERTION'
name: 'AssertionError'
expected: true
operator: '=='
stack: |-
ask (file:///home/jwoltje/.t3/worktrees/mosaic-stack/goldie-row323/packages/cli/tests/revoke-window.test.mjs:167:10)
runNextTicks (node:internal/process/task_queues:65:5)
listOnTimeout (node:internal/timers:644:9)
process.processTimers (node:internal/timers:618:7)
async Promise.all (index 1)
async TestContext.<anonymous> (file:///home/jwoltje/.t3/worktrees/mosaic-stack/goldie-row323/packages/cli/tests/revoke-window.test.mjs:194:3)
async Test.run (node:internal/test_runner/test:1409:7)
async startSubtestAfterBootstrap (node:internal/test_runner/harness:387:3)
...
# usage: {"event":"usage-unknown","business":"acme","run":"r03f6e4e3f532","instance":"assistant","turn":"f2158a75-6118-4d20-af15-6cf1a80a212a","source":"@none","code":"baseline-unknown"}
# usage: {"event":"usage-unknown","business":"acme","run":"ra38d9030cc2e","instance":"assistant","turn":"6f0af944-f26f-4ddc-ba3a-74c2b99063b1","source":"@none","code":"baseline-unknown"}
# Subtest: REQ-THREAD-2 T4 D7 D8 N6: a clear of a running session stops its drained run once, retires it on the run's end, and starts the successor fresh in its own namespace
ok 580 - REQ-THREAD-2 T4 D7 D8 N6: a clear of a running session stops its drained run once, retires it on the run's end, and starts the successor fresh in its own namespace
---
duration_ms: 1011.033759
type: 'test'
...
# usage: {"event":"usage-unknown","business":"acme","run":"r3bd3acf4a983","instance":"assistant","turn":"99f9720d-3d74-41c8-9759-4e4ec0ccd99f","source":"@none","code":"baseline-unknown"}
# Subtest: REQ-THREAD-2 T4 D8: a successor start refused capacity-full is held, reported and logged once, and starts when capacity frees
ok 581 - REQ-THREAD-2 T4 D8: a successor start refused capacity-full is held, reported and logged once, and starts when capacity frees
---
duration_ms: 4614.549547
type: 'test'
...
# Subtest: REQ-THREAD-2 T4 D7 Q2: after a restart, a live survivor of the cleared run holds the clear at drained with no signal, and its exit lets it retire
ok 582 - REQ-THREAD-2 T4 D7 Q2: after a restart, a live survivor of the cleared run holds the clear at drained with no signal, and its exit lets it retire
---
duration_ms: 497.071548
type: 'test'
...
# usage: {"event":"usage-unknown","business":"acme","run":"r554507c5818e","instance":"assistant","turn":"2bfea097-7d94-468e-a3c5-ba807102de7c","source":"@none","code":"baseline-unknown"}
# Subtest: REQ-THREAD-2 T4 D7: a drained run that outlives the stop timeout makes the clear uncertain once, with one signal, and it retires on the run's end
ok 583 - REQ-THREAD-2 T4 D7: a drained run that outlives the stop timeout makes the clear uncertain once, with one signal, and it retires on the run's end
---
duration_ms: 1745.261598
type: 'test'
...
# usage: {"event":"usage-unknown","business":"acme","run":"rf2f07b20461f","instance":"assistant","turn":"56142450-51cb-4df0-9919-b92b07448244","source":"@none","code":"baseline-unknown"}
# Subtest: REQ-THREAD-2 T4 T6: a bus unavailable at the exit proof and then at retirement holds the clear with no retirement, successor or launch, and it resumes when the bus is back
ok 584 - REQ-THREAD-2 T4 T6: a bus unavailable at the exit proof and then at retirement holds the clear with no retirement, successor or launch, and it resumes when the bus is back
---
duration_ms: 3040.911585
type: 'test'
...
# Subtest: session list/show/open select one session without changing the saved default
ok 585 - session list/show/open select one session without changing the saved default
---
duration_ms: 4.865032
type: 'test'
...
# Subtest: create requires a reusable operation key and returns the broker identity
ok 586 - create requires a reusable operation key and returns the broker identity
---
duration_ms: 1.108083
type: 'test'
...
# Subtest: invalid/foreign session selection never falls back to the default or opens a session
ok 587 - invalid/foreign session selection never falls back to the default or opens a session
---
duration_ms: 2.333525
type: 'test'
...
# Subtest: unsupported clear refuses with a reason and never opens or creates a replacement
ok 588 - unsupported clear refuses with a reason and never opens or creates a replacement
---
duration_ms: 0.675371
type: 'test'
...
# Subtest: clear waits by operation reads only, keeps revision, then reports pending at 30s
ok 589 - clear waits by operation reads only, keeps revision, then reports pending at 30s
---
duration_ms: 0.839158
type: 'test'
...
# Subtest: count output distinguishes exact zero, lower bounds and unavailable collection
ok 590 - count output distinguishes exact zero, lower bounds and unavailable collection
---
duration_ms: 0.180197
type: 'test'
...
# Subtest: session CLI real broker: create/list/open keeps default and selectors isolated
ok 591 - session CLI real broker: create/list/open keeps default and selectors isolated
---
duration_ms: 25.970052
type: 'test'
...
# Subtest: explicit --session on thread reads, opens and talk never drops the selected id
ok 592 - explicit --session on thread reads, opens and talk never drops the selected id
---
duration_ms: 2.313566
type: 'test'
...
# Subtest: repeating clear with a recorded operation queries it and never sends a new revision
ok 593 - repeating clear with a recorded operation queries it and never sends a new revision
---
duration_ms: 0.413606
type: 'test'
...
# Subtest: new CLI surface refuses forged agent identity before reaching transport
ok 594 - new CLI surface refuses forged agent identity before reaching transport
---
duration_ms: 0.312372
type: 'test'
...
# Subtest: cancel requires confirmation, uses the clear op and accepts cancelled before or after retirement
ok 595 - cancel requires confirmation, uses the clear op and accepts cancelled before or after retirement
---
duration_ms: 0.799535
type: 'test'
...
# Subtest: cancelled operation is terminal: clear polling stops without another write
ok 596 - cancelled operation is terminal: clear polling stops without another write
---
duration_ms: 0.36235
type: 'test'
...
# Subtest: routed message cancellation prints its stored receipt and never waits for a reply
ok 597 - routed message cancellation prints its stored receipt and never waits for a reply
---
duration_ms: 0.472227
type: 'test'
...
# Subtest: 272 N2: reusing another session clear key gives a precise refusal without a write
ok 598 - 272 N2: reusing another session clear key gives a precise refusal without a write
---
duration_ms: 0.325214
type: 'test'
...
# usage: {"event":"usage-unknown","business":"acme","run":"rdcdafe0dc68a","instance":"assistant","turn":"6d86691e-c295-42bc-9ed1-53c5930aa4d8","source":"@none","code":"baseline-unknown"}
# usage: {"event":"usage-unknown","business":"acme","run":"rd91bb48330fc","instance":"assistant","turn":"bd7280d8-ea20-410b-b473-8d0e73fc3d46","source":"@none","code":"baseline-unknown"}
# usage: {"event":"usage-unknown","business":"acme","run":"r713ae1756b65","instance":"assistant","turn":"b3e35490-b1b8-478f-aef4-19508dfa88db","source":"@none","code":"baseline-unknown"}
# usage: {"event":"usage-unknown","business":"acme","run":"r64f55cccc928","instance":"assistant","turn":"4f3ac78d-b43d-45db-af21-2a1b9019aa24","source":"@none","code":"baseline-unknown"}
# Subtest: REQ-THREAD-2 REQ-LAUNCH-1 two sessions of one thread, and another thread's default, run at once, each with its own store and workspace; a restart of one resumes only that one
ok 599 - REQ-THREAD-2 REQ-LAUNCH-1 two sessions of one thread, and another thread's default, run at once, each with its own store and workspace; a restart of one resumes only that one
---
duration_ms: 5980.793772
type: 'test'
...
# usage: {"event":"usage-unknown","business":"acme","run":"radae6fc53663","instance":"assistant","turn":"21073832-47d8-4390-bb0e-41d3021af40a","source":"@none","code":"baseline-unknown"}
# Subtest: REQ-THREAD-2 REQ-LAUNCH-1 a legacy session resumes the thread's old store at the old in-sandbox cwd, in a workspace of its own
ok 600 - REQ-THREAD-2 REQ-LAUNCH-1 a legacy session resumes the thread's old store at the old in-sandbox cwd, in a workspace of its own
---
duration_ms: 381.253352
type: 'test'
...
# usage: {"event":"usage-unknown","business":"acme","run":"r8f57a5eeba18","instance":"assistant","turn":"aefbfd21-bfec-448b-ac1f-4a3aa85acfec","source":"@none","code":"baseline-unknown"}
# Subtest: REQ-THREAD-2 REQ-LAUNCH-1 a live lock on a session workspace refuses session-workspace-busy before any checkout; a stale one is taken over
ok 601 - REQ-THREAD-2 REQ-LAUNCH-1 a live lock on a session workspace refuses session-workspace-busy before any checkout; a stale one is taken over
---
duration_ms: 1501.566288
type: 'test'
...
# usage: {"event":"usage-unknown","business":"acme","run":"r4aad8253e609","instance":"assistant","turn":"d99517bf-5afc-4477-92d3-3beb19f8eb2b","source":"@none","code":"baseline-unknown"}
# Subtest: REQ-THREAD-2 REQ-LAUNCH-1 a session start refuses legacy-run-live while an earlier host's sessionless run lives, and starts once it has exited
ok 602 - REQ-THREAD-2 REQ-LAUNCH-1 a session start refuses legacy-run-live while an earlier host's sessionless run lives, and starts once it has exited
---
duration_ms: 1503.347519
type: 'test'
...
# Subtest: REQ-THREAD-2 REQ-LAUNCH-1 a symlinked session workspace root refuses session-workspace-unsafe and launches nothing
ok 603 - REQ-THREAD-2 REQ-LAUNCH-1 a symlinked session workspace root refuses session-workspace-unsafe and launches nothing
---
duration_ms: 183.14823
type: 'test'
...
# Subtest: REQ-THREAD-2 REQ-LAUNCH-1 a session workspace that holds the legacy workspace root refuses session-workspace-overlap and launches nothing
ok 604 - REQ-THREAD-2 REQ-LAUNCH-1 a session workspace that holds the legacy workspace root refuses session-workspace-overlap and launches nothing
---
duration_ms: 182.018112
type: 'test'
...
# Subtest: REQ-THREAD-2 REQ-LAUNCH-1 a symlinked session store refuses thread-store-refused and makes no workspace
ok 605 - REQ-THREAD-2 REQ-LAUNCH-1 a symlinked session store refuses thread-store-refused and makes no workspace
---
duration_ms: 183.840625
type: 'test'
...
# Subtest: REQ-THREAD-2 REQ-LAUNCH-1 a named session's start refuses processing-generation-changed, then processing-halted, after check() and before any spawn
ok 606 - REQ-THREAD-2 REQ-LAUNCH-1 a named session's start refuses processing-generation-changed, then processing-halted, after check() and before any spawn
---
duration_ms: 338.88628
type: 'test'
...
# Subtest: a copy carries every file the harness modules read from it
ok 607 - a copy carries every file the harness modules read from it
---
duration_ms: 1297.682841
type: 'test'
...
# Subtest: shared copy: npm ci, pushed reachability, readonly/existing copy, webui delegation
ok 608 - shared copy: npm ci, pushed reachability, readonly/existing copy, webui delegation
---
duration_ms: 531.672023
type: 'test'
...
# Subtest: wrapper preserves Q81 lease and marker, rejects foreign/symlink; check uses effective roots
ok 609 - wrapper preserves Q81 lease and marker, rejects foreign/symlink; check uses effective roots
---
duration_ms: 729.600138
type: 'test'
...
# Subtest: row 190 N6: check --instance passes only when the wrapper exports the instance's MOSAIC_CONFIG
ok 610 - row 190 N6: check --instance passes only when the wrapper exports the instance's MOSAIC_CONFIG
---
duration_ms: 654.304895
type: 'test'
...
# Subtest: bus unit copy/pm pins, install refuses all busy states and failed reads, drop-in refusal
ok 611 - bus unit copy/pm pins, install refuses all busy states and failed reads, drop-in refusal
---
duration_ms: 815.681345
type: 'test'
...
# Subtest: missing package manifest refuses before npm; npm failure removes the unpublished temp copy
ok 612 - missing package manifest refuses before npm; npm failure removes the unpublished temp copy
---
duration_ms: 368.97728
type: 'test'
...
# Subtest: real pinned install loads bus and Console; same-copy mosaic talk passes proof, other trees refuse
ok 613 - real pinned install loads bus and Console; same-copy mosaic talk passes proof, other trees refuse
---
duration_ms: 4336.71611
type: 'test'
...
# Subtest: bus status reads effective copy/pm/drop-ins without writes; check refuses an overridden ExecStart
ok 614 - bus status reads effective copy/pm/drop-ins without writes; check refuses an overridden ExecStart
---
duration_ms: 624.792431
type: 'test'
...
# Subtest: drop-ins in either override field and malformed metadata refuse; uninstall also checks --no-reload
ok 615 - drop-ins in either override field and malformed metadata refuse; uninstall also checks --no-reload
---
duration_ms: 413.806908
type: 'test'
...
# Subtest: install never shows a template name on systemd 261; template drop-ins still refuse
ok 616 - install never shows a template name on systemd 261; template drop-ins still refuse
---
duration_ms: 354.543653
type: 'test'
...
# Subtest: unlisted instance drop-in is found in another unit lookup directory; path discovery errors refuse
ok 617 - unlisted instance drop-in is found in another unit lookup directory; path discovery errors refuse
---
duration_ms: 307.631299
type: 'test'
...
# Subtest: inherited mosaic-.service.d override refuses without changing the unit
ok 618 - inherited mosaic-.service.d override refuses without changing the unit
---
duration_ms: 384.11908
type: 'test'
...
# Subtest: inherited service.d override refuses without changing the unit
ok 619 - inherited service.d override refuses without changing the unit
---
duration_ms: 393.79434
type: 'test'
...
# Subtest: inherited drop-in unreadable directory or file refuses before writing
ok 620 - inherited drop-in unreadable directory or file refuses before writing
---
duration_ms: 325.451294
type: 'test'
...
# Subtest: row 232: copy --bundle copies a SHA the bundle's refactor reaches, byte-identical to copy SHA, and refuses the rest
ok 621 - row 232: copy --bundle copies a SHA the bundle's refactor reaches, byte-identical to copy SHA, and refuses the rest
---
duration_ms: 2201.062077
type: 'test'
...
# Subtest: row 232: wrapper --create writes the first wrapper only, the same bytes wrapper ID writes, and refuses over any file
ok 622 - row 232: wrapper --create writes the first wrapper only, the same bytes wrapper ID writes, and refuses over any file
---
duration_ms: 796.248218
type: 'test'
...
# Subtest: row 232: check --units external reads the system units, the default reads the user units
ok 623 - row 232: check --units external reads the system units, the default reads the user units
---
duration_ms: 628.859245
type: 'test'
...
# Subtest: Vikunja 614: bundle and checkout copy leave an unreadable caller directory before find
ok 624 - Vikunja 614: bundle and checkout copy leave an unreadable caller directory before find
---
duration_ms: 985.316059
type: 'test'
...
# Subtest: T-I1 bootstrap --instance creates each instance's config, root and marker once, and refuses what it must not claim
# Subtest: alpha and beta get a 0700 config dir, a config naming ~/.mosaic-NAME, a 0700 root and a 0644 marker
ok 1 - alpha and beta get a 0700 config dir, a config naming ~/.mosaic-NAME, a 0700 root and a 0644 marker
---
duration_ms: 60.220446
type: 'test'
...
# Subtest: under umask 077 the config and marker are 0600: the source honors the operator's umask
ok 2 - under umask 077 the config and marker are 0600: the source honors the operator's umask
---
duration_ms: 32.564664
type: 'test'
...
# Subtest: a second bootstrap of each changes no byte, mode or mtime
ok 3 - a second bootstrap of each changes no byte, mode or mtime
---
duration_ms: 105.121819
type: 'test'
...
# Subtest: a non-empty root without its own marker refuses before anything is written, worktrees included
ok 4 - a non-empty root without its own marker refuses before anything is written, worktrees included
---
duration_ms: 106.331556
type: 'test'
...
# Subtest: an empty existing root is claimed, and an existing config whose root lost its marker refuses, not repairs
ok 5 - an empty existing root is claimed, and an existing config whose root lost its marker refuses, not repairs
---
duration_ms: 55.647041
type: 'test'
...
# Subtest: a dangling symlink at the config path is never written through, named or default
ok 6 - a dangling symlink at the config path is never written through, named or default
---
duration_ms: 53.254933
type: 'test'
...
# Subtest: bad names and stray arguments exit 4 and write nothing
ok 7 - bad names and stray arguments exit 4 and write nothing
---
duration_ms: 368.696466
type: 'test'
...
# Subtest: --instance dev writes exactly what no flag writes
ok 8 - --instance dev writes exactly what no flag writes
---
duration_ms: 54.283927
type: 'test'
...
1..8
ok 625 - T-I1 bootstrap --instance creates each instance's config, root and marker once, and refuses what it must not claim
---
duration_ms: 837.747442
type: 'test'
...
# Subtest: T-I2 selection: the four rows of D1 through the instance op and through an entry point
# Subtest: row 1: no flag and no MOSAIC_CONFIG is the default; a missing default config leaves the data root empty
ok 1 - row 1: no flag and no MOSAIC_CONFIG is the default; a missing default config leaves the data root empty
---
duration_ms: 47.003366
type: 'test'
...
# Subtest: row 2: MOSAIC_CONFIG alone is that config with the default names
ok 2 - row 2: MOSAIC_CONFIG alone is that config with the default names
---
duration_ms: 22.988158
type: 'test'
...
# Subtest: row 3: --instance NAME alone is NAME's config, root and suffix
ok 3 - row 3: --instance NAME alone is NAME's config, root and suffix
---
duration_ms: 49.316963
type: 'test'
...
# Subtest: row 4: both must name one file; a symlink to it agrees, any other file exits 4
ok 4 - row 4: both must name one file; a symlink to it agrees, any other file exits 4
---
duration_ms: 340.215611
type: 'test'
...
# Subtest: a named instance with no config exits 3 with its own bootstrap hint
ok 5 - a named instance with no config exits 3 with its own bootstrap hint
---
duration_ms: 22.48527
type: 'test'
...
# Subtest: an entry point takes --instance in any position, once, and refuses a mismatch before it prints
ok 6 - an entry point takes --instance in any position, once, and refuses a mismatch before it prints
---
duration_ms: 153.991281
type: 'test'
...
# Subtest: copy takes no --instance in either script: every instance shares the copies
ok 7 - copy takes no --instance in either script: every instance shares the copies
---
duration_ms: 14.881887
type: 'test'
...
1..7
ok 626 - T-I2 selection: the four rows of D1 through the instance op and through an entry point
---
duration_ms: 706.341211
type: 'test'
...
# Subtest: T-I7 claims: the instance op refuses a root another instance claims, and a named root with no marker
# Subtest: alpha's config pointing at beta's root refuses instance-root-mismatch in every op
ok 1 - alpha's config pointing at beta's root refuses instance-root-mismatch in every op
---
duration_ms: 125.007014
type: 'test'
...
# Subtest: MOSAIC_CONFIG naming alpha's config with no flag refuses: the root is alpha's
ok 2 - MOSAIC_CONFIG naming alpha's config with no flag refuses: the root is alpha's
---
duration_ms: 25.991955
type: 'test'
...
# Subtest: a default config whose root carries alpha's marker refuses; one naming dev, or none, passes
ok 3 - a default config whose root carries alpha's marker refuses; one naming dev, or none, passes
---
duration_ms: 72.886118
type: 'test'
...
# Subtest: a named root whose marker is missing, a symlink, unparsable or the wrong shape refuses instance-root-unclaimed
ok 4 - a named root whose marker is missing, a symlink, unparsable or the wrong shape refuses instance-root-unclaimed
---
duration_ms: 198.422653
type: 'test'
...
1..4
ok 627 - T-I7 claims: the instance op refuses a root another instance claims, and a named root with no marker
---
duration_ms: 476.160561
type: 'test'
...
# Subtest: T-I5 two real bus hosts, one per instance, run at once and each answers from its own socket under its own root
ok 628 - T-I5 two real bus hosts, one per instance, run at once and each answers from its own socket under its own root
---
duration_ms: 1309.622664
type: 'test'
...
# Subtest: T-I10 the guard protects every instance's config dir and data roots, even under a corrupt config
ok 629 - T-I10 the guard protects every instance's config dir and data roots, even under a corrupt config
---
duration_ms: 83.966335
type: 'test'
...
# Subtest: row 232: confirm, revert, gate, --to and --expect-from need --units external; the user-only flags are usage under it, and so are row 273's --send and --no-sso
ok 630 - row 232: confirm, revert, gate, --to and --expect-from need --units external; the user-only flags are usage under it, and so are row 273's --send and --no-sso
---
duration_ms: 917.094466
type: 'test'
...
# Subtest: row 232: pm-on and activate --pm-after-harness refuse external-pm
ok 631 - row 232: pm-on and activate --pm-after-harness refuse external-pm
---
duration_ms: 890.788868
type: 'test'
...
# Subtest: row 232: units-running (N4) refuses while a unit is active and leaves the store, the log and TAKEN; failed counts as down
ok 632 - row 232: units-running (N4) refuses while a unit is active and leaves the store, the log and TAKEN; failed counts as down
---
duration_ms: 1883.378297
type: 'test'
...
# Interrupted while running: packages/cli/tests/stack-release-external.test.mjs at /home/jwoltje/.t3/worktrees/mosaic-stack/goldie-row323/packages/cli/tests/stack-release-external.test.mjs:1:1