P4 checks
- Clean re-run of out/analysis.py: results.json byte-identical (cmp) — PASS
- analytic rows == n_analysed: PASS
- analytic firms == n_firms: PASS
- no rating_2025 in analytic: PASS
- ledger n_before-n_removed==n_after: PASS
- ledger chained: PASS
- ledger start=n_raw, end=n_analysed: PASS
- se>0: PASS
- CI contains beta: PASS
- 0<=r2<=1: PASS
- default_rate == analytic mean: PASS
- max year in analytic <=2021 (outcome observed by end 2022): PASS
- no duplicate firm-year keys: PASS
- Magnitude vs baseline: default_rate 0.121; beta_leverage 0.264 per unit leverage => ~0.026 per 0.1 leverage, plausible relative to baseline — PASS