| 1 |
Clean re-run (deleted results.json, figure1.png, exclusions.csv) regenerates byte-identical results.json |
PASS (cmp identical) |
| 2 |
Re-run after exclusion-ledger refactor gives identical results.json |
PASS (diff empty) |
| 3 |
Exclusion ledger: 319 − 5 − 73 − 1 = 240 = n_analysed; each n_before = previous n_after |
PASS |
| 4 |
Every quarter 1959Q4–2019Q4 has 3 non-missing UNRATE months; 241 GDP levels; T = 240 |
PASS (asserts in analysis.py) |
| 5 |
first_quarter = 1960Q1, last_quarter = 2019Q4 (no data beyond window used in regression) |
PASS |
| 6 |
Manual Bartlett NW sandwich equals statsmodels HAC SE to 1e-10 |
PASS (assert) |
| 7 |
se_iid > 0, se_hac > 0 |
PASS (0.01996, 0.03583) |
| 8 |
CI [−0.3260, −0.1855] contains beta_hat −0.2558; symmetric: (lo+hi)/2 = beta_hat |
PASS |
| 9 |
se_hac > se_iid consistent with positive residual lag-1 autocorrelation (0.389) |
PASS (plausible direction) |
| 10 |
okun_negative_5pct = (beta<0 and p_hac<0.05): beta<0, p≈9.5e-13 → true |
PASS |
| 11 |
Magnitudes: mean_growth 0.754 %/q (~3.0 % annualised), alpha 0.184 pp, implied growth for stable u = 0.72 %/q — plausible for U.S. 1960–2019 |
PASS |
| 12 |
Bandwidth sensitivity: se_hac in [0.0288, 0.0371] for L ∈ {0,…,12}; inference unchanged |
PASS |
| 13 |
Input checksums match README |
PASS |