1# Verification checks (P4)23| check | outcome |4|---|---|5| Clean re-run (deleted results/figure/table/exclusions, re-ran analysis.py): results.json byte-identical (`cmp`) | PASS |6| Independent numpy re-implementation (OLS + manual HC3 sandwich): β, α, SE, RMSEs, R² match to <1e-9 | PASS |7| r² = pearson_r² | PASS (diff < 1e-12) |8| model_metric = baseline_metric·sqrt(1−R²) (OLS-with-intercept identity) | PASS |9| model_metric (3.59) < baseline_metric (7.08) | PASS |10| effect_se > 0; CI [4.85, 5.68] contains β = 5.27 | PASS |11| Exclusion ledger: 2349 −396 −1736 −20 = 197 = n_analysed; n_excluded_missing = 20 = 217−197 | PASS |12| table1 n_countries sums to 20+46+58+73 = 197 = n_analysed | PASS |13| Analysis year rule: complete counts 199 (2015–2022), 197 (2023) ≥150 ⇒ 2023 latest | PASS |14| All GDP > 0 before log (assert in script) | PASS |15| SE robustness: HC0 0.207, HC1 0.208, HC2 0.209, HC3 0.211, classical 0.222 — conclusion unchanged | PASS |16| Trim-5 largest residuals: β = 5.32 (vs 5.27) | PASS (stable) |17| Figure visually inspected: scatter + fitted line, 197 points, labels correct | PASS |18