Checks (P4)
- Re-run of out/analysis.py produces byte-identical results.json (cmp) — PASS.
- beta_hat/alpha_hat/se_ols match statsmodels OLS (0.8050806, 1.4439581, 0.0241152) — PASS.
- se_cluster matches statsmodels cov_type='cluster' (0.0731381, same CR1 correction) — PASS.
- SEs positive; CI [0.658, 0.952] contains beta_hat and is symmetric around it — PASS.
- n_input_rows (2000) − removed (0) = n_analysed (2000); n_clusters=50 = unique firm_id — PASS.
- Magnitude vs baseline: se_cluster/se_ols ≈ 3.03, consistent with positive intra-firm correlation of both x and residuals (≈0.45, ≈0.53) — PASS (plausible).
- Gate run — see phases.json.