# Verification checks (P4) | check | outcome | |---|---| | 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 |