TAP version 13 # Subtest: list prints the revision and the users ok 1 - list prints the revision and the users --- duration_ms: 53.278539 type: 'test' ... # Subtest: grant writes one revision up, a receipt line, and the id in the file ok 2 - grant writes one revision up, a receipt line, and the id in the file --- duration_ms: 55.350277 type: 'test' ... # Subtest: a viewer grant writes the viewer level, one revision up ok 3 - a viewer grant writes the viewer level, one revision up --- duration_ms: 48.893246 type: 'test' ... # Subtest: a second write appends a second receipt and leaves the first intact ok 4 - a second write appends a second receipt and leaves the first intact --- duration_ms: 102.787926 type: 'test' ... # Subtest: a stale revision refuses with revision-conflict and writes nothing ok 5 - a stale revision refuses with revision-conflict and writes nothing --- duration_ms: 96.080464 type: 'test' ... # Subtest: a live holder's lock refuses and leaves the file and the lock alone ok 6 - a live holder's lock refuses and leaves the file and the lock alone --- duration_ms: 53.555497 type: 'test' ... # Subtest: an empty or unreadable lock refuses, since its holder may still be writing ok 7 - an empty or unreadable lock refuses, since its holder may still be writing --- duration_ms: 128.394589 type: 'test' ... # Subtest: a lock left by a dead pid refuses, names the pid, and is not reclaimed ok 8 - a lock left by a dead pid refuses, names the pid, and is not reclaimed --- duration_ms: 99.090442 type: 'test' ... # Subtest: a failed rename leaves the old bytes, removes the temp file, and writes no receipt ok 9 - a failed rename leaves the old bytes, removes the temp file, and writes no receipt --- duration_ms: 50.303979 type: 'test' ... # Subtest: a group-writable access file refuses with exit 3, names the file, and changes nothing ok 10 - a group-writable access file refuses with exit 3, names the file, and changes nothing --- duration_ms: 50.726942 type: 'test' ... # Subtest: an agent or tester caller is refused before the context or the access file is read ok 11 - an agent or tester caller is refused before the context or the access file is read --- duration_ms: 2.78832 type: 'test' ... # Subtest: the lock is mode 0600 while held and removed after a refused write ok 12 - the lock is mode 0600 while held and removed after a refused write --- duration_ms: 49.223936 type: 'test' ... # Subtest: a grant naming an unknown instance is refused before any write ok 13 - a grant naming an unknown instance is refused before any write --- duration_ms: 62.142623 type: 'test' ... # Subtest: a project name resolves to its id at grant time ok 14 - a project name resolves to its id at grant time --- duration_ms: 67.14829 type: 'test' ... # Subtest: an unknown project name refuses before any write ok 15 - an unknown project name refuses before any write --- duration_ms: 54.708727 type: 'test' ... # Subtest: revoke removes the user's grants and leaves a revision behind ok 16 - revoke removes the user's grants and leaves a revision behind --- duration_ms: 106.4918 type: 'test' ... # Subtest: revoke of a user with no grant refuses and writes nothing ok 17 - revoke of a user with no grant refuses and writes nothing --- duration_ms: 75.829484 type: 'test' ... # Subtest: an agent caller is refused before the bus is asked ok 18 - an agent caller is refused before the bus is asked --- duration_ms: 1.587662 type: 'test' ... # Subtest: --tester is refused on every verb before the bus is asked ok 19 - --tester is refused on every verb before the bus is asked --- duration_ms: 2.589164 type: 'test' ... # Subtest: a bus that refuses the human proof blocks the write ok 20 - a bus that refuses the human proof blocks the write --- duration_ms: 47.691942 type: 'test' ... # Subtest: the context reads console.sso subjects and the business files, and peers stay empty ok 21 - the context reads console.sso subjects and the business files, and peers stay empty --- duration_ms: 15.024288 type: 'test' ... # Subtest: the real human-cli, run from agent ancestry, refuses and writes nothing ok 22 - the real human-cli, run from agent ancestry, refuses and writes nothing --- duration_ms: 5244.715801 type: 'test' ... # Subtest: every screen and overlay fits 120x36, 80x24 and the narrow layout, row for row ok 23 - every screen and overlay fits 120x36, 80x24 and the narrow layout, row for row --- duration_ms: 2677.266899 type: 'test' ... # Subtest: width counts terminal cells: wide CJK and emoji 2, U+FE0F after a one-cell base 1, marks 0 ok 24 - width counts terminal cells: wide CJK and emoji 2, U+FE0F after a one-cell base 1, marks 0 --- duration_ms: 153.63788 type: 'test' ... # Subtest: broker text is shown, never interpreted: no raw control character or bidi override reaches the terminal ok 25 - broker text is shown, never interpreted: no raw control character or bidi override reaches the terminal --- duration_ms: 308.802645 type: 'test' ... # Subtest: NO_COLOR: no escape codes, except reverse video on the selected row ok 26 - NO_COLOR: no escape codes, except reverse video on the selected row --- duration_ms: 460.099784 type: 'test' ... # Subtest: 1-9 shows the decide flow's own lines and question; only y resolves ok 27 - 1-9 shows the decide flow's own lines and question; only y resolves --- duration_ms: 112.502051 type: 'test' ... # Subtest: the app shows the same decide text as mosaic decide ok 28 - the app shows the same decide text as mosaic decide --- duration_ms: 50.184708 type: 'test' ... # Subtest: any key but y or Y at the question answers No; nothing is sent ok 29 - any key but y or Y at the question answers No; nothing is sent --- duration_ms: 447.627334 type: 'test' ... # Subtest: below 40x10 the question is hidden, so every key answers it No, y included (Filbert R3) ok 30 - below 40x10 the question is hidden, so every key answers it No, y included (Filbert R3) --- duration_ms: 159.766545 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 31 - 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: 553.356144 type: 'test' ... # Subtest: a hidden decide box names the way out, and the status line under it does not promise y (Filbert N12) ok 32 - a hidden decide box names the way out, and the status line under it does not promise y (Filbert N12) --- duration_ms: 79.891285 type: 'test' ... # Subtest: a throw while answering the question goes to crash, sends nothing and leaves no job pending ok 33 - a throw while answering the question goes to crash, sends nothing and leaves no job pending --- duration_ms: 46.616778 type: 'test' ... # Subtest: type-ahead never answers the question: a paste, keys typed before it is drawn, keys inside askMs ok 34 - type-ahead never answers the question: a paste, keys typed before it is drawn, keys inside askMs --- duration_ms: 574.428455 type: 'test' ... # Subtest: quitting at the question answers No and sends nothing, armed or not ok 35 - quitting at the question answers No and sends nothing, armed or not --- duration_ms: 88.805324 type: 'test' ... # Subtest: a timer tick reads nothing under an overlay, never answers the question, and keeps a resolved status ok 36 - a timer tick reads nothing under an overlay, never answers the question, and keeps a resolved status --- duration_ms: 75.653366 type: 'test' ... # Subtest: a long question is cut inside the question; the action, target, choice and prompt stay (Dewey B1) ok 37 - a long question is cut inside the question; the action, target, choice and prompt stay (Dewey B1) --- duration_ms: 131.708851 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 38 - a decide box too big for the terminal says so, and every key answers it No, y included (Dewey B1, round 3) --- duration_ms: 776.835494 type: 'test' ... # Subtest: at every size the decide box shows each line y depends on, or says it is hidden ok 39 - at every size the decide box shows each line y depends on, or says it is hidden --- duration_ms: 17223.6369 type: 'test' ... # Subtest: outcome unknown: the CLI's sentence, no retry, then the trail or a re-read ok 40 - outcome unknown: the CLI's sentence, no retry, then the trail or a re-read --- duration_ms: 171.355818 type: 'test' ... # Subtest: refused and failed reads keep the last list, marked stale; a refused decide says refused ok 41 - refused and failed reads keep the last list, marked stale; a refused decide says refused --- duration_ms: 68.684151 type: 'test' ... # Subtest: help or a detail box cut to fit keeps its last line, Esc included (Dewey) ok 42 - help or a detail box cut to fit keeps its last line, Esc included (Dewey) --- duration_ms: 39.653056 type: 'test' ... # Subtest: keys: views, moving, trail of a selection, the command line, help and quit ok 43 - keys: views, moving, trail of a selection, the command line, help and quit --- duration_ms: 158.34467 type: 'test' ... # Subtest: one option: the status line says Press 1, not 1-1 ok 44 - one option: the status line says Press 1, not 1-1 --- duration_ms: 46.621255 type: 'test' ... # Subtest: no business: the app says so and :business picks one ok 45 - no business: the app says so and :business picks one --- duration_ms: 35.099142 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 46 - mosaic with no argument: exit 3 in an agent run, exit 4 with the usage off a terminal, the app on one --- duration_ms: 4.367873 type: 'test' ... # Subtest: scripts/mosaic with no argument reaches the app entry; the seat usage it printed before has not drifted ok 47 - scripts/mosaic with no argument reaches the app entry; the seat usage it printed before has not drifted --- duration_ms: 311.250196 type: 'test' ... # Subtest: strings to keep exactly live once, in the decide flow and the transport; the app does not restate them ok 48 - strings to keep exactly live once, in the decide flow and the transport; the app does not restate them --- duration_ms: 0.722912 type: 'test' ... # Subtest: decide with --note still asks; a No sends nothing ok 49 - decide with --note still asks; a No sends nothing --- duration_ms: 26.766826 type: 'test' ... # Subtest: the app's business comes from a live bus host only ok 50 - the app's business comes from a live bus host only --- duration_ms: 11.13957 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 51 - 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: 15.449653 type: 'test' ... # Subtest: draw is pure: same state, same frame ok 52 - draw is pure: same state, same frame --- duration_ms: 1.602676 type: 'test' ... # Subtest: recordBootRefused keeps the last good load across refusals; recordBootOk clears the refusal ok 53 - recordBootRefused keeps the last good load across refusals; recordBootOk clears the refusal --- duration_ms: 4.454796 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 54 - an unknown key and a JSON syntax error each leave the bus down with the reason and path in the status --- duration_ms: 1372.128347 type: 'test' ... # Subtest: a missing file is recorded too, and a valid file clears the status on the next start ok 55 - a missing file is recorded too, and a valid file clears the status on the next start --- duration_ms: 863.214837 type: 'test' ... # Subtest: row 195 accept: every check passing exits 0, with each P mark and counts that match the lines ok 56 - row 195 accept: every check passing exits 0, with each P mark and counts that match the lines --- duration_ms: 502.642319 type: 'test' ... # Subtest: row 195 accept: exits 1 with each F check failing alone, and its line names it ok 57 - row 195 accept: exits 1 with each F check failing alone, and its line names it --- duration_ms: 4773.930724 type: 'test' ... # Subtest: row 195 accept: F3 fails on exit 0 with no reply line, and its evidence takes talk's error ok 58 - row 195 accept: F3 fails on exit 0 with no reply line, and its evidence takes talk's error --- duration_ms: 946.776572 type: 'test' ... # Subtest: row 195 accept: F1 fails on a unit that isn't active or isn't User=mosaic ok 59 - row 195 accept: F1 fails on a unit that isn't active or isn't User=mosaic --- duration_ms: 1544.112383 type: 'test' ... # Subtest: row 195 accept: F2 fails when healthz doesn't answer and when another pid holds the port ok 60 - row 195 accept: F2 fails when healthz doesn't answer and when another pid holds the port --- duration_ms: 1389.91366 type: 'test' ... # Subtest: row 195 accept: F5 fails on unpriv_bwrap (enforce), on complain and on a trailing space ok 61 - row 195 accept: F5 fails on unpriv_bwrap (enforce), on complain and on a trailing space --- duration_ms: 1774.215976 type: 'test' ... # Subtest: row 195 accept: F5 fails with no bwrap of mosaic's, and passes on comm alone ok 62 - row 195 accept: F5 fails with no bwrap of mosaic's, and passes on comm alone --- duration_ms: 952.681782 type: 'test' ... # Subtest: row 195 accept: F6 fails on a stub that prints nothing, on a path outside claude- and on a .. segment ok 63 - row 195 accept: F6 fails on a stub that prints nothing, on a path outside claude- and on a .. segment --- duration_ms: 1381.243975 type: 'test' ... # Subtest: row 195 accept: F7 fails on two live PM launches, one for another business, and no launch.by ok 64 - row 195 accept: F7 fails on two live PM launches, one for another business, and no launch.by --- duration_ms: 1752.403456 type: 'test' ... # Subtest: row 195 accept: F8 fails on 0640, on another owner and on a symlink, and never prints the credential ok 65 - row 195 accept: F8 fails on 0640, on another owner and on a symlink, and never prints the credential --- duration_ms: 1450.761514 type: 'test' ... # Subtest: row 195 accept: F9 fails on another owner, a group-writable mode and a number for the flag ok 66 - row 195 accept: F9 fails on another owner, a group-writable mode and a number for the flag --- duration_ms: 1070.186289 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 67 - row 195 accept: F9 won't run --node as root off the pin path or with a writable directory above it --- duration_ms: 1048.449054 type: 'test' ... # Subtest: row 195 accept: F11 fails on one *.json under discord/ and passes on an empty directory ok 68 - row 195 accept: F11 fails on one *.json under discord/ and passes on an empty directory --- duration_ms: 890.697109 type: 'test' ... # Subtest: row 195 accept: each P check reports unnamed on its fault, and the exit stays 0 ok 69 - row 195 accept: each P check reports unnamed on its fault, and the exit stays 0 --- duration_ms: 3127.810418 type: 'test' ... # Subtest: row 195 accept: P2 is unnamed with a supplementary group, and P5 names docker ok 70 - row 195 accept: P2 is unnamed with a supplementary group, and P5 names docker --- duration_ms: 650.539405 type: 'test' ... # Subtest: row 195 accept: P5 is closed with no jarvis account, and P2 with an empty authorized_keys ok 71 - row 195 accept: P5 is closed with no jarvis account, and P2 with an empty authorized_keys --- duration_ms: 334.937161 type: 'test' ... # Subtest: row 195 accept: P9 is unnamed once for each item missing ok 72 - row 195 accept: P9 is unnamed once for each item missing --- duration_ms: 1921.484773 type: 'test' ... # Subtest: row 195 accept: P10 is unnamed with 7333 held by another pid; P11 with the unit disabled ok 73 - row 195 accept: P10 is unnamed with 7333 held by another pid; P11 with the unit disabled --- duration_ms: 637.738566 type: 'test' ... # Subtest: row 195 accept: every P check unnamed together still exits 0 ok 74 - row 195 accept: every P check unnamed together still exits 0 --- duration_ms: 347.064771 type: 'test' ... # Subtest: row 195 accept: a bad args file refuses with exit 2 before any check, each for its own reason ok 75 - row 195 accept: a bad args file refuses with exit 2 before any check, each for its own reason --- duration_ms: 123.907794 type: 'test' ... # Subtest: row 195 accept: usage errors and a run without --root as a user exit 2 ok 76 - row 195 accept: usage errors and a run without --root as a user exit 2 --- duration_ms: 22.840429 type: 'test' ... # Subtest: row 195 accept: every in-instance call goes through sudo -u mosaic -H env PATH=:... ok 77 - row 195 accept: every in-instance call goes through sudo -u mosaic -H env PATH=:... --- duration_ms: 280.478557 type: 'test' ... # Subtest: row 195 accept: the host check runs with --check and never --enforce ok 78 - row 195 accept: the host check runs with --check and never --enforce --- duration_ms: 285.439452 type: 'test' ... # Subtest: row 240 check: exits 0 with all seven items and a note that bubblewrap is the install pin ok 79 - row 240 check: exits 0 with all seven items and a note that bubblewrap is the install pin --- duration_ms: 83.657845 type: 'test' ... # Subtest: row 240 check: exits 1 with each item failing alone, and its line names it ok 80 - row 240 check: exits 1 with each item failing alone, and its line names it --- duration_ms: 555.845711 type: 'test' ... # Subtest: row 240 check: item 1 fails when a package owns the profile, when dpkg -S errs, or with no pin ok 81 - row 240 check: item 1 fails when a package owns the profile, when dpkg -S errs, or with no pin --- duration_ms: 271.792493 type: 'test' ... # Subtest: row 240 check: item 2 fails on a loaded mosaic-bwrap, a missing unpriv_bwrap or a failed aa-status ok 82 - row 240 check: item 2 fails on a loaded mosaic-bwrap, a missing unpriv_bwrap or a failed aa-status --- duration_ms: 256.530116 type: 'test' ... # Subtest: row 240 check: item 3 fails on a second file naming bwrap as a word, /{usr/,}bin/bwrap included ok 83 - row 240 check: item 3 fails on a second file naming bwrap as a word, /{usr/,}bin/bwrap included --- duration_ms: 315.7829 type: 'test' ... # Subtest: row 240 check: item 4 reads the label under the units' no-new-privs and matches it exactly ok 84 - row 240 check: item 4 reads the label under the units' no-new-privs and matches it exactly --- duration_ms: 258.155786 type: 'test' ... # Subtest: row 240 check: item 5 needs the statoverride and stat to agree ok 85 - row 240 check: item 5 needs the statoverride and stat to agree --- duration_ms: 76.087053 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 86 - 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: 395.298804 type: 'test' ... # Subtest: row 240 check: a bubblewrap version other than the install pin is a note, not a failure ok 87 - row 240 check: a bubblewrap version other than the install pin is a note, not a failure --- duration_ms: 64.222189 type: 'test' ... # Subtest: row 240 enforce: a pass with no DRIFT changes nothing and exits 0 ok 88 - row 240 enforce: a pass with no DRIFT changes nothing and exits 0 --- duration_ms: 80.151169 type: 'test' ... # Subtest: row 240 enforce: each failure exits 0, unloads the profile, closes bwrap, writes DRIFT and one log line ok 89 - row 240 enforce: each failure exits 0, unloads the profile, closes bwrap, writes DRIFT and one log line --- duration_ms: 595.349326 type: 'test' ... # Subtest: row 240 enforce: with DRIFT present and every item passing, it still closes bwrap ok 90 - row 240 enforce: with DRIFT present and every item passing, it still closes bwrap --- duration_ms: 77.065778 type: 'test' ... # Subtest: row 240 enforce: no unload when aa-status lists neither bwrap profile; never writes the statoverride ok 91 - row 240 enforce: no unload when aa-status lists neither bwrap profile; never writes the statoverride --- duration_ms: 563.450536 type: 'test' ... # Subtest: row 240 upstream: a candidate whose profile differs prints the difference and exits 0 ok 92 - row 240 upstream: a candidate whose profile differs prints the difference and exits 0 --- duration_ms: 108.773012 type: 'test' ... # Subtest: row 240 boot unit: a oneshot after apparmor and before the bus that runs --enforce ok 93 - row 240 boot unit: a oneshot after apparmor and before the bus that runs --enforce --- duration_ms: 0.490906 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 94 - 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: 88.826087 type: 'test' ... # Subtest: stage takes each profile's SOUL.md byte for byte and prints the pairing with sizes and digests ok 95 - stage takes each profile's SOUL.md byte for byte and prints the pairing with sizes and digests --- duration_ms: 131.318502 type: 'test' ... # Subtest: stage lists the per-channel prompts in all three places by name and byte count only ok 96 - stage lists the per-channel prompts in all three places by name and byte count only --- duration_ms: 101.767831 type: 'test' ... # Subtest: a config key with a newline prints as one quoted line ok 97 - a config key with a newline prints as one quoted line --- duration_ms: 99.935249 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 98 - a read trace shows stage and the dry run open SOUL.md and config.yaml and never memory, sessions or secrets --- duration_ms: 217.312573 type: 'test' ... # Subtest: the pairing refuses anything but two existing profiles naming Bean and Chet once each, and writes nothing ok 99 - the pairing refuses anything but two existing profiles naming Bean and Chet once each, and writes nothing --- duration_ms: 851.718629 type: 'test' ... # Subtest: a profile with no persona refuses: no SOUL.md, a blank one, a symlink, not UTF-8 ok 100 - a profile with no persona refuses: no SOUL.md, a blank one, a symlink, not UTF-8 --- duration_ms: 683.468809 type: 'test' ... # Subtest: the import applies C2-08's exported fence at its boundaries ok 101 - the import applies C2-08's exported fence at its boundaries --- duration_ms: 765.693394 type: 'test' ... # Subtest: install writes 0600 persona files in 0700 directories whose digests match, and prints the vars ok 102 - install writes 0600 persona files in 0700 directories whose digests match, and prints the vars --- duration_ms: 171.315108 type: 'test' ... # Subtest: install refuses an open or foreign staging file, a digest off the manifest and an existing persona ok 103 - install refuses an open or foreign staging file, a digest off the manifest and an existing persona --- duration_ms: 924.466136 type: 'test' ... # Subtest: --dry-run writes nothing and prints only counts and the fence fault, two heading lines in a fixture counted ok 104 - --dry-run writes nothing and prints only counts and the fence fault, two heading lines in a fixture counted --- duration_ms: 80.114469 type: 'test' ... # Subtest: --dry-run applies C2-08's fence: over it the fault prints, nothing is written and it exits 1 ok 105 - --dry-run applies C2-08's fence: over it the fault prints, nothing is written and it exits 1 --- duration_ms: 155.87815 type: 'test' ... # Subtest: a directory made between the check and mkdir refuses by name, at stage and at install ok 106 - a directory made between the check and mkdir refuses by name, at stage and at install --- duration_ms: 247.623596 type: 'test' ... # Subtest: --dry-run counts three lines naming a Hermes tool or channel and prints none of the words ok 107 - --dry-run counts three lines naming a Hermes tool or channel and prints none of the words --- duration_ms: 86.752593 type: 'test' ... # Subtest: usage: stage needs one of --staging and --dry-run, install takes only its own options ok 108 - usage: stage needs one of --staging and --dry-run, install takes only its own options --- duration_ms: 555.408636 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 109 - a clean library render writes both units 0644 with the fixed lines, and enables both then starts the bus then the Console --- duration_ms: 236.34137 type: 'test' ... # Subtest: PATH starts with the --node directory, for a node outside the default list and for /usr/bin/node ok 110 - PATH starts with the --node directory, for a node outside the default list and for /usr/bin/node --- duration_ms: 270.841361 type: 'test' ... # Subtest: a failed bus start refuses with the Console not started ok 111 - a failed bus start refuses with the Console not started --- duration_ms: 228.976943 type: 'test' ... # Subtest: the script never links a unit file ok 112 - the script never links a unit file --- duration_ms: 0.313211 type: 'test' ... # Subtest: factory renders --pm once and one MOSAIC_CLAUDE_BIN line, and without them both tokens render empty ok 113 - factory renders --pm once and one MOSAIC_CLAUDE_BIN line, and without them both tokens render empty --- duration_ms: 578.013078 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 114 - 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: 937.291079 type: 'test' ... # Subtest: a re-install to another copy re-renders both units, and an edited installed unit refuses ok 115 - a re-install to another copy re-renders both units, and an edited installed unit refuses --- duration_ms: 2004.784 type: 'test' ... # Subtest: a template with a namespace, user or system call restriction refuses ok 116 - a template with a namespace, user or system call restriction refuses --- duration_ms: 498.478358 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 117 - the bus template's EnvironmentFile line must be there and point at the session env, and the Console template must have none --- duration_ms: 340.725534 type: 'test' ... # Subtest: a template holding an unknown token, PermissionsStartOnly or a privileged Exec prefix refuses ok 118 - a template holding an unknown token, PermissionsStartOnly or a privileged Exec prefix refuses --- duration_ms: 312.580189 type: 'test' ... # Subtest: a symlink at either unit path refuses ok 119 - a symlink at either unit path refuses --- duration_ms: 401.614599 type: 'test' ... # Subtest: a --node that is relative, not root-owned or under refuses ok 120 - a --node that is relative, not root-owned or under refuses --- duration_ms: 51.327693 type: 'test' ... # Subtest: a re-install with a different --node or different serve flags refuses ok 121 - a re-install with a different --node or different serve flags refuses --- duration_ms: 1668.757829 type: 'test' ... # Subtest: an installed pair whose units name different copies refuses ok 122 - an installed pair whose units name different copies refuses --- duration_ms: 807.746345 type: 'test' ... # Subtest: a copy id that is short, uppercase, holds / or .., or names no directory refuses ok 123 - a copy id that is short, uppercase, holds / or .., or names no directory refuses --- duration_ms: 76.521951 type: 'test' ... # Subtest: library refuses a privileged-floor miss, a bad proof pair and every flag outside its set ok 124 - library refuses a privileged-floor miss, a bad proof pair and every flag outside its set --- duration_ms: 686.546933 type: 'test' ... # Subtest: library refuses a proof file not owned by 's uid ok 125 - library refuses a proof file not owned by 's uid --- duration_ms: 30.124951 type: 'test' ... # Subtest: factory refuses a tester port on --port, a missing --port or --business, and each proxy flag ok 126 - factory refuses a tester port on --port, a missing --port or --business, and each proxy flag --- duration_ms: 399.639509 type: 'test' ... # Subtest: factory: the tester port equal to --port refuses ok 127 - factory: the tester port equal to --port refuses --- duration_ms: 26.248797 type: 'test' ... # Subtest: factory refuses a --claude that is relative, not root-owned or under , and a re-install with another --pm or --claude ok 128 - factory refuses a --claude that is relative, not root-owned or under , and a re-install with another --pm or --claude --- duration_ms: 905.243946 type: 'test' ... # Subtest: the precheck passes on a good host and prints free memory, without the key ok 129 - the precheck passes on a good host and prints free memory, without the key --- duration_ms: 181.370896 type: 'test' ... # Subtest: the precheck refuses each failed host check ok 130 - the precheck refuses each failed host check --- duration_ms: 1813.133674 type: 'test' ... # Subtest: the precheck refuses a user missing from passwd, a business file that does not load, and a symlinked run root ok 131 - the precheck refuses a user missing from passwd, a business file that does not load, and a symlinked run root --- duration_ms: 1183.202626 type: 'test' ... # Subtest: a bwrap that fails refuses and prints the sysctl and where bwrap is ok 132 - a bwrap that fails refuses and prints the sysctl and where bwrap is --- duration_ms: 198.24408 type: 'test' ... # Subtest: an unprivileged port floor at or below the Console's port refuses, and so does a missing Console unit ok 133 - an unprivileged port floor at or below the Console's port refuses, and so does a missing Console unit --- duration_ms: 1095.220623 type: 'test' ... # Subtest: bus.tester: library refuses it on, factory needs it on, and factory refuses a library business ok 134 - bus.tester: library refuses it on, factory needs it on, and factory refuses a library business --- duration_ms: 852.989033 type: 'test' ... # Subtest: the claude check runs only for a claude-code instance, and refuses a claude that appends or answers wrong ok 135 - the claude check runs only for a claude-code instance, and refuses a claude that appends or answers wrong --- duration_ms: 1700.042883 type: 'test' ... # Subtest: the claude check runs the bus unit's MOSAIC_CLAUDE_BIN over claude on PATH ok 136 - the claude check runs the bus unit's MOSAIC_CLAUDE_BIN over claude on PATH --- duration_ms: 485.019637 type: 'test' ... # Subtest: the session env file refuses when missing, open to others, a symlink, empty, or emptied by a later line ok 137 - the session env file refuses when missing, open to others, a symlink, empty, or emptied by a later line --- duration_ms: 1240.203052 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 138 - inside a session's sandbox a bind below 1024 fails with EACCES, and a bind on a free high port succeeds --- duration_ms: 146.533175 type: 'test' ... # Subtest: CLI off, absent and other-only channel selections refuse every project/thread flow before any effect ok 139 - CLI off, absent and other-only channel selections refuse every project/thread flow before any effect --- duration_ms: 20.788961 type: 'test' ... # Subtest: CLI enabled project/thread lists dispatch through selection without changing output ok 140 - CLI enabled project/thread lists dispatch through selection without changing output --- duration_ms: 3.159926 type: 'test' ... # Subtest: both channels off recover through the existing human CLI, socket and organization writer ok 141 - both channels off recover through the existing human CLI, socket and organization writer --- duration_ms: 3886.802124 type: 'test' ... # Subtest: inbox lists only decisions routed to the human, with what approving authorizes and how to decide ok 142 - inbox lists only decisions routed to the human, with what approving authorizes and how to decide --- duration_ms: 45.697296 type: 'test' ... # Subtest: decide resolves by id prefix with --yes, and the trail shows it in broker order with the task to follow ok 143 - decide resolves by id prefix with --yes, and the trail shows it in broker order with the task to follow --- duration_ms: 40.911101 type: 'test' ... # Subtest: decide refuses without a terminal or --yes, on an unknown option and on a short reference ok 144 - decide refuses without a terminal or --yes, on an unknown option and on a short reference --- duration_ms: 40.817915 type: 'test' ... # Subtest: decide prints a declining choice as declining ok 145 - decide prints a declining choice as declining --- duration_ms: 33.146476 type: 'test' ... # Subtest: an unknown outcome is reported once and never resent ok 146 - an unknown outcome is reported once and never resent --- duration_ms: 25.855638 type: 'test' ... # Subtest: a decision closed before the answer arrives exits 2 and points at its trail ok 147 - a decision closed before the answer arrives exits 2 and points at its trail --- duration_ms: 25.125151 type: 'test' ... # Subtest: a prefix that matches two open decisions exits 2 and resolves neither ok 148 - a prefix that matches two open decisions exits 2 and resolves neither --- duration_ms: 28.511891 type: 'test' ... # Subtest: without --business a command uses the live host's business, and a stale host.json is not a host ok 149 - without --business a command uses the live host's business, and a stale host.json is not a host --- duration_ms: 21.719438 type: 'test' ... # Subtest: every human command refuses inside an agent run before it touches the bus ok 150 - every human command refuses inside an agent run before it touches the bus --- duration_ms: 28.370635 type: 'test' ... # Subtest: usage errors exit 4; no business and no host is a usage error ok 151 - usage errors exit 4; no business and no host is a usage error --- duration_ms: 28.29917 type: 'test' ... # Subtest: agents and tasks print through the broker ok 152 - agents and tasks print through the broker --- duration_ms: 22.241712 type: 'test' ... # Subtest: notify.json: missing, loose, malformed and extra keys refuse; a binding or null passes ok 153 - notify.json: missing, loose, malformed and extra keys refuse; a binding or null passes --- duration_ms: 2.276295 type: 'test' ... # Subtest: bootConfig builds the broker's boot message for one business, with no trackers key when no project names one ok 154 - bootConfig builds the broker's boot message for one business, with no trackers key when no project names one --- duration_ms: 69.401454 type: 'test' ... # Subtest: trackers come from the tracker.* variables of the one project that names a tracker project ok 155 - trackers come from the tracker.* variables of the one project that names a tracker project --- duration_ms: 127.268878 type: 'test' ... # Subtest: with two projects, the one that sets tracker.project supplies the tracker and the other is no conflict ok 156 - with two projects, the one that sets tracker.project supplies the tracker and the other is no conflict --- duration_ms: 59.095273 type: 'test' ... # Subtest: two projects that each name a tracker project refuse, since the boot shape holds one ok 157 - two projects that each name a tracker project refuse, since the boot shape holds one --- duration_ms: 61.015221 type: 'test' ... # Subtest: a business without tracker.baseUrl gets no trackers entry ok 158 - a business without tracker.baseUrl gets no trackers entry --- duration_ms: 63.135044 type: 'test' ... # Subtest: an unknown business and a broken system config refuse with exit 3 ok 159 - an unknown business and a broken system config refuse with exit 3 --- duration_ms: 112.728136 type: 'test' ... # Subtest: row 199: issue and rotate send the stdin token once to credentials.issue and print no value ok 160 - row 199: issue and rotate send the stdin token once to credentials.issue and print no value --- duration_ms: 12.364233 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 161 - row 199: rotate goes ahead on each held state, rotation-due included, and refuses not-issued, revoked and an unknown entry --- duration_ms: 6.375036 type: 'test' ... # Subtest: row 199: status, revoke and delete; the tester runs status and revoke only ok 162 - row 199: status, revoke and delete; the tester runs status and revoke only --- duration_ms: 5.105239 type: 'test' ... # Subtest: row 210: issue of a host. kind prints public material only ok 163 - row 210: issue of a host. kind prints public material only --- duration_ms: 2.750596 type: 'test' ... # Subtest: row 199: scripts/mosaic sends credentials to packages/cli, not the seat CLI ok 164 - row 199: scripts/mosaic sends credentials to packages/cli, not the seat CLI --- duration_ms: 166.567249 type: 'test' ... # Subtest: follow prints an unsolicited message after plain talk returned ok 165 - follow prints an unsolicited message after plain talk returned --- duration_ms: 62.915795 type: 'test' ... # Subtest: talk --follow continues after reply and prints a later unsolicited message ok 166 - talk --follow continues after reply and prints a later unsolicited message --- duration_ms: 56.284178 type: 'test' ... # Subtest: inbox lists all unread human messages under decisions, does not deliver or read them ok 167 - inbox lists all unread human messages under decisions, does not deliver or read them --- duration_ms: 716.753048 type: 'test' ... # Subtest: follow refuses agent context and bad arguments ok 168 - follow refuses agent context and bad arguments --- duration_ms: 32.582775 type: 'test' ... # Subtest: follow Ctrl-C wakes the poll sleep and removes its handler; transport errors also clean up ok 169 - follow Ctrl-C wakes the poll sleep and removes its handler; transport errors also clean up --- duration_ms: 40.481225 type: 'test' ... # Subtest: plain talk leaves the process SIGINT handlers unchanged ok 170 - plain talk leaves the process SIGINT handlers unchanged --- duration_ms: 30.230131 type: 'test' ... # Subtest: empty views say so ok 171 - empty views say so --- duration_ms: 1.144313 type: 'test' ... # Subtest: the trail keeps the broker's order and names a decision's task without its rows ok 172 - the trail keeps the broker's order and names a decision's task without its rows --- duration_ms: 1.803141 type: 'test' ... # Subtest: tasks print the tracker fields the snapshot carries ok 173 - tasks print the tracker fields the snapshot carries --- duration_ms: 0.250029 type: 'test' ... # Subtest: guardDocker refuses a compose run unless PI_AUTH_FILE is a regular file inside the lane temp root ok 174 - guardDocker refuses a compose run unless PI_AUTH_FILE is a regular file inside the lane temp root --- duration_ms: 5.923146 type: 'test' ... # Subtest: cleanEnv points PI_AUTH_FILE at the lane fixture and drops MOSAIC_LIVE_PROVIDER ok 175 - cleanEnv points PI_AUTH_FILE at the lane fixture and drops MOSAIC_LIVE_PROVIDER --- duration_ms: 1.853845 type: 'test' ... # Subtest: test-release.sh activates through the mock adapter with a 0600 fixture auth file ok 176 - test-release.sh activates through the mock adapter with a 0600 fixture auth file --- duration_ms: 2437.425605 type: 'test' ... # {"script":"test-release.sh","extra":[],"wallMs":2279,"status":0} # Subtest: test-task.sh mounts only its fixture, uses only the mock adapter and prints the live skip twice ok 177 - test-task.sh mounts only its fixture, uses only the mock adapter and prints the live skip twice --- duration_ms: 13954.58839 type: 'test' ... # {"script":"test-task.sh","extra":[],"wallMs":13812,"status":1} # Subtest: M-T: MOSAIC_LIVE_PROVIDER=1 runs the real-model cases, which fail under a fixture auth file ok 178 - M-T: MOSAIC_LIVE_PROVIDER=1 runs the real-model cases, which fail under a fixture auth file --- duration_ms: 12295.232389 type: 'test' ... # {"script":"test-task.sh","extra":["MOSAIC_LIVE_PROVIDER","PI_AUTH_FILE"],"wallMs":12185,"status":1} # Subtest: parallel lease holders use only the active lane and its shared state ok 179 - parallel lease holders use only the active lane and its shared state --- duration_ms: 33.301622 type: 'test' ... # Subtest: unrelated home changes do not become lane writes, and own-root references do ok 180 - unrelated home changes do not become lane writes, and own-root references do --- duration_ms: 0.508704 type: 'test' ... # Subtest: proof summaries refuse missing timings, non-overlap and a pair without a lane swap ok 181 - proof summaries refuse missing timings, non-overlap and a pair without a lane swap --- duration_ms: 1.328003 type: 'test' ... # Subtest: an exhausted single-port band refuses, and an occupied foreign listener survives the probe ok 182 - an exhausted single-port band refuses, and an occupied foreign listener survives the probe --- duration_ms: 16.216375 type: 'test' ... # Subtest: parallel child allocators share real lane locks; a lease remains held through child shutdown ok 183 - parallel child allocators share real lane locks; a lease remains held through child shutdown --- duration_ms: 229.908585 type: 'test' ... # Subtest: abrupt allocator death releases its holder without touching a foreign lease ok 184 - abrupt allocator death releases its holder without touching a foreign lease --- duration_ms: 88.302611 type: 'test' ... # Subtest: fixture caches survive a replacement environment with a separate tmp subdirectory ok 185 - fixture caches survive a replacement environment with a separate tmp subdirectory --- duration_ms: 40.601452 type: 'test' ... # Subtest: an unrelated session can append while a supervised step runs without becoming an attributed write ok 186 - an unrelated session can append while a supervised step runs without becoming an attributed write --- duration_ms: 72.106641 type: 'test' ... # Subtest: a changed COPY input or actual image ID refuses compatible image sharing ok 187 - a changed COPY input or actual image ID refuses compatible image sharing --- duration_ms: 12.893924 type: 'test' ... # Subtest: warm Docker guard disables implicit build and pull and refuses image mutation ok 188 - warm Docker guard disables implicit build and pull and refuses image mutation --- duration_ms: 2.843418 type: 'test' ... # Subtest: exclusive image preparation records actual image ID and build wall time and requires a grant ok 189 - exclusive image preparation records actual image ID and build wall time and requires a grant --- duration_ms: 5.643148 type: 'test' ... # Subtest: cleanup refuses a foreign Docker label and removes only an exact owned project ok 190 - cleanup refuses a foreign Docker label and removes only an exact owned project --- duration_ms: 0.938399 type: 'test' ... # Subtest: missing receipt and missing image refuse without permitting a gate ok 191 - missing receipt and missing image refuse without permitting a gate --- duration_ms: 3.518464 type: 'test' ... # Subtest: a tag changed between supervised steps fails the next boundary and suppresses gate success ok 192 - a tag changed between supervised steps fails the next boundary and suppresses gate success --- duration_ms: 52.573142 type: 'test' ... # Subtest: mutable-base rebuilds with identical files have distinct image IDs; cold and warm counters stay separate ok 193 - mutable-base rebuilds with identical files have distinct image IDs; cold and warm counters stay separate --- duration_ms: 7.078755 type: 'test' ... # Subtest: warm pinned execution records zero builds and checks the tag again after its final step ok 194 - warm pinned execution records zero builds and checks the tag again after its final step --- duration_ms: 83.314666 type: 'test' ... # Subtest: installed Compose accepts rewritten run argv without starting a container ok 195 - installed Compose accepts rewritten run argv without starting a container --- duration_ms: 117.400143 type: 'test' ... # Subtest: installed Compose resolves the private override with no build and the pinned image ok 196 - installed Compose resolves the private override with no build and the pinned image --- duration_ms: 121.654601 type: 'test' ... # {"installedComposeConfig":{"buildPresent":false,"image":"sha256:aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa"}} # Subtest: guard owns every Compose file argument and refuses caller configuration overrides ok 197 - guard owns every Compose file argument and refuses caller configuration overrides --- duration_ms: 2.463009 type: 'test' ... # Subtest: changing packages/processing-control/src/state.mjs invalidates the image receipt ok 198 - changing packages/processing-control/src/state.mjs invalidates the image receipt --- duration_ms: 2.711502 type: 'test' ... # Subtest: changing packages/processing-control/src/entrypoint.mjs invalidates the image receipt ok 199 - changing packages/processing-control/src/entrypoint.mjs invalidates the image receipt --- duration_ms: 2.411911 type: 'test' ... # Subtest: unfinished dead-owner runs quarantine their lane and a recovery record clears only that run ok 200 - unfinished dead-owner runs quarantine their lane and a recovery record clears only that run --- duration_ms: 7.97681 type: 'test' ... # Subtest: a legacy landing gate beside a lane stays legacy even with the same parent ok 201 - a legacy landing gate beside a lane stays legacy even with the same parent --- duration_ms: 2.884358 type: 'test' ... # Subtest: the shell status entry reads scratch receipts and reports legacy processes without mutating old slots ok 202 - the shell status entry reads scratch receipts and reports legacy processes without mutating old slots --- duration_ms: 146.353916 type: 'test' ... # Subtest: recovery supersedes an unclean terminal without rewriting either receipt ok 203 - recovery supersedes an unclean terminal without rewriting either receipt --- duration_ms: 4.822285 type: 'test' ... # Subtest: the wrapper refuses a held lane lock and preserves its inode ok 204 - the wrapper refuses a held lane lock and preserves its inode --- duration_ms: 83.571141 type: 'test' ... # Subtest: a held kernel lock without a start receipt is BUSY rather than CLEAR ok 205 - a held kernel lock without a start receipt is BUSY rather than CLEAR --- duration_ms: 10.376666 type: 'test' ... # Subtest: SIGKILL leaves a quarantined run and locked recovery publishes a new clean receipt ok 206 - SIGKILL leaves a quarantined run and locked recovery publishes a new clean receipt --- duration_ms: 445.288161 type: 'test' ... # Subtest: a malformed receipt refuses status and an identity mismatch cannot look live ok 207 - a malformed receipt refuses status and an identity mismatch cannot look live --- duration_ms: 2.937383 type: 'test' ... # Subtest: a symlink lock is refused before acquiring or replacing its target ok 208 - a symlink lock is refused before acquiring or replacing its target --- duration_ms: 70.187976 type: 'test' ... # Subtest: failed recovery keeps quarantine and never publishes a clean recovery receipt ok 209 - failed recovery keeps quarantine and never publishes a clean recovery receipt --- duration_ms: 361.317343 type: 'test' ... # Subtest: two shared image holders coexist, but exclusive preparation refuses their lock ok 210 - two shared image holders coexist, but exclusive preparation refuses their lock --- duration_ms: 194.655875 type: 'test' ... # Subtest: two simultaneous shell claims have one winner; supervisor retains lock FDs and ordinary children do not ok 211 - two simultaneous shell claims have one winner; supervisor retains lock FDs and ordinary children do not --- duration_ms: 201.984257 type: 'test' ... # Subtest: same checkout and a legacy land gate each refuse a claim on an otherwise free lane ok 212 - same checkout and a legacy land gate each refuse a claim on an otherwise free lane --- duration_ms: 6.079707 type: 'test' ... # Subtest: recovery kills a proven surviving child, preserves a foreign child and keeps quarantine if interrupted ok 213 - recovery kills a proven surviving child, preserves a foreign child and keeps quarantine if interrupted --- duration_ms: 816.458962 type: 'test' ... # Subtest: preflight refuses unsafe lane roots, missing grants and live port 9 before side effects ok 214 - preflight refuses unsafe lane roots, missing grants and live port 9 before side effects --- duration_ms: 82.431442 type: 'test' ... # Subtest: discovery preserves all package and script steps while ignoring non-file shell names ok 215 - discovery preserves all package and script steps while ignoring non-file shell names --- duration_ms: 23.991914 type: 'test' ... # Subtest: a failed step stops the gate and records its nonzero exit without running the next step ok 216 - a failed step stops the gate and records its nonzero exit without running the next step --- duration_ms: 35.537578 type: 'test' ... # Subtest: a cancelled step stops its process group and records failure ok 217 - a cancelled step stops its process group and records failure --- duration_ms: 133.676021 type: 'test' ... # Subtest: step receipts retain pass fail skipped counts and hashes of their actual logs ok 218 - step receipts retain pass fail skipped counts and hashes of their actual logs --- duration_ms: 76.280526 type: 'test' ... # Subtest: preflight rejects a real 31-byte root, missing dependency tree, occupied band and missing inventory ok 219 - preflight rejects a real 31-byte root, missing dependency tree, occupied band and missing inventory --- duration_ms: 78.164807 type: 'test' ... # Subtest: preflight refuses canonical and builder checkouts and an existing output ok 220 - preflight refuses canonical and builder checkouts and an existing output --- duration_ms: 39.396816 type: 'test' ... # Subtest: both candidates must carry every approved launcher file ok 221 - both candidates must carry every approved launcher file --- duration_ms: 34.324551 type: 'test' ... # Subtest: the 92-byte socket example passes and an over-107-byte pathname refuses ok 222 - the 92-byte socket example passes and an over-107-byte pathname refuses --- duration_ms: 0.374815 type: 'test' ... # Subtest: package/script duplicates stay and every supervised step clears NODE_TEST_CONTEXT ok 223 - package/script duplicates stay and every supervised step clears NODE_TEST_CONTEXT --- duration_ms: 128.03866 type: 'test' ... # Subtest: scoped ss loopback and wildcard port 9 listeners refuse ok 224 - scoped ss loopback and wildcard port 9 listeners refuse --- duration_ms: 52.279826 type: 'test' ... # Subtest: step children use legacy umask 022 while the supervisor retains 077 ok 225 - step children use legacy umask 022 while the supervisor retains 077 --- duration_ms: 60.827932 type: 'test' ... # Subtest: lane wrapper keeps its state directory and lock files private ok 226 - lane wrapper keeps its state directory and lock files private --- duration_ms: 170.781836 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 227 - the review loop: the coder pushes and asks, the reviewer fetches and approves, and the task's trail holds each step --- duration_ms: 1772.491568 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 228 - 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: 1462.702747 type: 'test' ... # Subtest: the size cap refuses a push before any byte ok 229 - the size cap refuses a push before any byte --- duration_ms: 402.606357 type: 'test' ... # Subtest: a fetch over the cap refuses before any byte reaches the reviewer ok 230 - a fetch over the cap refuses before any byte reaches the reviewer --- duration_ms: 1385.846922 type: 'test' ... # Subtest: the socket refuses a request with no capability, an unknown one, and a bad request line ok 231 - the socket refuses a request with no capability, an unknown one, and a bad request line --- duration_ms: 658.406217 type: 'test' ... # Subtest: a rigged clone runs nothing: hooks, fsmonitor, a filter, a gitlink and a symlinked .git/config leave no marker ok 232 - a rigged clone runs nothing: hooks, fsmonitor, a filter, a gitlink and a symlinked .git/config leave no marker --- duration_ms: 1650.658765 type: 'test' ... # Subtest: an identity with no role, or of another business, refuses not-a-role and moves no ref ok 233 - an identity with no role, or of another business, refuses not-a-role and moves no ref --- duration_ms: 1028.307127 type: 'test' ... # Subtest: a review of a project the business no longer has refuses unknown-project ok 234 - a review of a project the business no longer has refuses unknown-project --- duration_ms: 870.281806 type: 'test' ... # Subtest: past maxActive connections the socket refuses git-busy, and a hung-up connection frees its slot ok 235 - past maxActive connections the socket refuses git-busy, and a hung-up connection frees its slot --- duration_ms: 385.016943 type: 'test' ... # Subtest: close() answers host-closing to a connection still sending its request line ok 236 - close() answers host-closing to a connection still sending its request line --- duration_ms: 383.177157 type: 'test' ... # Subtest: a bundle that trickles in refuses body-timeout at its deadline and frees its slot ok 237 - a bundle that trickles in refuses body-timeout at its deadline and frees its slot --- duration_ms: 885.769067 type: 'test' ... # Subtest: a reviewer gone before its bundle was sent is filed fetch-aborted, not as the host's fault ok 238 - a reviewer gone before its bundle was sent is filed fetch-aborted, not as the host's fault --- duration_ms: 1288.099093 type: 'test' ... # Subtest: a reviewer that hangs up the moment it has the whole bundle was served, not aborted ok 239 - a reviewer that hangs up the moment it has the whole bundle was served, not aborted --- duration_ms: 3303.156749 type: 'test' ... # Subtest: send: a close after every byte left is served; one that fails a queued write is fetch-aborted ok 240 - send: a close after every byte left is served; one that fails a queued write is fetch-aborted --- duration_ms: 43.407258 type: 'test' ... # Subtest: a bundle with no bytes for bodyIdle refuses body-timeout long before its deadline ok 241 - a bundle with no bytes for bodyIdle refuses body-timeout long before its deadline --- duration_ms: 747.957576 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 242 - send: a close once the loop is past its last chunk is served, and a failed write there is fetch-aborted --- duration_ms: 53.458644 type: 'test' ... # Subtest: letGo waits for an answer to leave for at most its cap, then destroys the socket ok 243 - letGo waits for an answer to leave for at most its cap, then destroys the socket --- duration_ms: 302.491077 type: 'test' ... # Subtest: a record that fails and can't be undone refuses rollback-failed, which the host logs ok 244 - a record that fails and can't be undone refuses rollback-failed, which the host logs --- duration_ms: 937.037591 type: 'test' ... # Subtest: land: the squash runs the gate in its own worktree, then main moves and the broker records it ok 245 - land: the squash runs the gate in its own worktree, then main moves and the broker records it --- duration_ms: 1405.512649 type: 'test' ... # Subtest: land: an arbiter-resolved landing's squash says the arbiter resolved it through the broker ok 246 - land: an arbiter-resolved landing's squash says the arbiter resolved it through the broker --- duration_ms: 1162.854728 type: 'test' ... # Subtest: land: refusals before the gate answer the role at once and leave main and no worktree ok 247 - land: refusals before the gate answer the role at once and leave main and no worktree --- duration_ms: 1217.721791 type: 'test' ... # Subtest: land: a failed gate is refused gate-failed with its step, told to the role, and main stays ok 248 - land: a failed gate is refused gate-failed with its step, told to the role, and main stays --- duration_ms: 1099.582795 type: 'test' ... # Subtest: land: a record the broker refuses moves main back, and the landing is refused with the broker's code ok 249 - land: a record the broker refuses moves main back, and the landing is refused with the broker's code --- duration_ms: 1204.076838 type: 'test' ... # Subtest: land: a second landing while one runs refuses land-busy, and close() stops the gate and refuses host-closing ok 250 - land: a second landing while one runs refuses land-busy, and close() stops the gate and refuses host-closing --- duration_ms: 1137.177096 type: 'test' ... # Subtest: the host boots the broker, binds a launch in process, and the notifier DMs a blocking decision exactly once ok 251 - the host boots the broker, binds a launch in process, and the notifier DMs a blocking decision exactly once --- duration_ms: 1250.171573 type: 'test' ... # Subtest: a notifier that dies takes the host down with exit 1, so the unit restarts the pair ok 252 - a notifier that dies takes the host down with exit 1, so the unit restarts the pair --- duration_ms: 449.508431 type: 'test' ... # Subtest: a second host for the same data root refuses with exit 3 while the first runs ok 253 - a second host for the same data root refuses with exit 3 while the first runs --- duration_ms: 307.357255 type: 'test' ... # Subtest: two bus starts racing for one data root leave one host running; the other refuses that a host already runs ok 254 - two bus starts racing for one data root leave one host running; the other refuses that a host already runs --- duration_ms: 875.137829 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 255 - a host takes over a host.lock its dead host left, and puts back a live claim that replaced it meanwhile --- duration_ms: 2.231447 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 256 - a host.lock that goes between the check and the read is tried again; one that can't be parsed still refuses as unreadable --- duration_ms: 1.443739 type: 'test' ... # Subtest: a live host's lock stays, however old the file is ok 257 - a live host's lock stays, however old the file is --- duration_ms: 0.971642 type: 'test' ... # Subtest: a host.lock left by a host killed with SIGKILL doesn't stop the next bus start ok 258 - a host.lock left by a host killed with SIGKILL doesn't stop the next bus start --- duration_ms: 1333.470906 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 259 - while a host boots, a reader sees no host: the human commands still ask for --business, stop and status find none --- duration_ms: 402.754825 type: 'test' ... # Subtest: a host started before host.lock existed, holding only host.json, still refuses a second start, which leaves no lock ok 260 - a host started before host.lock existed, holding only host.json, still refuses a second start, which leaves no lock --- duration_ms: 56.975954 type: 'test' ... # Subtest: a broker fork that throws leaves no host.lock and no host.json ok 261 - a broker fork that throws leaves no host.lock and no host.json --- duration_ms: 61.297029 type: 'test' ... # Subtest: a broker send that throws leaves no host.lock and no host.json ok 262 - a broker send that throws leaves no host.lock and no host.json --- duration_ms: 57.658365 type: 'test' ... # Subtest: a broker that misses its boot wait leaves no host.lock and no host.json ok 263 - a broker that misses its boot wait leaves no host.lock and no host.json --- duration_ms: 76.889194 type: 'test' ... # Subtest: a notifier fork that throws stops the broker and leaves no host.lock and no host.json ok 264 - a notifier fork that throws stops the broker and leaves no host.lock and no host.json --- duration_ms: 328.55585 type: 'test' ... # Subtest: a notifier send that throws stops the broker and leaves no host.lock and no host.json ok 265 - a notifier send that throws stops the broker and leaves no host.lock and no host.json --- duration_ms: 343.577264 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 266 - 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: 344.588327 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 267 - 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: 431.091682 type: 'test' ... # Subtest: a host.json that can't be written stops both children and leaves no host.lock ok 268 - a host.json that can't be written stops both children and leaves no host.lock --- duration_ms: 527.912144 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 269 - 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: 101.015347 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 270 - 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: 450.144837 type: 'test' ... # Subtest: an error event on the broker while the notifier starts fails the start once the notifier replies ok 271 - an error event on the broker while the notifier starts fails the start once the notifier replies --- duration_ms: 527.228677 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 272 - 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: 500.730649 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 273 - 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: 487.285987 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 274 - a broker reply that misses the wait breaks the channel: the late reply answers nothing, later requests refuse, the host exits 1 --- duration_ms: 1307.396443 type: 'test' ... # Subtest: a broker reply with another request's id, or none, breaks the channel and the host exits 1 ok 275 - a broker reply with another request's id, or none, breaks the channel and the host exits 1 --- duration_ms: 677.50729 type: 'test' ... # Subtest: a broker reply with no request waiting breaks the channel and the host exits 1 ok 276 - a broker reply with no request waiting breaks the channel and the host exits 1 --- duration_ms: 307.250359 type: 'test' ... # Subtest: a notifier that refuses stops the broker and the host refuses with exit 3 ok 277 - a notifier that refuses stops the broker and the host refuses with exit 3 --- duration_ms: 384.453792 type: 'test' ... # Subtest: a notifier that refuses after the broker died still refuses with exit 3, without a send to the dead broker ok 278 - a notifier that refuses after the broker died still refuses with exit 3, without a send to the dead broker --- duration_ms: 401.856264 type: 'test' ... # Subtest: a notifier that dies before it replies, after the broker died, still refuses, without a send to the dead broker ok 279 - a notifier that dies before it replies, after the broker died, still refuses, without a send to the dead broker --- duration_ms: 326.865162 type: 'test' ... # Subtest: a close send that fails with EPIPE after the notifier refuses still gives the notifier's refusal, exit 3 ok 280 - a close send that fails with EPIPE after the notifier refuses still gives the notifier's refusal, exit 3 --- duration_ms: 499.918371 type: 'test' ... # Subtest: a close send that fails with EPIPE after the notifier dies unanswered still gives the notifier's error ok 281 - a close send that fails with EPIPE after the notifier dies unanswered still gives the notifier's error --- duration_ms: 344.849777 type: 'test' ... # Subtest: close() whose stop and close sends fail with EPIPE still finishes, with exit 1 ok 282 - close() whose stop and close sends fail with EPIPE still finishes, with exit 1 --- duration_ms: 406.871201 type: 'test' ... # Subtest: watchChildren reports a child that died before it was called, and one that dies later ok 283 - watchChildren reports a child that died before it was called, and one that dies later --- duration_ms: 42.820823 type: 'test' ... # Subtest: bus stop refuses to signal a live pid that is not a bus host ok 284 - bus stop refuses to signal a live pid that is not a bus host --- duration_ms: 205.322865 type: 'test' ... # Subtest: bus start refuses with exit 3 and the code when the broker refuses to boot; bus status names the lock ok 285 - bus start refuses with exit 3 and the code when the broker refuses to boot; bus status names the lock --- duration_ms: 731.023377 type: 'test' ... # Subtest: bus start refuses with exit 3 without a notifier config ok 286 - bus start refuses with exit 3 without a notifier config --- duration_ms: 239.273008 type: 'test' ... # Subtest: bus start runs until bus stop; status reports it while it runs ok 287 - bus start runs until bus stop; status reports it while it runs --- duration_ms: 1364.591421 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 288 - 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: 1035.864523 type: 'test' ... # Subtest: bus-service.sh renders the unit and installs it into a given directory ok 289 - bus-service.sh renders the unit and installs it into a given directory --- duration_ms: 341.655111 type: 'test' ... # Subtest: bus-service.sh pins the claude binary, refuses one the unit can't carry, and renders without one ok 290 - bus-service.sh pins the claude binary, refuses one the unit can't carry, and renders without one --- duration_ms: 835.454794 type: 'test' ... # Subtest: bus-service.sh refuses a directory pin and keeps a symlink default unresolved ok 291 - bus-service.sh refuses a directory pin and keeps a symlink default unresolved --- duration_ms: 170.453056 type: 'test' ... # Subtest: bus-service.sh refuses a default claude without the execute bit, or in a PATH dir with a space ok 292 - bus-service.sh refuses a default claude without the execute bit, or in a PATH dir with a space --- duration_ms: 113.421862 type: 'test' ... # Subtest: bus start --pm while halted keeps the control host up without launching the chief ok 293 - bus start --pm while halted keeps the control host up without launching the chief --- duration_ms: 680.99887 type: 'test' ... # Subtest: row 234: hosts status prints one line per host, and --json the rows ok 294 - row 234: hosts status prints one line per host, and --json the rows --- duration_ms: 3.7401 type: 'test' ... # Subtest: row 234: hosts check and remove send the host id, as the human or the tester ok 295 - row 234: hosts check and remove send the host id, as the human or the tester --- duration_ms: 0.766806 type: 'test' ... # Subtest: row 234: a malformed hosts command is a usage error and calls nothing ok 296 - row 234: a malformed hosts command is a usage error and calls nothing --- duration_ms: 4.010284 type: 'test' ... # Subtest: row 234: a bus refusal exits 2 with its code ok 297 - row 234: a bus refusal exits 2 with its code --- duration_ms: 0.783208 type: 'test' ... # Subtest: row 234: scripts/mosaic sends hosts to packages/cli, not the seat CLI ok 298 - row 234: scripts/mosaic sends hosts to packages/cli, not the seat CLI --- duration_ms: 180.342494 type: 'test' ... # Subtest: row 235: hosts revoke sends agent, host and reason, and sweep the host, as the human or the tester ok 299 - row 235: hosts revoke sends agent, host and reason, and sweep the host, as the human or the tester --- duration_ms: 1.002548 type: 'test' ... # Subtest: row 235 (N10): revoke without --reason, --reason on another verb, and inherited names are usage errors ok 300 - row 235 (N10): revoke without --reason, --reason on another verb, and inherited names are usage errors --- duration_ms: 5.676616 type: 'test' ... # Subtest: row 235: a status line shows the tags of a revoke in progress ok 301 - row 235: a status line shows the tags of a revoke in progress --- duration_ms: 0.788931 type: 'test' ... # Subtest: row 165 CLI: instance add puts an instance in the file, validate exits 0, and the log names the human ok 302 - row 165 CLI: instance add puts an instance in the file, validate exits 0, and the log names the human --- duration_ms: 276.763232 type: 'test' ... # Subtest: row 165 CLI: instance set passes the vars file and --no-launch, and a vars-only change needs no restart ok 303 - row 165 CLI: instance set passes the vars file and --no-launch, and a vars-only change needs no restart --- duration_ms: 202.855377 type: 'test' ... # Subtest: row 165 CLI: a refusal names its code and why, exits 2 and keeps the bytes ok 304 - row 165 CLI: a refusal names its code and why, exits 2 and keeps the bytes --- duration_ms: 97.416539 type: 'test' ... # Subtest: row 165 CLI: usage errors exit 4 before any bus call, and an agent session is refused ok 305 - row 165 CLI: usage errors exit 4 before any bus call, and an agent session is refused --- duration_ms: 77.836052 type: 'test' ... # Subtest: row 165: scripts/mosaic sends business instances and instance to packages/cli, and validate still to packages/business ok 306 - row 165: scripts/mosaic sends business instances and instance to packages/cli, and validate still to packages/business --- duration_ms: 220.596803 type: 'test' ... # Subtest: REQ-LIMIT-2 a claude-code launch asks mayLaunch with launch.account.name ok 307 - REQ-LIMIT-2 a claude-code launch asks mayLaunch with launch.account.name --- duration_ms: 34.508732 type: 'test' ... # Subtest: REQ-LIMIT-2 each login set the account can name is accepted when the bus host holds exactly it ok 308 - REQ-LIMIT-2 each login set the account can name is accepted when the bus host holds exactly it --- duration_ms: 55.61724 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 309 - REQ-LIMIT-2 account-credential-missing: the named set is not a login set, or the bus host lacks part of it --- duration_ms: 56.916191 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 310 - REQ-LIMIT-2 account-credential-ambiguous: the bus host sets a credential variable outside the named set, ANTHROPIC_BASE_URL included --- duration_ms: 47.900214 type: 'test' ... # Subtest: REQ-LIMIT-2 account-is-credential: launch.account.name is the value of a credential variable the bus host sets ok 311 - REQ-LIMIT-2 account-is-credential: launch.account.name is the value of a credential variable the bus host sets --- duration_ms: 28.485033 type: 'test' ... # Subtest: REQ-LIMIT-2 a pi launch carries account null and skips both account checks ok 312 - REQ-LIMIT-2 a pi launch carries account null and skips both account checks --- duration_ms: 31.440931 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 313 - REQ-LIMIT-2 with no launch.account a claude-code launch carries null and the environment is not checked for ambiguity --- duration_ms: 17.192399 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 314 - 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: 28.132305 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 315 - 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: 18.768206 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 316 - 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: 137.416111 type: 'test' ... # Subtest: REQ-LIMIT-4 the launcher reaches token-limit only through the bus: launcher.mjs imports no limit check ok 317 - REQ-LIMIT-4 the launcher reaches token-limit only through the bus: launcher.mjs imports no limit check --- duration_ms: 0.956928 type: 'test' ... # Subtest: a launcher before trusted control initialization refuses processing-uninitialized ok 318 - a launcher before trusted control initialization refuses processing-uninitialized --- duration_ms: 6.35477 type: 'test' ... # Subtest: each launch rereads limits and model selections; lowered limits keep sessions and log exact hit ok 319 - each launch rereads limits and model selections; lowered limits keep sessions and log exact hit --- duration_ms: 58.169816 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 320 - row 65 a passing primary is the route: its provider and model reach mayLaunch, and a stated fallback is never used --- duration_ms: 36.190787 type: 'test' ... # Subtest: row 65 a failed primary preflight takes the stated fallback, and the limit checks see the fallback route ok 321 - row 65 a failed primary preflight takes the stated fallback, and the limit checks see the fallback route --- duration_ms: 19.513522 type: 'test' ... # Subtest: row 65 a failed primary with no fallback refuses with the preflight code and never asks mayLaunch ok 322 - row 65 a failed primary with no fallback refuses with the preflight code and never asks mayLaunch --- duration_ms: 15.471804 type: 'test' ... # Subtest: row 65 a fallback whose own preflight fails refuses with its code and names both reasons ok 323 - row 65 a fallback whose own preflight fails refuses with its code and names both reasons --- duration_ms: 16.869298 type: 'test' ... # Subtest: row 65 the fallback route spends launch.account when its module counts the account ok 324 - row 65 the fallback route spends launch.account when its module counts the account --- duration_ms: 22.339795 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 325 - row 65 a missing harness, model or thinking var refuses no-route naming it, and the system execution keys never fill it --- duration_ms: 37.075747 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 326 - row 65 a harness that is not switched on refuses harness-off, primary or fallback, and an off primary never falls back --- duration_ms: 52.68819 type: 'test' ... # Subtest: row 65 the loader refusing a module refuses harness-refused and names it; a module that throws refuses harness-failed ok 327 - row 65 the loader refusing a module refuses harness-refused and names it; a module that throws refuses harness-failed --- duration_ms: 43.074945 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 328 - row 65 a thinking level the route harness does not apply refuses thinking-unsupported, on the primary or a fallback taken --- duration_ms: 59.910579 type: 'test' ... # Subtest: C2-04: launcher workspace clones code but never the library ok 329 - C2-04: launcher workspace clones code but never the library --- duration_ms: 1698.190376 type: 'test' ... # Subtest: bus start --pm: the launcher instance (the chief of staff) runs under its own PID namespace, registered, with a manifest ok 330 - bus start --pm: the launcher instance (the chief of staff) runs under its own PID namespace, registered, with a manifest --- duration_ms: 1551.186159 type: 'test' ... # usage: {"event":"usage-unknown","business":"acme","run":"r1829ca7a8d1d","instance":"chief","turn":"d89c2a4d-fda3-4ffd-827c-acaec11b0f8e","source":"@none","code":"baseline-unknown"} # usage: {"event":"usage-unknown","business":"acme","run":"r99c40bf7e423","instance":"coder","turn":"3826e2a2-b9ec-4a3b-a73a-a1a465eda032","source":"@none","code":"baseline-unknown"} # usage: {"event":"usage-unknown","business":"acme","run":"r1829ca7a8d1d","instance":"chief","turn":"d88aa5a5-cd12-45c6-8072-9a5ac12918b3","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 331 - the chief of staff launches a coder through its launch tool; the coder answers; refusals name their code --- duration_ms: 1348.697497 type: 'test' ... # usage: {"event":"usage-unknown","business":"acme","run":"r6b11963cbb58","instance":"chief","turn":"bfc62f5e-e23e-4520-a42f-ba4057e561bf","source":"@none","code":"baseline-unknown"} # usage: {"event":"usage-unknown","business":"acme","run":"r223274f196e8","instance":"pm","turn":"3ebbfd4e-e8a9-40b5-95e8-3663d19e64b5","source":"@none","code":"baseline-unknown"} # usage: {"event":"usage-unknown","business":"acme","run":"r6b11963cbb58","instance":"chief","turn":"516af64a-016c-476c-ab12-d2712327213f","source":"@none","code":"baseline-unknown"} # usage: {"event":"usage-unknown","business":"acme","run":"r223274f196e8","instance":"pm","turn":"fc2ec210-78d5-4519-9c4c-4696edb64658","source":"@none","code":"baseline-unknown"} # usage: {"event":"usage-unknown","business":"acme","run":"r223274f196e8","instance":"pm","turn":"2b716ca8-d225-4597-b379-88c1942f1a11","source":"@none","code":"baseline-unknown"} # usage: {"event":"usage-unknown","business":"acme","run":"r6b11963cbb58","instance":"chief","turn":"7b74754d-a8b1-46cf-873e-5c08f2fa8308","source":"@none","code":"baseline-unknown"} # usage: {"event":"usage-unknown","business":"acme","run":"r223274f196e8","instance":"pm","turn":"9840a2aa-457b-46ff-9cf2-7306aca5652d","source":"@none","code":"baseline-unknown"} # usage: {"event":"usage-unknown","business":"acme","run":"r6b11963cbb58","instance":"chief","turn":"f27aa57a-f6a7-4ddc-aaa8-5d497887d566","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 332 - 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: 2349.360099 type: 'test' ... # Subtest: each launch makes sure the workspace has a clone of the project: cloned, fast-forwarded, or fetched and logged ok 333 - each launch makes sure the workspace has a clone of the project: cloned, fast-forwarded, or fetched and logged --- duration_ms: 5017.628425 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 334 - 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: 1217.194918 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 335 - 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: 748.445549 type: 'test' ... # usage: {"event":"usage-unknown","business":"acme","run":"r7337e0781cb8","instance":"coder","turn":"7b39e638-8d9b-438c-bd77-1d77d1e9095e","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 336 - 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: 1275.913835 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 337 - 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: 1001.689196 type: 'test' ... # Subtest: after a restart, the new host's first tick starts a holder whose decision is still held ok 338 - after a restart, the new host's first tick starts a holder whose decision is still held --- duration_ms: 1530.040708 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 339 - 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: 896.039059 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 340 - 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: 428.800154 type: 'test' ... # Subtest: a runner that stops at once ends its launch with the runner's reason ok 341 - a runner that stops at once ends its launch with the runner's reason --- duration_ms: 497.26501 type: 'test' ... # Subtest: a Claude Code launch with no session credential refuses before it starts ok 342 - a Claude Code launch with no session credential refuses before it starts --- duration_ms: 279.193789 type: 'test' ... # Subtest: a pi launch needs no session credential: pi logs in through its own ENV_ALLOW variables ok 343 - a pi launch needs no session credential: pi logs in through its own ENV_ALLOW variables --- duration_ms: 484.179593 type: 'test' ... # usage: {"event":"plugin-refused","kind":"harness","name":"down","code":"missing","message":"/mnt/storage/scratch/rocko-r280/packages/plugins/harness/down is missing","kept":[]} # plugins: {"event":"plugin-refused","kind":"harness","name":"down","code":"missing","message":"/mnt/storage/scratch/rocko-r280/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 344 - row 65 a failed primary preflight launches the fallback on a fixture harness module, recording the route and the reason --- duration_ms: 577.262968 type: 'test' ... # Subtest: a runner killed from the host ends its launch as killed, not failed ok 345 - a runner killed from the host ends its launch as killed, not failed --- duration_ms: 482.343849 type: 'test' ... # Subtest: a missing or failing bwrap refuses sandbox-unavailable before anything starts; there is no unconfined fallback ok 346 - a missing or failing bwrap refuses sandbox-unavailable before anything starts; there is no unconfined fallback --- duration_ms: 321.87261 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 347 - 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: 366.616576 type: 'test' ... # Subtest: row 213 a creative instance's persona is read from /personas: off its digest the launch fails with the mismatch as its reason ok 348 - row 213 a creative instance's persona is read from /personas: off its digest the launch fails with the mismatch as its reason --- duration_ms: 446.337217 type: 'test' ... # Subtest: row 64 on Claude Code a role skill that isn't enabled refuses the same way, before anything starts ok 349 - row 64 on Claude Code a role skill that isn't enabled refuses the same way, before anything starts --- duration_ms: 269.385546 type: 'test' ... # usage: {"event":"usage-unknown","business":"acme","run":"raca17112d848","instance":"chief","turn":"15bbbe31-5976-4054-84d9-3ac143d3fa88","source":"@none","code":"baseline-unknown"} # usage: {"event":"usage-unknown","business":"acme","run":"raca17112d848","instance":"chief","turn":"0e0d2068-ec47-4df5-92b1-4e5392dc57cf","source":"@none","code":"baseline-unknown"} # usage: {"event":"usage-unknown","business":"acme","run":"r2fba5fd91212","instance":"coder","turn":"77c9912d-b770-4915-ad3c-2f73aec524e5","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 350 - a real Claude Code coder's shell can't read a stand-in secret or anything else its sandbox doesn't hold --- duration_ms: 2042.988443 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 351 - 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: 1308.141768 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 352 - 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: 4383.529992 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 353 - bus start --no-launch leaves an earlier host's live session alone: no signal, no end, sessions.json as it was --- duration_ms: 239.235865 type: 'test' ... # Subtest: bus start --no-launch refuses every launch: the PM launch and a session's request, each logged, nothing spawned ok 354 - bus start --no-launch refuses every launch: the PM launch and a session's request, each logged, nothing spawned --- duration_ms: 216.856159 type: 'test' ... # Subtest: bus start --no-launch starts no thread tick; the same host with launches runs it ok 355 - bus start --no-launch starts no thread tick; the same host with launches runs it --- duration_ms: 1184.671771 type: 'test' ... # Subtest: a malformed sessions.json refuses the host start with exit 3 and stays as it was ok 356 - a malformed sessions.json refuses the host start with exit 3 and stays as it was --- duration_ms: 176.725303 type: 'test' ... # Subtest: an over-long launch request is refused at once, not at the 10 s idle timeout ok 357 - an over-long launch request is refused at once, not at the 10 s idle timeout --- duration_ms: 196.949596 type: 'test' ... # Subtest: a launch client that never closes its side doesn't hold the host's close ok 358 - a launch client that never closes its side doesn't hold the host's close --- duration_ms: 198.003231 type: 'test' ... # Subtest: a runner that ignores SIGTERM is killed when the host closes ok 359 - a runner that ignores SIGTERM is killed when the host closes --- duration_ms: 1358.780779 type: 'test' ... # Subtest: kill switch refuses chief and hire before launch work and a clear permits a later request ok 360 - kill switch refuses chief and hire before launch work and a clear permits a later request --- duration_ms: 313.039045 type: 'test' ... # Subtest: kill switch stops an actual managed namespace and records the halt reason without rewriting its bundle ok 361 - kill switch stops an actual managed namespace and records the halt reason without rewriting its bundle --- duration_ms: 341.576113 type: 'test' ... # Subtest: a launch waiting across halt and resume cannot use its stale admission ok 362 - a launch waiting across halt and resume cannot use its stale admission --- duration_ms: 199.529565 type: 'test' ... # Subtest: REQ-LIMIT-3 REQ-LIMIT-4 formatTokens shows each limit counted, not enforced, or check failed, in reset path words ok 363 - REQ-LIMIT-3 REQ-LIMIT-4 formatTokens shows each limit counted, not enforced, or check failed, in reset path words --- duration_ms: 1.382229 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 364 - 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.423282 type: 'test' ... # Subtest: REQ-LIMIT-3 the view prints the limits then the token lines; --json keeps tokens in the result ok 365 - REQ-LIMIT-3 the view prints the limits then the token lines; --json keeps tokens in the result --- duration_ms: 4.466325 type: 'test' ... # Subtest: REQ-LIMIT-3 reset reads the revision, then sends limits.set with one path per limit, a word per level ok 366 - REQ-LIMIT-3 reset reads the revision, then sends limits.set with one path per limit, a word per level --- duration_ms: 1.093493 type: 'test' ... # Subtest: REQ-LIMIT-3 reset with no path, or with --file, is refused before the bus ok 367 - REQ-LIMIT-3 reset with no path, or with --file, is refused before the bus --- duration_ms: 2.073118 type: 'test' ... # Subtest: migration needs no bus/config, prints whole converted document, is idempotent and never writes ok 368 - migration needs no bus/config, prints whole converted document, is idempotent and never writes --- duration_ms: 21.402737 type: 'test' ... # Subtest: limits view/set use the human bus transport and pass only the explicit patch ok 369 - limits view/set use the human bus transport and pass only the explicit patch --- duration_ms: 2.726087 type: 'test' ... # Subtest: limits set passes an assistants patch through unchanged, and the usage names the key ok 370 - limits set passes an assistants patch through unchanged, and the usage names the key --- duration_ms: 1.641377 type: 'test' ... # Subtest: post-119 example and Jason fixture migrate with checked inherited models; wrong or absent config refuses ok 371 - post-119 example and Jason fixture migrate with checked inherited models; wrong or absent config refuses --- duration_ms: 322.157404 type: 'test' ... # Subtest: plugins view/set use the human bus transport and pass only the explicit patch (vikunja:19/305) ok 372 - plugins view/set use the human bus transport and pass only the explicit patch (vikunja:19/305) --- duration_ms: 3.683066 type: 'test' ... # Subtest: inbox --read marks one message by the id inbox prints, delivered or not, and leaves the rest unread ok 373 - inbox --read marks one message by the id inbox prints, delivered or not, and leaves the rest unread --- duration_ms: 61.624217 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 374 - inbox --read refuses an id that is not the human's, prints its code, still marks the rest and exits 2 --- duration_ms: 48.5627 type: 'test' ... # Subtest: inbox --read refuses an ambiguous or short prefix, names every match, reads nothing for them and marks the rest ok 375 - inbox --read refuses an ambiguous or short prefix, names every match, reads nothing for them and marks the rest --- duration_ms: 1.587576 type: 'test' ... # Subtest: inbox --read-all marks every message the inbox walk lists, delivered or not, and inbox then shows 0 unread ok 376 - inbox --read-all marks every message the inbox walk lists, delivered or not, and inbox then shows 0 unread --- duration_ms: 1315.978785 type: 'test' ... # Subtest: inbox --read stops on an error that is not about one message ok 377 - inbox --read stops on an error that is not about one message --- duration_ms: 1.308635 type: 'test' ... # Subtest: inbox --read and --read-all refuse bad combinations; other verbs refuse them ok 378 - inbox --read and --read-all refuse bad combinations; other verbs refuse them --- duration_ms: 27.097669 type: 'test' ... # Subtest: the human names an instance, lists it, and talk's message.send reaches it by that name ok 379 - the human names an instance, lists it, and talk's message.send reaches it by that name --- duration_ms: 42.851602 type: 'test' ... # Subtest: name and names refuse the wrong number of arguments with the usage ok 380 - name and names refuse the wrong number of arguments with the usage --- duration_ms: 22.276657 type: 'test' ... # Subtest: zoned uses the IANA zone across DST ok 381 - zoned uses the IANA zone across DST --- duration_ms: 24.969341 type: 'test' ... # Subtest: each open blocking decision is DM'd once, across polls and a restart; non-blocking ones are not ok 382 - each open blocking decision is DM'd once, across polls and a restart; non-blocking ones are not --- duration_ms: 44.273229 type: 'test' ... # Subtest: two blocking decisions get two DMs with different nonces ok 383 - two blocking decisions get two DMs with different nonces --- duration_ms: 34.88619 type: 'test' ... # Subtest: the digest nonce differs per business and per day and fits Discord's 25 characters ok 384 - the digest nonce differs per business and per day and fits Discord's 25 characters --- duration_ms: 0.330364 type: 'test' ... # Subtest: a failed DM is journaled, backs off, and is retried until it lands ok 385 - a failed DM is journaled, backs off, and is retried until it lands --- duration_ms: 31.594225 type: 'test' ... # Subtest: five definite refusals stop a DM: one gave-up line, one log line, and a restart keeps the count ok 386 - five definite refusals stop a DM: one gave-up line, one log line, and a restart keeps the count --- duration_ms: 36.086252 type: 'test' ... # Subtest: 429s, 5xx-style unknowns and refusals without a status never count toward the limit ok 387 - 429s, 5xx-style unknowns and refusals without a status never count toward the limit --- duration_ms: 31.345445 type: 'test' ... # Subtest: a crash between the fifth refusal and its gave-up line: the next poll appends it and sends nothing ok 388 - a crash between the fifth refusal and its gave-up line: the next poll appends it and sends nothing --- duration_ms: 24.37774 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 389 - 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: 203.639746 type: 'test' ... # Subtest: a restart after the second refusal does not send before that refusal's 30 min are up ok 390 - a restart after the second refusal does not send before that refusal's 30 min are up --- duration_ms: 114.321186 type: 'test' ... # Subtest: the digest goes at 08:00 Chicago once a day, with blocking ones marked as DM'd ok 391 - the digest goes at 08:00 Chicago once a day, with blocking ones marked as DM'd --- duration_ms: 31.715146 type: 'test' ... # Subtest: a late start with no digest for the day sends one at once; an empty inbox gets one line ok 392 - a late start with no digest for the day sends one at once; an empty inbox gets one line --- duration_ms: 24.683877 type: 'test' ... # Subtest: an inbox read failure is logged and the next poll retries ok 393 - an inbox read failure is logged and the next poll retries --- duration_ms: 1.368174 type: 'test' ... # Subtest: no Discord id reaches the journal or the log ok 394 - no Discord id reaches the journal or the log --- duration_ms: 25.590835 type: 'test' ... # Subtest: the journal: a torn tail is copied out and truncated, so an append after it reopens cleanly ok 395 - the journal: a torn tail is copied out and truncated, so an append after it reopens cleanly --- duration_ms: 3.384348 type: 'test' ... # Subtest: the journal: a crash between the copy and the truncate leaves a tail the next open repairs ok 396 - the journal: a crash between the copy and the truncate leaves a tail the next open repairs --- duration_ms: 4.627772 type: 'test' ... # Subtest: the journal: a whole file that is one torn line truncates to empty ok 397 - the journal: a whole file that is one torn line truncates to empty --- duration_ms: 2.613401 type: 'test' ... # Subtest: the journal: a malformed complete line refuses and leaves the file and any torn tail alone ok 398 - the journal: a malformed complete line refuses and leaves the file and any torn tail alone --- duration_ms: 0.871798 type: 'test' ... # Subtest: the journal: a loose file mode, a loose directory or a symlinked journal refuses ok 399 - the journal: a loose file mode, a loose directory or a symlinked journal refuses --- duration_ms: 1.03048 type: 'test' ... # Subtest: the journal: a line with a wrong type refuses with exit 3 and names the field ok 400 - the journal: a line with a wrong type refuses with exit 3 and names the field --- duration_ms: 3.497851 type: 'test' ... # Subtest: the journal: a symlinked directory refuses and says it is a link ok 401 - the journal: a symlinked directory refuses and says it is a link --- duration_ms: 0.542056 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 402 - 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.808052 type: 'test' ... # Subtest: the journal: an append after the file was swapped for a symlink refuses and writes nothing through it ok 403 - the journal: an append after the file was swapped for a symlink refuses and writes nothing through it --- duration_ms: 0.65005 type: 'test' ... # Subtest: the journal: a directory it cannot write or create refuses with exit 3 and names the path ok 404 - the journal: a directory it cannot write or create refuses with exit 3 and names the path --- duration_ms: 0.875526 type: 'test' ... # Subtest: digest content stays within Discord's 2000 characters ok 405 - digest content stays within Discord's 2000 characters --- duration_ms: 0.508568 type: 'test' ... # Subtest: runLoop never overlaps ticks and stops after the one in flight ok 406 - runLoop never overlaps ticks and stops after the one in flight --- duration_ms: 111.451281 type: 'test' ... # Subtest: processing halt prevents notifier reads and sends and fences the wait before delivery ok 407 - processing halt prevents notifier reads and sends and fences the wait before delivery --- duration_ms: 32.648501 type: 'test' ... # Subtest: a human command refused with human-required prints the other-tree line and exits 3 ok 408 - a human command refused with human-required prints the other-tree line and exits 3 --- duration_ms: 3.571804 type: 'test' ... # Subtest: a --tester command refused with tester-required prints the other-tree line and exits 3 ok 409 - a --tester command refused with tester-required prints the other-tree line and exits 3 --- duration_ms: 1.433873 type: 'test' ... # Subtest: other exit-3 refusals print no other-tree line ok 410 - other exit-3 refusals print no other-tree line --- duration_ms: 1.91891 type: 'test' ... # Subtest: the line names no path ok 411 - the line names no path --- duration_ms: 0.164048 type: 'test' ... # Subtest: human halt/status/resume uses management transport without loading any channel ok 412 - human halt/status/resume uses management transport without loading any channel --- duration_ms: 37.64355 type: 'test' ... # Subtest: halt refuses inside an agent before transport ok 413 - halt refuses inside an agent before transport --- duration_ms: 17.256698 type: 'test' ... # Subtest: resume refuses inside an agent before transport ok 414 - resume refuses inside an agent before transport --- duration_ms: 17.975204 type: 'test' ... # Subtest: unknown and partially stopped outcomes are never reported as a successful halt ok 415 - unknown and partially stopped outcomes are never reported as a successful halt --- duration_ms: 17.66631 type: 'test' ... # Subtest: threads project resolution explains a business repository and falls back if its file cannot load ok 416 - threads project resolution explains a business repository and falls back if its file cannot load --- duration_ms: 76.060937 type: 'test' ... # Subtest: project create prints the repository-name refusal and exits two without writing ok 417 - project create prints the repository-name refusal and exits two without writing --- duration_ms: 33.151085 type: 'test' ... # Subtest: project init/check use declared business repo and never contact the bus ok 418 - project init/check use declared business repo and never contact the bus --- duration_ms: 209.782705 type: 'test' ... # Subtest: project commands validate args and refuse undeclared projects and agent init ok 419 - project commands validate args and refuse undeclared projects and agent init --- duration_ms: 48.896261 type: 'test' ... # Subtest: project create and list validate their arguments before any bus call ok 420 - project create and list validate their arguments before any bus call --- duration_ms: 49.755081 type: 'test' ... # Subtest: project dispatcher reaches the human CLI ok 421 - project dispatcher reaches the human CLI --- duration_ms: 157.943059 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 422 - 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: 1057.514772 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 423 - T3 end to end: a fork the token can't reach is fork-unavailable, filed once, and nothing is recorded as allowed --- duration_ms: 744.918134 type: 'test' ... # Subtest: a bad branch or project refuses before the broker; a fork, user or ref in the request is ignored ok 424 - a bad branch or project refuses before the broker; a fork, user or ref in the request is ignored --- duration_ms: 1016.396181 type: 'test' ... # Subtest: T3 end to end: two agents, one project, each lands on its own fork only; the upstream receives nothing ok 425 - T3 end to end: two agents, one project, each lands on its own fork only; the upstream receives nothing --- duration_ms: 2201.965701 type: 'test' ... # Subtest: T3: a push after checkPublish and before the lock refuses ref-moved; the fork receives nothing ok 426 - T3: a push after checkPublish and before the lock refuses ref-moved; the fork receives nothing --- duration_ms: 1206.25622 type: 'test' ... # Subtest: T3: a push recorded while the bus process pushes refuses decision-mismatch; only the decision's commit reached the fork ok 427 - T3: a push recorded while the bus process pushes refuses decision-mismatch; only the decision's commit reached the fork --- duration_ms: 869.434973 type: 'test' ... # Subtest: row 237: two publishes race on one decision; the second refuses publish-busy and exactly one push reaches the fork ok 428 - row 237: two publishes race on one decision; the second refuses publish-busy and exactly one push reaches the fork --- duration_ms: 1034.272221 type: 'test' ... # Subtest: sage-1440: the publishResult poll is bounded: publish-timeout, filed once, and nothing recorded ok 429 - sage-1440: the publishResult poll is bounded: publish-timeout, filed once, and nothing recorded --- duration_ms: 869.467231 type: 'test' ... # bus: publish 6d8c7a80-ff7d-4451-84eb-c774a4e0c76c: 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 430 - 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: 1176.838386 type: 'test' ... # Subtest: a copy carries every file the harness modules read from it ok 431 - a copy carries every file the harness modules read from it --- duration_ms: 1190.96557 type: 'test' ... # Subtest: shared copy: npm ci, pushed reachability, readonly/existing copy, webui delegation ok 432 - shared copy: npm ci, pushed reachability, readonly/existing copy, webui delegation --- duration_ms: 1074.138467 type: 'test' ... # Subtest: wrapper preserves Q81 lease and marker, rejects foreign/symlink; check uses effective roots ok 433 - wrapper preserves Q81 lease and marker, rejects foreign/symlink; check uses effective roots --- duration_ms: 1782.919134 type: 'test' ... # Subtest: row 190 N6: check --instance passes only when the wrapper exports the instance's MOSAIC_CONFIG ok 434 - row 190 N6: check --instance passes only when the wrapper exports the instance's MOSAIC_CONFIG --- duration_ms: 1526.611098 type: 'test' ... # Subtest: bus unit copy/pm pins, install refuses all busy states and failed reads, drop-in refusal ok 435 - bus unit copy/pm pins, install refuses all busy states and failed reads, drop-in refusal --- duration_ms: 1594.073151 type: 'test' ... # Subtest: missing package manifest refuses before npm; npm failure removes the unpublished temp copy ok 436 - missing package manifest refuses before npm; npm failure removes the unpublished temp copy --- duration_ms: 831.13976 type: 'test' ... # Subtest: real pinned install loads bus and Console; same-copy mosaic talk passes proof, other trees refuse ok 437 - real pinned install loads bus and Console; same-copy mosaic talk passes proof, other trees refuse --- duration_ms: 7641.269181 type: 'test' ... # Subtest: bus status reads effective copy/pm/drop-ins without writes; check refuses an overridden ExecStart ok 438 - bus status reads effective copy/pm/drop-ins without writes; check refuses an overridden ExecStart --- duration_ms: 1070.317571 type: 'test' ... # Subtest: drop-ins in either override field and malformed metadata refuse; uninstall also checks --no-reload ok 439 - drop-ins in either override field and malformed metadata refuse; uninstall also checks --no-reload --- duration_ms: 658.907306 type: 'test' ... # Subtest: install never shows a template name on systemd 261; template drop-ins still refuse ok 440 - install never shows a template name on systemd 261; template drop-ins still refuse --- duration_ms: 559.012443 type: 'test' ... # Subtest: unlisted instance drop-in is found in another unit lookup directory; path discovery errors refuse ok 441 - unlisted instance drop-in is found in another unit lookup directory; path discovery errors refuse --- duration_ms: 539.452165 type: 'test' ... # Subtest: inherited mosaic-.service.d override refuses without changing the unit ok 442 - inherited mosaic-.service.d override refuses without changing the unit --- duration_ms: 631.352616 type: 'test' ... # Subtest: inherited service.d override refuses without changing the unit ok 443 - inherited service.d override refuses without changing the unit --- duration_ms: 506.154827 type: 'test' ... # Subtest: inherited drop-in unreadable directory or file refuses before writing ok 444 - inherited drop-in unreadable directory or file refuses before writing --- duration_ms: 631.830208 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 445 - row 232: copy --bundle copies a SHA the bundle's refactor reaches, byte-identical to copy SHA, and refuses the rest --- duration_ms: 3327.799454 type: 'test' ... # Subtest: row 232: wrapper --create writes the first wrapper only, the same bytes wrapper ID writes, and refuses over any file ok 446 - row 232: wrapper --create writes the first wrapper only, the same bytes wrapper ID writes, and refuses over any file --- duration_ms: 1131.364802 type: 'test' ... # Subtest: row 232: check --units external reads the system units, the default reads the user units ok 447 - row 232: check --units external reads the system units, the default reads the user units --- duration_ms: 866.516241 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: 103.97113 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: 50.351327 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: 197.195443 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: 190.770591 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: 101.666416 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: 105.430862 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: 718.308908 type: 'test' ... # Subtest: --instance dev writes exactly what no flag writes ok 8 - --instance dev writes exactly what no flag writes --- duration_ms: 107.383046 type: 'test' ... 1..8 ok 448 - T-I1 bootstrap --instance creates each instance's config, root and marker once, and refuses what it must not claim --- duration_ms: 1578.381846 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: 110.958878 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: 45.179969 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: 115.33256 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: 777.305073 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: 82.265942 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: 428.079816 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: 64.004951 type: 'test' ... 1..7 ok 449 - T-I2 selection: the four rows of D1 through the instance op and through an entry point --- duration_ms: 1731.122741 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: 284.680205 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: 60.219496 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: 251.365888 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: 470.367055 type: 'test' ... 1..4 ok 450 - T-I7 claims: the instance op refuses a root another instance claims, and a named root with no marker --- duration_ms: 1253.063166 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 451 - 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: 2219.332671 type: 'test' ... # Subtest: T-I10 the guard protects every instance's config dir and data roots, even under a corrupt config ok 452 - T-I10 the guard protects every instance's config dir and data roots, even under a corrupt config --- duration_ms: 159.049641 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 453 - 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: 1786.412303 type: 'test' ... # Subtest: row 232: pm-on and activate --pm-after-harness refuse external-pm ok 454 - row 232: pm-on and activate --pm-after-harness refuse external-pm --- duration_ms: 2238.325513 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 455 - 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: 3679.344358 type: 'test' ... # Subtest: row 232: activate stages: the pointer stays, AWAITING-UNITS names TO, a backup of the stopped store, no directory in the set, no --user, no journal ok 456 - row 232: activate stages: the pointer stays, AWAITING-UNITS names TO, a backup of the stopped store, no directory in the set, no --user, no journal --- duration_ms: 3434.370166 type: 'test' ... # Subtest: row 232: A3 order: capture-failed and marker-failed refuse with exit 3 and leave no marker or FAILED ok 457 - row 232: A3 order: capture-failed and marker-failed refuse with exit 3 and leave no marker or FAILED --- duration_ms: 2887.461202 type: 'test' ... # Subtest: row 232: confirm and revert refuse open-activation with no marker, two, the wrong copy, or one the log holds closed; refusals name no activation ok 458 - row 232: confirm and revert refuse open-activation with no marker, two, the wrong copy, or one the log holds closed; refusals name no activation --- duration_ms: 4866.968303 type: 'test' ... # Subtest: row 232: confirm polls: bus status good after 3 s fails with --timeout 1, writes FAILED and leaves the rest; FAILED then refuses activation-failed ok 459 - row 232: confirm polls: bus status good after 3 s fails with --timeout 1, writes FAILED and leaves the rest; FAILED then refuses activation-failed --- duration_ms: 4559.273226 type: 'test' ... # Subtest: row 232: confirm polls to a pass with --timeout 10: the pointer, an ok line that reads as the started run, no marker ok 460 - row 232: confirm polls to a pass with --timeout 10: the pointer, an ok line that reads as the started run, no marker --- duration_ms: 6037.216105 type: 'test' ... # Subtest: row 232: stale-start: @1792540799 fails a start floor of 1792540800 with stale-start ok 461 - row 232: stale-start: @1792540799 fails a start floor of 1792540800 with stale-start --- duration_ms: 1916.688354 type: 'test' ... # Subtest: row 232: stale-start is a gate code: an enter time that turns to @1792540800 after 2 s passes with --timeout 10 ok 462 - row 232: stale-start is a gate code: an enter time that turns to @1792540800 after 2 s passes with --timeout 10 --- duration_ms: 4383.458812 type: 'test' ... # Subtest: row 232: gate (N2, A2f): --since 1792540800 passes @1792540800 and fails @1792540799; it writes nothing ok 463 - row 232: gate (N2, A2f): --since 1792540800 passes @1792540800 and fails @1792540799; it writes nothing --- duration_ms: 2583.858347 type: 'test' ... # Subtest: row 232: the external PM check reads launches list: one live run of launch.by since the start passes ok 464 - row 232: the external PM check reads launches list: one live run of launch.by since the start passes --- duration_ms: 12463.076499 type: 'test' ... # Subtest: row 232: revert puts the wrapper back and leaves the store when nothing migrated ok 465 - row 232: revert puts the wrapper back and leaves the store when nothing migrated --- duration_ms: 1437.753205 type: 'test' ... # Subtest: row 232: confirm --rollback refuses rollback-mismatch, and logs rollback-failed with exit 2 when OLD fails its gate ok 466 - row 232: confirm --rollback refuses rollback-mismatch, and logs rollback-failed with exit 2 when OLD fails its gate --- duration_ms: 3569.446579 type: 'test' ... # Subtest: row 232: confirm --rollback after a --restore swap logs rollbackCode not-attempted; rollback --restore finds an external backup ok 467 - row 232: confirm --rollback after a --restore swap logs rollbackCode not-attempted; rollback --restore finds an external backup --- duration_ms: 3415.598195 type: 'test' ... # Subtest: row 232: sequence 1: activate, confirm times out, revert, confirm --rollback --cause A5: gate-failed rollback ok ok 468 - row 232: sequence 1: activate, confirm times out, revert, confirm --rollback --cause A5: gate-failed rollback ok --- duration_ms: 4806.872784 type: 'test' ... # Subtest: row 232: sequence 2: activate --migrate, the wrapper install fails, revert restores TAKEN, confirm --rollback --cause A3 ok 469 - row 232: sequence 2: activate --migrate, the wrapper install fails, revert restores TAKEN, confirm --rollback --cause A3 --- duration_ms: 3262.253697 type: 'test' ... # Subtest: row 232: sequence 3: activate, root's A4 fails, revert, confirm --rollback --cause A4: failed code units-start ok 470 - row 232: sequence 3: activate, root's A4 fails, revert, confirm --rollback --cause A4: failed code units-start --- duration_ms: 2785.963545 type: 'test' ... # Subtest: row 232: sequence 4: a capture failure leaves nothing open, then A2f's gate OLD writes nothing ok 471 - row 232: sequence 4: a capture failure leaves nothing open, then A2f's gate OLD writes nothing --- duration_ms: 1924.424103 type: 'test' ... # Subtest: row 232: sequence 5: a confirm of the wrong copy is refused, and revert and confirm --rollback still close the activation ok 472 - row 232: sequence 5: a confirm of the wrong copy is refused, and revert and confirm --rollback still close the activation --- duration_ms: 3116.111998 type: 'test' ... # Subtest: row 232: sequence 6: a revert that fails leaves the activation open, and the next --plan refuses interrupted-run ok 473 - row 232: sequence 6: a revert that fails leaves the activation open, and the next --plan refuses interrupted-run --- duration_ms: 1566.877186 type: 'test' ... # Subtest: row 232: sequence 7: adopt, two confirmed activates, rollback --to the previous copy, confirmed, logs op rollback ok 474 - row 232: sequence 7: adopt, two confirmed activates, rollback --to the previous copy, confirmed, logs op rollback --- duration_ms: 6842.744513 type: 'test' ... # Subtest: row 232: sequence 8: a migration that writes and fails: revert restores the backup byte for byte, confirm --rollback --cause A3 ok 475 - row 232: sequence 8: a migration that writes and fails: revert restores the backup byte for byte, confirm --rollback --cause A3 --- duration_ms: 2734.560357 type: 'test' ... # Subtest: row 232: user mode: every systemctl call carries --user, and activate, rollback and check make the base's calls ok 476 - row 232: user mode: every systemctl call carries --user, and activate, rollback and check make the base's calls --- duration_ms: 6365.905867 type: 'test' ... # Subtest: row 232: user mode: a default activate --plan prints the base's bytes ok 477 - row 232: user mode: a default activate --plan prints the base's bytes --- duration_ms: 2575.891694 type: 'test' ... # Subtest: T1 adopt writes the pointer from the units once; a failing check refuses check-failed ok 478 - T1 adopt writes the pointer from the units once; a failing check refuses check-failed --- duration_ms: 3013.419534 type: 'test' ... # Subtest: T2 activate installs exactly the pointer's pm, claude and Console flags ok 479 - T2 activate installs exactly the pointer's pm, claude and Console flags --- duration_ms: 3754.806455 type: 'test' ... # Subtest: T3 a hand-edited unit refuses unit-flags-drift, names the difference and changes nothing # Subtest: pm ok 1 - pm --- duration_ms: 1814.122855 type: 'test' ... # Subtest: claude ok 2 - claude --- duration_ms: 1829.41326 type: 'test' ... # Subtest: console ok 3 - console --- duration_ms: 1708.959011 type: 'test' ... 1..3 ok 480 - T3 a hand-edited unit refuses unit-flags-drift, names the difference and changes nothing --- duration_ms: 5354.118763 type: 'test' ... # Subtest: T4 each item 3 refusal changes nothing and logs one line with its code # Subtest: copy-missing ok 1 - copy-missing --- duration_ms: 1346.791889 type: 'test' ... # Subtest: copy-unreachable ok 2 - copy-unreachable --- duration_ms: 1398.727056 type: 'test' ... # Subtest: copy-schema-unknown ok 3 - copy-schema-unknown --- duration_ms: 1268.572972 type: 'test' ... # Subtest: already-active ok 4 - already-active --- duration_ms: 1193.319064 type: 'test' ... # Subtest: instance-busy (another business active) ok 5 - instance-busy (another business active) --- duration_ms: 1237.316518 type: 'test' ... # Subtest: instance-busy (this business activating) ok 6 - instance-busy (this business activating) --- duration_ms: 1378.301319 type: 'test' ... # Subtest: drop-in-override ok 7 - drop-in-override --- duration_ms: 1238.512732 type: 'test' ... # Subtest: no-pointer ok 8 - no-pointer --- duration_ms: 650.170184 type: 'test' ... 1..8 ok 481 - T4 each item 3 refusal changes nothing and logs one line with its code --- duration_ms: 9714.242031 type: 'test' ... # Subtest: T5 an activate with no migration stops the Console then the bus, installs, starts the bus then the Console ok 482 - T5 an activate with no migration stops the Console then the bus, installs, starts the bus then the Console --- duration_ms: 2506.361477 type: 'test' ... # Subtest: T6 a migration without --migrate rolls back with migration-needs-flag ok 483 - T6 a migration without --migrate rolls back with migration-needs-flag --- duration_ms: 2051.638795 type: 'test' ... # Subtest: T7 --migrate takes the backup before the migration runs ok 484 - T7 --migrate takes the backup before the migration runs --- duration_ms: 2163.801475 type: 'test' ... # Subtest: T8 a failed migration restores the backup and keeps the store it replaced ok 485 - T8 a failed migration restores the backup and keeps the store it replaced --- duration_ms: 1961.210885 type: 'test' ... # Subtest: T9 a store outside the target's chain rolls back with store-newer ok 486 - T9 a store outside the target's chain rolls back with store-newer --- duration_ms: 1794.555241 type: 'test' ... # Subtest: T10 each gate check failing alone rolls back and puts every file back # Subtest: units-inactive ok 1 - units-inactive --- duration_ms: 5223.033076 type: 'test' ... # Subtest: bus-status ok 2 - bus-status --- duration_ms: 5634.242106 type: 'test' ... # Subtest: healthz ok 3 - healthz --- duration_ms: 4747.575699 type: 'test' ... # Subtest: copy-check ok 4 - copy-check --- duration_ms: 5047.95198 type: 'test' ... # Subtest: pm-launch-unconfirmed ok 5 - pm-launch-unconfirmed --- duration_ms: 5159.698052 type: 'test' ... 1..5 ok 487 - T10 each gate check failing alone rolls back and puts every file back --- duration_ms: 25813.500474 type: 'test' ... # Subtest: T10b the PM check needs exactly one launched line for a live run of this start # Subtest: no launched line ok 1 - no launched line --- duration_ms: 5213.463449 type: 'test' ... # Subtest: two lines ok 2 - two lines --- duration_ms: 5476.437877 type: 'test' ... # Subtest: a changed word ok 3 - a changed word --- duration_ms: 5147.438203 type: 'test' ... # Subtest: run not in launches list ok 4 - run not in launches list --- duration_ms: 5139.835982 type: 'test' ... # Subtest: run started before the start ok 5 - run started before the start --- duration_ms: 5135.935598 type: 'test' ... # Subtest: a human launch with no journal line ok 6 - a human launch with no journal line --- duration_ms: 5048.599451 type: 'test' ... # Subtest: run for another business ok 7 - run for another business --- duration_ms: 5515.09662 type: 'test' ... # Subtest: run not live ok 8 - run not live --- duration_ms: 5331.997854 type: 'test' ... # Subtest: one well-formed line and a live run pass ok 9 - one well-formed line and a live run pass --- duration_ms: 1923.662486 type: 'test' ... 1..9 ok 488 - T10b the PM check needs exactly one launched line for a live run of this start --- duration_ms: 43933.987127 type: 'test' ... # Subtest: T11 a rollback whose gate fails too: rollback-failed, exit 2, both units stopped, no retry ok 489 - T11 a rollback whose gate fails too: rollback-failed, exit 2, both units stopped, no retry --- duration_ms: 7067.140411 type: 'test' ... # Subtest: T12 rollback takes the previous copy from the log ok 490 - T12 rollback takes the previous copy from the log --- duration_ms: 3064.219331 type: 'test' ... # Subtest: T13 a rollback across a migration needs --restore, then restores and goes live ok 491 - T13 a rollback across a migration needs --restore, then restores and goes live --- duration_ms: 3722.576699 type: 'test' ... # Subtest: T14 events written after the backup need --events N with the right N ok 492 - T14 events written after the backup need --events N with the right N --- duration_ms: 4191.040174 type: 'test' ... # Subtest: T14b a rollback --restore whose gate fails stops both units and skips item 6 ok 493 - T14b a rollback --restore whose gate fails stops both units and skips item 6 --- duration_ms: 6715.499163 type: 'test' ... # Subtest: T14c a rollback without --restore whose gate fails runs item 6 ok 494 - T14c a rollback without --restore whose gate fails runs item 6 --- duration_ms: 5813.722423 type: 'test' ... # Subtest: T15 --plan names the migration and the restore and changes nothing ok 495 - T15 --plan names the migration and the restore and changes nothing --- duration_ms: 2349.496911 type: 'test' ... # Subtest: T26 --plan lists the commits an activate adds, after the migration lines ok 496 - T26 --plan lists the commits an activate adds, after the migration lines --- duration_ms: 1241.317065 type: 'test' ... # Subtest: T27 --plan names each migration step, or says the steps cannot be read ok 497 - T27 --plan names each migration step, or says the steps cannot be read --- duration_ms: 988.793959 type: 'test' ... # Subtest: T25 --plan refuses copies-unrelated when neither copy is an ancestor of the other ok 498 - T25 --plan refuses copies-unrelated when neither copy is an ancestor of the other --- duration_ms: 470.398511 type: 'test' ... # Subtest: T23 --plan reads the store without changing a file, stopped or held # Subtest: stopped store ok 1 - stopped store --- duration_ms: 581.011039 type: 'test' ... # Subtest: held store ok 2 - held store --- duration_ms: 570.800107 type: 'test' ... 1..2 ok 499 - T23 --plan reads the store without changing a file, stopped or held --- duration_ms: 1152.317509 type: 'test' ... # Subtest: T24 business-mismatch and capture-failed refuse with exit 3; a short id is a usage error ok 500 - T24 business-mismatch and capture-failed refuse with exit 3; a short id is a usage error --- duration_ms: 1283.508912 type: 'test' ... # Subtest: T16 status prints the pointer, the log, the check, bus status and drift, and writes nothing ok 501 - T16 status prints the pointer, the log, the check, bus status and drift, and writes nothing --- duration_ms: 878.73602 type: 'test' ... # Subtest: T19 a started line with no final line: status shows it and every changing verb refuses ok 502 - T19 a started line with no final line: status shows it and every changing verb refuses --- duration_ms: 1184.061199 type: 'test' ... # Subtest: T20 a held run lock refuses run-locked without a log line; status and --plan still run ok 503 - T20 a held run lock refuses run-locked without a log line; status and --plan still run --- duration_ms: 1245.030941 type: 'test' ... # Subtest: T21 a bus unit with no MOSAIC_CLAUDE_BIN: adopt and activate refuse no-claude-pin ok 504 - T21 a bus unit with no MOSAIC_CLAUDE_BIN: adopt and activate refuse no-claude-pin --- duration_ms: 1369.795092 type: 'test' ... # Subtest: T22 the stopped store read: a -wal or -shm refuses store-unclean and is left alone; a clean read adds no file # Subtest: bus.sqlite-wal ok 1 - bus.sqlite-wal --- duration_ms: 1647.669331 type: 'test' ... # Subtest: bus.sqlite-shm ok 2 - bus.sqlite-shm --- duration_ms: 1643.761468 type: 'test' ... # Subtest: clean ok 3 - clean --- duration_ms: 1831.8044 type: 'test' ... 1..3 ok 505 - T22 the stopped store read: a -wal or -shm refuses store-unclean and is left alone; a clean read adds no file --- duration_ms: 5123.853819 type: 'test' ... # Subtest: T28 a unit path, drop-in directory or drop-in file that cannot be read, or a relative unit path, refuses drop-in-override before any stop # Subtest: unit path ok 1 - unit path --- duration_ms: 785.315174 type: 'test' ... # Subtest: drop-in directory ok 2 - drop-in directory --- duration_ms: 784.323068 type: 'test' ... # Subtest: drop-in file ok 3 - drop-in file --- duration_ms: 784.755014 type: 'test' ... # Subtest: relative unit path ok 4 - relative unit path --- duration_ms: 745.680062 type: 'test' ... 1..4 ok 506 - T28 a unit path, drop-in directory or drop-in file that cannot be read, or a relative unit path, refuses drop-in-override before any stop --- duration_ms: 3100.869503 type: 'test' ... # Subtest: T29 a bus that stops during the held-store read: --plan says so, rollback --restore refuses restore-mismatch # Subtest: --plan ok 1 - --plan --- duration_ms: 790.220115 type: 'test' ... # Subtest: rollback --restore ok 2 - rollback --restore --- duration_ms: 2259.915474 type: 'test' ... 1..2 ok 507 - T29 a bus that stops during the held-store read: --plan says so, rollback --restore refuses restore-mismatch --- duration_ms: 3050.595676 type: 'test' ... # Subtest: T30 a copy check that agrees on another copy fails the gate with copy-check and rolls back ok 508 - T30 a copy check that agrees on another copy fails the gate with copy-check and rolls back --- duration_ms: 4676.999812 type: 'test' ... # Subtest: T31 a quoted or escaped Environment= or ExecStart= is unreadable: refusals by name, nothing read from /a # Subtest: Environment double quotes ok 1 - Environment double quotes --- duration_ms: 1662.3588 type: 'test' ... # Subtest: Environment single quotes ok 2 - Environment single quotes --- duration_ms: 1659.076699 type: 'test' ... # Subtest: Environment backslash ok 3 - Environment backslash --- duration_ms: 1632.019496 type: 'test' ... # Subtest: ExecStart quotes ok 4 - ExecStart quotes --- duration_ms: 1643.914511 type: 'test' ... # Subtest: Console ExecStart quotes ok 5 - Console ExecStart quotes --- duration_ms: 1631.078153 type: 'test' ... 1..5 ok 509 - T31 a quoted or escaped Environment= or ExecStart= is unreadable: refusals by name, nothing read from /a --- duration_ms: 8229.427321 type: 'test' ... # Subtest: T32 item 1: --pm-after-harness refuses a target without harness or a file that sets it, and passes without the PM # Subtest: usage: not with --pm, and only for activate ok 1 - usage: not with --pm, and only for activate --- duration_ms: 631.04827 type: 'test' ... # Subtest: pm-after-harness-target ok 2 - pm-after-harness-target --- duration_ms: 867.242781 type: 'test' ... # Subtest: pm-after-harness-set ok 3 - pm-after-harness-set --- duration_ms: 1249.169715 type: 'test' ... # Subtest: a pointer without pm ok 4 - a pointer without pm --- duration_ms: 839.424024 type: 'test' ... # Subtest: phase 1 installs without --pm, skips pm_launched and writes the pending pointer ok 5 - phase 1 installs without --pm, skips pm_launched and writes the pending pointer --- duration_ms: 1883.159803 type: 'test' ... 1..5 ok 510 - T32 item 1: --pm-after-harness refuses a target without harness or a file that sets it, and passes without the PM --- duration_ms: 5470.952791 type: 'test' ... # Subtest: T33 item 2: read_pointer takes pmPending only as true beside pm false; a pending pointer refuses activate and shows in status # Subtest: read_pointer ok 1 - read_pointer --- duration_ms: 1595.5984 type: 'test' ... # Subtest: pm-pending, already-adopted and the status line ok 2 - pm-pending, already-adopted and the status line --- duration_ms: 2687.766658 type: 'test' ... 1..2 ok 511 - T33 item 2: read_pointer takes pmPending only as true beside pm false; a pending pointer refuses activate and shows in status --- duration_ms: 4283.880836 type: 'test' ... # Subtest: T34 item 3: pm-on refuses before any stop, passes with the PM, or puts the phase-1 bus back # Subtest: not-pending ok 1 - not-pending --- duration_ms: 701.213377 type: 'test' ... # Subtest: harness-unset ok 2 - harness-unset --- duration_ms: 2255.221233 type: 'test' ... # Subtest: a launched line passes: the bus alone restarts with --pm ok 3 - a launched line passes: the bus alone restarts with --pm --- duration_ms: 3151.371883 type: 'test' ... # Subtest: a failed pm_launched puts the phase-1 unit back: exit 1, still pending ok 4 - a failed pm_launched puts the phase-1 unit back: exit 1, still pending --- duration_ms: 5954.571941 type: 'test' ... # Subtest: a failed phase-1 gate too: pm-on-down, exit 2, both units stopped ok 5 - a failed phase-1 gate too: pm-on-down, exit 2, both units stopped --- duration_ms: 10222.062539 type: 'test' ... 1..5 ok 512 - T34 item 3: pm-on refuses before any stop, passes with the PM, or puts the phase-1 bus back --- duration_ms: 22285.426905 type: 'test' ... # Subtest: T35 item 4: rollback from pending installs --pm; a plug-in kind the target lacks refuses by name # Subtest: rollback from pending gates pm_launched on the old copy ok 1 - rollback from pending gates pm_launched on the old copy --- duration_ms: 3216.66286 type: 'test' ... # Subtest: after the harness set, rollback refuses until harness is gone ok 2 - after the harness set, rollback refuses until harness is gone --- duration_ms: 4499.846577 type: 'test' ... # Subtest: activate names every kind the target lacks ok 3 - activate names every kind the target lacks --- duration_ms: 1149.373591 type: 'test' ... 1..3 ok 513 - T35 item 4: rollback from pending installs --pm; a plug-in kind the target lacks refuses by name --- duration_ms: 8866.554223 type: 'test' ... # Subtest: T36 --plan shows the pending state and lists the row 169 refusals it can see ok 514 - T36 --plan shows the pending state and lists the row 169 refusals it can see --- duration_ms: 3193.2818 type: 'test' ... # Subtest: T37 tester-port activate writes pointer and unit, replaces the port, and supported re-pin and rollback keep it ok 515 - T37 tester-port activate writes pointer and unit, replaces the port, and supported re-pin and rollback keep it --- duration_ms: 6185.591855 type: 'test' ... # Subtest: T38 tester-port rollback to unsupported target drops flag in plan, steps, unit and pointer ok 516 - T38 tester-port rollback to unsupported target drops flag in plan, steps, unit and pointer --- duration_ms: 3339.509779 type: 'test' ... # Subtest: T39 tester-port explicit unsupported target reads target copy and refuses before stopping either unit ok 517 - T39 tester-port explicit unsupported target reads target copy and refuses before stopping either unit --- duration_ms: 733.064258 type: 'test' ... # Subtest: T40 tester-port invalid values refuse exit 4 before stopping, including tunnel and main ports ok 518 - T40 tester-port invalid values refuse exit 4 before stopping, including tunnel and main ports --- duration_ms: 746.975131 type: 'test' ... # Subtest: T41 tester-port inherited activate to unsupported target drops it and retains drift refusal and failed-run recovery ok 519 - T41 tester-port inherited activate to unsupported target drops it and retains drift refusal and failed-run recovery --- duration_ms: 9086.816078 type: 'test' ... # Subtest: T42 tester-port pm-on preserves pointer Console flags ok 520 - T42 tester-port pm-on preserves pointer Console flags --- duration_ms: 2901.691448 type: 'test' ... # Subtest: T43 row 180 item 1: runs in one second get distinct activation ids, rollback sets and post-attempt stores # Subtest: activate then pm-on on the same copy ok 1 - activate then pm-on on the same copy --- duration_ms: 2908.985634 type: 'test' ... # Subtest: two restores: an old-form id and a suffixed one, each with its own post-attempt store ok 2 - two restores: an old-form id and a suffixed one, each with its own post-attempt store --- duration_ms: 5919.708293 type: 'test' ... # Subtest: adopt takes the next free id too ok 3 - adopt takes the next free id too --- duration_ms: 600.89331 type: 'test' ... # Subtest: all ten names taken: capture-failed before anything stops, and the log line names no activation ok 4 - all ten names taken: capture-failed before anything stops, and the log line names no activation --- duration_ms: 884.309956 type: 'test' ... # Subtest: --restore takes an id with or without -1 to -9 and nothing else ok 5 - --restore takes an id with or without -1 to -9 and nothing else --- duration_ms: 929.918326 type: 'test' ... 1..5 ok 521 - T43 row 180 item 1: runs in one second get distinct activation ids, rollback sets and post-attempt stores --- duration_ms: 11244.780208 type: 'test' ... # Subtest: T44 row 180 item 2: --plan lists tester-port-invalid and tester-port-target with its other refusals # Subtest: a bad tester port ok 1 - a bad tester port --- duration_ms: 1890.276651 type: 'test' ... # Subtest: without --plan a bad port is usage before any pointer read ok 2 - without --plan a bad port is usage before any pointer read --- duration_ms: 347.219483 type: 'test' ... # Subtest: a target Console without --tester-port ok 3 - a target Console without --tester-port --- duration_ms: 967.629769 type: 'test' ... 1..3 ok 522 - T44 row 180 item 2: --plan lists tester-port-invalid and tester-port-target with its other refusals --- duration_ms: 3205.806618 type: 'test' ... # Subtest: T45 row 181 items 2 and 3: the restore guard counts events and every COUNTED table # Subtest: both modes count events and each listed table, and a table the store lacks counts 0 ok 1 - both modes count events and each listed table, and a table the store lacks counts 0 --- duration_ms: 794.93359 type: 'test' ... # Subtest: one instance_names row and no event refuses before any stop; --events 1 restores ok 2 - one instance_names row and no event refuses before any stop; --events 1 restores --- duration_ms: 3995.135692 type: 'test' ... # Subtest: one usage_records row and no event refuses before any stop; --events 1 restores ok 3 - one usage_records row and no event refuses before any stop; --events 1 restores --- duration_ms: 3995.750283 type: 'test' ... # Subtest: a listed table that cannot be read refuses restore-mismatch before any stop ok 4 - a listed table that cannot be read refuses restore-mismatch before any stop --- duration_ms: 2243.476444 type: 'test' ... # Subtest: the in-run recount counts the listed tables too ok 5 - the in-run recount counts the listed tables too --- duration_ms: 3054.713784 type: 'test' ... 1..5 ok 523 - T45 row 181 items 2 and 3: the restore guard counts events and every COUNTED table --- duration_ms: 14085.025429 type: 'test' ... # Subtest: T46 row 181 item 4: every table in the bus schema is in exactly one of four lists ok 524 - T46 row 181 item 4: every table in the bus schema is in exactly one of four lists --- duration_ms: 2.919259 type: 'test' ... # Subtest: T47 row 185 test 1: a same-schema activate leaves a whole backup and the log line names it ok 525 - T47 row 185 test 1: a same-schema activate leaves a whole backup and the log line names it --- duration_ms: 1862.214248 type: 'test' ... # Subtest: T48 row 185 test 2: a gate failure on a same-schema activate rolls back without a restore ok 526 - T48 row 185 test 2: a gate failure on a same-schema activate rolls back without a restore --- duration_ms: 5858.897521 type: 'test' ... # Subtest: T49 row 185 test 3: a same-schema rollback --restore restores, or refuses rows written after STAMP # Subtest: no rows after STAMP: restores and goes live ok 1 - no rows after STAMP: restores and goes live --- duration_ms: 3227.539777 type: 'test' ... # Subtest: one instance_names row after STAMP refuses post-backup-events; --events 1 restores ok 2 - one instance_names row after STAMP refuses post-backup-events; --events 1 restores --- duration_ms: 3700.600545 type: 'test' ... 1..2 ok 527 - T49 row 185 test 3: a same-schema rollback --restore restores, or refuses rows written after STAMP --- duration_ms: 6928.690352 type: 'test' ... # Subtest: T50 row 185 test 4: activate --plan prints the backup line and writes nothing ok 528 - T50 row 185 test 4: activate --plan prints the backup line and writes nothing --- duration_ms: 2389.374244 type: 'test' ... # Subtest: T51 row 185 test 5: an activate with no store file takes no backup ok 529 - T51 row 185 test 5: an activate with no store file takes no backup --- duration_ms: 1954.71297 type: 'test' ... # Subtest: T52 row 186: the activate plan's backup line says what the run will do # Subtest: same schema ok 1 - same schema --- duration_ms: 2055.913986 type: 'test' ... # Subtest: same schema with --migrate ok 2 - same schema with --migrate --- duration_ms: 2082.408593 type: 'test' ... # Subtest: in chain with --migrate ok 3 - in chain with --migrate --- duration_ms: 2105.043952 type: 'test' ... # Subtest: in chain without --migrate ok 4 - in chain without --migrate --- duration_ms: 1975.46757 type: 'test' ... # Subtest: outside the chain ok 5 - outside the chain --- duration_ms: 2000.57866 type: 'test' ... # Subtest: outside the chain with --migrate ok 6 - outside the chain with --migrate --- duration_ms: 1927.757899 type: 'test' ... 1..6 ok 530 - T52 row 186: the activate plan's backup line says what the run will do --- duration_ms: 12148.344016 type: 'test' ... # Subtest: T178 proxy proof header and path survive re-pin and rollback unchanged in the pointer and unit ok 531 - T178 proxy proof header and path survive re-pin and rollback unchanged in the pointer and unit --- duration_ms: 3069.377757 type: 'test' ... # Subtest: T178 proxy proof pair survives a tester-port replacement as well ok 532 - T178 proxy proof pair survives a tester-port replacement as well --- duration_ms: 1850.645022 type: 'test' ... # Subtest: T53 row 187: activate sets, carries and drops the proof pair # Subtest: tests 1 and 9: the pair goes after the preview flags, before --send and the kept --tester-port, as the unit renders it; a new pair replaces it ok 1 - tests 1 and 9: the pair goes after the preview flags, before --send and the kept --tester-port, as the unit renders it; a new pair replaces it --- duration_ms: 5188.071892 type: 'test' ... # Subtest: tests 2 and 3: an activate of the live copy writes the pair; a later activate and a rollback carry it ok 2 - tests 2 and 3: an activate of the live copy writes the pair; a later activate and a rollback carry it --- duration_ms: 4815.888962 type: 'test' ... # Subtest: test 2: only a pair change may name the live copy; the log keeps from and to, and rollback still goes to the earlier copy ok 3 - test 2: only a pair change may name the live copy; the log keeps from and to, and rollback still goes to the earlier copy --- duration_ms: 6298.473389 type: 'test' ... # Subtest: test 2: a live-copy activate says only the Console flags change, and backs up the stopped store before it installs ok 4 - test 2: a live-copy activate says only the Console flags change, and backs up the stopped store before it installs --- duration_ms: 3809.066151 type: 'test' ... # Subtest: test 3: pm-on keeps the pair ok 5 - test 3: pm-on keeps the pair --- duration_ms: 2883.804535 type: 'test' ... # Subtest: test 4: --no-proof drops the pair from the pointer and the unit and says so; with no pair it says so and passes ok 6 - test 4: --no-proof drops the pair from the pointer and the unit and says so; with no pair it says so and passes --- duration_ms: 5290.593799 type: 'test' ... # Subtest: test 5: each refusal exits 3 before anything stops ok 7 - test 5: each refusal exits 3 before anything stops --- duration_ms: 3656.678341 type: 'test' ... # Subtest: tests 5 and 9: --plan lists every proof refusal with the others and writes nothing ok 8 - tests 5 and 9: --plan lists every proof refusal with the others and writes nothing --- duration_ms: 826.784993 type: 'test' ... # Subtest: test 6: usage errors ok 9 - test 6: usage errors --- duration_ms: 761.732777 type: 'test' ... # Subtest: test 7: a rollback to a copy without proof support drops the pair and says so ok 10 - test 7: a rollback to a copy without proof support drops the pair and says so --- duration_ms: 3361.533742 type: 'test' ... # Subtest: test 7: an activate to a copy without proof support refuses proof-target without --no-proof and passes with it ok 11 - test 7: an activate to a copy without proof support refuses proof-target without --no-proof and passes with it --- duration_ms: 3691.231623 type: 'test' ... 1..11 ok 533 - T53 row 187: activate sets, carries and drops the proof pair --- duration_ms: 40586.045991 type: 'test' ... # Subtest: T54 row 188: a carried pair gets the proof file checks, and a proof file inside the repository refuses # Subtest: test 1: an activate that carries the pair refuses after chmod 644, in the plan and the run, before anything stops ok 1 - test 1: an activate that carries the pair refuses after chmod 644, in the plan and the run, before anything stops --- duration_ms: 2241.610868 type: 'test' ... # Subtest: test 1: an activate that carries the pair refuses after a symlink to a mode-600 file, in the plan and the run, before anything stops ok 2 - test 1: an activate that carries the pair refuses after a symlink to a mode-600 file, in the plan and the run, before anything stops --- duration_ms: 2325.298392 type: 'test' ... # Subtest: test 1: an activate that carries the pair refuses after removal, in the plan and the run, before anything stops ok 3 - test 1: an activate that carries the pair refuses after removal, in the plan and the run, before anything stops --- duration_ms: 2319.311813 type: 'test' ... # Subtest: test 2: a rollback that carries the pair refuses after chmod 644, in the plan and the run, before anything stops ok 4 - test 2: a rollback that carries the pair refuses after chmod 644, in the plan and the run, before anything stops --- duration_ms: 2319.142943 type: 'test' ... # Subtest: test 3: a proof file inside the repository refuses, in the plan and the run, before anything stops ok 5 - test 3: a proof file inside the repository refuses, in the plan and the run, before anything stops --- duration_ms: 977.021716 type: 'test' ... # Subtest: test 4: a path outside the repository through a directory symlink into it refuses on its realpath ok 6 - test 4: a path outside the repository through a directory symlink into it refuses on its realpath --- duration_ms: 1024.525995 type: 'test' ... 1..6 ok 534 - T54 row 188: a carried pair gets the proof file checks, and a proof file inside the repository refuses --- duration_ms: 11208.095065 type: 'test' ... # Subtest: T55 row 189: activate --no-send drops --send, and rollback and pm-on carry it off # Subtest: test 1: a live-copy --no-send drops --send from the pointer and the unit, keeps the rest in order, logs the step and backs up the stopped store ok 1 - test 1: a live-copy --no-send drops --send from the pointer and the unit, keeps the rest in order, logs the step and backs up the stopped store --- duration_ms: 2178.217292 type: 'test' ... # Subtest: test 2: a plain live-copy activate still refuses already-active, and so does --no-send once --send is gone ok 2 - test 2: a plain live-copy activate still refuses already-active, and so does --no-send once --send is gone --- duration_ms: 3089.283232 type: 'test' ... # Subtest: test 3: --plan prints one send: line in each case, with the live-copy note on a same-copy run ok 3 - test 3: --plan prints one send: line in each case, with the live-copy note on a same-copy run --- duration_ms: 4572.422826 type: 'test' ... # Subtest: test 4: after --no-send, a rollback to the earlier copy leaves --send out of the pointer and the unit ok 4 - test 4: after --no-send, a rollback to the earlier copy leaves --send out of the pointer and the unit --- duration_ms: 3357.996993 type: 'test' ... # Subtest: test 4: pm-on after --no-send keeps --send off ok 5 - test 4: pm-on after --no-send keeps --send off --- duration_ms: 3231.213031 type: 'test' ... # Subtest: test 5: --no-send on rollback, pm-on, status, adopt or rehearse is a usage error ok 6 - test 5: --no-send on rollback, pm-on, status, adopt or rehearse is a usage error --- duration_ms: 670.124441 type: 'test' ... # Subtest: test 6: with both a pair and --send in the pointer, --no-send and --no-proof each drop what they name and keep the rest ok 7 - test 6: with both a pair and --send in the pointer, --no-send and --no-proof each drop what they name and keep the rest --- duration_ms: 10184.73008 type: 'test' ... 1..7 ok 535 - T55 row 189: activate --no-send drops --send, and rollback and pm-on carry it off --- duration_ms: 27285.302856 type: 'test' ... # Subtest: T57 row 200: activate --sso, its refusals before any stop, and the rollback to a Console without --sso # Subtest: item 1: --sso drops the preview set and the pair, puts --sso before --send and the tester port, and the plan names what it drops and carries ok 1 - item 1: --sso drops the preview set and the pair, puts --sso before --send and the tester port, and the plan names what it drops and carries --- duration_ms: 3738.30672 type: 'test' ... # Subtest: item 1: --sso may re-pin the live copy once; later activates carry it; --no-send still drops --send ok 2 - item 1: --sso may re-pin the live copy once; later activates carry it; --no-send still drops --send --- duration_ms: 8796.743289 type: 'test' ... # Subtest: item 1: --sso with a pair or --no-proof, or on any verb but activate, is a usage error ok 3 - item 1: --sso with a pair or --no-proof, or on any verb but activate, is a usage error --- duration_ms: 714.531924 type: 'test' ... # Subtest: item 2: a target without --sso, a missing or bad console.sso, and each slot problem refuse before any stop ok 4 - item 2: a target without --sso, a missing or bad console.sso, and each slot problem refuse before any stop --- duration_ms: 5670.294112 type: 'test' ... # Subtest: item 3: a config whose console key the target loader refuses stops an activate or a rollback before any stop, naming the first step ok 5 - item 3: a config whose console key the target loader refuses stops an activate or a rollback before any stop, naming the first step --- duration_ms: 4368.146767 type: 'test' ... # Subtest: item 3: a rollback from --sso to a Console without it takes the flags from the set of the activation onto the copy, past a same-copy re-pin (sage-1389) ok 6 - item 3: a rollback from --sso to a Console without it takes the flags from the set of the activation onto the copy, past a same-copy re-pin (sage-1389) --- duration_ms: 11198.580064 type: 'test' ... # Subtest: item 3: a rollback set that is missing, fails its sums, holds no argv or already ran --sso refuses sso-rollback-flags ok 7 - item 3: a rollback set that is missing, fails its sums, holds no argv or already ran --sso refuses sso-rollback-flags --- duration_ms: 4343.938411 type: 'test' ... # Subtest: round 2 (webby-0028 N1): run through a symlinked repository path, a slot or a proof file inside the repository still refuses ok 8 - round 2 (webby-0028 N1): run through a symlinked repository path, a slot or a proof file inside the repository still refuses --- duration_ms: 2198.456573 type: 'test' ... # Subtest: round 2 (webby-0028 N2): a config.json that does not parse stops the run before anything is read or stopped ok 9 - round 2 (webby-0028 N2): a config.json that does not parse stops the run before anything is read or stopped --- duration_ms: 1993.855245 type: 'test' ... # Subtest: round 3 (sage-1556): a named instance turns --sso on with its own config, slot and Console unit, and rolls back from its own set ok 10 - round 3 (sage-1556): a named instance turns --sso on with its own config, slot and Console unit, and rolls back from its own set --- duration_ms: 4146.584168 type: 'test' ... # Subtest: row 238 (\#1744): on a named instance the sso-config first step names --instance NAME in both commands ok 11 - row 238 (\#1744): on a named instance the sso-config first step names --instance NAME in both commands --- duration_ms: 1023.888124 type: 'test' ... 1..11 ok 536 - T57 row 200: activate --sso, its refusals before any stop, and the rollback to a Console without --sso --- duration_ms: 48195.2937 type: 'test' ... # Subtest: T58 row 273: activate --send and --no-sso # Subtest: T1: --sso --send turns send on after --sso and before the tester port, and the plan says so ok 1 - T1: --sso --send turns send on after --sso and before the tester port, and the plan says so --- duration_ms: 2555.370511 type: 'test' ... # Subtest: T1: --send beside a carried --sso re-pins the live copy once, and the plan names the carried --sso ok 2 - T1: --send beside a carried --sso re-pins the live copy once, and the plan names the carried --sso --- duration_ms: 4170.182634 type: 'test' ... # Subtest: T2: --send without --sso, given or carried, refuses before any stop, and --plan lists it ok 3 - T2: --send without --sso, given or carried, refuses before any stop, and --plan lists it --- duration_ms: 1970.65148 type: 'test' ... # Subtest: T2 (sage-2315 B1): a rollback from an --sso --send pointer to a Console without --sso ends with neither flag ok 4 - T2 (sage-2315 B1): a rollback from an --sso --send pointer to a Console without --sso ends with neither flag --- duration_ms: 3721.021555 type: 'test' ... # Subtest: T2 and T4: --send with --no-send, --no-sso with --sso, --send, a pair or --no-proof, and either flag on another verb, is a usage error ok 5 - T2 and T4: --send with --no-send, --no-sso with --sso, --send, a pair or --no-proof, and either flag on another verb, is a usage error --- duration_ms: 2126.113557 type: 'test' ... # Subtest: T3: --no-sso on the same copy returns the unit and the pointer to the flags from before --sso, without --send ok 6 - T3: --no-sso on the same copy returns the unit and the pointer to the flags from before --sso, without --send --- duration_ms: 5276.451451 type: 'test' ... # Subtest: T3: the set walk passes later re-pins that ran with --sso, and the tester follows the pointer ok 7 - T3: the set walk passes later re-pins that ran with --sso, and the tester follows the pointer --- duration_ms: 5255.109594 type: 'test' ... # Subtest: T3 (sage-2305 a): after --sso, two later re-pins that carry it, then --no-sso restores the flags from before --sso byte for byte ok 8 - T3 (sage-2305 a): after --sso, two later re-pins that carry it, then --no-sso restores the flags from before --sso byte for byte --- duration_ms: 7697.883928 type: 'test' ... # Subtest: T4 (sage-2305 b): a log in which every set holds a Console with --sso refuses before any unit stops ok 9 - T4 (sage-2305 b): a log in which every set holds a Console with --sso refuses before any unit stops --- duration_ms: 3708.851802 type: 'test' ... # Subtest: T4: --no-sso refuses before any stop on a pointer without --sso, a tampered or missing set, a set that ran with --sso, an ok line with no activation, and a log with no set ok 10 - T4: --no-sso refuses before any stop on a pointer without --sso, a tampered or missing set, a set that ran with --sso, an ok line with no activation, and a log with no set --- duration_ms: 5558.582989 type: 'test' ... 1..10 ok 537 - T58 row 273: activate --send and --no-sso --- duration_ms: 42042.04693 type: 'test' ... # Subtest: R1 rehearse passes on the same schema; the scratch root holds its files and the live files stay byte-identical ok 538 - R1 rehearse passes on the same schema; the scratch root holds its files and the live files stay byte-identical --- duration_ms: 3444.73476 type: 'test' ... # Subtest: R2 rehearse runs the migration checks when the schema differs; the live store stays at 3g ok 539 - R2 rehearse runs the migration checks when the schema differs; the live store stays at 3g --- duration_ms: 3561.990397 type: 'test' ... # Subtest: R3 a failing migration gives REHEARSAL_FAIL migrate and starts nothing ok 540 - R3 a failing migration gives REHEARSAL_FAIL migrate and starts nothing --- duration_ms: 350.822665 type: 'test' ... # Subtest: R4 a host that does not start, does not answer status, reports another pid, launches anyway, makes a launches directory or keeps its lock each fails by name ok 541 - R4 a host that does not start, does not answer status, reports another pid, launches anyway, makes a launches directory or keeps its lock each fails by name --- duration_ms: 23456.297583 type: 'test' ... # Subtest: R5 a host that ignores SIGTERM gets SIGKILL and FAIL host-stopped ok 542 - R5 a host that ignores SIGTERM gets SIGKILL and FAIL host-stopped --- duration_ms: 3429.876312 type: 'test' ... # Subtest: R6 a Console that does not answer /healthz gives REHEARSAL_FAIL healthz ok 543 - R6 a Console that does not answer /healthz gives REHEARSAL_FAIL healthz --- duration_ms: 4619.566183 type: 'test' ... # Subtest: R7 a host on another copy fails copy-match ok 544 - R7 a host on another copy fails copy-match --- duration_ms: 5640.038809 type: 'test' ... # Subtest: R8 a scratch port in use or reserved refuses, and the rehearsal takes no other port ok 545 - R8 a scratch port in use or reserved refuses, and the rehearsal takes no other port --- duration_ms: 511.773732 type: 'test' ... # Subtest: R9 mos-0963: a role reference left outside placeholders/, or left on an env variable, fails credential-ref-live before the host starts ok 546 - R9 mos-0963: a role reference left outside placeholders/, or left on an env variable, fails credential-ref-live before the host starts --- duration_ms: 693.676141 type: 'test' ... # Subtest: R10 mos-0962: a scratch business that still sets a tracker fails tracker-configured ok 547 - R10 mos-0962: a scratch business that still sets a tracker fails tracker-configured --- duration_ms: 352.554626 type: 'test' ... # Subtest: R11 mos-0961: a scratch config on the live data root or on any root but the scratch one, or a sessions.json naming a running pid, refuses by name ok 548 - R11 mos-0961: a scratch config on the live data root or on any root but the scratch one, or a sessions.json naming a running pid, refuses by name --- duration_ms: 1340.072484 type: 'test' ... # Subtest: R12 mos-0962: a notifier config with a binding fails notify-off ok 549 - R12 mos-0962: a notifier config with a binding fails notify-off --- duration_ms: 353.357405 type: 'test' ... # Subtest: R13 the pre-checks: an old copy, a backup that fails its sums, a missing backup or pointer, and usage ok 550 - R13 the pre-checks: an old copy, a backup that fails its sums, a missing backup or pointer, and usage --- duration_ms: 512.395375 type: 'test' ... # Subtest: R14 a host that writes the live config, the live business file or the backup fails the end check by name ok 551 - R14 a host that writes the live config, the live business file or the backup fails the end check by name --- duration_ms: 9283.959809 type: 'test' ... # Subtest: R15 a rehearsal stopped by TERM, INT or HUP fails signal and still stops the host and Console and runs the end checks ok 552 - R15 a rehearsal stopped by TERM, INT or HUP fails signal and still stops the host and Console and runs the end checks --- duration_ms: 9970.437069 type: 'test' ... # Subtest: row 233: --backup last takes the newest backup the log records; a later line with backup null does not hide it, and the store line names it ok 553 - row 233: --backup last takes the newest backup the log records; a later line with backup null does not hide it, and the store line names it --- duration_ms: 2469.050864 type: 'test' ... # Subtest: row 233: --backup last with no backup in the log, or no log, exits 3 with no-backup and makes no rehearsal directory ok 554 - row 233: --backup last with no backup in the log, or no log, exits 3 with no-backup and makes no rehearsal directory --- duration_ms: 193.771321 type: 'test' ... # Subtest: row 233: --backup last refuses a newest backup that is not an activation id, with exit 1 ok 555 - row 233: --backup last refuses a newest backup that is not an activation id, with exit 1 --- duration_ms: 135.225082 type: 'test' ... # Subtest: T56 row 190: named instances side by side on one unit directory, $BIN and set of stand-ins # Subtest: T-I3 each instance renders its own config, session env and Description, and nothing of another ok 1 - T-I3 each instance renders its own config, session env and Description, and nothing of another --- duration_ms: 1508.413286 type: 'test' ... # Subtest: T-I4 a Console port another installed Console takes refuses port-claimed, and a named instance keeps off the default ports ok 2 - T-I4 a Console port another installed Console takes refuses port-claimed, and a named instance keeps off the default ports --- duration_ms: 1949.685982 type: 'test' ... # Subtest: T-I6 alpha's activate and rollback reach nothing of beta's ok 3 - T-I6 alpha's activate and rollback reach nothing of beta's --- duration_ms: 3765.238534 type: 'test' ... # Subtest: T-I6 swapped: beta's reach nothing of alpha's ok 4 - T-I6 swapped: beta's reach nothing of alpha's --- duration_ms: 3835.817693 type: 'test' ... # Subtest: T-I7 MOSAIC_CONFIG naming alpha's config with no flag refuses instance-root-mismatch and changes nothing ok 5 - T-I7 MOSAIC_CONFIG naming alpha's config with no flag refuses instance-root-mismatch and changes nothing --- duration_ms: 681.712926 type: 'test' ... # Subtest: T-I9 another instance's bus active refuses nothing; one of this instance's does ok 6 - T-I9 another instance's bus active refuses nothing; one of this instance's does --- duration_ms: 5834.632598 type: 'test' ... 1..6 ok 556 - T56 row 190: named instances side by side on one unit directory, $BIN and set of stand-ins --- duration_ms: 17576.822973 type: 'test' ... # Subtest: row196 explicit socket conversion refuses inherited TCP before stop and rollback disables socket ok 557 - row196 explicit socket conversion refuses inherited TCP before stop and rollback disables socket --- duration_ms: 5904.905281 type: 'test' ... # Subtest: row196 SSO socket conversion pins pointer and unit argv order without send ok 558 - row196 SSO socket conversion pins pointer and unit argv order without send --- duration_ms: 2225.091398 type: 'test' ... # Subtest: row196 interpreter activation checks receipt, identity, plan and startup log # Subtest: plan and started log preserve the same interpreter JSON ok 1 - plan and started log preserve the same interpreter JSON --- duration_ms: 2133.839051 type: 'test' ... # Subtest: interpreter-receipt-refuse fails at the gate and restores the pointer ok 2 - interpreter-receipt-refuse fails at the gate and restores the pointer --- duration_ms: 3288.873333 type: 'test' ... # Subtest: interpreter-drift fails at the gate and restores the pointer ok 3 - interpreter-drift fails at the gate and restores the pointer --- duration_ms: 3292.148995 type: 'test' ... # Subtest: missing-verifier refuses before any start or stop ok 4 - missing-verifier refuses before any start or stop --- duration_ms: 963.044521 type: 'test' ... # Subtest: interpreter-unsafe refuses before any start or stop ok 5 - interpreter-unsafe refuses before any start or stop --- duration_ms: 1020.624177 type: 'test' ... 1..5 ok 559 - row196 interpreter activation checks receipt, identity, plan and startup log --- duration_ms: 10699.87813 type: 'test' ... # Subtest: row196 rehearsal selects socket only for marked copies and uses scratch dataRoot # Subtest: socket copy ok 1 - socket copy --- duration_ms: 2409.325646 type: 'test' ... # Subtest: legacy copy ok 2 - legacy copy --- duration_ms: 2422.658792 type: 'test' ... 1..2 ok 560 - row196 rehearsal selects socket only for marked copies and uses scratch dataRoot --- duration_ms: 4832.587494 type: 'test' ... # Subtest: row 233: sequence 1: confirm fails healthz, the driver reverts, renders the old copy and confirm --rollback --cause A5 passes: exit 1 ok 561 - row 233: sequence 1: confirm fails healthz, the driver reverts, renders the old copy and confirm --rollback --cause A5 passes: exit 1 --- duration_ms: 11330.968325 type: 'test' ... # Subtest: row 233: sequence 2: activate --migrate fails at the wrapper, revert restores the store, confirm --rollback --cause A3: exit 1 ok 562 - row 233: sequence 2: activate --migrate fails at the wrapper, revert restores the store, confirm --rollback --cause A3: exit 1 --- duration_ms: 5776.399617 type: 'test' ... # Subtest: row 233: sequence 3: root's render of the new copy fails, the driver rolls back with --cause A4, and holds the lock to the end: exit 1 ok 563 - row 233: sequence 3: root's render of the new copy fails, the driver rolls back with --cause A4, and holds the lock to the end: exit 1 --- duration_ms: 4882.658499 type: 'test' ... # Subtest: row 233: sequence 4: a capture failure is exit 3 from the stage, and A2f restarts the old units and gates them: exit 1 ok 564 - row 233: sequence 4: a capture failure is exit 3 from the stage, and A2f restarts the old units and gates them: exit 1 --- duration_ms: 3004.996321 type: 'test' ... # Subtest: row 233: N1: a bus that outlives A2's timeout keeps its old start, so A2f's gate fails stale-start: exit 2, both units stopped ok 565 - row 233: N1: a bus that outlives A2's timeout keeps its old start, so A2f's gate fails stale-start: exit 2, both units stopped --- duration_ms: 7288.685325 type: 'test' ... # Subtest: row 233: sequence 5: confirm of the wrong copy is refused, and the driver rolls back with --cause A5: exit 1 ok 566 - row 233: sequence 5: confirm of the wrong copy is refused, and the driver rolls back with --cause A5: exit 1 --- duration_ms: 3514.991805 type: 'test' ... # Subtest: row 233: sequence 6: a revert that fails stops both units at exit 2, and the next run refuses at its --plan with nothing stopped ok 567 - row 233: sequence 6: a revert that fails stops both units at exit 2, and the next run refuses at its --plan with nothing stopped --- duration_ms: 2790.787276 type: 'test' ... # Subtest: row 233: sequence 7: two upgrades and a rollback --to the previous copy with --restore, the args file following each confirm ok 568 - row 233: sequence 7: two upgrades and a rollback --to the previous copy with --restore, the args file following each confirm --- duration_ms: 7521.794701 type: 'test' ... # Subtest: row 240: I3 N1: a failed args move after A5 exits 5 args-failed, the new copy live and confirmed and both args files kept ok 569 - row 240: I3 N1: a failed args move after A5 exits 5 args-failed, the new copy live and confirmed and both args files kept --- duration_ms: 2873.171881 type: 'test' ... # Subtest: row 233: sequence 8: a migration that writes and fails: the driver reverts to the backup byte for byte, --cause A3: exit 1 ok 570 - row 233: sequence 8: a migration that writes and fails: the driver reverts to the backup byte for byte, --cause A3: exit 1 --- duration_ms: 3385.512242 type: 'test' ... # Subtest: row 233: a second run while the lock is held refuses upgrade-running with one log line and no call ok 571 - row 233: a second run while the lock is held refuses upgrade-running with one log line and no call --- duration_ms: 677.435446 type: 'test' ... # Subtest: row 233: A1 refuses open-activation on any AWAITING-UNITS file, through the stack's user's --plan, with nothing stopped ok 572 - row 233: A1 refuses open-activation on any AWAITING-UNITS file, through the stack's user's --plan, with nothing stopped --- duration_ms: 1091.841516 type: 'test' ... # Subtest: row 233: a target that migrates refuses migrate-required without --migrate, with nothing stopped ok 573 - row 233: a target that migrates refuses migrate-required without --migrate, with nothing stopped --- duration_ms: 1073.014541 type: 'test' ... # Subtest: row 233: the rehearsal runs after the plan and before A2; a failed one refuses rehearsal-failed with nothing stopped ok 574 - row 233: the rehearsal runs after the plan and before A2; a failed one refuses rehearsal-failed with nothing stopped --- duration_ms: 1188.075502 type: 'test' ... # Subtest: row 233: the rehearsal's BACKUP_STORE line goes to the step log after a match, a malformed one as none, the rest of its output never ok 575 - row 233: the rehearsal's BACKUP_STORE line goes to the step log after a match, a malformed one as none, the rest of its output never --- duration_ms: 3222.025813 type: 'test' ... # Subtest: row 233: a real rehearsal with no backup in the log refuses no-backup, and goes on only with --no-rehearsal, which logs the skip ok 576 - row 233: a real rehearsal with no backup in the log refuses no-backup, and goes on only with --no-rehearsal, which logs the skip --- duration_ms: 3739.410815 type: 'test' ... # Subtest: row 233: a real rehearsal after an upgrade names the log's newest backup; --no-rehearsal with a backup refuses rehearsal-required ok 577 - row 233: a real rehearsal after an upgrade names the log's newest backup; --no-rehearsal with a backup refuses rehearsal-required --- duration_ms: 4214.857561 type: 'test' ... # Subtest: row 233: the args file must be the running user's, with no group or other write, one --copy, and the copy the units run ok 578 - row 233: the args file must be the running user's, with no group or other write, one --copy, and the copy the units run --- duration_ms: 888.111898 type: 'test' ... # Subtest: row 233: hostcheck (row 240): a nonzero --check or a missing file refuses profile-drift before the plan ok 579 - row 233: hostcheck (row 240): a nonzero --check or a missing file refuses profile-drift before the plan --- duration_ms: 1106.252091 type: 'test' ... # Subtest: row 233: the checkout must be at --sha (head-mismatch), and a commit the clone can't fast-forward to refuses fetch-failed ok 580 - row 233: the checkout must be at --sha (head-mismatch), and a commit the clone can't fast-forward to refuses fetch-failed --- duration_ms: 1003.449955 type: 'test' ... # Subtest: row 233: usage exits 4 before any log or lock ok 581 - row 233: usage exits 4 before any log or lock --- duration_ms: 726.859065 type: 'test' ... # Subtest: tester HTTP helper uses instance socket, logical origin and JSON without retrying ok 582 - tester HTTP helper uses instance socket, logical origin and JSON without retrying --- duration_ms: 28.262756 type: 'test' ... # Subtest: tester HTTP timeout closes the socket and does not retry ok 583 - tester HTTP timeout closes the socket and does not retry --- duration_ms: 30.024279 type: 'test' ... # Subtest: row 175: each read with --tester inside an agent prints the human form's output, and refuses without --tester ok 584 - row 175: each read with --tester inside an agent prints the human form's output, and refuses without --tester --- duration_ms: 172.570236 type: 'test' ... # Subtest: row 175: --tester on limits set, reset and migrate and every write form outside W1-W7 exits 4 before any call ok 585 - row 175: --tester on limits set, reset and migrate and every write form outside W1-W7 exits 4 before any call --- duration_ms: 63.774104 type: 'test' ... # Subtest: row 175: scripts/mosaic sends plugins, name, names, follow, threads and thread to packages/cli, not the seat CLI ok 586 - row 175: scripts/mosaic sends plugins, name, names, follow, threads and thread to packages/cli, not the seat CLI --- duration_ms: 1100.582992 type: 'test' ... # Subtest: row 175 W7: project init --tester makes the repository under the project area, committed by tester ok 587 - row 175 W7: project init --tester makes the repository under the project area, committed by tester --- duration_ms: 888.130433 type: 'test' ... # Subtest: row 175 W7: a repo outside the project area refuses tester-project-area before any bus call, and nothing changes ok 588 - row 175 W7: a repo outside the project area refuses tester-project-area before any bus call, and nothing changes --- duration_ms: 387.166933 type: 'test' ... # Subtest: row 175 W7: the tester bind refuses tester-off and tester-required before any directory ok 589 - row 175 W7: the tester bind refuses tester-off and tester-required before any directory --- duration_ms: 2048.256073 type: 'test' ... # Subtest: row 184: with --tester, thread create, threads, open, talk --thread and read run on the tester's own thread ok 590 - row 184: with --tester, thread create, threads, open, talk --thread and read run on the tester's own thread --- duration_ms: 109.182838 type: 'test' ... # Subtest: row 184: talk --thread --follow and follow --thread with --tester print and read only that thread's messages, from message.receive ok 591 - row 184: talk --thread --follow and follow --thread with --tester print and read only that thread's messages, from message.receive --- duration_ms: 168.025282 type: 'test' ... # Subtest: row 184: with --tester a human thread refuses with the bus's code, and nothing is written ok 592 - row 184: with --tester a human thread refuses with the bus's code, and nothing is written --- duration_ms: 94.06511 type: 'test' ... # Subtest: row 184: without --tester the thread verbs stay the human's and never call the tester transport ok 593 - row 184: without --tester the thread verbs stay the human's and never call the tester transport --- duration_ms: 62.565517 type: 'test' ... # Subtest: row 184: scripts/mosaic runs thread create, threads, talk --thread and thread read as the tester through tester-cli.mjs ok 594 - row 184: scripts/mosaic runs thread create, threads, talk --thread and thread read as the tester through tester-cli.mjs --- duration_ms: 4448.192413 type: 'test' ... # Subtest: talk --tester sends a message as tester from inside an agent and prints the role's reply ok 595 - talk --tester sends a message as tester from inside an agent and prints the role's reply --- duration_ms: 38.14826 type: 'test' ... # Subtest: talk --tester sends text with no prefix, and follow --tester reads ok 596 - talk --tester sends text with no prefix, and follow --tester reads --- duration_ms: 23.803724 type: 'test' ... # Subtest: the read verbs take --tester inside an agent, and the trail shows the tester as the sender ok 597 - the read verbs take --tester inside an agent, and the trail shows the tester as the sender --- duration_ms: 33.090854 type: 'test' ... # Subtest: decide, stop and launches take no --tester ok 598 - decide, stop and launches take no --tester --- duration_ms: 22.059967 type: 'test' ... # Subtest: the tester transport runs tester-cli.mjs, and the tester's refusals exit 3 ok 599 - the tester transport runs tester-cli.mjs, and the tester's refusals exit 3 --- duration_ms: 0.621521 type: 'test' ... # Subtest: with no stand-in transport, --tester runs tester-cli.mjs on the data root's socket ok 600 - with no stand-in transport, --tester runs tester-cli.mjs on the data root's socket --- duration_ms: 1.000384 type: 'test' ... # Subtest: talk --tester to a stopped role exits 3, prints no sent line and stores nothing ok 601 - talk --tester to a stopped role exits 3, prints no sent line and stores nothing --- duration_ms: 21.924325 type: 'test' ... # Subtest: only a --tester send refused tester-target-not-running is rewritten ok 602 - only a --tester send refused tester-target-not-running is rewritten --- duration_ms: 20.564232 type: 'test' ... # Subtest: REQ-CLI-1 project create and list work on the bus record and refuse what the broker refuses ok 603 - REQ-CLI-1 project create and list work on the bus record and refuse what the broker refuses --- duration_ms: 50.047728 type: 'test' ... # Subtest: REQ-CLI-1 thread create, list, open and read ok 604 - REQ-CLI-1 thread create, list, open and read --- duration_ms: 90.451841 type: 'test' ... # Subtest: REQ-CLI-1 thread read pages through every message, oldest first ok 605 - REQ-CLI-1 thread read pages through every message, oldest first --- duration_ms: 724.616997 type: 'test' ... # Subtest: REQ-CLI-1 the business needs exactly one threaded instance to create a thread ok 606 - REQ-CLI-1 the business needs exactly one threaded instance to create a thread --- duration_ms: 68.335866 type: 'test' ... # Subtest: REQ-CLI-1 a thread is its id, an id prefix of 8 characters or more, or /; anything else is refused before any write ok 607 - REQ-CLI-1 a thread is its id, an id prefix of 8 characters or more, or /; anything else is refused before any write --- duration_ms: 81.545017 type: 'test' ... # Subtest: REQ-CLI-2 REQ-THREAD-2 talk --thread sends to the thread and prints only the reply to it; the rest stays unread ok 608 - REQ-CLI-2 REQ-THREAD-2 talk --thread sends to the thread and prints only the reply to it; the rest stays unread --- duration_ms: 53.886878 type: 'test' ... # Subtest: REQ-CLI-2 talk --thread --wait gives up with exit 1 and leaves the thread's messages unread ok 609 - REQ-CLI-2 talk --thread --wait gives up with exit 1 and leaves the thread's messages unread --- duration_ms: 1052.334979 type: 'test' ... # Subtest: REQ-CLI-2 talk --thread --follow and follow --thread print and read only that thread's messages ok 610 - REQ-CLI-2 talk --thread --follow and follow --thread print and read only that thread's messages --- duration_ms: 155.28409 type: 'test' ... # Subtest: REQ-CLI-2 plain talk to the assistant asks for a thread and exits 2 without a write ok 611 - REQ-CLI-2 plain talk to the assistant asks for a thread and exits 2 without a write --- duration_ms: 39.265507 type: 'test' ... # Subtest: REQ-USER-2 a thread of another user is refused for talk, open, read and follow, and nothing is written ok 612 - REQ-USER-2 a thread of another user is refused for talk, open, read and follow, and nothing is written --- duration_ms: 95.953854 type: 'test' ... # Subtest: REQ-CLI-1 the new verbs refuse inside an agent run, as every human verb does ok 613 - REQ-CLI-1 the new verbs refuse inside an agent run, as every human verb does --- duration_ms: 23.448331 type: 'test' ... # usage: {"event":"usage-unknown","business":"acme","run":"r6383e1a04290","instance":"assistant","turn":"63015a3c-bc7d-46b9-a539-1e203d1419c4","source":"@none","code":"baseline-unknown"} # usage: {"event":"usage-unknown","business":"acme","run":"r629e4010d057","instance":"assistant","turn":"08713c9e-ecba-487c-a905-68d64822f83c","source":"@none","code":"baseline-unknown"} # usage: {"event":"usage-unknown","business":"acme","run":"r14fcc171ffde","instance":"assistant","turn":"bfd38930-aca2-47c9-8969-a7ed98ba810d","source":"@none","code":"baseline-unknown"} # usage: {"event":"usage-unknown","business":"acme","run":"ra847e049e583","instance":"assistant","turn":"bcb0d40b-3f27-4d4b-803b-50c2798673b0","source":"@none","code":"baseline-unknown"} # Subtest: REQ-THREAD-2 REQ-LAUNCH-1 REQ-MSG-1 a thread message starts the thread's session, which stops when idle; its history survives the stop and a restart and no other thread sees it ok 614 - REQ-THREAD-2 REQ-LAUNCH-1 REQ-MSG-1 a thread message starts the thread's session, which stops when idle; its history survives the stop and a restart and no other thread sees it --- duration_ms: 7326.871432 type: 'test' ... # usage: {"event":"usage-unknown","business":"acme","run":"re3e5c63a67b3","instance":"assistant","turn":"cc9e1b08-edaf-485b-acdc-ea4fb65cb1b3","source":"@none","code":"baseline-unknown"} # usage: {"event":"usage-unknown","business":"acme","run":"r3ee41661d480","instance":"assistant","turn":"3b83ab14-9ac3-495c-a703-6ea0a148bf6e","source":"@none","code":"baseline-unknown"} # Subtest: REQ-THREAD-2 REQ-LAUNCH-1 a running thread counts against its model's limit and an idle-stopped one doesn't ok 615 - REQ-THREAD-2 REQ-LAUNCH-1 a running thread counts against its model's limit and an idle-stopped one doesn't --- duration_ms: 2226.111284 type: 'test' ... # usage: {"event":"usage-unknown","business":"acme","run":"rc81d868bbae9","instance":"assistant","turn":"7225cf88-8f24-4803-b7c9-d1024d80eef8","source":"@none","code":"baseline-unknown"} # Subtest: REQ-THREAD-2 REQ-LAUNCH-1 a turn longer than the idle time isn't stopped, and the thread idles out after it ok 616 - REQ-THREAD-2 REQ-LAUNCH-1 a turn longer than the idle time isn't stopped, and the thread idles out after it --- duration_ms: 4588.171554 type: 'test' ... # usage: {"event":"usage-unknown","business":"acme","run":"r4bbe6853b850","instance":"assistant","turn":"1d9d1061-5250-47b7-9695-3e6ca306eb4c","source":"@none","code":"baseline-unknown"} # usage: {"event":"usage-unknown","business":"acme","run":"r4bbe6853b850","instance":"assistant","turn":"2676a534-6d01-4d1c-841a-f390b877737f","source":"@none","code":"baseline-unknown"} # Subtest: REQ-THREAD-2 REQ-LAUNCH-1 a message sent after the idle snapshot keeps the session, which answers it ok 617 - REQ-THREAD-2 REQ-LAUNCH-1 a message sent after the idle snapshot keeps the session, which answers it --- duration_ms: 3059.396188 type: 'test' ... # Subtest: REQ-ROLE-2 REQ-LAUNCH-1 a thread held by a run the launcher didn't start gets no second session ok 618 - REQ-ROLE-2 REQ-LAUNCH-1 a thread held by a run the launcher didn't start gets no second session --- duration_ms: 126.362535 type: 'test' ... # usage: {"event":"usage-unknown","business":"acme","run":"r1bcc76d7fe8f","instance":"assistant","turn":"90902413-02d5-41e1-b5a8-548a2c80238d","source":"@none","code":"baseline-unknown"} # Subtest: REQ-LAUNCH-1 a thread run's session file has no landing, even when landHolders names its instance ok 619 - REQ-LAUNCH-1 a thread run's session file has no landing, even when landHolders names its instance --- duration_ms: 508.380237 type: 'test' ... # Subtest: REQ-LAUNCH-1 a run that ends without taking its thread's message isn't started again for that message ok 620 - REQ-LAUNCH-1 a run that ends without taking its thread's message isn't started again for that message --- duration_ms: 283.058231 type: 'test' ... # Subtest: REQ-THREAD-2 REQ-LAUNCH-1 a thread id that isn't a safe segment, or a thread of a non-thread instance, launches nothing ok 621 - REQ-THREAD-2 REQ-LAUNCH-1 a thread id that isn't a safe segment, or a thread of a non-thread instance, launches nothing --- duration_ms: 245.504117 type: 'test' ... # Subtest: REQ-THREAD-1 REQ-LAUNCH-1 the chief can't launch the assistant outside a thread ok 622 - REQ-THREAD-1 REQ-LAUNCH-1 the chief can't launch the assistant outside a thread --- duration_ms: 102.942321 type: 'test' ... # limits: {"event":"limit-reached","business":"acme","check":"token-limit","export":"mayLaunch","subject":{"instance":"assistant","provider":"zai","model":"claude-sonnet-5-5","account":null},"path":["tokens","instances","assistant"],"limit":0,"count":0,"unknownTurns":0} # limits: {"event":"limit-reached","business":"acme","check":"token-limit","export":"mayLaunch","subject":{"instance":"assistant","provider":"zai","model":"claude-sonnet-5-5","account":null},"path":["tokens","instances","assistant"],"limit":0,"count":0,"unknownTurns":0} # Subtest: REQ-LIMIT-3 REQ-LIMIT-4 a thread start whose instance is at its token limit is refused, logged once with the limit and the count ok 623 - REQ-LIMIT-3 REQ-LIMIT-4 a thread start whose instance is at its token limit is refused, logged once with the limit and the count --- duration_ms: 204.524428 type: 'test' ... # usage: {"event":"usage-unknown","business":"acme","run":"rea115d28c0ee","instance":"assistant","turn":"f7d2931d-8eba-47a2-8c8c-72e960fb5c73","source":"@none","code":"baseline-unknown"} # limits: {"event":"limit-reached","business":"acme","check":"token-limit","export":"mustStop","subject":{"instance":"assistant","provider":"zai","model":"claude-sonnet-5-5","account":null},"path":["tokens","instances","assistant"],"limit":0,"count":0,"unknownTurns":1} # Subtest: REQ-LIMIT-4 a thread run at its token limit stops at the end of its turn: the reply lands, and the end record names the limit ok 624 - REQ-LIMIT-4 a thread run at its token limit stops at the end of its turn: the reply lands, and the end record names the limit --- duration_ms: 368.828477 type: 'test' ... # Subtest: C2-04: a library-only business with tracker.baseUrl boots without a project tracker ok 625 - C2-04: a library-only business with tracker.baseUrl boots without a project tracker --- duration_ms: 399.46969 type: 'test' ... # task.close {} answered: invalid-request; fake saw 18 requests, first GET /info 200, GET /projects/1 200, GET /projects/1/views 200 # task.close on a missing task answered: task-not-found; it made GET /tasks/999 404 # Subtest: bootConfig trackers reach the S3 adapter in the real broker child, which goes ready against a fake Vikunja ok 626 - bootConfig trackers reach the S3 adapter in the real broker child, which goes ready against a fake Vikunja --- duration_ms: 568.521638 type: 'test' ... # Subtest: the transport writes {business, verb, args} to the child and reads its JSON ok 627 - the transport writes {business, verb, args} to the child and reads its JSON --- duration_ms: 51.787986 type: 'test' ... # Subtest: a bus code on stderr becomes the exit code; garbage and timeouts are outcome problems ok 628 - a bus code on stderr becomes the exit code; garbage and timeouts are outcome problems --- duration_ms: 2278.045951 type: 'test' ... # Subtest: busExit and refuseInsideAgent ok 629 - busExit and refuseInsideAgent --- duration_ms: 0.893254 type: 'test' ... # Subtest: REQ-LIMIT-4 mosaic usage shows each token kind and unknown turns beside every total ok 630 - REQ-LIMIT-4 mosaic usage shows each token kind and unknown turns beside every total --- duration_ms: 130.469608 type: 'test' ... # Subtest: usage is dispatched by scripts/mosaic and the shared read adapter ok 631 - usage is dispatched by scripts/mosaic and the shared read adapter --- duration_ms: 216.575234 type: 'test' ... # Subtest: talk sends a REQUEST, prints and reads only the reply to it, and leaves other messages unread ok 632 - talk sends a REQUEST, prints and reads only the reply to it, and leaves other messages unread --- duration_ms: 77.542954 type: 'test' ... # Subtest: talk --wait 0 only sends; no reply within --wait exits 1 and says where it will show ok 633 - talk --wait 0 only sends; no reply within --wait exits 1 and says where it will show --- duration_ms: 1040.955242 type: 'test' ... # Subtest: a late reply the Console has listed stays unread for mosaic inbox, and the next talk skips it ok 634 - a late reply the Console has listed stays unread for mosaic inbox, and the next talk skips it --- duration_ms: 2080.575008 type: 'test' ... # Subtest: talk says when the role isn't running, whether launch.by was told, and how to start launch.by ok 635 - talk says when the role isn't running, whether launch.by was told, and how to start launch.by --- duration_ms: 73.985424 type: 'test' ... # Subtest: talk to a role launch.by can't launch says it isn't in the launch block ok 636 - talk to a role launch.by can't launch says it isn't in the launch block --- duration_ms: 26.951471 type: 'test' ... # Subtest: talk to a stopped role prints the waiting line once, skips a non-reply and prints the reply ok 637 - talk to a stopped role prints the waiting line once, skips a non-reply and prints the reply --- duration_ms: 70.117566 type: 'test' ... # Subtest: talk, stop and launches off/on refuse inside an agent run; bad arguments are usage errors ok 638 - talk, stop and launches off/on refuse inside an agent run; bad arguments are usage errors --- duration_ms: 26.987421 type: 'test' ... # Subtest: launches off and on go to the broker and change the business's launch state ok 639 - launches off and on go to the broker and change the business's launch state --- duration_ms: 25.081982 type: 'test' ... # Subtest: launches list reads sessions.json and marks a stale entry; stop reports it and refuses a non-runner ok 640 - launches list reads sessions.json and marks a stale entry; stop reports it and refuses a non-runner --- duration_ms: 39.425097 type: 'test' ... 1..640 # tests 794 # suites 0 # pass 794 # fail 0 # cancelled 0 # skipped 0 # todo 0 # duration_ms 586916.815022