TAP version 13 # Subtest: row253 factory socket uses actual config and target-uid query without widening hardening ok 1 - row253 factory socket uses actual config and target-uid query without widening hardening --- duration_ms: 216.869128 type: 'test' ... # Subtest: row253 installer refuses unsafe location and query facts before unit writes ok 2 - row253 installer refuses unsafe location and query facts before unit writes --- duration_ms: 1037.060467 type: 'test' ... # Subtest: row253 query timeout kills its process group and leaves no running child ok 3 - row253 query timeout kills its process group and leaves no running child --- duration_ms: 5027.077544 type: 'test' ... # Subtest: row253 protected homes refuse before any filesystem access ok 4 - row253 protected homes refuse before any filesystem access --- duration_ms: 14.602145 type: 'test' ... # Subtest: row253 query reaps its group even when a child closes stdout before the query returns ok 5 - row253 query reaps its group even when a child closes stdout before the query returns --- duration_ms: 152.685734 type: 'test' ... # Subtest: row253 config parser is strict and output capture is bounded ok 6 - row253 config parser is strict and output capture is bounded --- duration_ms: 26.669467 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 7 - a clean library render writes both units 0644 with the fixed lines, and enables both then starts the bus then the Console --- duration_ms: 141.129141 type: 'test' ... # Subtest: PATH starts with the --node directory, for a node outside the default list and for /usr/bin/node ok 8 - PATH starts with the --node directory, for a node outside the default list and for /usr/bin/node --- duration_ms: 145.189241 type: 'test' ... # Subtest: a failed bus start refuses with the Console not started ok 9 - a failed bus start refuses with the Console not started --- duration_ms: 120.050347 type: 'test' ... # Subtest: the script never links a unit file ok 10 - the script never links a unit file --- duration_ms: 0.293936 type: 'test' ... # Subtest: factory renders --pm once and one MOSAIC_CLAUDE_BIN line, and without them both tokens render empty ok 11 - factory renders --pm once and one MOSAIC_CLAUDE_BIN line, and without them both tokens render empty --- duration_ms: 358.790337 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 12 - 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: 583.217218 type: 'test' ... # Subtest: a re-install to another copy re-renders both units, and an edited installed unit refuses ok 13 - a re-install to another copy re-renders both units, and an edited installed unit refuses --- duration_ms: 1346.293893 type: 'test' ... # Subtest: a template with a namespace, user or system call restriction refuses ok 14 - a template with a namespace, user or system call restriction refuses --- duration_ms: 335.885968 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 15 - the bus template's EnvironmentFile line must be there and point at the session env, and the Console template must have none --- duration_ms: 261.193104 type: 'test' ... # Subtest: a template holding an unknown token, PermissionsStartOnly or a privileged Exec prefix refuses ok 16 - a template holding an unknown token, PermissionsStartOnly or a privileged Exec prefix refuses --- duration_ms: 217.834215 type: 'test' ... # Subtest: a symlink at either unit path refuses ok 17 - a symlink at either unit path refuses --- duration_ms: 292.144849 type: 'test' ... # Subtest: a --node that is relative, not root-owned or under refuses ok 18 - a --node that is relative, not root-owned or under refuses --- duration_ms: 34.702768 type: 'test' ... # Subtest: a re-install with a different --node or different serve flags refuses ok 19 - a re-install with a different --node or different serve flags refuses --- duration_ms: 862.096949 type: 'test' ... # Subtest: an installed pair whose units name different copies refuses ok 20 - an installed pair whose units name different copies refuses --- duration_ms: 343.53779 type: 'test' ... # Subtest: a copy id that is short, uppercase, holds / or .., or names no directory refuses ok 21 - a copy id that is short, uppercase, holds / or .., or names no directory refuses --- duration_ms: 37.449488 type: 'test' ... # Subtest: library refuses a privileged-floor miss, a bad proof pair and every flag outside its set ok 22 - library refuses a privileged-floor miss, a bad proof pair and every flag outside its set --- duration_ms: 510.984644 type: 'test' ... # Subtest: library refuses a proof file not owned by 's uid ok 23 - library refuses a proof file not owned by 's uid --- duration_ms: 30.321206 type: 'test' ... # Subtest: factory refuses duplicate socket, a missing --port or --business, and each proxy flag ok 24 - factory refuses duplicate socket, a missing --port or --business, and each proxy flag --- duration_ms: 306.036125 type: 'test' ... # Subtest: row253 factory refuses retired TCP and a value after the socket marker ok 25 - row253 factory refuses retired TCP and a value after the socket marker --- duration_ms: 45.290287 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 26 - factory refuses a --claude that is relative, not root-owned or under , and a re-install with another --pm or --claude --- duration_ms: 837.29654 type: 'test' ... # Subtest: the precheck passes on a good host and prints free memory, without the key ok 27 - the precheck passes on a good host and prints free memory, without the key --- duration_ms: 127.505732 type: 'test' ... # Subtest: the precheck refuses each failed host check ok 28 - the precheck refuses each failed host check --- duration_ms: 1209.781622 type: 'test' ... # Subtest: the precheck refuses a user missing from passwd, a business file that does not load, and a symlinked run root ok 29 - the precheck refuses a user missing from passwd, a business file that does not load, and a symlinked run root --- duration_ms: 686.996596 type: 'test' ... # Subtest: a bwrap that fails refuses and prints the sysctl and where bwrap is ok 30 - a bwrap that fails refuses and prints the sysctl and where bwrap is --- duration_ms: 147.551012 type: 'test' ... # Subtest: an unprivileged port floor at or below the Console's port refuses, and so does a missing Console unit ok 31 - an unprivileged port floor at or below the Console's port refuses, and so does a missing Console unit --- duration_ms: 729.482735 type: 'test' ... # Subtest: bus.tester: library refuses it on, factory needs it on, and factory refuses a library business ok 32 - bus.tester: library refuses it on, factory needs it on, and factory refuses a library business --- duration_ms: 570.789238 type: 'test' ... # Subtest: the claude check runs only for a claude-code instance, and refuses a claude that appends or answers wrong ok 33 - the claude check runs only for a claude-code instance, and refuses a claude that appends or answers wrong --- duration_ms: 1142.885248 type: 'test' ... # Subtest: the claude check runs the bus unit's MOSAIC_CLAUDE_BIN over claude on PATH ok 34 - the claude check runs the bus unit's MOSAIC_CLAUDE_BIN over claude on PATH --- duration_ms: 383.125949 type: 'test' ... # Subtest: the session env file refuses when missing, open to others, a symlink, empty, or emptied by a later line ok 35 - the session env file refuses when missing, open to others, a symlink, empty, or emptied by a later line --- duration_ms: 799.735416 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 36 - inside a session's sandbox a bind below 1024 fails with EACCES, and a bind on a free high port succeeds --- duration_ms: 98.89618 type: 'test' ... 1..36 # tests 36 # suites 0 # pass 36 # fail 0 # cancelled 0 # skipped 0 # todo 0 # duration_ms 19359.125841 TAP version 13 # Subtest: row253 socket observation uses configured root, metadata and the Console peer without sending bytes ok 1 - row253 socket observation uses configured root, metadata and the Console peer without sending bytes --- duration_ms: 457.237158 type: 'test' ... # Subtest: row253 P10 refuses unsafe metadata, wrong peers and an unsafe Python without claiming closure ok 2 - row253 P10 refuses unsafe metadata, wrong peers and an unsafe Python without claiming closure --- duration_ms: 8825.596429 type: 'test' ... # Subtest: row253 acceptance rejects bad config and unsupported copies before talk ok 3 - row253 acceptance rejects bad config and unsupported copies before talk --- duration_ms: 405.608885 type: 'test' ... # Subtest: row253 stalled peer observation ends within its bound without leaving a reader ok 4 - row253 stalled peer observation ends within its bound without leaving a reader --- duration_ms: 3417.061486 type: 'test' ... # Subtest: row253 P8 refuses both retired TCP and board listeners ok 5 - row253 P8 refuses both retired TCP and board listeners --- duration_ms: 931.562888 type: 'test' ... # Subtest: row 195 accept: every check passing exits 0, with each P mark and counts that match the lines ok 6 - row 195 accept: every check passing exits 0, with each P mark and counts that match the lines --- duration_ms: 423.786569 type: 'test' ... # Subtest: row 195 accept: exits 1 with each F check failing alone, and its line names it ok 7 - row 195 accept: exits 1 with each F check failing alone, and its line names it --- duration_ms: 4820.838663 type: 'test' ... # Subtest: row 195 accept: F3 fails on exit 0 with no reply line, and its evidence takes talk's error ok 8 - row 195 accept: F3 fails on exit 0 with no reply line, and its evidence takes talk's error --- duration_ms: 854.517542 type: 'test' ... # Subtest: row 195 accept: F1 fails on a unit that isn't active or isn't User=mosaic ok 9 - row 195 accept: F1 fails on a unit that isn't active or isn't User=mosaic --- duration_ms: 880.2515 type: 'test' ... # Subtest: row 195 accept: F2 fails when healthz doesn't answer and when another pid holds the port ok 10 - row 195 accept: F2 fails when healthz doesn't answer and when another pid holds the port --- duration_ms: 923.143848 type: 'test' ... # Subtest: row 195 accept: F5 fails on unpriv_bwrap (enforce), on complain and on a trailing space ok 11 - row 195 accept: F5 fails on unpriv_bwrap (enforce), on complain and on a trailing space --- duration_ms: 1611.055796 type: 'test' ... # Subtest: row 195 accept: F5 fails with no bwrap of mosaic's, and passes on comm alone ok 12 - row 195 accept: F5 fails with no bwrap of mosaic's, and passes on comm alone --- duration_ms: 772.495962 type: 'test' ... # Subtest: row 195 accept: F6 fails on a stub that prints nothing, on a path outside claude- and on a .. segment ok 13 - row 195 accept: F6 fails on a stub that prints nothing, on a path outside claude- and on a .. segment --- duration_ms: 1208.609458 type: 'test' ... # Subtest: row 195 accept: F7 fails on two live PM launches, one for another business, and no launch.by ok 14 - row 195 accept: F7 fails on two live PM launches, one for another business, and no launch.by --- duration_ms: 1277.66317 type: 'test' ... # Subtest: row 195 accept: F8 fails on 0640, on another owner and on a symlink, and never prints the credential ok 15 - row 195 accept: F8 fails on 0640, on another owner and on a symlink, and never prints the credential --- duration_ms: 1323.209668 type: 'test' ... # Subtest: row 195 accept: F9 fails on another owner, a group-writable mode and a number for the flag ok 16 - row 195 accept: F9 fails on another owner, a group-writable mode and a number for the flag --- duration_ms: 1223.483541 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 17 - row 195 accept: F9 won't run --node as root off the pin path or with a writable directory above it --- duration_ms: 1110.862644 type: 'test' ... # Subtest: row 195 accept: F11 fails on one *.json under discord/ and passes on an empty directory ok 18 - row 195 accept: F11 fails on one *.json under discord/ and passes on an empty directory --- duration_ms: 916.072105 type: 'test' ... # Subtest: row 195 accept: each P check reports unnamed on its fault, and the exit stays 0 ok 19 - row 195 accept: each P check reports unnamed on its fault, and the exit stays 0 --- duration_ms: 4105.537374 type: 'test' ... # Subtest: row 195 accept: P2 is unnamed with a supplementary group, and P5 names docker ok 20 - row 195 accept: P2 is unnamed with a supplementary group, and P5 names docker --- duration_ms: 1015.859889 type: 'test' ... # Subtest: row 195 accept: P5 is closed with no jarvis account, and P2 with an empty authorized_keys ok 21 - row 195 accept: P5 is closed with no jarvis account, and P2 with an empty authorized_keys --- duration_ms: 400.087324 type: 'test' ... # Subtest: row 195 accept: P9 is unnamed once for each item missing ok 22 - row 195 accept: P9 is unnamed once for each item missing --- duration_ms: 2710.187272 type: 'test' ... # Subtest: row253 accept: P10 fails its observation with another peer; P11 with the unit disabled ok 23 - row253 accept: P10 fails its observation with another peer; P11 with the unit disabled --- duration_ms: 800.289163 type: 'test' ... # Subtest: row 195 accept: every P check unnamed together still exits 0 ok 24 - row 195 accept: every P check unnamed together still exits 0 --- duration_ms: 348.312367 type: 'test' ... # Subtest: row 195 accept: a bad args file refuses with exit 2 before any check, each for its own reason ok 25 - row 195 accept: a bad args file refuses with exit 2 before any check, each for its own reason --- duration_ms: 101.428549 type: 'test' ... # Subtest: row 195 accept: usage errors and a run without --root as a user exit 2 ok 26 - row 195 accept: usage errors and a run without --root as a user exit 2 --- duration_ms: 11.252533 type: 'test' ... # Subtest: row 195 accept: every in-instance call goes through sudo -u mosaic -H env PATH=:... not ok 27 - row 195 accept: every in-instance call goes through sudo -u mosaic -H env PATH=:... --- duration_ms: 448.51281 type: 'test' location: '/home/jwoltje/.t3/worktrees/mosaic-stack/gander-row196/packages/cli/tests/case1-accept.test.mjs:625:1' failureType: 'testCodeFailure' error: |- The input did not match the regular expression /^talk chief case1-accept-[0-9a-f]{12}: .* --business mosaic-stack --tester --wait 300$/. Input: 'talk chief case1-accept-7f454c46: this is the Case 1 acceptance; reply with one short line. --business mosaic-stack --tester --wait 300' code: 'ERR_ASSERTION' name: 'AssertionError' expected: actual: 'talk chief case1-accept-7f454c46: this is the Case 1 acceptance; reply with one short line. --business mosaic-stack --tester --wait 300' operator: 'match' stack: |- TestContext. (file:///home/jwoltje/.t3/worktrees/mosaic-stack/gander-row196/packages/cli/tests/case1-accept.test.mjs:641:10) Test.runInAsyncScope (node:async_hooks:226:14) Test.run (node:internal/test_runner/test:1402:25) Test.processPendingSubtests (node:internal/test_runner/test:974:18) Test.postRun (node:internal/test_runner/test:1542:19) Test.run (node:internal/test_runner/test:1467:12) async Test.processPendingSubtests (node:internal/test_runner/test:974:7) ... # Subtest: row 195 accept: the host check runs with --check and never --enforce ok 28 - row 195 accept: the host check runs with --check and never --enforce --- duration_ms: 421.488991 type: 'test' ... 1..28 # tests 28 # suites 0 # pass 27 # fail 1 # cancelled 0 # skipped 0 # todo 0 # duration_ms 41874.061683 Traceback (most recent call last): File "/home/jwoltje/.t3/worktrees/mosaic-stack/gander-row196/agents/gander/work/queue-253/window.py", line 78, in main() File "/home/jwoltje/.t3/worktrees/mosaic-stack/gander-row196/agents/gander/work/queue-253/window.py", line 66, in main step('focused-'+str(i+1),['node','--test','--test-reporter=tap',test]) File "/home/jwoltje/.t3/worktrees/mosaic-stack/gander-row196/agents/gander/work/queue-253/window.py", line 47, in step raise RuntimeError('unexpected failure: report before continuing') RuntimeError: unexpected failure: report before continuing