# Row276 build, gate pending Base48e450ce8, branchgander/row276. Claim rev3255, gander-276-start-1. Brief b0d0b7f76; Mos1324 starts build, Sage2893 approves plan and authorizes local commits. Duckworth0182 B1 corrected the exit-status plan before product code;0183 approves that correction with C1-C4. PLAN.md records decisions. No runtime/Node check has run. All5legacy calls use legacy_run: talk320/330 with unchanged conversation300 and concurrent F5 scan; precheck200/210 preserves its existing180s Claude probe; versions5/7; PM list10/12. Both scripts keep the exact old supervisor payload. Case2 code changes only its setuid-member header. Header N2 names inner-cleanup refusal for a uid-changing unkillable member. Root capture/tools N1 counterparts are M10/M11. Supervisor0 is the sole pass authority. The dropped-uid builtin-only Node runner exits its original command status. Supervisor87 stays87; only its ffail display number may come from the strict final newline-terminated decimal1..255 trailer. A0trailer under87 gives display87, never exited0. Missing/bad256/999/leading-zero/sign/no-newline records also give87 and the fixed reason. Private display files live in root's mktemp WORK directory, explicitly0700, never in user data. Root reads at most65536stderr bytes using a validated system tail. NODE is invoked only after uid drop; ownership fence means non-user-writable, not non-executable by the user. Test stand-ins retain0755. F3/F4 retain the old displayed code and failure strings. F4's stripped stderr follows its stdout when merged; its precheck contract is whole-check success/failure plus last diagnostic, and no existing test asserts interleaving. F6/F7/F10 now require supervisor0 before interpreting stdout, intentionally tightening their old pipeline behavior. Existing content/refusal assertions remain. The one existing wiring assertion now requires five supervised Bash launcher calls plus the two isolated metadata/probe calls; direct talk/precheck argv assertions remain unchanged. Tests are written before source, but intentionally unrun because Sage holds all execution until CLEAR. New tests cover each call under exec/hop, exact inner reasons/no-leftovers, stalled outer reason with explicit R3 fixture cleanup, streams, child statuses1/7/81/137, forged trailers before/after actual status, grammar edge refusals, bounded stderr and stdout that looks successful under supervisor failure. Existing case1/case2 whole files are the gate scope because they import the shared fake module. No actual sudo, host or live service is used. Static SUPERVISOR-SHAS and UNIQUENESS verify bytes/targets. Bash-n on source and15variants passes; Node parse/behavior remains pending. Gate request: intended RED/GREEN against old script; case1-accept.test.mjs andcase2-unit.test.mjs whole under timeout-k10 900 initially; M1-M15 with passing fresh controls, exact restores and no timeout counted as kill; all10scripts/test-*.sh whole under SHELL-LIMITS.json, based on the longest retained row253/196/278 receipts (ceil3x+120). Busy check before every file. TMPDIR from mktemp-d /mnt/storage/scratch/tmp/gXXX. First unexpected failure/survivor/timeout stops for Sage/Mos. Report named skips,timing,full counts and cwd sweep. No passing claim until that gate. Manifest excludes BUILD-LOG for a doc-only append if Sage needs it. DEFERRED's conditional closure lists F5,N1,N2 individually; R3 and532 remain. No new dependency installation, live state, credentials, ports or units touched. Push waits for a Sage gap. No queue writes after claim. ## mos-1326 wiring assertion authorization packages/cli/tests/case1-accept.test.mjs:726. The old direct-command shape cannot express the required supervisor. All other old assertion lines are byte-identical, including command-level talk and precheck argv checks. ASSERTION-PRESERVATION.json records the exact static comparison. Structured sudo-argv.jsonl records every argv element before fake path translation. The replacement compares full arrays, never a substring. Its only variable text is the random message marker, separately pinned by the unchanged original talk assertion. Both supervisor bytes and literal bounds are pinned. Old: ```js assert.deepEqual([...new Set(cmds)].sort(), [CLI, PRECHECK, CLAUDE, NODE].sort()); ``` New: ```js assert.equal(asMosaic.length,7,'two metadata/probe calls and five legacy calls'); assert.deepEqual([...new Set(cmds)].sort(), ['/usr/bin/bash']); // mos-1326: assert every argv element, not flattened/substr command detection. const source=read(SCRIPT); const supervisor=source.split("<<'MOSAIC_TESTER_SUPERVISOR'")[1].split('\n').slice(1).join('\n').split('\nMOSAIC_TESTER_SUPERVISOR')[0]+'\n'; assert.equal(createHash('sha256').update(supervisor).digest('hex'),'17b881513c35107e26f78c3722bc4a2927d206b197597be0bdbb2c8a8588bb4c'); const runner=/LEGACY_COMMAND_RUNNER='([\s\S]*?)'\nlegacy_display_rc/.exec(source)[1]; const f7=/F7_JS='([\s\S]*?)';\ncheck_f7/.exec(source)[1]; const raw=read(join(h.hc,'sudo-argv.jsonl')).trim().split('\n').map(line=>JSON.parse(line)); const legacy=raw.filter(a=>a[0]==='-u'&&a[1]==='mosaic'&&a[4].startsWith('PATH=')); const marker=legacy[0][20].split(':')[0]; const argv=(tag,inner,command)=>['-u','mosaic','-H','env',`PATH=/opt/mosaic-stack/node-${NODE_PIN}/bin:/usr/local/bin:/usr/bin:/bin`, '/usr/bin/bash','-c',supervisor,'--',String(inner),'/usr/bin/setsid','/usr/bin/sleep',NODE,'-e',runner,'--',tag,...command]; assert.deepEqual(legacy,[ argv('talk',320,[CLI,'talk','chief',marker+': this is the Case 1 acceptance; reply with one short line.','--business','mosaic-stack','--tester','--wait','300']), argv('precheck',200,[PRECHECK,'--business','mosaic-stack','--profile','factory']), argv('claude-version',5,[CLAUDE,'--version']), argv('pm-list',10,[NODE,'-e',f7,'--',`${HOME}/.config/mosaic-dev/businesses/mosaic-stack.json`,CLI,'mosaic-stack']), argv('node-version',5,[NODE,'--version']), ]); ``` The existing target-uid config query already requires executing this same NODE before any F check, so a root-only executable mode that prevents the dropped uid running it fails preflight. No new root NODE execution is introduced. ## Static review0186 and upstream drift Duckworth0186 statically approves164e16647/6887825e4, subject to green gate and log review. N1: M2 is the stand-in for the brief's diagnostic outer-bound mutant. It removes the shared legacy_run outer timer; its named killer runs only the precheck diagnostic in exec/hop with an independently guarded stalled supervisor, exact outer-timeout reason and bounded return. The fixed per-call production budget is also pinned by the inventory assertion. Keep the accepted M1-M15 scope. N2: M5 must die at the streams test because the wiring test reads runner text from source. N3: stderr disk growth retains the old talk.err risk; only root's tail read is bounded, with no new cap claim. Sage2898 publication: original branch6887825e4 pushed after range check. Drift48e450ce8..94c33a43c on five manifest paths is only31added DEFERRED lines, inserted into its gaps section; no deletion or source/test drift. UPSTREAM-DRIFT.diff/json retain it. Final integration must keep those entries and row276's appended closure; no integration or manifest rewrite has happened yet. No tests or Node ran. ## sage-2964 final integration and gate grant Rebased05af615fb onto0cbe2e9b3 as gander/row276-0cbe, clean, no conflict. Four source/test blobs identical to164e16647; DEFERRED preserves full new base plus closure. integration-0cbe/DRIFT.json records every upstream changed path and transitive import overlap. Helpers import Broker/Store, so schema3m and its migrations are checked on import; sandbox bind test reads new sandbox.mjs and copies runner files including broker. Neither case test nor case script uses schema step counts or COUNTED/restore guard lists; stack-release appears only in a comment. Ten shells run on this base. No test carried; claim3255 stands. Gate under sage-2964 uses this committed integration and regenerated manifest 4dab70cd251f5ae170856482bde923157ee667d342cd8ea412d242f707307303. Runtime pending. ## Run1 first new-test setup red, placed under sage-2964/mos-1272 New helper calls read(), absent from the original test file. Both old-script intendedRED and focusedGREEN hit ReferenceError before any product call; intendedRED is invalid, focusedGREEN is first unexpected new-test red. No old assertion ran. Fix is one alias near the existing test helpers, readFileSync(file,"utf8"), with no assertion or product change. Sourcec2b39b5d4. Run1 void, no results carry, run2 starts from top; RED harness now checks expected missing-block assertion. New manifestee573455115fa148981dcbd097058b7071d17baba18137945f4f2191ea5f1b11. Any subsequent unexpected red goes to Mos before change. ## Run2 stop, second unexpected red Syntax2/0. Intended RED is the expected missing-block assertion with byte-identical restore. Focused GREEN0/1: an existing supervisor vanished-/proc diagnostic precedes the expected inner-timeout line, failing exact stderr at test789. No timeout, no whole files, mutants or shells. gander-0140 reports unplaced to Mos, Sage and Duckworth. Slot returned. No code or assertion change; await Mos before repair. run2/STOP.md and raw logs retain evidence. Sweep0 run leftovers,9 pre-existing infrastructure processes separately recorded. ## mos-1337 N5 repair for run2 base red Mos places the red in row253 base. Sourcec72cdc02f swaps stderr redirection before the stat open in both scripts and changes nothing else in the supervisor. Both copies stay byte-identical; row276 heredoc pin is now34063098d7edb9067c11456165dc7535bc0e779d053c43599884d6b614528639. The exact inner-timeout stderr assertion stays unchanged. New deterministic test extracts stat_fields from each script, uses absent PID2147483647, and requires status3 plus empty stdout/stderr. M16 restores old ordering in both files, killed by that test; one-copy drift remains covered by unchanged case2-unit.test.mjs byte equality. Driver now accepts also_files, checks each unique target and restores/checks all bytes in finally. M1-M15 unchanged. DEFERRED names the separate cmdline read at case1:413; it remains out of scope. No runtime, node or rerun before review and CLEAR. Fresh whole gate on this candidate, M1-M16, both touched files and ten shells, nothing carried. ## Run3 stopped under sage-2988 HEAD804a854dc, manifest214aeb9e. Syntax2/0, valid intendedRED, focusedGREEN1/0. Whole case1 file46/3/0 in225.790s: wiring F7 extraction null at734, new precheck hop timing4.5403s at827, new version/PM extraction at848. Vanished-pid regression passed; no timeout. No case2, mutants or shells started. No source/assertion change after stop. gander-0146 sends unplaced to Mos/Sage/Duckworth, slot returned. run3 holds raw evidence/counts/sweep0;9 pre-existing infrastructure excluded. No results carried. ## mos-1345 run3 placement and stdout spool Mos places the outer-bound red as a row276 product defect: the outer timer fires82, but a stalled setsid residual holds the caller stdout pipe until the fixture guard. legacy_run now mktemps a stdout spool under private WORK and opens it in root's wrapper before exec sudo. Both errors and output are regular files; the same EXIT trap unlinks them. Root snapshots stdout length with wc -c and copies exactly that size with validated TS_HEAD, only on0 or valid87. Other supervision refusals discard stdout. Published stdout precedes stripped stderr. No cap is added; the R3 residual may grow unlinked spool files and is named in DEFERRED. No cross-session kill. Supervisor heredoc and34063098 pin are unchanged. 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. ## mos-1350 old P10 timing correction, test-only Choose shape(b): each inner/outer mode runs the same host once with no fault and checks baseline status0, before installing the fault or starting its cleanup guard. Subtract that fresh per-mode duration from the fault run. No constant functional cost is assumed. Overflow behavior is unchanged. Exact reason, no-observed, hop-residual and cleanup assertions remain byte-identical. Diagnostics print baseline/fault/net for each mode so the ten repeated runs can be checked. Probe's configured timers are2s inner and4s outer. Use net windows[1.25,2.75) and[3.25,4.75), a0.75s margin around those timer costs and0.5s separation between inner top and outer floor. The baseline includes the healthy probe startup itself, so net values may sit slightly below the configured timer. Run4's failing whole costs4.0057..4.3695 and its healthy functional checks around2s show why the old whole-run heuristic is unsuitable; actual net values must be proved by10 isolated runs per test before run5. No timing proof is claimed yet. Bound widening on the whole run is not used. ASSERTION-PRESERVATION.json records the two Mos-authorized old timing replacements. M1-M17 have no target or killer dependent on those lines; M11's old P10 overflow killer is unchanged. Historical row253 inner/outer mutants require fresh proof if used again, and none is carried or claimed in row276. Test-only commit changes no product script. No runtime or timing run until Sage returns the slot after271r3 and Duckworth approves. ## Duckworth0218 B1 and repeated-run condition After every baseline status0, require pollFixtureGone(files) empty with exact baseline leaves no session assertion. Thus a baseline cannot supply outer-hop residual evidence. No pre-existing reason/residual/cleanup assertion changed. Case1 observed247.951s plus four estimated3s baselines gives259.951s; ceil3x+120=900s, so existing timeout-k10 900 still covers the extended whole file. Recheck after isolated timings before whole launch. Case2 unchanged900; shell3x table unchanged. Ten repetitions per fault must report min/max probeSeconds per mode. Any red or any value within0.25s of either accepted window edge stops for Mos, with no window tuning. Execution remains held for static approval and Sage CLEAR. ## sage-3023 isolated proof and pre-whole limits recheck Twenty isolated test invocations pass,10 per fault,40 mode measurements. Net min/max inner-exec2.033094/2.171078, inner-hop2.054551/2.135443, outer-exec3.757506/3.960917, outer-hop3.736194/3.910606. Closest edge0.486194s, above0.25 stop threshold. Raw diagnostics in run5/proof; no window tuning. Max measured baseline2.119750332s; prior whole247.951 plus4x baseline gives256.430s; ceil3x+120=890s, existing900s retained. Case2/shell tables unchanged. Fresh whole stage follows with no results carried from any prior gate. ## Run5 GREEN, sage-3023 518pass/0fail/3named skips (93whole,425shell), proof20/0 with40mode timings,17/17 assertion kills,10passing controls,0timeouts/survivors,522.311s whole phase. Sweep0 with9pre-existing infrastructure excluded. N9 passes verbatim in RESULTS. Raw per-step/kill table in run5/SUMMARY.json. Manifest5 blobs unchanged; no result carried. Slot returned gander-0161. Review packet ready.