# Verification checks 1. Re-run of out/analysis.py: results.json byte-identical (cmp) — PASS 2. Manual CR1 sandwich computed in-script equals statsmodels clustered SE (assert, tol 1e-10) — PASS 3. Exclusion ledger: 2000 − 0 = 2000 = n_analysed (assert in script) — PASS 4. se_ols = 0.0241 > 0, se_cluster = 0.0731 > 0 — PASS 5. CI [0.658, 0.952] contains beta_hat 0.805 and is symmetric around it — PASS 6. n_clusters 50 = unique firm_id; 50×40 = 2000 — PASS 7. Magnitude vs baseline: se_cluster/se_ols = 3.03; plausible given firm-level shocks with 40 obs/firm (a design effect of ~9 implies sizable within-firm correlation in both x and residuals) — PASS (noted) 8. Gate runs: see phases.json