# Halcyon Validation Report

**Run identifier:** `halcyon_dde14a276d54`  
**Generated:** 2026-06-17 11:55:16 Pacific Daylight Time  
**Substrate:** Truncated icosahedron, SU(2)  
**Trajectory schema version:** 0.1  
**Report schema version:** 1.2  

---

## 1. What was simulated

### Run parameters

| Parameter | Value |
|---|---|
| Gauge group | SU(2), quaternion storage `E[1:] = 2 alpha` |
| Substrate | Truncated icosahedron |
| Vertices V | 60 |
| Edges E | 90 |
| Faces F | 32 (12 pent, 20 hex) |
| Euler chi = V - E + F | 2 |
| Edge census (pent-hex / hex-hex / pent-pent) | 60 / 30 / 0 |
| Coupling beta | 2.5 |
| Integrator | Symplectic leapfrog, second order |
| Timestep dt | 0.02 |
| Number of leapfrog steps | 1000 |
| Total trajectory time | T = 20.00 (= n_steps * dt = 1000 * 0.02) |
| Measured-frame span | t = 0.4 -> 20.0 (50 frames at measure_every = 20) |
| Thermalization | 200 heatbath sweeps from cold start |
| Heatbath algorithm | Cabibbo-Marinari with Kennedy-Pendleton SU(2) updates |
| Gauss projector | Covariant graph Laplacian, conjugate gradient, Tikhonov eps = 1e-14 (global elliptic solve; explicitly NOT a local operation -- documented as validation/restoration, not part of the physics update) |
| Random seed | 20260617 |
| Floating-point precision | FP64 throughout |
| Platform | Windows-11-10.0.26200-SP0 |
| Python | 3.12.10 |
| Library versions | numpy 2.4.0, scipy 1.16.3, torch 2.11.0.dev20260108+cu128 |
| Code commit | 74b960fa6d5f52fb47a76b80c938aeadc8a89762 |
| Wall time | 2764.7 seconds |

### Verified substrate identities

| Identity | Expected | Measured | Pass |
|---|---|---|---|
| Euler formula V - E + F | 2 | 2 | yes |
| Sum of face perimeters | 180 | 180 | yes |
| Pentagons * 5 + Hexagons * 6 | 180 | 180 | yes |
| Each edge in exactly two faces | yes | yes | yes |
| Edge type count (PH, HH, PP) | (60, 30, 0) | (60, 30, 0) | yes |

**Section verdict:** **PASS**

---

## 2. Conservation laws

### 2.1 Energy conservation

| Quantity | Value | Tolerance | Margin |
|---|---|---|---|
| H_0 (initial total energy) | 24.18565 | -- | -- |
| max|delta H / H_0| across 50 samples | 4.850e-05 | 0.00100 | 20.61745x under |
| Monotone drift detected | no | required: no | confirmed |

**Energy conservation verdict:** **PASS**

### 2.2 Covariant Gauss residual (final state)

| Quantity | Value | Tolerance |
|---|---|---|
| Covariant |G_v|_max on final (U, E) | 4.968e-15 | 1.000e-09 |
| Flat |G_v|_max on the SAME state | 0.84252 | -- |
| Ratio flat / covariant | 1.696e+14 | -- |
| max |G_v|_inf across trajectory (50 snapshots) | 5.135e-15 | 1.000e-09 |
| Step index of trajectory max |G| | 980 | -- |

The flat (abelian) residual is reported only to make the distinction from the covariant Gauss operator explicit; the symplectic flow conserves the COVARIANT residual, not the flat one. This distinction caught the load-bearing WF#2 bug.

_Trajectory-wise instrumentation:_ per-snapshot |G_v|_inf was sampled at every measurement window during the run. The maximum across the full trajectory is reported above. Sampling cadence matches the energy / plaquette measurement window; finer resolution requires per-step instrumentation.

**Gauss residual verdict (final-state only):** **PASS**
**Gauss residual verdict (combined, including trajectory-wise):** **PASS**
_Trajectory-wise sub-verdict:_ **PASS**

### 2.3 Time reversibility

| Quantity | Value | Tolerance |
|---|---|---|
| |U_final_reversed - U_initial|_inf | 5.261e-12 | 1.000e-08 |
| |E_final_reversed - E_initial|_inf | 4.498e-12 | 1.000e-08 |

**Time-reversibility verdict:** **PASS**

