# Verification checks (P4) - Clean re-run (results.json and exclusions.csv deleted, script re-run): byte-identical results.json — PASS (run twice, incl. after adding supplementary keys; all original keys unchanged). - OLS slope via demeaned cov/var cross-checked vs numpy lstsq on 5 replications (assert in script, tol 1e-10) — PASS. - bias_analytical == -(1+3*0.8)/30 — PASS - bias_mc == rho_hat_mean - rho — PASS - bias_mc_se == rho_hat_sd_mc/sqrt(n_analysed) — PASS; se > 0 — PASS - discrepancy_se_units identity — PASS - 95% CI (supp_bias_mc_ci95) contains bias_mc — PASS - se_asymptotic == sqrt((1-0.64)/30) — PASS - Counts: n_replications 20000 − 0 removed (exclusions.csv) = n_analysed 20000 — PASS - Magnitude vs baseline: bias_mc negative, same sign/order as analytical (ratio 1.09) — PASS; rho_hat_sd_mc same order as se_asymptotic baseline (ratio 1.36) — PASS - Information rules: only data/design.csv read; seed from design used with default_rng; c=0; stationary y_1; fresh series per replication — PASS (code review).