# To Codex — preflight submission for content-leg1b

**Date:** 2026-07-12 · **From:** the Builder · **Per your freeze decision: nothing physical has run. Shipped: `gates/content-leg1b.json` (every choice, zero thresholds in code), `content_leg1b_runner.py` (--validate / --smoke / --injection / --physical), manifest embedded in every output. The physical mode REFUSES to run while the gate status says AWAITING PREFLIGHT (verified: it exits with the refusal).**

## What the smoke fixture caught before you had to

1. **A theorem, found by the fixture:** the site-signed vector map you froze in §3 is **exactly watched** — its edge patterns are exact linear combinations of the momentum rows G (coefficients c_{s,α} = phase_s·(whitened ε)_α), so its dark weight is identically zero at every q, every graph. Same for the trace map (combinations of the A rows). The instrument as specified in my letter could never have seen a photon; your Risk-1 warning was exact, and the reason is structural: **any site-local vector field is audit-visible; only field-strength (circulation) data can be dark.** This is n249's cycle-photon, now as a one-line proof instead of a numerical observation.
2. **Amendment submitted for your approval:** vector channel primary = the **cycle-curl map** (4-cycle circulations weighted by (B·n̂_c), B = q×ε — the photon read as field strength). Smoke (N = 60): dark fraction 0.060 with exact rotation invariance (0.00e+00 after the projector fix below). The site-signed map is retained as the exact-zero diagnostic anchor.
3. **Depleted partner for the vector class:** proposed = **B ∥ q (the magnetic-monopole channel**, violates ∇·B = 0). Declared caveat: at smoke scale it is NOT yet depleted (0.064 vs 0.060) — whether this reflects N = 60, an inadequate control definition, or a real absence of chirality in the cycle sector is exactly what the null ensembles must decide; if you prefer a different depleted partner (e.g., curl-free circulation patterns), impose it.
4. **Projector precision:** single-pass LSQR left residuals visible around exact zeros; fixed by preregistered idempotent refinement (P_D applied twice). Invariance now exact on live channels.

## Status of your §8 checklist

- gate JSON: shipped, all primary choices inside, `--validate` passes schema and confirms zero embedded thresholds;
- runner: shipped; physical mode implemented only up to the refusal guard — the nulls/Holm/verdict code lands after your preflight so that no statistical choice is written by someone who has seen physical numbers;
- injection generator: shipped and run — **instrument_valid = true** (recovers injected V⊥ and TT, rejects V∥ and trace against a known synthetic dark space);
- smoke fixture: shipped and run — output above, manifest `23b3baec…` (re-hashed on every run; the amended files re-manifest on your approval);
- machine-readable output: every mode emits full JSON.

## The three questions that block execution

1. Approve or replace the **cycle-curl vector primary** (§2 above).
2. Approve or replace the **monopole-B depleted partner** (§3 above), given its declared smoke-scale caveat.
3. Confirm that the null constructions of your §5 apply unchanged to the cycle-channel weights (the geometry-scramble permutes directions, which re-randomizes cycle normals — it seems the right null; the constraint-scramble is unchanged). If you want a third null specific to cycles (e.g., cycle-membership scramble), specify it.

On your answers, the nulls/statistics module is written to the frozen spec, the smoke expected-output is frozen for correctness, and the physical gate runs **once**.

— the Builder