---

## 3. Analytical agreement: Migdal-Witten target

### 3.1 Exact target

| Quantity | Value |
|---|---|
| <P>_exact (finite-F, Migdal-Witten, j_max=80) | 0.5071951004 |
| Truncation residual (j_max=80 vs 160) | 0.000e+00 |
| Cross-check via I_2(beta) / I_1(beta), F -> infinity | 0.5071951000 |
| Finite-volume correction (finite F minus F -> infinity) | 3.890e-10 |

A reviewer can verify the cross-check independently via `scipy.special.iv(2, beta) / scipy.special.iv(1, beta)`. For SU(2), &lt;P&gt; = (1/N)&lt;Re Tr U&gt; = (1/2)&lt;Re Tr U&gt;, and the F-to-infinity series is dominated by the j = 1/2 irrep, giving &lt;P&gt;_infty = I_2(beta) / I_1(beta).

### 3.2 Heatbath measurement at beta = 2.5

| Quantity | Value |
|---|---|
| <P>_measured | 0.506847 |
| Standard error of the mean (Flyvbjerg-Petersen blocked) | +/- 0.00146 (naive: +/- 0.00146, n_eff = 2048, plateau block size = 2) |
| Source | sidecar heatbath ensemble (2048 samples) |
| Gap to analytical target | 3.479e-04 |
| Tolerance (strict, no error-bar slack) | 0.01000 |
| Margin under tolerance | 28.74708x |

_SEM (no plateau detected):_ blocked-SEM curve did not plateau within the available doubling levels; using max(last-block SEM, naive SEM) as a conservative floor. Reported n_eff is a lower bound.

**Section 3 verdict:** **PASS**

### 3.3 beta-scan against the Migdal-Witten curve

| beta | <P>_measured | <P>_exact (M-W) | Gap |
|---|---|---|---|
| 0.5 | 0.126191 | 0.123718 | 0.00247 |
| 1.0 | 0.242686 | 0.240194 | 0.00249 |
| 1.5 | 0.347452 | 0.344144 | 0.00331 |
| 2.5 | 0.501598 | 0.507195 | 0.00560 |
| 4.0 | 0.660905 | 0.658048 | 0.00286 |
| 6.0 | 0.762924 | 0.762759 | 1.650e-04 |

---

## 4. Gauge-invariance verification

Random per-vertex SU(2) gauge transformation g_v drawn from Haar measure (seed = 20260624). Each claimed observable is recomputed on the transformed state.

| Observable | Type | Delta (rel) | Tolerance | Verdict |
|---|---|---|---|---|
| Wilson action S_W | invariant | 3.043e-16 (rel) | 1.000e-10 | **PASS** |
| Mean plaquette <P> | invariant | 2.667e-16 (rel) | 1.000e-10 | **PASS** |
| Per-face q_0(U_f) (max across 32 faces) | invariant | 9.315e-16 (rel) | 1.000e-10 | **PASS** |
| Q_surrogate | invariant | 4.800e-16 (rel) | 1.000e-10 | **PASS** |
| edge_kinetic total 2|q_vec(E)|^2 | invariant | 0.000e+00 (rel) | 1.000e-10 | **PASS** |
| G_v covariance under Ad(g_v): max |G'_v - g_v G_v g_v^-1| | invariant | 2.681e-16 (abs) | 1.000e-10 | **PASS** |
| edge_phase mean (visualization only) | variant | 0.03556 (abs) | -- | **DECLARED_VARIANT** |

**Section 4 verdict:** **PASS**

---

## 5. Method cross-check: microcanonical vs canonical

_Scope note:_ this section compares two sampling methods (symplectic leapfrog microcanonical vs heatbath canonical) on the same observable at the same coupling. At the current sample sizes it is a smoke-run diagnostic rather than a publication-grade cross-check: the comparison needs a trajectory-length sweep, multiple seeds, autocorrelation-corrected SEMs, and ideally a convergence plot against the exact Migdal-Witten value before it earns the name. A FAIL here at production scale on a 93-DOF substrate is consistent with the documented Section 7.4 ergodicity caveat and not by itself a structural failure.

