| Clean re-run (deleted outputs, reran analysis.py): results.json byte-identical, table1.csv & figure1.png SHA-256 identical |
PASS |
| Independent numpy re-implementation of OLS slope and HC3 SE matches results to <1e-9 |
PASS |
| r_squared == pearson_r^2 |
PASS |
| model_metric^2 == (1−R²)·baseline_metric^2 |
PASS |
| effect_se > 0, baseline_metric > 0, model_metric > 0 |
PASS |
| effect_ci_low < effect_estimate < effect_ci_high; CI = β ± 1.96·SE |
PASS |
| conclusion consistent with CI (lower bound 4.85 > 0 → positive_effect) |
PASS |
| Exclusion ledger: 2349 − (396+1736+20) = 197 = n_analysed |
PASS |
| n_countries_in_analysis_year 217 = n_analysed 197 + n_excluded_missing 20 |
PASS |
| table1 n_countries sums to 197; mean LE increases monotonically with income group |
PASS |
| model_metric (3.59) < baseline_metric (7.08) |
PASS |
| Magnitude plausibility: slope ~5.3 years per log point, in the range commonly reported for Preston-curve cross-sections |
PASS (informal) |
| Information rule: analysis year 2023 is latest year with ≥150 complete countries (197) |
PASS |
| Note: a first reproducibility attempt compared against a /tmp copy that was overwritten by an unrelated process; redone with a workspace-local copy (out/state/repro/) |
resolved |