| Clean re-run (deleted results.json, figure, exclusions.csv) regenerates byte-identical results.json |
PASS |
| Input checksums match README/bundle |
PASS |
| n_analysed = 240, first 1960Q1, last 2019Q4 (asserted in script) |
PASS |
| Exclusion ledger: 319 − 78 − 1 = 240 = n_analysed |
PASS |
| Every quarter in window has 3 monthly UNRATE values (asserted) |
PASS |
| se_iid = 0.01996 > 0, se_hac = 0.03583 > 0 |
PASS |
| CI [−0.3260, −0.1855] contains beta_hat −0.2558; half-width / se_hac = 1.95996 (z) |
PASS |
| OLS identity mean_du = alpha + beta·mean_growth (error 3e-17) |
PASS |
| Manual Bartlett HAC computation equals statsmodels to 1e-10 (asserted) |
PASS |
| Magnitude: mean_growth 0.754 %/q ≈ 3.0 % annualised — plausible for 1960–2019; beta ≈ −0.26 per % q/q in typical Okun range |
PASS |
| HAC vs baseline: se_hac/se_iid ≈ 1.80, consistent with positive residual autocorrelation (lag-1 0.39) |
PASS (expected direction) |
| okun_negative_5pct consistent: beta<0 and |
t_hac |