| Quantity | Value |
|---|---|
| <P>_time (microcanonical, 50 frames, n_eff = 33, no plateau) | 0.447868 +/- 0.00994 (blocked) |
| <P>_heatbath (canonical, 2048 sweeps, n_eff = 2048, no plateau) | 0.506847 +/- 0.00146 (blocked) |
| Gap |<P>_time - <P>_heatbath| | 0.05898 |
| Tolerance | 0.02000 |
| Margin | 0.33910x |

**Section 5 verdict:** **FAIL**

_SEM:_ corrected via Flyvbjerg-Petersen blocking on both the microcanonical P_t and the canonical P_history. The n_eff figures reflect per-method autocorrelation length; a "no plateau" annotation means the blocked-SEM curve had not plateaued within the available doubling levels and the reported SEM is the conservative max(last-block, naive).

---

## 6. Parameter scan and operating envelope

| beta | <P>_measured +/- SEM | <P>_exact | Gap | n_eff (block) | Within tol |
|---|---|---|---|---|---|
| 0.5 | 0.126191 +/- 0.00564 | 0.123718 | 0.00247 | 239 (block=2) | yes |
| 1.0 | 0.242686 +/- 0.00491 | 0.240194 | 0.00249 | 300* (block=2) | yes |
| 1.5 | 0.347452 +/- 0.00489 | 0.344144 | 0.00331 | 249 (block=2) | yes |
| 2.5 | 0.501598 +/- 0.00364 | 0.507195 | 0.00560 | 300* (block=16) | yes |
| 4.0 | 0.660905 +/- 0.00273 | 0.658048 | 0.00286 | 300* (block=2) | yes |
| 6.0 | 0.762924 +/- 0.00236 | 0.762759 | 1.650e-04 | 195* (block=16) | yes |

_n_eff annotation:_ a trailing `*` after n_eff means the blocked-SEM curve did not reach a plateau within the available doubling levels, so n_eff is a lower bound and SEM is the conservative max(last-block, naive).

All scanned beta within 0.01 tolerance: **yes**.  Monotone increase of <P>(beta): **yes**.

**Section 6 verdict:** **PASS**

---

## 7. Open items: what this run does not validate

### framework

Davis Duality / Branch XIII derivation of the specific functional form of the variable-beta coupling delta-m^2(x) = F[Omega, tau, K]. The current code uses an interim holonomy-density form which is gauge-invariant at FP64 (Section 4 verifies) and dimensionally correct, but is not derived from the framework.

### fermion

SU(2) fermion sector. Matter-sector v1 validated the SU(3) fermion sector with staggered Dirac, Banks-Casher, and chRMT cross-checks. SU(2) fermions are open.

### hardware

Multi-mode transmon plaquette network encoding from physical Josephson bias currents to SU(2) link variables. This simulation tests the gauge field dynamics, not the encoding.

### ergodicity

Microcanonical-canonical agreement on small substrates. The buckyball has 93 transverse degrees of freedom. The Section 5 cross-check gap is consistent with a finite-size and short-trajectory ergodicity limitation rather than a structural failure of the integrator, but this interpretation is not yet demonstrated: closing it requires a trajectory-length sweep at fixed seed and multiple independent seeds (Flyvbjerg-Petersen blocked SEMs are now applied per Section 3.2 / Section 5 / Section 6). Deferred to the longer convergence study planned for the apparatus characterisation phase.

### drift

Long-term apparatus drift over hours-to-days operating timescales. Junction-level decoherence, thermal drift, and 1/f noise in bias currents are open items for the hardware phase.

### claim

Connection to inertia damping. The simulation produces validated gauge field dynamics. The claim that this dynamics modifies effective inertial mass is a prediction the apparatus, when built, will test. The simulation does not and cannot test the inertia claim.

### section_5_2_equipartition

Canonical equipartition K/V band on the heatbath ensemble (Section 5.2 in the discipline template). Not yet emitted by this report. Adding it requires sampling K and V on the canonical heatbath history and verifying both are within band of the analytical equipartition expectation. No TOL entry exists yet; gating values will be added once the band is measured on a reference run.

### hardware_gate_1_gauge

GATE 1 (Gauge). Apparatus must demonstrate accepted Q in {0, 1, 2} sectors via gauge-invariant observables: Wilson loops {W_gamma_i}, mean plaquette <P>, sector surrogate Q_surrogate, and Wilson action S_W must agree on the sector label and reach a pre-registered separability threshold across seeds and small control perturbations before any mechanical channel is unblinded.

### hardware_gate_2_stability

