# Verification checks (P4) 1. Reproducibility: removed outputs, ran analysis.py twice; SHA-256 of results.json, analytic.csv, exclusions.csv identical. PASS 2. Independent numpy re-computation of OLS beta, CR1 cluster SE (G/(G-1)·(n-1)/(n-k)) and R²: differences ≤ 2.3e-16. PASS 3. analytic.csv rows = n_analysed (1800); distinct firms = n_firms (300); mean default = default_rate. PASS 4. Exclusion ledger: n_before − n_removed = n_after on every row; chained; starts at 2140 rows read, ends at 1800. 2140 − 40 − 300 = 1800. PASS 5. analytic.csv columns = firm_id, year, leverage, cash_ratio, log_sales, default_next (no rating_2025); no duplicate keys; no NA; years 2016–2021 only. PASS 6. SE positive (0.0408); 95% CI [0.184, 0.344] contains beta 0.264. PASS 7. Magnitude: beta 0.264 per unit leverage vs baseline default rate 0.121; a 0.21 (1 SD) increase in leverage ↔ ~5.5 pp, plausible. PASS