Clean re-run (deleted results.json, table1.csv, figure1.png, exclusions.csv; re-ran analysis.py) → results.json byte-identical (cmp) |
PASS |
| CI contains estimate: 4.854 < 5.267 < 5.680 |
PASS |
| effect_se, baseline_metric, model_metric > 0 |
PASS |
| Exclusion ledger: 2349 − (396+1736+20) = 197 = n_analysed |
PASS |
| n_analysed + n_excluded_missing = 217 countries in 2023 |
PASS |
| pearson_r² = r_squared (simple OLS identity) |
PASS |
| r_squared = 1 − (model_metric/baseline_metric)² |
PASS |
| model_metric < baseline_metric |
PASS |
| table1 n_countries sums to n_analysed (197) |
PASS |
| CI half-width = 1.95996 × HC3 SE |
PASS |
| conclusion code consistent with CI sign |
PASS |
| analysis_year = max year with ≥150 complete countries (all years qualify; 2023 has 197) |
PASS |
| Magnitude: fitted LE at ln(GDPpc)=9.5 ≈ 72.6 years, plausible; slope in typical literature range (~4–6 yrs/log point) |
PASS |
| Figure visually inspected: scatter + OLS line, labelled axes |
PASS |
| data/ unmodified (SHA-256 identical to README) |
PASS |