GATE 2 (Stability). Sector must remain stable through the full mechanical measurement window. Per-snapshot logging of Q_surrogate(t), <P(t)>, max|G_v(t)|. Runs whose sector leaves the pre-registered band during measurement are INVALID. No post-hoc rescue.

### hardware_gate_3_null_drive

GATE 3 (Null-drive). Power-matched and scrambled-phase drives must produce NO Q-linear inertial signal. Sham drives are part of the same data-taking block as the real Q-sector drive, not a follow-up campaign. The inertial claim only survives if the signal follows Q -- not RF power, heat, vibration, magnetic field, or drive amplitude.

### hardware_gate_4_blind_analysis

GATE 4 (Blind analysis). The mechanical-channel analyst must be blind to sector labels until the analysis pipeline is committed. Unblinding is a one-way step.

### hardware_gate_5_linearity

GATE 5 (Linearity). Q = 2 deviation must be approximately twice the Q = 1 deviation, within the systematics band. The linear-in-Q coupling ansatz is itself a gate; a non-linear residual at the framework's predicted magnitude falsifies the simple linear model.

### hardware_gate_6_reversal

GATE 6 (Reversal). Reversing the programmed winding (Q -> -Q) must reverse or transform the predicted signature according to the framework's parity prediction. A signal that survives winding reversal in the wrong way falsifies the framework before linearity even matters.

### hardware_gate_7_independent_sensor

GATE 7 (Independent sensor). The effect must appear in at least two measurement modalities, each with its own systematics model, before it is treated as a candidate physics result. A single-channel result is automatically suspect.

### sensitivity_floor_and_systematics_budget

Pre-registered sensitivity floor alpha_min and four-channel systematics budget (thermal / magnetic / vibration / cage drift) are published BEFORE first data. Values to be set by Branch XIII derivation + cage characterisation runs. Backfilling these numbers after data is taken is grounds for retraction. The slot itself is the pre-registration.

### operational_beta_envelope

Operating beta for the buckyball substrate will be selected from beta in {2.4, 2.5, 2.6, 2.7, 2.8} based on local-envelope stability (sector separation, energy conservation, Gauss covariance, canonical agreement) at each candidate value. Not the lower edge by default. The validation report's beta-envelope sweep (--beta-envelope orchestrator flag, pending implementation) is the gating measurement.

---

## 8. Operational beta envelope

_Energy drift in this section is measured over a 400 -step LOCAL window; long-time secular drift is the load-bearing Section 2 gate, not this one._

| beta | regime | &lt;P&gt;_meas +/- SEM | M-W gap | drift | gauss_max | xcheck_gap | cleared/4 | score |
|---|---|---|---|---|---|---|---|---|
| 1.50 | plateau_detected | 0.3354 +/- 0.00347 | 0.00870 | 4.690e-05 | 2.026e-15 | 0.02522 | 4/4 | 2.28 |
| 2.00 | plateau_detected | 0.4308 +/- 0.00319 | 0.00236 | 4.220e-05 | 9.055e-11 | 0.02288 | 4/4 | 2.90 |
| 2.50 | plateau_detected | 0.5062 +/- 0.00288 | 0.00101 | 3.774e-05 | 2.470e-15 | 0.04608 | 3/4 | 2.89 |
| 3.00 | plateau_detected | 0.5658 +/- 0.00266 | 0.00216 | 3.119e-05 | 2.887e-15 | 0.04221 | 3/4 | 2.78 |
| 3.50 | no_plateau | 0.6201 +/- 0.00228 | 0.00258 | 2.215e-05 | 2.845e-15 | 0.06132 | 3/4 | 2.74 |

**Recommendation:** operational beta = 2.0

_Rationale:_ argmax stability_score among entries clearing all 4 sub-tolerances in a usable SEM regime; tie-break by smallest energy_drift_max

**Section 8 verdict:** **PASS**

_* indicates regime in {too_short, single_level}; excluded from the recommendation pool._

---

## 9. Sector classifier (band discrimination)

_**This is NOT a topological-charge test.** &pi;<sub>2</sub>(SU(2)) = 0 on S<sup>2</sup>; the bands **B0 / B1 / B2** are operational labels for observed Q<sub>surrogate</sub> ranges, not topological sectors. A PASS verdict means the apparatus can DISCRIMINATE calibration windows; it does NOT mean it RESOLVES topology._

