Independent Opus SECREV review (ms-secrev-828 lane, dispatched by mosaic-100; Gate-16 author≠reviewer; byte-only; did not build). Reviewed object =ce5ba76205harness sha256 = 7e14ead89a7b2a297fcc17e7653291b3bcace1d2002a8f90a989db74f6985b6f Verdict PASS: B9 no-site startup closure — launcher -s -S -B (no -I) :515, broker -I -S -B :554; empirically confirmed site NOT imported (no_site=1) so system-site .pth/sitecustomize cannot run unpinned startup code; -S leaves sys.path[0] intact so launcher sibling import + broker explicit --generation-module import both still bind the pinned helper; delta vs1c34e3cb= EXACT 2-line -S only (byte-compared). All priors (B5/B6/B6c/B7/B8/fidelity/traceability/lease_anchor/ live-path/single-broker/--runs/-O-safe) byte-stable. Byte review only; ran nothing. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
6.2 KiB
Gate0 Probe-3 (D4) No-Site Startup Closure — §3-Conformance Review v10
Verdict: ✅ PASS
Pin (GUARD 1 — reviewed object)
- Reviewed object =
ce5ba762051354338889959bfce2b0381f4a4e2a(harness commit, branchfeat/827-gate0-probe). - Reviewed file:
docs/compaction-refresh/probes/p3_d4_focused_run.py— sha256 (pushed provider bytes,-o FILE, FULL-40 ref, verified before trust):7e14ead89a7b2a297fcc17e7653291b3bcace1d2002a8f90a989db74f6985b6f(32753 bytes, no not-found sentinel). - Closure pins (unchanged): launcher
e950e422…@f4008307 · helper061625402f08488eac47acd23272904e71fd1a71fd15b3bdab158632c801be4c@f4008307 · broker4db4fef1…@23c0caca.
Independence (GUARD 2 — principal-independence attestation)
Distinct Opus SECREV session, orchestrator-dispatched — the ms-secrev-828 reviewer lane, dispatched by
mosaic-100 — byte review only, ran nothing (harness/broker not executed); did not build this harness
(builder = ms-rev-826); is not Mos; distinct principal from both. This re-verifies from scratch on the v10 SHA after
homelab's 4th-round FAIL @1c34e3cb (no -S → site startup-closure hole) superseded my v9 PASS + Mos's co-attest.
The -S/-s/-I behavior checks below use a throwaway script to observe interpreter startup — not the harness.
★ B9 — No-site startup closure (the homelab 4th-round FAIL)
The delta vs 1c34e3cb is exactly two -S insertions, byte-confirmed by diff (nothing else; +28 B fully
accounted by the two "-S",\n lines):
- (i) Launcher command (
launch_verified_pi, :512-516):sys.executable, "-s", "-S", "-B", str(launcher), …— carries-s+-S+-B, and no-I. - (ii) Broker command (
launch_verified_broker, :551-554):sys.executable, "-I", "-S", "-B", str(broker_path), …— carries-I+-S+-B. - (iii)
sitenot imported at child startup — empirically confirmed (Python 3.11.2, throwaway script):python3 -s -S -B main.py→sys.flags.no_site == 1,'site' in sys.modules == False;python3 -I -S -B main.py→no_site == 1. So system-site.pthexecutable lines andsitecustomize/usercustomizecannot run unpinned startup code before the pinned launcher/broker. (Contrast without-S:python3 -s -B→no_site == 0,siteimported — the exact v9 hole this closes.) - (iv) No harness reliance on any site-injected path/hook (env is the constructed allow-list; children execute pinned bytes).
- (v)
-Sdoes not touchsys.path[0](unlike-I/-P) — empirically confirmed:python3 -s -S -B main.pykeepssys.path[0]= the script's directory, so the launcher's barefrom lease_generation import initialize_runtime_generation(f4008307:launch-runtime.py:15) still bindspinned/lease_generation.pywith-Spresent. The broker's explicit--generation-moduleimport (viaimportlib) binds the pinned helper regardless ofsys.path/site, so-I -Sis correct there. - (vi) Delta = exact 2-line
-Sonly vs1c34e3cb(git-diff/byte-compared, not accepted on assertion).
All prior bars — byte-stable (delta was only the two -S lines)
- B6(c): launcher still carries no
-I; sibling import bindspinned/(confirmed above with-Spresent). ✅ - B7: broker
Popenenv=environment(allow-list, notos.environ; noPYTHONPATH/PYTHONHOME/PYTHONPYCACHEPREFIX) +-I. ✅ - B8:
reject_pinned_bytecodefail-closed before each consumer;PYTHONDONTWRITEBYTECODE=1+PYTHONNOUSERSITE=1in env;-Bon both children. ✅ - B5: 3-leg conjunction — materialize each of launcher/helper/broker from git-object bytes with
sha256==pinfail-closed;pinned/0o700in fixture root, filesO_EXCL 0o600(no writable window); re-hash==pinimmediately before eachPopen; launcher + broker consume the same single pinned helper. ✅ - B6:
closure_import_guardAST present; single pinned helper; broker--generation-module = closure.generation. ✅ - Fidelity: extension bumps
generation-{sid}.stateviaMOSAIC_LEASE_GENERATION_FILE(not in-mem); brokerread_runtime_generation;assert_d4generation_source=="state-file"/state_file_in_fixture_root/new→MUTATOR_UNVERIFIED/prior→STALE_GENERATION;.statefixture-root-bound. ✅ - Traceability:
GATED_WI_HEAD == f4008307+merge-base --is-ancestor 66b1e0a0 f4008307. ✅ lease_anchor_registered+hex-256INTACT; LIVE-PATH (pinned gated launcher); single p3 broker; promotion=fixture-only;--runs choices=(3,);-O-safe (0 bareassert);copy2= creds-only; allow-list env (0os.environ.copy). ✅
ABSENT sweep
P5/P6/P2-bank/retry-launder/mosaic-yolo/execRuntime = 0; source-invalid = 0; no live/real-broker path; no .state
outside fixture root; no exec-at-import (__main__-guarded); no adjacency-only-exec-from-worktree; the only change is
the authorized -S no-site isolation-deepening (no mechanism change, no scope-widen); -O-safe.
Verdict
PASS @ ce5ba762. B9 (no-site startup closure) is closed — both children carry -S, site is not imported at
startup (so system-site .pth/sitecustomize cannot execute unpinned code before the pinned launcher/broker),
-S leaves sys.path[0] intact so the launcher sibling import and the broker explicit-path import both still bind
the pinned helper, and the delta vs 1c34e3cb is exactly the two -S insertions. All prior bars (B5/B6/B6c/B7/B8/
fidelity/traceability/lease_anchor/live-path/single-broker/promotion/--runs/-O-safe) are byte-stable. Zero
out-of-scope surface. Findings: none.
Scope reminder (not a finding)
Producing this evidence executes the Gate0 mechanism (§3/§5). This review clears bytes only; FIRE remains separately gated on Mos's explicit post-clear GO, his byte-scope-verify co-attestation, and homelab's third-principal verify — not authorized by this review.
Reviewer: distinct Opus SECREV session (ms-secrev-828 lane, dispatched by mosaic-100), Gate-16 author≠reviewer,
byte review only; ran nothing.
Reviewed object (pin): ce5ba762051354338889959bfce2b0381f4a4e2a · harness sha256 7e14ead89a7b2a297fcc17e7653291b3bcace1d2002a8f90a989db74f6985b6f.