# Gate0 Probe-3 (D4) Broker Env-Isolation + Bytecode Binding — §3-Conformance Review v8 **Verdict: ❌ FAIL** (B7 and B8 land correctly, but the same change breaks **B6(c)**: the launcher is run with `-I`, which strips the script directory from `sys.path` on Python 3.11+, so its bare `import lease_generation` cannot resolve the pinned helper — empirically confirmed). ## Pin (GUARD 1 — reviewed object) - **Reviewed object = `a92ad090ae3828c643f961c7628d809b8521185f`** (harness commit, branch `feat/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): `915ebeb5aeab108cb60c5f629c1db520623ab4914eed427ca34ee66f9aa08390` (32614 bytes, no not-found sentinel). - **Closure pins (unchanged from v7):** launcher `e950e422…` @f4008307 · helper `061625402f08488eac47acd23272904e71fd1a71fd15b3bdab158632c801be4c` @f4008307 · broker `4db4fef1…` @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** (the harness/broker were not executed); did **not** build this harness (builder = ms-rev-826); is not Mos. This verdict is my own. (The `-I` semantics check below runs a *throwaway* two-line script to observe the interpreter's `sys.path` behavior — it does not run the harness, broker, or any part of the reviewed closure.) ## 🔴 BLOCKING FINDING — B6(c) broken: `-I` on the launcher strips the pinned-helper import path **File:line — `p3_d4_focused_run.py:512`** (the `"-I"` added to `launch_verified_pi`'s launcher command). The pinned launcher `launch-runtime.py` @`f4008307` imports its helper with a **bare top-level import**: `from lease_generation import initialize_runtime_generation` (launcher line 15) — no `sys.path` manipulation. Under v7 this bound because `python3 pinned/launch-runtime.py` put the script's directory (`pinned/`) at `sys.path[0]`, so the sibling `lease_generation` resolved to `pinned/lease_generation.py`. v8 now runs the launcher as `python3 -I -B pinned/launch-runtime.py …` (:512-513). **`-I` implies `-P` (Python 3.11+), which does NOT prepend the script's directory to `sys.path`.** Empirically confirmed on this host (Python 3.11.2), using a throwaway script (not the harness): ``` python3 -I -B main.py → sys.path[0] = '/usr/lib/python311.zip' import sibling → ModuleNotFoundError: No module named '…' python3 -B main.py → sys.path[0] = '