_NOT_APPLICABLE: natural Q_surrogate dispersion at beta = 2.5 does not populate all 3 bands; classifier is meaningless here._

---

## 10. Reproducibility checksums

| File | SHA-256 (truncated) | Size |
|---|---|---|
| `reports\run_20260617_110642\trajectory.json` | `dde14a276d54...` | 181.5 KiB |
| `buckyball_graph.py` | `0f46ccd2ebc2...` | 8.7 KiB |
| `buckyball_action.py` | `7958d2d9dbf4...` | 9.6 KiB |
| `buckyball_heatbath.py` | `ffd7cc76a615...` | 11.1 KiB |
| `buckyball_integrator.py` | `e7746f7159b0...` | 30.3 KiB |
| `buckyball_yangmills_exact.py` | `709b7f8e249c...` | 7.0 KiB |
| `buckyball_observables.py` | `71dcf847fa12...` | 28.1 KiB |
| `reports\run_20260617_110642\final_state.npz` | `26c8f186d01d...` | 265.9 KiB |

A reviewer with the same seed (20260617), the same code at these commit hashes, and the same library versions reproduces every number in this report to the bit on identical hardware.

_Full hashes:_ the table above prints the first 12 hex characters of each SHA-256 for readability. The full 64-character hashes are in the companion JSON artifact under `report_metadata.sha256sums[*].sha256`. Verify with `sha256sum <file>` (POSIX) or `Get-FileHash <file> -Algorithm SHA256` (PowerShell).

---

## Verdict summary

| Category | Status |
|---|---|
| Substrate identities | **PASS** |
| Energy conservation | **PASS** |
| Covariant Gauss residual | **PASS** |
| Time reversibility | **PASS** |
| Migdal-Witten analytical target | **PASS** |
| Gauge invariance | **PASS** |
| Microcanonical vs canonical | **FAIL** |
| Beta-scan | **PASS** |
| Operational beta envelope | **PASS** |
| Sector classifier | **NOT_APPLICABLE** |

**Overall:** 8/10 PASS, 1 FAIL.

---

## Appendix A. Tolerance derivations

Each tolerance below is derived from first principles. The Expected residual column states the residual the underlying numerics are expected to deliver at FP64 with the documented step count and sample sizes; the gates are intentionally non-tight so that a FAIL is unambiguous.

_All derivations are quoted at the parameters of THIS run: N = 1000 steps, dt = 0.02, beta = 2.5. Scale expected residuals when these differ from defaults._

