docs(row276): record run4 stop and mos-1349 timing pairs

This commit is contained in:
jason.woltje committed 2026-10-22 16:09:19 -05:00
1 parent f3a55ddf73
commit 63ebe19d24
39 files changed
+1950

No files matched your search

+32
View File
@@ -90,3 +90,35 @@ Mos places the outer-bound red as a row276 product defect: the outer timer fires
Five callers, locations at804a854dc:497 talk redirects stdout to WORK/talk.out while F5 scans and reads only after wait;519 precheck merges the wrapper's stdout then stderr in command substitution for its last diagnostic;528 Claude version captures stdout and private stderr separately;550 PM list captures stdout and private stderr;593 Node version does the same. All four substitutions must get EOF without residual help. F3/F4 existing diagnostic strings stay, and the3s hop regression stays exact.
Row-owned extraction fixes:734 F7 delimiter removes the nonexistent semicolon;847 uses the shell '# The PM check' marker. Existing full argv and FAIL assertions remain exact. New real legacyCall bytes test checks no-terminal-newline stdout exactly on0 and87 in exec/hop, and suppresses a nonempty stalled stdout payload on82 with explicit residual cleanup. M17 restores inherited stdout, killed by the unchanged precheck hop under3s assertion. M1-M16 definitions unchanged. No repair runtime, Node or push before delta review/gap. Whole gate fresh, no carried results; any red goes to Mos.
## sage-3004 run4 limits, recorded before launch
Candidatef3a55ddf7, manifestd7466207. Fresh whole case1 then whole case2, M1-M17, ten shells; no carry and no push in slot. Both whole Node test files and each mutant killer use timeout -k 10 900 with outer930. Shell limits from unchanged SHELL-LIMITS.json (ceil3x maximum receipt +120):
- scripts/test-auth.sh: timeout -k 10 126; longest recorded 1.9081228229999543s, receipt 3b91cfdaf:agents/gander/work/queue-253/run5-gate/SUMMARY.json (with earlier maximum retained).
- scripts/test-conductor.sh: timeout -k 10 145; longest recorded 8.057173820000026s, receipt 3b91cfdaf:agents/gander/work/queue-253/run5-gate/SUMMARY.json (with earlier maximum retained).
- scripts/test-config.sh: timeout -k 10 130; longest recorded 3.1678915339999367s, receipt 3b91cfdaf:agents/gander/work/queue-253/run5-gate/SUMMARY.json (with earlier maximum retained).
- scripts/test-discord.sh: timeout -k 10 147; longest recorded 8.776727847000002s, receipt 3b91cfdaf:agents/gander/work/queue-253/run5-gate/SUMMARY.json (with earlier maximum retained).
- scripts/test-extension-package.sh: timeout -k 10 130; longest recorded 3.01285702399991s, receipt 3b91cfdaf:agents/gander/work/queue-253/run5-gate/SUMMARY.json (with earlier maximum retained).
- scripts/test-foundation.sh: timeout -k 10 269; longest recorded 49.367s, receipt 3b91cfdaf:agents/gander/work/queue-253/run5-gate/SUMMARY.json (with earlier maximum retained).
- scripts/test-land-work.sh: timeout -k 10 171; longest recorded 16.854s, receipt 3b91cfdaf:agents/gander/work/queue-253/run5-gate/SUMMARY.json (with earlier maximum retained).
- scripts/test-queue.sh: timeout -k 10 226; longest recorded 35.155s, receipt 3b91cfdaf:agents/gander/work/queue-253/run5-gate/SUMMARY.json (with earlier maximum retained).
- scripts/test-release.sh: timeout -k 10 157; longest recorded 12.168674453999964s, receipt 3b91cfdaf:agents/gander/work/queue-253/run5-gate/SUMMARY.json (with earlier maximum retained).
- scripts/test-task.sh: timeout -k 10 231; longest recorded 36.783798266s, receipt 3b91cfdaf:agents/gander/work/queue-253/run5-gate/SUMMARY.json (with earlier maximum retained).
Estimate12-18minutes. Any unexpected result follows sage-3004/mos-1272.
## Run4 old-test red and mos-1349 measurement
Whole case1:49/1/0,247.951s. Only old P10 inner timing fails exec4.19657134 against4s. All own new tests, wiring, exact bytes and outer<3 regression pass. Driver stops before case2/M1-M17/shells; no timeout. gander-0151 reports unplaced. Sage3007/Mos1349 measurements: five alternating804a/f3a scratch runs, no code edits,900s limits/freshTMPDIR, before3/2 after0/5. Test durations and only actually printed exec timers in run4/timing/NOTE.md. Passing per-mode numbers unavailable without editing; not invented. gander-0153 sends table to Mos/Sage/Duckworth for ruling before more work. Sweeps0 test leftovers; no push.
@@ -0,0 +1,8 @@
{
"tests": 50,
"pass": 49,
"fail": 1,
"skipped": 0,
"cancelled": 0,
"todo": 0
}
@@ -0,0 +1,186 @@
{
"grant": "sage-3004",
"head": "f3a55ddf73cde1d1eadf593d35953d0bc03921e4",
"base": "0cbe2e9b3",
"manifest": "d746620768df71585dd2be1bc8a9fff93cb493fdf4a59fd16bc479dde4bc067d",
"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",
"M17"
],
"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 run4 per mos-1345/duckworth0208"
}
@@ -0,0 +1,5 @@
# Run4 old timing red, unplaced
Grant sage-3004, candidatef3a55ddf7, manifestd7466207. First whole file case1:49pass/1fail/0skip, TAP247951.35731ms. Only failure is existing row253 C4 P10 inner reason at380: exec4.19657134s vs <4. All row276 tests and wiring assertions passed, including unchanged outer<3 regression, vanished pid and new exact stdout bytes. No case2 whole, mutants or shells launched. No timeout. gander-0151 reports red immediately; file finishes before measurement. Sweep0 with9 pre-existing infrastructure excluded.
Sage3007/Mos1349 authorize five alternating scratch measurements804a854dc/f3a55ddf7, no code edits, freshgXXX percall and900s limits. See timing/NOTE.md and raw logs. Before3/2, after0/5, no timeout. Each failure stops at exec and never reaches hop; passing tests print neither mode timer. Both candidates cross4s. No assertion or candidate code changed, including duplicatehead. gander-0153 sends table and awaits placement, slot held idle as Sage directs. Scratch sweep0. No push.
+1
View File
@@ -0,0 +1 @@
/mnt/storage/scratch/tmp/gdUk
@@ -0,0 +1,523 @@
{
"grant": "sage-3004",
"head": "f3a55ddf73cde1d1eadf593d35953d0bc03921e4",
"base": "0cbe2e9b3",
"manifest": "d746620768df71585dd2be1bc8a9fff93cb493fdf4a59fd16bc479dde4bc067d",
"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",
"M17"
],
"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 run4 per mos-1345/duckworth0208"
}
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: 2382.905768
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: 32808.565531
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: 1532.966192
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: 4226.036952
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: 4093.370563
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: 10771.174759
type: 'test'
...
# Subtest: row253 C4 acceptance query outer reason discards stdout and names residual cleanup
ok 7 - row253 C4 acceptance query outer reason discards stdout and names residual cleanup
---
duration_ms: 14196.557616
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: 494.350009
type: 'test'
...
# Subtest: row253 C4 P10 inner reason holds under both sudo models
not ok 9 - row253 C4 P10 inner reason holds under both sudo models
---
duration_ms: 4212.907096
type: 'test'
location: '/home/jwoltje/.t3/worktrees/mosaic-stack/gander-row196/packages/cli/tests/case1-accept.test.mjs:368:49'
failureType: 'testCodeFailure'
error: 'exec: 4.196571339999995s includes functional checks'
code: 'ERR_ASSERTION'
name: 'AssertionError'
expected: true
actual: false
operator: '=='
stack: |-
TestContext.<anonymous> (file:///home/jwoltje/.t3/worktrees/mosaic-stack/gander-row196/packages/cli/tests/case1-accept.test.mjs:380:29)
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: row253 C4 P10 outer reason holds under both sudo models
ok 10 - row253 C4 P10 outer reason holds under both sudo models
---
duration_ms: 11787.811949
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: 4130.665081
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: 1942.69162
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: 22752.034579
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: 3929.312009
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: 3898.532647
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: 4366.57563
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: 9838.222823
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: 4668.88132
type: 'test'
...
# Subtest: row 195 accept: F6 fails on a stub that prints nothing, on a path outside claude-<pin> and on a .. segment
ok 19 - row 195 accept: F6 fails on a stub that prints nothing, on a path outside claude-<pin> and on a .. segment
---
duration_ms: 5713.829938
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: 6209.075615
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: 6473.171739
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: 6213.723726
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: 6016.277175
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: 4586.041986
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: 18724.032782
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: 4306.726814
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: 2034.549139
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: 10394.742707
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: 4270.380528
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: 1859.930246
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: 117.410521
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: 14.287058
type: 'test'
...
# Subtest: row 195 accept: every in-instance call goes through sudo -u mosaic -H env PATH=<node dir>:...
ok 33 - row 195 accept: every in-instance call goes through sudo -u mosaic -H env PATH=<node dir>:...
---
duration_ms: 2172.062142
type: 'test'
...
# Subtest: row 195 accept: the host check runs with --check and never --enforce
ok 34 - row 195 accept: the host check runs with --check and never --enforce
---
duration_ms: 2107.070518
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.430447
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: 1804.941733
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: 1868.88839
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: 1714.839012
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: 1708.30916
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: 1721.472041
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: 2801.676908
type: 'test'
...
# Subtest: row276 trailer grammar cannot make supervisor failure pass
ok 42 - row276 trailer grammar cannot make supervisor failure pass
---
duration_ms: 2221.823199
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: 594.314017
type: 'test'
...
# Subtest: row276 precheck outer bound discards success status and fixture cleans residual
ok 44 - row276 precheck outer bound discards success status and fixture cleans residual
---
duration_ms: 2218.865472
type: 'test'
...
# Subtest: row276 case1 capture and legacy tools refuse unsafe system tools
ok 45 - row276 case1 capture and legacy tools refuse unsafe system tools
---
duration_ms: 81.609844
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: 286.857078
type: 'test'
...
# Subtest: row276 version and PM checks refuse successful-looking stdout on supervisor failure
ok 47 - row276 version and PM checks refuse successful-looking stdout on supervisor failure
---
duration_ms: 17.876988
type: 'test'
...
# Subtest: row276 full acceptance keeps all five healthy calls in both sudo models
ok 48 - row276 full acceptance keeps all five healthy calls in both sudo models
---
duration_ms: 4170.98118
type: 'test'
...
# Subtest: row276 vanished pid stat read returns 3 with empty stderr in both scripts
ok 49 - row276 vanished pid stat read returns 3 with empty stderr in both scripts
---
duration_ms: 5.049826
type: 'test'
...
# Subtest: row276 legacy stdout snapshot preserves exact bytes on success and command failure
ok 50 - row276 legacy stdout snapshot preserves exact bytes on success and command failure
---
duration_ms: 3373.039347
type: 'test'
...
1..50
# tests 50
# suites 0
# pass 49
# fail 1
# cancelled 0
# skipped 0
# todo 0
# duration_ms 247951.35731
Traceback (most recent call last):
File "/home/jwoltje/.t3/worktrees/mosaic-stack/gander-row196/agents/gander/work/queue-276/run4/execute.py", line 13, in <module>
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/run4/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
@@ -0,0 +1 @@
2026-10-22T21:09:19.218606+00:00
@@ -0,0 +1,18 @@
import datetime,hashlib,importlib.util,json,os,pathlib,subprocess,sys,time
sys.dont_write_bytecode=True
r=pathlib.Path(__file__).resolve().parent;p=r.parent
spec=importlib.util.spec_from_file_location('row276_driver',p/'driver.py');d=importlib.util.module_from_spec(spec);spec.loader.exec_module(d)
start=time.monotonic();results=dict(grant='sage-3004',steps=[])
(r/'start.txt').write_text(datetime.datetime.now(datetime.timezone.utc).isoformat()+'\n');print((r/'HEADER.json').read_text(),flush=True)
def step(name,cmd,red=False,seconds=1200):
print('START '+name,flush=True);v=d.run(cmd,r/(name+'.log'),seconds=seconds);v.update(name=name,expected_red=red);results['steps'].append(v);results['wall_seconds']=round(time.monotonic()-start,3);(r/'results.json').write_text(json.dumps(results,indent=2)+'\n')
if v['timeout'] or (v['code']==0 if red else v['code']!=0):raise RuntimeError('unexpected result: stop and classify '+name)
if red and 'legacy supervisor block exists' not in (r/(name+'.log')).read_text():raise RuntimeError('wrong RED reason: stop and classify')
print('END '+name,flush=True)
scope=json.loads((p/'GATE-SCOPE.json').read_text())
for i,f in enumerate(scope['whole_files']):step('whole-'+str(i+1),['node','--test','--test-reporter=tap',f])
step('changes-controller',[sys.executable,str(p/'driver.py'),'--grant','sage-3004','--out',str(r/'changes')],seconds=900)
limits=json.loads((p/'SHELL-LIMITS.json').read_text())['scripts']
for i,f in enumerate(scope['shells']):
limit=limits[f]['limit_seconds'];step('shell-'+str(i+1),['timeout','-k','10',str(limit),'bash',f],seconds=limit+30)
(r/'end.txt').write_text(datetime.datetime.now(datetime.timezone.utc).isoformat()+'\n');print('GATE COMPLETE',flush=True)
@@ -0,0 +1,14 @@
{
"grant": "sage-3004",
"steps": [
{
"code": 1,
"timeout": false,
"seconds": 248.04,
"log": "/home/jwoltje/.t3/worktrees/mosaic-stack/gander-row196/agents/gander/work/queue-276/run4/whole-1.log",
"name": "whole-1",
"expected_red": false
}
],
"wall_seconds": 249.771
}
@@ -0,0 +1 @@
2026-10-22T21:01:54.243536+00:00
@@ -0,0 +1,62 @@
{
"timestamp": "2026-10-22T21:06:33.328636+00:00",
"count": 0,
"remaining": [],
"excluded_preexisting_infrastructure": [
{
"pid": 1425557,
"comm": "npm exec @model",
"cwd": "/home/jwoltje/.t3/worktrees/mosaic-stack/gander-row196",
"started_utc": "2026-10-22T19:49:17.210000+00:00"
},
{
"pid": 1425563,
"comm": "node-MainThread",
"cwd": "/home/jwoltje/.t3/worktrees/mosaic-stack/gander-row196",
"started_utc": "2026-10-22T19:49:17.230000+00:00"
},
{
"pid": 1425568,
"comm": "npm exec @playw",
"cwd": "/home/jwoltje/.t3/worktrees/mosaic-stack/gander-row196",
"started_utc": "2026-10-22T19:49:17.240000+00:00"
},
{
"pid": 1425580,
"comm": "npm exec chrome",
"cwd": "/home/jwoltje/.t3/worktrees/mosaic-stack/gander-row196",
"started_utc": "2026-10-22T19:49:17.240000+00:00"
},
{
"pid": 1425769,
"comm": "chrome-devtools",
"cwd": "/home/jwoltje/.t3/worktrees/mosaic-stack/gander-row196",
"started_utc": "2026-10-22T19:49:18.330000+00:00"
},
{
"pid": 1425776,
"comm": "node-MainThread",
"cwd": "/home/jwoltje/.t3/worktrees/mosaic-stack/gander-row196",
"started_utc": "2026-10-22T19:49:18.360000+00:00"
},
{
"pid": 1425783,
"comm": "node-MainThread",
"cwd": "/home/jwoltje/.t3/worktrees/mosaic-stack/gander-row196",
"started_utc": "2026-10-22T19:49:18.440000+00:00"
},
{
"pid": 1425797,
"comm": "node-MainThread",
"cwd": "/home/jwoltje/.t3/worktrees/mosaic-stack/gander-row196",
"started_utc": "2026-10-22T19:49:18.660000+00:00"
},
{
"pid": 1426427,
"comm": "codex-code-mode",
"cwd": "/home/jwoltje/.t3/worktrees/mosaic-stack/gander-row196",
"started_utc": "2026-10-22T19:49:29.150000+00:00"
}
],
"note": "Read-only /proc cwd sweep, including deleted cwd under this run TMPDIR. Own ancestry excluded. Only known MCP/npm/code-mode infrastructure PIDs with pre-run start ticks are excluded. No signalling."
}
@@ -0,0 +1,34 @@
#!/usr/bin/env python3
"""Read-only sweep of this worktree and focused TMPDIR, including deleted cwd."""
import datetime
import json
import os
from pathlib import Path
HERE=Path(__file__).resolve().parent.parent
REPO=HERE.parents[3]
RUN=HERE/'run4'
def main():
tmp=Path((RUN/'TMPDIR').read_text().strip())
started=datetime.datetime.fromisoformat((RUN/'start.txt').read_text().strip().replace('Z','+00:00')).timestamp()
boot=int(next(s.split()[1] for s in Path('/proc/stat').read_text().splitlines() if s.startswith('btime ')))
ancestors=set();pid=os.getpid()
while pid and pid not in ancestors:
ancestors.add(pid)
try:pid=int(next(s.split(':')[1] for s in Path(f'/proc/{pid}/status').read_text().splitlines() if s.startswith('PPid:')))
except (OSError,StopIteration):break
known={1425557,1425563,1425568,1425580,1425769,1425776,1425783,1425797,1426427,2880281,2880282,2880283,2880284,2880445,2880487,2880537,2883251,2880439,2469277,2469278,2469279,2469292,2469478,2469485,2469518,2469601,2470486}
remaining=[];excluded=[]
for proc in Path('/proc').iterdir():
if not proc.name.isdigit() or int(proc.name) in ancestors:continue
try:
rawcwd=os.readlink(proc/'cwd');cwd=Path(rawcwd.removesuffix(' (deleted)'))
if not(cwd==REPO or REPO in cwd.parents or cwd==tmp or tmp in cwd.parents):continue
stat=(proc/'stat').read_text().rsplit(') ',1)[1].split()
stamp=boot+int(stat[19])/os.sysconf('SC_CLK_TCK')
item=dict(pid=int(proc.name),comm=(proc/'comm').read_text().strip(),cwd=rawcwd,started_utc=datetime.datetime.fromtimestamp(stamp,datetime.timezone.utc).isoformat())
if int(proc.name) in known and stamp<started:excluded.append(item)
else:remaining.append(item)
except (OSError,ValueError,IndexError):continue
result=dict(timestamp=datetime.datetime.now(datetime.timezone.utc).isoformat(),count=len(remaining),remaining=remaining,excluded_preexisting_infrastructure=excluded,note='Read-only /proc cwd sweep, including deleted cwd under this run TMPDIR. Own ancestry excluded. Only known MCP/npm/code-mode infrastructure PIDs with pre-run start ticks are excluded. No signalling.')
(RUN/'sweep.json').write_text(json.dumps(result,indent=2)+'\n');print(json.dumps(result,indent=2))
if __name__=='__main__':main()
@@ -0,0 +1 @@
["timeout", "-k", "10", "900", "node", "--test", "--test-reporter=tap", "--test-name-pattern", "row253 C4 P10 inner reason", "packages/cli/tests/case1-accept.test.mjs"]
@@ -0,0 +1,30 @@
TAP version 13
# Subtest: row253 C4 P10 inner reason holds under both sudo models
not ok 1 - row253 C4 P10 inner reason holds under both sudo models
---
duration_ms: 4392.445183
type: 'test'
location: '/mnt/storage/scratch/gander276-measure-kp71qj/after/packages/cli/tests/case1-accept.test.mjs:368:49'
failureType: 'testCodeFailure'
error: 'exec: 4.369460152s includes functional checks'
code: 'ERR_ASSERTION'
name: 'AssertionError'
expected: true
actual: false
operator: '=='
stack: |-
TestContext.<anonymous> (file:///mnt/storage/scratch/gander276-measure-kp71qj/after/packages/cli/tests/case1-accept.test.mjs:380:29)
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 4546.031277
@@ -0,0 +1 @@
["timeout", "-k", "10", "900", "node", "--test", "--test-reporter=tap", "--test-name-pattern", "row253 C4 P10 inner reason", "packages/cli/tests/case1-accept.test.mjs"]
@@ -0,0 +1,16 @@
TAP version 13
# Subtest: row253 C4 P10 inner reason holds under both sudo models
ok 1 - row253 C4 P10 inner reason holds under both sudo models
---
duration_ms: 8031.994723
type: 'test'
...
1..1
# tests 1
# suites 0
# pass 1
# fail 0
# cancelled 0
# skipped 0
# todo 0
# duration_ms 8141.460782
@@ -0,0 +1 @@
["timeout", "-k", "10", "900", "node", "--test", "--test-reporter=tap", "--test-name-pattern", "row253 C4 P10 inner reason", "packages/cli/tests/case1-accept.test.mjs"]
@@ -0,0 +1,30 @@
TAP version 13
# Subtest: row253 C4 P10 inner reason holds under both sudo models
not ok 1 - row253 C4 P10 inner reason holds under both sudo models
---
duration_ms: 4187.297998
type: 'test'
location: '/mnt/storage/scratch/gander276-measure-kp71qj/after/packages/cli/tests/case1-accept.test.mjs:368:49'
failureType: 'testCodeFailure'
error: 'exec: 4.167306859s includes functional checks'
code: 'ERR_ASSERTION'
name: 'AssertionError'
expected: true
actual: false
operator: '=='
stack: |-
TestContext.<anonymous> (file:///mnt/storage/scratch/gander276-measure-kp71qj/after/packages/cli/tests/case1-accept.test.mjs:380:29)
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 4281.220896
@@ -0,0 +1 @@
["timeout", "-k", "10", "900", "node", "--test", "--test-reporter=tap", "--test-name-pattern", "row253 C4 P10 inner reason", "packages/cli/tests/case1-accept.test.mjs"]
@@ -0,0 +1,30 @@
TAP version 13
# Subtest: row253 C4 P10 inner reason holds under both sudo models
not ok 1 - row253 C4 P10 inner reason holds under both sudo models
---
duration_ms: 4025.815583
type: 'test'
location: '/mnt/storage/scratch/gander276-measure-kp71qj/before/packages/cli/tests/case1-accept.test.mjs:368:49'
failureType: 'testCodeFailure'
error: 'exec: 4.005682376s includes functional checks'
code: 'ERR_ASSERTION'
name: 'AssertionError'
expected: true
actual: false
operator: '=='
stack: |-
TestContext.<anonymous> (file:///mnt/storage/scratch/gander276-measure-kp71qj/before/packages/cli/tests/case1-accept.test.mjs:380:29)
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 4118.056885
@@ -0,0 +1 @@
["timeout", "-k", "10", "900", "node", "--test", "--test-reporter=tap", "--test-name-pattern", "row253 C4 P10 inner reason", "packages/cli/tests/case1-accept.test.mjs"]
@@ -0,0 +1,30 @@
TAP version 13
# Subtest: row253 C4 P10 inner reason holds under both sudo models
not ok 1 - row253 C4 P10 inner reason holds under both sudo models
---
duration_ms: 4049.749875
type: 'test'
location: '/mnt/storage/scratch/gander276-measure-kp71qj/after/packages/cli/tests/case1-accept.test.mjs:368:49'
failureType: 'testCodeFailure'
error: 'exec: 4.029871183s includes functional checks'
code: 'ERR_ASSERTION'
name: 'AssertionError'
expected: true
actual: false
operator: '=='
stack: |-
TestContext.<anonymous> (file:///mnt/storage/scratch/gander276-measure-kp71qj/after/packages/cli/tests/case1-accept.test.mjs:380:29)
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 4153.174948
@@ -0,0 +1 @@
["timeout", "-k", "10", "900", "node", "--test", "--test-reporter=tap", "--test-name-pattern", "row253 C4 P10 inner reason", "packages/cli/tests/case1-accept.test.mjs"]
@@ -0,0 +1,16 @@
TAP version 13
# Subtest: row253 C4 P10 inner reason holds under both sudo models
ok 1 - row253 C4 P10 inner reason holds under both sudo models
---
duration_ms: 8040.063124
type: 'test'
...
1..1
# tests 1
# suites 0
# pass 1
# fail 0
# cancelled 0
# skipped 0
# todo 0
# duration_ms 8139.6488
@@ -0,0 +1 @@
["timeout", "-k", "10", "900", "node", "--test", "--test-reporter=tap", "--test-name-pattern", "row253 C4 P10 inner reason", "packages/cli/tests/case1-accept.test.mjs"]
@@ -0,0 +1,30 @@
TAP version 13
# Subtest: row253 C4 P10 inner reason holds under both sudo models
not ok 1 - row253 C4 P10 inner reason holds under both sudo models
---
duration_ms: 4092.891405
type: 'test'
location: '/mnt/storage/scratch/gander276-measure-kp71qj/after/packages/cli/tests/case1-accept.test.mjs:368:49'
failureType: 'testCodeFailure'
error: 'exec: 4.070529577s includes functional checks'
code: 'ERR_ASSERTION'
name: 'AssertionError'
expected: true
actual: false
operator: '=='
stack: |-
TestContext.<anonymous> (file:///mnt/storage/scratch/gander276-measure-kp71qj/after/packages/cli/tests/case1-accept.test.mjs:380:29)
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 4202.699271
@@ -0,0 +1 @@
["timeout", "-k", "10", "900", "node", "--test", "--test-reporter=tap", "--test-name-pattern", "row253 C4 P10 inner reason", "packages/cli/tests/case1-accept.test.mjs"]
@@ -0,0 +1,30 @@
TAP version 13
# Subtest: row253 C4 P10 inner reason holds under both sudo models
not ok 1 - row253 C4 P10 inner reason holds under both sudo models
---
duration_ms: 4068.048642
type: 'test'
location: '/mnt/storage/scratch/gander276-measure-kp71qj/before/packages/cli/tests/case1-accept.test.mjs:368:49'
failureType: 'testCodeFailure'
error: 'exec: 4.04696619s includes functional checks'
code: 'ERR_ASSERTION'
name: 'AssertionError'
expected: true
actual: false
operator: '=='
stack: |-
TestContext.<anonymous> (file:///mnt/storage/scratch/gander276-measure-kp71qj/before/packages/cli/tests/case1-accept.test.mjs:380:29)
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 4168.644016
@@ -0,0 +1 @@
["timeout", "-k", "10", "900", "node", "--test", "--test-reporter=tap", "--test-name-pattern", "row253 C4 P10 inner reason", "packages/cli/tests/case1-accept.test.mjs"]
@@ -0,0 +1,30 @@
TAP version 13
# Subtest: row253 C4 P10 inner reason holds under both sudo models
not ok 1 - row253 C4 P10 inner reason holds under both sudo models
---
duration_ms: 4063.324413
type: 'test'
location: '/mnt/storage/scratch/gander276-measure-kp71qj/after/packages/cli/tests/case1-accept.test.mjs:368:49'
failureType: 'testCodeFailure'
error: 'exec: 4.043377235s includes functional checks'
code: 'ERR_ASSERTION'
name: 'AssertionError'
expected: true
actual: false
operator: '=='
stack: |-
TestContext.<anonymous> (file:///mnt/storage/scratch/gander276-measure-kp71qj/after/packages/cli/tests/case1-accept.test.mjs:380:29)
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 4165.803517
@@ -0,0 +1 @@
["timeout", "-k", "10", "900", "node", "--test", "--test-reporter=tap", "--test-name-pattern", "row253 C4 P10 inner reason", "packages/cli/tests/case1-accept.test.mjs"]
@@ -0,0 +1,16 @@
TAP version 13
# Subtest: row253 C4 P10 inner reason holds under both sudo models
ok 1 - row253 C4 P10 inner reason holds under both sudo models
---
duration_ms: 7948.344653
type: 'test'
...
1..1
# tests 1
# suites 0
# pass 1
# fail 0
# cancelled 0
# skipped 0
# todo 0
# duration_ms 8047.855279
@@ -0,0 +1,13 @@
# mos-1349 alternating timing measurement
No code edits. Detached scratch trees804a854dc andf3a55ddf7; five alternating pairs, same900s timeout-k10, freshgXXX per run. duration_ms below is the named test TAP duration, not a normalized per-mode value. Passing tests print neither mode timer. Failed exec assertions print exec seconds and stop before hop.
| Pair |804a test ms|result|reported exec s|f3a test ms|result|reported exec s|
|---|---:|---|---:|---:|---|---:|
|1|8031.994723|pass|not printed|4392.445183|fail|4.369460152|
|2|4025.815583|fail|4.005682376|4187.297998|fail|4.167306859|
|3|8040.063124|pass|not printed|4049.749875|fail|4.029871183|
|4|4068.048642|fail|4.04696619|4092.891405|fail|4.070529577|
|5|7948.344653|pass|not printed|4063.324413|fail|4.043377235|
Before3/2, after0/5. All failures are exec seconds>=4; no timeout. Passing runs include both modes; early failures include exec only. No mode values were invented or instrumented. The after candidate fails more often here, but the before candidate also crosses4s. Send to Mos for placement before any further change/run. Duplicatehead remains unchanged pending ruling/review.
@@ -0,0 +1,279 @@
START 1-before 804a854dcab1d1876e274e8fbc7391ac979936d2 /mnt/storage/scratch/tmp/gAF8
TAP version 13
# Subtest: row253 C4 P10 inner reason holds under both sudo models
ok 1 - row253 C4 P10 inner reason holds under both sudo models
---
duration_ms: 8031.994723
type: 'test'
...
1..1
# tests 1
# suites 0
# pass 1
# fail 0
# cancelled 0
# skipped 0
# todo 0
# duration_ms 8141.460782
END 1-before {"code": 0, "timeout": false, "seconds": 8.232, "log": "/home/jwoltje/.t3/worktrees/mosaic-stack/gander-row196/agents/gander/work/queue-276/run4/timing/1-before.log", "repetition": 1, "label": "before", "sha": "804a854dcab1d1876e274e8fbc7391ac979936d2", "tmpdir": "/mnt/storage/scratch/tmp/gAF8", "duration_ms": 8031.994723, "reported_mode_seconds": {}}
START 1-after f3a55ddf73cde1d1eadf593d35953d0bc03921e4 /mnt/storage/scratch/tmp/gtiL
TAP version 13
# Subtest: row253 C4 P10 inner reason holds under both sudo models
not ok 1 - row253 C4 P10 inner reason holds under both sudo models
---
duration_ms: 4392.445183
type: 'test'
location: '/mnt/storage/scratch/gander276-measure-kp71qj/after/packages/cli/tests/case1-accept.test.mjs:368:49'
failureType: 'testCodeFailure'
error: 'exec: 4.369460152s includes functional checks'
code: 'ERR_ASSERTION'
name: 'AssertionError'
expected: true
actual: false
operator: '=='
stack: |-
TestContext.<anonymous> (file:///mnt/storage/scratch/gander276-measure-kp71qj/after/packages/cli/tests/case1-accept.test.mjs:380:29)
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 4546.031277
END 1-after {"code": 1, "timeout": false, "seconds": 4.624, "log": "/home/jwoltje/.t3/worktrees/mosaic-stack/gander-row196/agents/gander/work/queue-276/run4/timing/1-after.log", "repetition": 1, "label": "after", "sha": "f3a55ddf73cde1d1eadf593d35953d0bc03921e4", "tmpdir": "/mnt/storage/scratch/tmp/gtiL", "duration_ms": 4392.445183, "reported_mode_seconds": {"exec": "4.369460152"}}
START 2-before 804a854dcab1d1876e274e8fbc7391ac979936d2 /mnt/storage/scratch/tmp/guTD
TAP version 13
# Subtest: row253 C4 P10 inner reason holds under both sudo models
not ok 1 - row253 C4 P10 inner reason holds under both sudo models
---
duration_ms: 4025.815583
type: 'test'
location: '/mnt/storage/scratch/gander276-measure-kp71qj/before/packages/cli/tests/case1-accept.test.mjs:368:49'
failureType: 'testCodeFailure'
error: 'exec: 4.005682376s includes functional checks'
code: 'ERR_ASSERTION'
name: 'AssertionError'
expected: true
actual: false
operator: '=='
stack: |-
TestContext.<anonymous> (file:///mnt/storage/scratch/gander276-measure-kp71qj/before/packages/cli/tests/case1-accept.test.mjs:380:29)
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 4118.056885
END 2-before {"code": 1, "timeout": false, "seconds": 4.172, "log": "/home/jwoltje/.t3/worktrees/mosaic-stack/gander-row196/agents/gander/work/queue-276/run4/timing/2-before.log", "repetition": 2, "label": "before", "sha": "804a854dcab1d1876e274e8fbc7391ac979936d2", "tmpdir": "/mnt/storage/scratch/tmp/guTD", "duration_ms": 4025.815583, "reported_mode_seconds": {"exec": "4.005682376"}}
START 2-after f3a55ddf73cde1d1eadf593d35953d0bc03921e4 /mnt/storage/scratch/tmp/g0L4
TAP version 13
# Subtest: row253 C4 P10 inner reason holds under both sudo models
not ok 1 - row253 C4 P10 inner reason holds under both sudo models
---
duration_ms: 4187.297998
type: 'test'
location: '/mnt/storage/scratch/gander276-measure-kp71qj/after/packages/cli/tests/case1-accept.test.mjs:368:49'
failureType: 'testCodeFailure'
error: 'exec: 4.167306859s includes functional checks'
code: 'ERR_ASSERTION'
name: 'AssertionError'
expected: true
actual: false
operator: '=='
stack: |-
TestContext.<anonymous> (file:///mnt/storage/scratch/gander276-measure-kp71qj/after/packages/cli/tests/case1-accept.test.mjs:380:29)
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 4281.220896
END 2-after {"code": 1, "timeout": false, "seconds": 4.373, "log": "/home/jwoltje/.t3/worktrees/mosaic-stack/gander-row196/agents/gander/work/queue-276/run4/timing/2-after.log", "repetition": 2, "label": "after", "sha": "f3a55ddf73cde1d1eadf593d35953d0bc03921e4", "tmpdir": "/mnt/storage/scratch/tmp/g0L4", "duration_ms": 4187.297998, "reported_mode_seconds": {"exec": "4.167306859"}}
START 3-before 804a854dcab1d1876e274e8fbc7391ac979936d2 /mnt/storage/scratch/tmp/gw9V
TAP version 13
# Subtest: row253 C4 P10 inner reason holds under both sudo models
ok 1 - row253 C4 P10 inner reason holds under both sudo models
---
duration_ms: 8040.063124
type: 'test'
...
1..1
# tests 1
# suites 0
# pass 1
# fail 0
# cancelled 0
# skipped 0
# todo 0
# duration_ms 8139.6488
END 3-before {"code": 0, "timeout": false, "seconds": 8.231, "log": "/home/jwoltje/.t3/worktrees/mosaic-stack/gander-row196/agents/gander/work/queue-276/run4/timing/3-before.log", "repetition": 3, "label": "before", "sha": "804a854dcab1d1876e274e8fbc7391ac979936d2", "tmpdir": "/mnt/storage/scratch/tmp/gw9V", "duration_ms": 8040.063124, "reported_mode_seconds": {}}
START 3-after f3a55ddf73cde1d1eadf593d35953d0bc03921e4 /mnt/storage/scratch/tmp/gnWT
TAP version 13
# Subtest: row253 C4 P10 inner reason holds under both sudo models
not ok 1 - row253 C4 P10 inner reason holds under both sudo models
---
duration_ms: 4049.749875
type: 'test'
location: '/mnt/storage/scratch/gander276-measure-kp71qj/after/packages/cli/tests/case1-accept.test.mjs:368:49'
failureType: 'testCodeFailure'
error: 'exec: 4.029871183s includes functional checks'
code: 'ERR_ASSERTION'
name: 'AssertionError'
expected: true
actual: false
operator: '=='
stack: |-
TestContext.<anonymous> (file:///mnt/storage/scratch/gander276-measure-kp71qj/after/packages/cli/tests/case1-accept.test.mjs:380:29)
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 4153.174948
END 3-after {"code": 1, "timeout": false, "seconds": 4.223, "log": "/home/jwoltje/.t3/worktrees/mosaic-stack/gander-row196/agents/gander/work/queue-276/run4/timing/3-after.log", "repetition": 3, "label": "after", "sha": "f3a55ddf73cde1d1eadf593d35953d0bc03921e4", "tmpdir": "/mnt/storage/scratch/tmp/gnWT", "duration_ms": 4049.749875, "reported_mode_seconds": {"exec": "4.029871183"}}
START 4-before 804a854dcab1d1876e274e8fbc7391ac979936d2 /mnt/storage/scratch/tmp/gFp5
TAP version 13
# Subtest: row253 C4 P10 inner reason holds under both sudo models
not ok 1 - row253 C4 P10 inner reason holds under both sudo models
---
duration_ms: 4068.048642
type: 'test'
location: '/mnt/storage/scratch/gander276-measure-kp71qj/before/packages/cli/tests/case1-accept.test.mjs:368:49'
failureType: 'testCodeFailure'
error: 'exec: 4.04696619s includes functional checks'
code: 'ERR_ASSERTION'
name: 'AssertionError'
expected: true
actual: false
operator: '=='
stack: |-
TestContext.<anonymous> (file:///mnt/storage/scratch/gander276-measure-kp71qj/before/packages/cli/tests/case1-accept.test.mjs:380:29)
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 4168.644016
END 4-before {"code": 1, "timeout": false, "seconds": 4.223, "log": "/home/jwoltje/.t3/worktrees/mosaic-stack/gander-row196/agents/gander/work/queue-276/run4/timing/4-before.log", "repetition": 4, "label": "before", "sha": "804a854dcab1d1876e274e8fbc7391ac979936d2", "tmpdir": "/mnt/storage/scratch/tmp/gFp5", "duration_ms": 4068.048642, "reported_mode_seconds": {"exec": "4.04696619"}}
START 4-after f3a55ddf73cde1d1eadf593d35953d0bc03921e4 /mnt/storage/scratch/tmp/gIi0
TAP version 13
# Subtest: row253 C4 P10 inner reason holds under both sudo models
not ok 1 - row253 C4 P10 inner reason holds under both sudo models
---
duration_ms: 4092.891405
type: 'test'
location: '/mnt/storage/scratch/gander276-measure-kp71qj/after/packages/cli/tests/case1-accept.test.mjs:368:49'
failureType: 'testCodeFailure'
error: 'exec: 4.070529577s includes functional checks'
code: 'ERR_ASSERTION'
name: 'AssertionError'
expected: true
actual: false
operator: '=='
stack: |-
TestContext.<anonymous> (file:///mnt/storage/scratch/gander276-measure-kp71qj/after/packages/cli/tests/case1-accept.test.mjs:380:29)
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 4202.699271
END 4-after {"code": 1, "timeout": false, "seconds": 4.273, "log": "/home/jwoltje/.t3/worktrees/mosaic-stack/gander-row196/agents/gander/work/queue-276/run4/timing/4-after.log", "repetition": 4, "label": "after", "sha": "f3a55ddf73cde1d1eadf593d35953d0bc03921e4", "tmpdir": "/mnt/storage/scratch/tmp/gIi0", "duration_ms": 4092.891405, "reported_mode_seconds": {"exec": "4.070529577"}}
START 5-before 804a854dcab1d1876e274e8fbc7391ac979936d2 /mnt/storage/scratch/tmp/gC5M
TAP version 13
# Subtest: row253 C4 P10 inner reason holds under both sudo models
ok 1 - row253 C4 P10 inner reason holds under both sudo models
---
duration_ms: 7948.344653
type: 'test'
...
1..1
# tests 1
# suites 0
# pass 1
# fail 0
# cancelled 0
# skipped 0
# todo 0
# duration_ms 8047.855279
END 5-before {"code": 0, "timeout": false, "seconds": 8.13, "log": "/home/jwoltje/.t3/worktrees/mosaic-stack/gander-row196/agents/gander/work/queue-276/run4/timing/5-before.log", "repetition": 5, "label": "before", "sha": "804a854dcab1d1876e274e8fbc7391ac979936d2", "tmpdir": "/mnt/storage/scratch/tmp/gC5M", "duration_ms": 7948.344653, "reported_mode_seconds": {}}
START 5-after f3a55ddf73cde1d1eadf593d35953d0bc03921e4 /mnt/storage/scratch/tmp/gee6
TAP version 13
# Subtest: row253 C4 P10 inner reason holds under both sudo models
not ok 1 - row253 C4 P10 inner reason holds under both sudo models
---
duration_ms: 4063.324413
type: 'test'
location: '/mnt/storage/scratch/gander276-measure-kp71qj/after/packages/cli/tests/case1-accept.test.mjs:368:49'
failureType: 'testCodeFailure'
error: 'exec: 4.043377235s includes functional checks'
code: 'ERR_ASSERTION'
name: 'AssertionError'
expected: true
actual: false
operator: '=='
stack: |-
TestContext.<anonymous> (file:///mnt/storage/scratch/gander276-measure-kp71qj/after/packages/cli/tests/case1-accept.test.mjs:380:29)
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 4165.803517
END 5-after {"code": 1, "timeout": false, "seconds": 4.222, "log": "/home/jwoltje/.t3/worktrees/mosaic-stack/gander-row196/agents/gander/work/queue-276/run4/timing/5-after.log", "repetition": 5, "label": "after", "sha": "f3a55ddf73cde1d1eadf593d35953d0bc03921e4", "tmpdir": "/mnt/storage/scratch/tmp/gee6", "duration_ms": 4063.324413, "reported_mode_seconds": {"exec": "4.043377235"}}
MEASUREMENTS COMPLETE
@@ -0,0 +1,22 @@
import datetime,importlib.util,json,os,pathlib,re,subprocess,sys,time
sys.dont_write_bytecode=True
r=pathlib.Path(__file__).resolve().parent;p=r.parent.parent
spec=importlib.util.spec_from_file_location('row276_driver',p/'driver.py');d=importlib.util.module_from_spec(spec);spec.loader.exec_module(d)
root=pathlib.Path('/mnt/storage/scratch/gander276-measure-kp71qj')
rows=[]
for n in range(1,6):
for label,sha in [('before','804a854dc'),('after','f3a55ddf7')]:
d.REPO=root/label
actual=subprocess.check_output(['git','rev-parse','HEAD'],cwd=d.REPO,text=True).strip();assert actual.startswith(sha)
original=subprocess.check_output(['git','status','--porcelain','--untracked-files=no'],cwd=d.REPO)
tmp=subprocess.check_output(['mktemp','-d','/mnt/storage/scratch/tmp/gXXX'],text=True).strip();os.environ['TMPDIR']=tmp
name=f'{n}-{label}'
print('START',name,actual,tmp,flush=True)
v=d.run(['node','--test','--test-reporter=tap','--test-name-pattern','row253 C4 P10 inner reason','packages/cli/tests/case1-accept.test.mjs'],r/(name+'.log'))
text=(r/(name+'.log')).read_text()
v.update(repetition=n,label=label,sha=actual,tmpdir=tmp,duration_ms=float(re.search(r'duration_ms: ([0-9.]+)',text)[1]),reported_mode_seconds=dict(re.findall(r'(exec|hop): ([0-9.]+)s',text)))
rows.append(v);(r/'results.json').write_text(json.dumps(rows,indent=2)+'\n')
assert subprocess.check_output(['git','status','--porcelain','--untracked-files=no'],cwd=d.REPO)==original
if v['timeout']:raise RuntimeError('measurement timeout, stop')
print('END',name,json.dumps(v),flush=True)
print('MEASUREMENTS COMPLETE',flush=True)
@@ -0,0 +1,136 @@
[
{
"code": 0,
"timeout": false,
"seconds": 8.232,
"log": "/home/jwoltje/.t3/worktrees/mosaic-stack/gander-row196/agents/gander/work/queue-276/run4/timing/1-before.log",
"repetition": 1,
"label": "before",
"sha": "804a854dcab1d1876e274e8fbc7391ac979936d2",
"tmpdir": "/mnt/storage/scratch/tmp/gAF8",
"duration_ms": 8031.994723,
"reported_mode_seconds": {}
},
{
"code": 1,
"timeout": false,
"seconds": 4.624,
"log": "/home/jwoltje/.t3/worktrees/mosaic-stack/gander-row196/agents/gander/work/queue-276/run4/timing/1-after.log",
"repetition": 1,
"label": "after",
"sha": "f3a55ddf73cde1d1eadf593d35953d0bc03921e4",
"tmpdir": "/mnt/storage/scratch/tmp/gtiL",
"duration_ms": 4392.445183,
"reported_mode_seconds": {
"exec": "4.369460152"
}
},
{
"code": 1,
"timeout": false,
"seconds": 4.172,
"log": "/home/jwoltje/.t3/worktrees/mosaic-stack/gander-row196/agents/gander/work/queue-276/run4/timing/2-before.log",
"repetition": 2,
"label": "before",
"sha": "804a854dcab1d1876e274e8fbc7391ac979936d2",
"tmpdir": "/mnt/storage/scratch/tmp/guTD",
"duration_ms": 4025.815583,
"reported_mode_seconds": {
"exec": "4.005682376"
}
},
{
"code": 1,
"timeout": false,
"seconds": 4.373,
"log": "/home/jwoltje/.t3/worktrees/mosaic-stack/gander-row196/agents/gander/work/queue-276/run4/timing/2-after.log",
"repetition": 2,
"label": "after",
"sha": "f3a55ddf73cde1d1eadf593d35953d0bc03921e4",
"tmpdir": "/mnt/storage/scratch/tmp/g0L4",
"duration_ms": 4187.297998,
"reported_mode_seconds": {
"exec": "4.167306859"
}
},
{
"code": 0,
"timeout": false,
"seconds": 8.231,
"log": "/home/jwoltje/.t3/worktrees/mosaic-stack/gander-row196/agents/gander/work/queue-276/run4/timing/3-before.log",
"repetition": 3,
"label": "before",
"sha": "804a854dcab1d1876e274e8fbc7391ac979936d2",
"tmpdir": "/mnt/storage/scratch/tmp/gw9V",
"duration_ms": 8040.063124,
"reported_mode_seconds": {}
},
{
"code": 1,
"timeout": false,
"seconds": 4.223,
"log": "/home/jwoltje/.t3/worktrees/mosaic-stack/gander-row196/agents/gander/work/queue-276/run4/timing/3-after.log",
"repetition": 3,
"label": "after",
"sha": "f3a55ddf73cde1d1eadf593d35953d0bc03921e4",
"tmpdir": "/mnt/storage/scratch/tmp/gnWT",
"duration_ms": 4049.749875,
"reported_mode_seconds": {
"exec": "4.029871183"
}
},
{
"code": 1,
"timeout": false,
"seconds": 4.223,
"log": "/home/jwoltje/.t3/worktrees/mosaic-stack/gander-row196/agents/gander/work/queue-276/run4/timing/4-before.log",
"repetition": 4,
"label": "before",
"sha": "804a854dcab1d1876e274e8fbc7391ac979936d2",
"tmpdir": "/mnt/storage/scratch/tmp/gFp5",
"duration_ms": 4068.048642,
"reported_mode_seconds": {
"exec": "4.04696619"
}
},
{
"code": 1,
"timeout": false,
"seconds": 4.273,
"log": "/home/jwoltje/.t3/worktrees/mosaic-stack/gander-row196/agents/gander/work/queue-276/run4/timing/4-after.log",
"repetition": 4,
"label": "after",
"sha": "f3a55ddf73cde1d1eadf593d35953d0bc03921e4",
"tmpdir": "/mnt/storage/scratch/tmp/gIi0",
"duration_ms": 4092.891405,
"reported_mode_seconds": {
"exec": "4.070529577"
}
},
{
"code": 0,
"timeout": false,
"seconds": 8.13,
"log": "/home/jwoltje/.t3/worktrees/mosaic-stack/gander-row196/agents/gander/work/queue-276/run4/timing/5-before.log",
"repetition": 5,
"label": "before",
"sha": "804a854dcab1d1876e274e8fbc7391ac979936d2",
"tmpdir": "/mnt/storage/scratch/tmp/gC5M",
"duration_ms": 7948.344653,
"reported_mode_seconds": {}
},
{
"code": 1,
"timeout": false,
"seconds": 4.222,
"log": "/home/jwoltje/.t3/worktrees/mosaic-stack/gander-row196/agents/gander/work/queue-276/run4/timing/5-after.log",
"repetition": 5,
"label": "after",
"sha": "f3a55ddf73cde1d1eadf593d35953d0bc03921e4",
"tmpdir": "/mnt/storage/scratch/tmp/gee6",
"duration_ms": 4063.324413,
"reported_mode_seconds": {
"exec": "4.043377235"
}
}
]
@@ -0,0 +1,19 @@
{
"timestamp": "2026-10-22T21:08:38.683331+00:00",
"count": 0,
"remaining": [],
"roots": [
"/mnt/storage/scratch/gander276-measure-kp71qj",
"/mnt/storage/scratch/tmp/gAF8",
"/mnt/storage/scratch/tmp/gtiL",
"/mnt/storage/scratch/tmp/guTD",
"/mnt/storage/scratch/tmp/g0L4",
"/mnt/storage/scratch/tmp/gw9V",
"/mnt/storage/scratch/tmp/gnWT",
"/mnt/storage/scratch/tmp/gFp5",
"/mnt/storage/scratch/tmp/gIi0",
"/mnt/storage/scratch/tmp/gC5M",
"/mnt/storage/scratch/tmp/gee6"
],
"note": "Read-only cwd sweep including deleted cwd, no signals"
}
@@ -0,0 +1 @@
["timeout", "-k", "10", "900", "node", "--test", "--test-reporter=tap", "packages/cli/tests/case1-accept.test.mjs"]
@@ -0,0 +1,327 @@
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: 2382.905768
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: 32808.565531
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: 1532.966192
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: 4226.036952
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: 4093.370563
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: 10771.174759
type: 'test'
...
# Subtest: row253 C4 acceptance query outer reason discards stdout and names residual cleanup
ok 7 - row253 C4 acceptance query outer reason discards stdout and names residual cleanup
---
duration_ms: 14196.557616
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: 494.350009
type: 'test'
...
# Subtest: row253 C4 P10 inner reason holds under both sudo models
not ok 9 - row253 C4 P10 inner reason holds under both sudo models
---
duration_ms: 4212.907096
type: 'test'
location: '/home/jwoltje/.t3/worktrees/mosaic-stack/gander-row196/packages/cli/tests/case1-accept.test.mjs:368:49'
failureType: 'testCodeFailure'
error: 'exec: 4.196571339999995s includes functional checks'
code: 'ERR_ASSERTION'
name: 'AssertionError'
expected: true
actual: false
operator: '=='
stack: |-
TestContext.<anonymous> (file:///home/jwoltje/.t3/worktrees/mosaic-stack/gander-row196/packages/cli/tests/case1-accept.test.mjs:380:29)
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: row253 C4 P10 outer reason holds under both sudo models
ok 10 - row253 C4 P10 outer reason holds under both sudo models
---
duration_ms: 11787.811949
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: 4130.665081
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: 1942.69162
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: 22752.034579
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: 3929.312009
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: 3898.532647
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: 4366.57563
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: 9838.222823
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: 4668.88132
type: 'test'
...
# Subtest: row 195 accept: F6 fails on a stub that prints nothing, on a path outside claude-<pin> and on a .. segment
ok 19 - row 195 accept: F6 fails on a stub that prints nothing, on a path outside claude-<pin> and on a .. segment
---
duration_ms: 5713.829938
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: 6209.075615
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: 6473.171739
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: 6213.723726
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: 6016.277175
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: 4586.041986
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: 18724.032782
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: 4306.726814
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: 2034.549139
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: 10394.742707
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: 4270.380528
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: 1859.930246
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: 117.410521
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: 14.287058
type: 'test'
...
# Subtest: row 195 accept: every in-instance call goes through sudo -u mosaic -H env PATH=<node dir>:...
ok 33 - row 195 accept: every in-instance call goes through sudo -u mosaic -H env PATH=<node dir>:...
---
duration_ms: 2172.062142
type: 'test'
...
# Subtest: row 195 accept: the host check runs with --check and never --enforce
ok 34 - row 195 accept: the host check runs with --check and never --enforce
---
duration_ms: 2107.070518
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.430447
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: 1804.941733
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: 1868.88839
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: 1714.839012
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: 1708.30916
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: 1721.472041
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: 2801.676908
type: 'test'
...
# Subtest: row276 trailer grammar cannot make supervisor failure pass
ok 42 - row276 trailer grammar cannot make supervisor failure pass
---
duration_ms: 2221.823199
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: 594.314017
type: 'test'
...
# Subtest: row276 precheck outer bound discards success status and fixture cleans residual
ok 44 - row276 precheck outer bound discards success status and fixture cleans residual
---
duration_ms: 2218.865472
type: 'test'
...
# Subtest: row276 case1 capture and legacy tools refuse unsafe system tools
ok 45 - row276 case1 capture and legacy tools refuse unsafe system tools
---
duration_ms: 81.609844
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: 286.857078
type: 'test'
...
# Subtest: row276 version and PM checks refuse successful-looking stdout on supervisor failure
ok 47 - row276 version and PM checks refuse successful-looking stdout on supervisor failure
---
duration_ms: 17.876988
type: 'test'
...
# Subtest: row276 full acceptance keeps all five healthy calls in both sudo models
ok 48 - row276 full acceptance keeps all five healthy calls in both sudo models
---
duration_ms: 4170.98118
type: 'test'
...
# Subtest: row276 vanished pid stat read returns 3 with empty stderr in both scripts
ok 49 - row276 vanished pid stat read returns 3 with empty stderr in both scripts
---
duration_ms: 5.049826
type: 'test'
...
# Subtest: row276 legacy stdout snapshot preserves exact bytes on success and command failure
ok 50 - row276 legacy stdout snapshot preserves exact bytes on success and command failure
---
duration_ms: 3373.039347
type: 'test'
...
1..50
# tests 50
# suites 0
# pass 49
# fail 1
# cancelled 0
# skipped 0
# todo 0
# duration_ms 247951.35731