| Clean re-run (delete results.json, rerun) gives byte-identical file |
PASS |
| CI [beta_ci_low, beta_ci_high] contains beta_hat |
PASS |
| se_iid > 0, se_hac > 0 |
PASS |
| CI symmetric around beta_hat (beta ± 1.96 se_hac) |
PASS |
| t_hac == beta_hat / se_hac |
PASS |
| p_hac < 0.05 iff CI excludes 0 (both false) |
PASS |
| n_analysed (400) = n_raw (400) − removed (0); matches exclusions.csv |
PASS |
| se_hac > se_iid, as expected with positively autocorrelated x and u (ratio 1.457; rough AR(1) approximation sqrt((1+0.40)/(1-0.40)) ≈ 1.53) |
PASS |
| rho_resid (0.609) roughly consistent with the stated ~0.7 |
PASS (somewhat below 0.7; OLS residual autocorrelation is biased downward in finite samples) |
| Memo numbers (2.0925, 0.1017, 0.0448, 2.27, 0.0238) reproduced to stated rounding |
PASS |
| Verdict robust across bandwidths 4–24 (p from 0.114 to 0.123) |
PASS |