# Checks (P4) 1. Reproducibility: ran analysis.py twice; results.json byte-identical (cmp). PASS 2. Manual sandwich CR1 SE (numpy) = 0.07313813443747044 vs stored 0.07313813443747043. PASS 3. Manual OLS coefficients match stored beta_hat/alpha_hat. PASS 4. se_ols>0, se_cluster>0. PASS 5. beta_ci_low < beta_hat < beta_ci_high; CI symmetric with t(49)=2.0096. PASS 6. n_input_rows 2000 - 0 removed (exclusions.csv) = n_analysed 2000; n_clusters 50 = unique firm_id. PASS 7. Magnitude vs baseline: se_cluster/se_ols = 3.03, consistent with ~45%/53% firm-level variance share in x / residual and 40 obs per firm. PASS 8. data/ unmodified (SHA unchanged; an accidentally created data/out dir was removed immediately, before any outputs were finalised). PASS