# Checks 1. Rerun of out/analysis.py: results.json byte-identical (cmp) — PASS. 2. Independent recomputation with csv module (no pandas): 20 countries, 15 balanced, mean2000 78.060267, mean2022 81.553067, change 3.4928, baseline 78.692 (20 countries) — PASS (matches). 3. n_analysed = 15 × 23 = 345 = rows of analytic.csv; no duplicate (iso3,year); no missing values — PASS. 4. Exclusion ledger: 439 → 439 → 416 → 368 → 345; n_before − n_removed = n_after each row, chained — PASS. 5. n_countries_balanced + n_countries_incomplete = 15 + 5 = 20 = n_countries_total — PASS. 6. change = mean_2022_balanced − mean_2000_balanced (81.553067 − 78.060267 = 3.4928) — PASS. 7. Magnitude: baseline 2022 mean (78.692) lower than balanced 2022 (81.553) as expected since baseline adds lower-LE BGD/ETH/IND/NGA and CHE — PASS (plausible). 8. Duplicate TUR rows have identical values (script aborts on conflict) — PASS.