{ "grant": "sage-2988", "head": "804a854dcab1d1876e274e8fbc7391ac979936d2", "base": "0cbe2e9b3", "manifest": "214aeb9e6c4437d66f3bee7c51dca5e20e0e1b2b8415cb8389dff567d0e8538a", "scope": { "whole_files": [ "packages/cli/tests/case1-accept.test.mjs", "packages/cli/tests/case2-unit.test.mjs" ], "shells": [ "scripts/test-auth.sh", "scripts/test-conductor.sh", "scripts/test-config.sh", "scripts/test-discord.sh", "scripts/test-extension-package.sh", "scripts/test-foundation.sh", "scripts/test-land-work.sh", "scripts/test-queue.sh", "scripts/test-release.sh", "scripts/test-task.sh" ], "mutants": [ "M1", "M2", "M3", "M4", "M5", "M6", "M7", "M8", "M9", "M10", "M11", "M12", "M13", "M14", "M15", "M16" ], "red_pattern": "row276 talk legacy inner timeout", "node_seconds": 900, "estimate_minutes": "12-18; no row276 measured runtime yet" }, "limits": { "files": { "packages/cli/tests/case1-accept.test.mjs": 900, "packages/cli/tests/case2-unit.test.mjs": 900 }, "basis": "No row276 timing yet; initial900s per whole file; Sage may adjust before CLEAR." }, "shell_limits": { "authority": [ "mos-1275", "sage-2659" ], "scope": "Own Gander row196 receipt set documented for row278, plus the complete row278 run3 shell phase. Row253 old C4 results do not carry. Receipts choose timeouts only.", "consulted_records": [ "ec1e7fad8:agents/gander/work/queue-196/evidence/suite-results-run1.json", "ec1e7fad8:agents/gander/work/queue-196/evidence/suite-results.json", "ec1e7fad8:agents/gander/work/queue-196/r2/mutants/results.json", "ec1e7fad8:agents/gander/work/queue-196/r2/run2/base-results.json", "ec1e7fad8:agents/gander/work/queue-196/r2/run2/killers/results.json", "ec1e7fad8:agents/gander/work/queue-196/r3/gate/base-results.json", "ec1e7fad8:agents/gander/work/queue-196/r3/gate/killers/results.json", "ec1e7fad8:agents/gander/work/queue-196/r3/gate/sso-results.json", "ec1e7fad8:agents/gander/work/queue-196/r4/gate/base-results.json", "ec1e7fad8:agents/gander/work/queue-196/r4/gate/killers/results.json", "ec1e7fad8:agents/gander/work/queue-196/r4/gate/sso-results.json", "ec1e7fad8:agents/gander/work/queue-196/r4/gate/whole-results.json", "ec1e7fad8:agents/gander/work/queue-196/r5/gate/whole-results.json", "ec1e7fad8:agents/gander/work/queue-196/r5/resume/summary.json", "ec1e7fad8:agents/gander/work/queue-196/r5/resume/whole-results.json", "ec1e7fad8:agents/gander/work/queue-196/r6/base-results.json", "ec1e7fad8:agents/gander/work/queue-196/r6/first-attempt/results.json", "ec1e7fad8:agents/gander/work/queue-196/r6/killers/results.json", "ec1e7fad8:agents/gander/work/queue-196/r6/summary.json", "ec1e7fad8:agents/gander/work/queue-196/r6/whole-results.json", "385a7194c:agents/gander/work/queue-278/run3/whole/results.json" ], "scripts": { "scripts/test-auth.sh": { "recorded_duration_seconds": 1.9081228229999543, "receipt": "3b91cfdaf:agents/gander/work/queue-253/run5-gate/SUMMARY.json (with earlier maximum retained)", "limit_seconds": 126, "derivation": "ceil(3 * longest successful whole-file receipt) + 120s headroom", "script_sha256": "dd4720cb0cbecd2fc523a318f2222d21d257c8c5889996a3d69e522ee971a707", "previous_maximum_seconds": 1.9081228229999543, "previous_receipt": "ec1e7fad8:agents/gander/work/queue-196/r6/whole-results.json", "row278_run3_seconds": 0.816 }, "scripts/test-conductor.sh": { "recorded_duration_seconds": 8.057173820000026, "receipt": "3b91cfdaf:agents/gander/work/queue-253/run5-gate/SUMMARY.json (with earlier maximum retained)", "limit_seconds": 145, "derivation": "ceil(3 * longest successful whole-file receipt) + 120s headroom", "script_sha256": "da84150467494a4c979759f400854411bd93a7efce981139757bf526d688a23b", "previous_maximum_seconds": 8.057173820000026, "previous_receipt": "ec1e7fad8:agents/gander/work/queue-196/r6/whole-results.json", "row278_run3_seconds": 6.078 }, "scripts/test-config.sh": { "recorded_duration_seconds": 3.1678915339999367, "receipt": "3b91cfdaf:agents/gander/work/queue-253/run5-gate/SUMMARY.json (with earlier maximum retained)", "limit_seconds": 130, "derivation": "ceil(3 * longest successful whole-file receipt) + 120s headroom", "script_sha256": "3301c1fabf616bb961d62f6decd0a46dadb0f399b8ba7f3c2ca60023d2b24c78", "previous_maximum_seconds": 3.1678915339999367, "previous_receipt": "ec1e7fad8:agents/gander/work/queue-196/r6/whole-results.json", "row278_run3_seconds": 1.868 }, "scripts/test-discord.sh": { "recorded_duration_seconds": 8.776727847000002, "receipt": "3b91cfdaf:agents/gander/work/queue-253/run5-gate/SUMMARY.json (with earlier maximum retained)", "limit_seconds": 147, "derivation": "ceil(3 * longest successful whole-file receipt) + 120s headroom", "script_sha256": "a5dcf783c51a5d5d184a357f91ebf9fa1c4e054f0cb84a3d1d7668f6156e025e", "previous_maximum_seconds": 8.776727847000002, "previous_receipt": "ec1e7fad8:agents/gander/work/queue-196/r5/resume/whole-results.json", "row278_run3_seconds": 7.431 }, "scripts/test-extension-package.sh": { "recorded_duration_seconds": 3.01285702399991, "receipt": "3b91cfdaf:agents/gander/work/queue-253/run5-gate/SUMMARY.json (with earlier maximum retained)", "limit_seconds": 130, "derivation": "ceil(3 * longest successful whole-file receipt) + 120s headroom", "script_sha256": "5d7b687f16fd1a9414b229501177d530ba3af4eadd3cac319b33f38fdba9bf99", "previous_maximum_seconds": 3.01285702399991, "previous_receipt": "ec1e7fad8:agents/gander/work/queue-196/r5/resume/whole-results.json", "row278_run3_seconds": 1.366 }, "scripts/test-foundation.sh": { "recorded_duration_seconds": 49.367, "receipt": "3b91cfdaf:agents/gander/work/queue-253/run5-gate/SUMMARY.json (with earlier maximum retained)", "limit_seconds": 269, "derivation": "ceil(3 * longest successful whole-file receipt) + 120s headroom", "script_sha256": "2e11038e7f784ec4f539eb768f63bab0fab9c9940334388a1fe2d47ab9e2b008", "previous_maximum_seconds": 39.70872647900006, "previous_receipt": "ec1e7fad8:agents/gander/work/queue-196/r5/resume/whole-results.json", "row278_run3_seconds": 39.901 }, "scripts/test-land-work.sh": { "recorded_duration_seconds": 16.854, "receipt": "3b91cfdaf:agents/gander/work/queue-253/run5-gate/SUMMARY.json (with earlier maximum retained)", "limit_seconds": 171, "derivation": "ceil(3 * longest successful whole-file receipt) + 120s headroom", "script_sha256": "c9d1d5c9b006d5c12e5f796a9828361059f8e0410846fc55c070c0148b15cef4", "previous_maximum_seconds": 12.623263413000037, "previous_receipt": "ec1e7fad8:agents/gander/work/queue-196/r5/resume/whole-results.json", "row278_run3_seconds": 11.338 }, "scripts/test-queue.sh": { "recorded_duration_seconds": 35.155, "receipt": "3b91cfdaf:agents/gander/work/queue-253/run5-gate/SUMMARY.json (with earlier maximum retained)", "limit_seconds": 226, "derivation": "ceil(3 * longest successful whole-file receipt) + 120s headroom", "script_sha256": "c270f181d1fa8b6d42ff4131c339beba786a8fd620bb66f8afdcec05e8b10868", "previous_maximum_seconds": 23.443742031000088, "previous_receipt": "ec1e7fad8:agents/gander/work/queue-196/r5/resume/whole-results.json", "row278_run3_seconds": 21.158 }, "scripts/test-release.sh": { "recorded_duration_seconds": 12.168674453999964, "receipt": "3b91cfdaf:agents/gander/work/queue-253/run5-gate/SUMMARY.json (with earlier maximum retained)", "limit_seconds": 157, "derivation": "ceil(3 * longest successful whole-file receipt) + 120s headroom", "script_sha256": "be706dff832257bd4781abeabd19faa4ac16edf9a4af0c96457e33cf3bb6deb3", "previous_maximum_seconds": 12.168674453999964, "previous_receipt": "ec1e7fad8:agents/gander/work/queue-196/r5/resume/whole-results.json", "row278_run3_seconds": 2.67 }, "scripts/test-task.sh": { "recorded_duration_seconds": 36.783798266, "receipt": "3b91cfdaf:agents/gander/work/queue-253/run5-gate/SUMMARY.json (with earlier maximum retained)", "limit_seconds": 231, "derivation": "ceil(3 * longest successful whole-file receipt) + 120s headroom", "script_sha256": "10c4abb70bf9b83e617089b06a5436cc7fa6b866a176458b22128c3a15163f94", "previous_maximum_seconds": 36.783798266, "previous_receipt": "ec1e7fad8:agents/gander/work/queue-196/r5/resume/whole-results.json", "row278_run3_seconds": 13.843 } } }, "carry": "NONE; fresh run3 after mos-1337" } START syntax-0 END syntax-0 START syntax-1 END syntax-1 START intended-red TAP version 13 # Subtest: row276 talk legacy inner timeout cleans both sudo models not ok 1 - row276 talk legacy inner timeout cleans both sudo models --- duration_ms: 9.813976 type: 'test' location: '/home/jwoltje/.t3/worktrees/mosaic-stack/gander-row196/packages/cli/tests/case1-accept.test.mjs:781:33' failureType: 'testCodeFailure' error: 'legacy supervisor block exists' code: 'ERR_ASSERTION' name: 'AssertionError' expected: true actual: false operator: '==' stack: |- legacyBody (file:///home/jwoltje/.t3/worktrees/mosaic-stack/gander-row196/packages/cli/tests/case1-accept.test.mjs:765:9) legacyCall (file:///home/jwoltje/.t3/worktrees/mosaic-stack/gander-row196/packages/cli/tests/case1-accept.test.mjs:768:63) TestContext. (file:///home/jwoltje/.t3/worktrees/mosaic-stack/gander-row196/packages/cli/tests/case1-accept.test.mjs:787:35) Test.runInAsyncScope (node:async_hooks:226:14) Test.run (node:internal/test_runner/test:1402:25) Test.start (node:internal/test_runner/test:1262:17) startSubtestAfterBootstrap (node:internal/test_runner/harness:387:17) ... 1..1 # tests 1 # suites 0 # pass 0 # fail 1 # cancelled 0 # skipped 0 # todo 0 # duration_ms 104.754607 END intended-red START focused-green TAP version 13 # Subtest: row276 talk legacy inner timeout cleans both sudo models ok 1 - row276 talk legacy inner timeout cleans both sudo models --- duration_ms: 1652.495229 type: 'test' ... 1..1 # tests 1 # suites 0 # pass 1 # fail 0 # cancelled 0 # skipped 0 # todo 0 # duration_ms 1746.329797 END focused-green START whole-1 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: 1791.657354 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: 28974.729265 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: 1380.961821 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: 4084.655072 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: 3693.053088 type: 'test' ... # Subtest: row253 C4 acceptance query inner reason holds under both sudo models ok 6 - row253 C4 acceptance query inner reason holds under both sudo models --- duration_ms: 10711.01411 type: 'test' ... # Subtest: row253 C4 acceptance query outer reason discards stdout and names residual cleanup ok 7 - row253 C4 acceptance query outer reason discards stdout and names residual cleanup --- duration_ms: 14176.546153 type: 'test' ... # Subtest: row253 C4 acceptance query overflow is output-limit in both models ok 8 - row253 C4 acceptance query overflow is output-limit in both models --- duration_ms: 462.612226 type: 'test' ... # Subtest: row253 C4 P10 inner reason holds under both sudo models ok 9 - row253 C4 P10 inner reason holds under both sudo models --- duration_ms: 7942.352401 type: 'test' ... # Subtest: row253 C4 P10 outer reason holds under both sudo models ok 10 - row253 C4 P10 outer reason holds under both sudo models --- duration_ms: 11450.396895 type: 'test' ... # Subtest: row253 C4 P10 overflow reason holds under both sudo models ok 11 - row253 C4 P10 overflow reason holds under both sudo models --- duration_ms: 3725.029658 type: 'test' ... # Subtest: row 195 accept: every check passing exits 0, with each P mark and counts that match the lines ok 12 - row 195 accept: every check passing exits 0, with each P mark and counts that match the lines --- duration_ms: 1801.220055 type: 'test' ... # Subtest: row 195 accept: exits 1 with each F check failing alone, and its line names it ok 13 - row 195 accept: exits 1 with each F check failing alone, and its line names it --- duration_ms: 20137.622527 type: 'test' ... # Subtest: row 195 accept: F3 fails on exit 0 with no reply line, and its evidence takes talk's error ok 14 - row 195 accept: F3 fails on exit 0 with no reply line, and its evidence takes talk's error --- duration_ms: 3624.936861 type: 'test' ... # Subtest: row 195 accept: F1 fails on a unit that isn't active or isn't User=mosaic ok 15 - row 195 accept: F1 fails on a unit that isn't active or isn't User=mosaic --- duration_ms: 3463.316786 type: 'test' ... # Subtest: row 195 accept: F2 fails when healthz doesn't answer and when another pid holds the port ok 16 - row 195 accept: F2 fails when healthz doesn't answer and when another pid holds the port --- duration_ms: 3660.585067 type: 'test' ... # Subtest: row 195 accept: F5 fails on unpriv_bwrap (enforce), on complain and on a trailing space ok 17 - row 195 accept: F5 fails on unpriv_bwrap (enforce), on complain and on a trailing space --- duration_ms: 8491.604323 type: 'test' ... # Subtest: row 195 accept: F5 fails with no bwrap of mosaic's, and passes on comm alone ok 18 - row 195 accept: F5 fails with no bwrap of mosaic's, and passes on comm alone --- duration_ms: 3962.982132 type: 'test' ... # Subtest: row 195 accept: F6 fails on a stub that prints nothing, on a path outside claude- and on a .. segment ok 19 - row 195 accept: F6 fails on a stub that prints nothing, on a path outside claude- and on a .. segment --- duration_ms: 5070.327942 type: 'test' ... # Subtest: row 195 accept: F7 fails on two live PM launches, one for another business, and no launch.by ok 20 - row 195 accept: F7 fails on two live PM launches, one for another business, and no launch.by --- duration_ms: 5489.785764 type: 'test' ... # Subtest: row 195 accept: F8 fails on 0640, on another owner and on a symlink, and never prints the credential ok 21 - row 195 accept: F8 fails on 0640, on another owner and on a symlink, and never prints the credential --- duration_ms: 5414.01691 type: 'test' ... # Subtest: row 195 accept: F9 fails on another owner, a group-writable mode and a number for the flag ok 22 - row 195 accept: F9 fails on another owner, a group-writable mode and a number for the flag --- duration_ms: 5333.670892 type: 'test' ... # Subtest: row 195 accept: F9 won't run --node as root off the pin path or with a writable directory above it ok 23 - row 195 accept: F9 won't run --node as root off the pin path or with a writable directory above it --- duration_ms: 5055.165314 type: 'test' ... # Subtest: row 195 accept: F11 fails on one *.json under discord/ and passes on an empty directory ok 24 - row 195 accept: F11 fails on one *.json under discord/ and passes on an empty directory --- duration_ms: 3590.767257 type: 'test' ... # Subtest: row 195 accept: each P check reports unnamed on its fault, and the exit stays 0 ok 25 - row 195 accept: each P check reports unnamed on its fault, and the exit stays 0 --- duration_ms: 15882.813145 type: 'test' ... # Subtest: row 195 accept: P2 is unnamed with a supplementary group, and P5 names docker ok 26 - row 195 accept: P2 is unnamed with a supplementary group, and P5 names docker --- duration_ms: 3560.261141 type: 'test' ... # Subtest: row 195 accept: P5 is closed with no jarvis account, and P2 with an empty authorized_keys ok 27 - row 195 accept: P5 is closed with no jarvis account, and P2 with an empty authorized_keys --- duration_ms: 1775.619161 type: 'test' ... # Subtest: row 195 accept: P9 is unnamed once for each item missing ok 28 - row 195 accept: P9 is unnamed once for each item missing --- duration_ms: 8987.832036 type: 'test' ... # Subtest: row253 accept: P10 fails its observation with another peer; P11 with the unit disabled ok 29 - row253 accept: P10 fails its observation with another peer; P11 with the unit disabled --- duration_ms: 3612.933951 type: 'test' ... # Subtest: row 195 accept: every P check unnamed together still exits 0 ok 30 - row 195 accept: every P check unnamed together still exits 0 --- duration_ms: 1592.94325 type: 'test' ... # Subtest: row 195 accept: a bad args file refuses with exit 2 before any check, each for its own reason ok 31 - row 195 accept: a bad args file refuses with exit 2 before any check, each for its own reason --- duration_ms: 97.51146 type: 'test' ... # Subtest: row 195 accept: usage errors and a run without --root as a user exit 2 ok 32 - row 195 accept: usage errors and a run without --root as a user exit 2 --- duration_ms: 10.079888 type: 'test' ... # Subtest: row 195 accept: every in-instance call goes through sudo -u mosaic -H env PATH=:... not ok 33 - row 195 accept: every in-instance call goes through sudo -u mosaic -H env PATH=:... --- duration_ms: 1864.06547 type: 'test' location: '/home/jwoltje/.t3/worktrees/mosaic-stack/gander-row196/packages/cli/tests/case1-accept.test.mjs:716:1' failureType: 'testCodeFailure' error: "Cannot read properties of null (reading '1')" code: 'ERR_TEST_FAILURE' name: 'TypeError' stack: |- TestContext. (file:///home/jwoltje/.t3/worktrees/mosaic-stack/gander-row196/packages/cli/tests/case1-accept.test.mjs:734:56) 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) process.processTicksAndRejections (node:internal/process/task_queues:104:5) async Test.processPendingSubtests (node:internal/test_runner/test:974:7) ... # Subtest: row 195 accept: the host check runs with --check and never --enforce ok 34 - row 195 accept: the host check runs with --check and never --enforce --- duration_ms: 1819.074577 type: 'test' ... # Subtest: row276 legacy call inventory pins every production bound and the conversation contract ok 35 - row276 legacy call inventory pins every production bound and the conversation contract --- duration_ms: 0.361373 type: 'test' ... # Subtest: row276 talk legacy inner timeout cleans both sudo models ok 36 - row276 talk legacy inner timeout cleans both sudo models --- duration_ms: 1657.346938 type: 'test' ... # Subtest: row276 precheck legacy inner timeout cleans both sudo models ok 37 - row276 precheck legacy inner timeout cleans both sudo models --- duration_ms: 1647.727149 type: 'test' ... # Subtest: row276 claude-version legacy inner timeout cleans both sudo models ok 38 - row276 claude-version legacy inner timeout cleans both sudo models --- duration_ms: 1643.329062 type: 'test' ... # Subtest: row276 pm-list legacy inner timeout cleans both sudo models ok 39 - row276 pm-list legacy inner timeout cleans both sudo models --- duration_ms: 1655.927476 type: 'test' ... # Subtest: row276 node-version legacy inner timeout cleans both sudo models ok 40 - row276 node-version legacy inner timeout cleans both sudo models --- duration_ms: 1653.008191 type: 'test' ... # Subtest: row276 legacy streams and display status preserve failures without granting success ok 41 - row276 legacy streams and display status preserve failures without granting success --- duration_ms: 2546.234277 type: 'test' ... # Subtest: row276 trailer grammar cannot make supervisor failure pass ok 42 - row276 trailer grammar cannot make supervisor failure pass --- duration_ms: 2012.451527 type: 'test' ... # Subtest: row276 earlier forged trailer and appended zero remain failures ok 43 - row276 earlier forged trailer and appended zero remain failures --- duration_ms: 508.948745 type: 'test' ... # Subtest: row276 precheck outer bound discards success status and fixture cleans residual not ok 44 - row276 precheck outer bound discards success status and fixture cleans residual --- duration_ms: 5625.767184 type: 'test' location: '/home/jwoltje/.t3/worktrees/mosaic-stack/gander-row196/packages/cli/tests/case1-accept.test.mjs:821:1' failureType: 'testCodeFailure' error: 'hop:4.540313794999995s' code: 'ERR_ASSERTION' name: 'AssertionError' expected: true actual: false operator: '==' stack: |- TestContext. (file:///home/jwoltje/.t3/worktrees/mosaic-stack/gander-row196/packages/cli/tests/case1-accept.test.mjs:827:10) process.processTicksAndRejections (node:internal/process/task_queues:104:5) async Test.run (node:internal/test_runner/test:1409:7) async Test.processPendingSubtests (node:internal/test_runner/test:974:7) ... # Subtest: row276 case1 capture and legacy tools refuse unsafe system tools ok 45 - row276 case1 capture and legacy tools refuse unsafe system tools --- duration_ms: 76.528587 type: 'test' ... # Subtest: row276 stderr retention is bounded and keeps the final diagnostic ok 46 - row276 stderr retention is bounded and keeps the final diagnostic --- duration_ms: 254.174414 type: 'test' ... # Subtest: row276 version and PM checks refuse successful-looking stdout on supervisor failure not ok 47 - row276 version and PM checks refuse successful-looking stdout on supervisor failure --- duration_ms: 6.032229 type: 'test' location: '/home/jwoltje/.t3/worktrees/mosaic-stack/gander-row196/packages/cli/tests/case1-accept.test.mjs:845:1' failureType: 'testCodeFailure' error: |- The expression evaluated to a falsy value: assert.ok(at>=0&&end>at) code: 'ERR_ASSERTION' name: 'AssertionError' expected: true actual: false operator: '==' stack: |- TestContext. (file:///home/jwoltje/.t3/worktrees/mosaic-stack/gander-row196/packages/cli/tests/case1-accept.test.mjs:848:75) 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) process.processTicksAndRejections (node:internal/process/task_queues:104:5) async Test.processPendingSubtests (node:internal/test_runner/test:974:7) ... # Subtest: row276 full acceptance keeps all five healthy calls in both sudo models ok 48 - row276 full acceptance keeps all five healthy calls in both sudo models --- duration_ms: 3643.367206 type: 'test' ... # Subtest: row276 vanished pid stat read returns 3 with empty stderr in both scripts ok 49 - row276 vanished pid stat read returns 3 with empty stderr in both scripts --- duration_ms: 4.486716 type: 'test' ... 1..49 # tests 49 # suites 0 # pass 46 # fail 3 # cancelled 0 # skipped 0 # todo 0 # duration_ms 225725.92281 Traceback (most recent call last): File "/home/jwoltje/.t3/worktrees/mosaic-stack/gander-row196/agents/gander/work/queue-276/run3/execute.py", line 22, in for i,f in enumerate(scope['whole_files']):step('whole-'+str(i+1),['node','--test','--test-reporter=tap',f]) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/home/jwoltje/.t3/worktrees/mosaic-stack/gander-row196/agents/gander/work/queue-276/run3/execute.py", line 9, in step if v['timeout'] or (v['code']==0 if red else v['code']!=0):raise RuntimeError('unexpected result: stop and classify '+name) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ RuntimeError: unexpected result: stop and classify whole-1