| Tolerance | Value | Expected residual | Source | Conservative factor |
|---|---|---|---|---|
| `energy_drift_rel` | 0.00100 | 4.000e-06 | Leapfrog is a 2nd-order symplectic integrator. By backward error analysis (Hairer-Lubich-Wanner) it exactly conserves a modified Hamiltonian H_dt differing from H by O(dt^2), so |H(t) - H(0)| / |H_0| is bounded by C * dt^2 over exponentially long times rather than growing secularly. At dt=0.02 this gives ~dt^2 ~ 4.0e-04 times an O(0.01-0.1) dimensionless prefactor for this system, hence observed ~1e-5. | ~100x looser than expected; absorbs prefactor + cross-platform FP variation |
| `gauss_max` | 1.000e-09 | 1.000e-13 | Tikhonov-shifted CG (shift = 1e-14) bounds the steady-state residual below by the shift. Per-vertex residual evaluation accumulates O(V * d_v) ~ O(60 * 3) ~ 180 FP operations on magnitudes ~|E| ~ O(1), giving roundoff ~ 180 * eps_mach ~ 4e-14. One pass of iterative refinement drives residual to ~1e-13. | ~4 orders looser than the realistic CG residual floor |
| `time_reverse` | 1.000e-08 | 7.000e-13 | Per-step roundoff ~ eps_mach * O(100 FLOPs) ~ 2e-14. Random-walk accumulation over N=1000 steps gives ~sqrt(N) * 2e-14 ~ 6.3e-13; pathological worst-case linear accumulation gives ~N * 2e-14 ~ 2.0e-11. | ~3-5 orders looser than either bound |
| `migdal_witten` | 0.01000 | 0.00350 | Per-sweep plaquette std on the buckyball (averaged over 32 faces) is sigma_<P> ~ sigma_link / sqrt(n_faces) ~ 0.5/sqrt(32) ~ 0.09 at beta=2.5, dropping further once n_eff is accounted for. With N=1000 raw sweeps and tau_int ~ 5 -> n_eff ~ 200, SEM ~ 0.09/sqrt(200) ~ 6e-3. Empirical SEM from blocked analysis (current run) is in the 3-5e-3 range. | ~2-3 SEM (strict; designed to fail loudly on calibration drift) |
| `gauge_invariance` | 1.000e-10 | 1.000e-12 | Gauge transform touches 90 edges (each ~16 FLOPs) and verification compares plaquette sums over 32 faces with 5-6 element products (each ~6*16 FLOPs): total ~ 90*16 + 32*6*16 ~ 4500 FLOPs; eps_mach * 4500 ~ 1e-12 conservatively. | ~2 orders looser than expected |
| `method_crosscheck` | 0.02000 | 0.01100 | Budget split: stat = sqrt(sem_time^2 + sem_hb^2) where each is taken from the blocked analysis of the current run (typically ~3e-3 each -> ~4e-3 stat). Sys = microcanonical-vs-canonical bias at finite trajectory length on 93 transverse DOF, bounded by O(sigma_<P> / sqrt(n_steps * dt / tau_relax)) ~ 0.09/sqrt(20.0/1) ~ 2.0e-02. Total sqrt(stat^2 + sys^2) ~ 1.1e-2. | ~2x looser; absorbs stat fluctuations and the documented 93-DOF ergodicity caveat |
| `envelope_energy_drift_rel` | 0.00500 | 5.000e-05 | Local-stability heuristic at each envelope beta. Short leapfrog (~400 steps at dt=0.02) is sub-trajectory of the main run; expected drift scales linearly with the main-run envelope budget. Envelope tolerance is 5x the main-run gate (1e-3) to absorb edge-of-envelope variance without flagging a real stable point. NOT derived from a per-beta autocorrelation analysis -- this is a stability heuristic, not a publication-grade statistical bound. | 5x looser than the main-run gate; absorbs edge-of-envelope variance |
| `envelope_gauss_max` | 1.000e-09 | 1.000e-13 | Identical to the main-run gauss_max tolerance: the Gauss projector floor is set by Tikhonov shift + FP roundoff and is beta-independent. | Same as main-run; the projector floor is invariant under beta |
| `envelope_crosscheck_gap` | 0.03000 | 0.01500 | Local microcanonical-vs-canonical gap at each envelope beta. 1.5x looser than the main-run cross-check (2e-2) because the envelope's short heatbath chain (1000 sweeps) has smaller n_eff than the main run. | 1.5x looser; reflects smaller n_eff in envelope phase |
| `envelope_migdal_gap` | 0.01000 | 0.00500 | Identical to the main-run Migdal-Witten gate: the analytical target is independent of measurement budget. | Same as main-run; analytical target is sample-budget-invariant |
| `sector_classifier_real_accuracy_min` | 0.80000 | 0.85000 | Stated as a function of n_eff per CHAIN, not raw N=90 samples per band. The within-chain LOOCV folds are autocorrelated; effective independent samples per band is roughly n_eff = n_samples / (2 * tau_int + 1). At tau_int ~ 5 the effective N per band is ~6, so 80% accuracy means the classifier reads at least 5/6 effective samples correctly. Below 80% the gauge-invariant features do not carry band information; the gate fails loudly. | n_eff-corrected; not directly comparable to a 90-sample raw classification rate |
| `sector_classifier_null_alpha` | 0.05000 | 0.50000 | Permutation-test p-value threshold for label-shuffled LOO. 200 random shuffles of the real feature matrix's labels; null p-value = (number of shuffles whose accuracy meets or exceeds the real classifier) / 200. p >= 0.05 means the real classifier is statistically indistinguishable from a label-blind baseline -- gate FAILS. NOT a symmetric +-band around 1/3 (the prior design's '+-0.10 around 1/3' criterion misfired by construction because the Haar scramble null does not have a 1/3 baseline). | 5% type-I-error rate on the standard permutation contract |

A FAIL on any of these gates indicates either (a) a regression that violates the derived expectation by orders of magnitude, or (b) a sampling or ergodicity issue documented in Section 7. None of these tolerances is fitted to current data.

---

*Report ends. Numerical artifact: `validation_report_20260617_115516.json` (included separately).*
