# Verification checks | check | outcome | |---|---| | Rerun analysis.py from clean state (deleted outputs) → results.json byte-identical | PASS | | Independent pivot-based recomputation: 15 countries, 2000 mean 78.060267, 2022 mean 81.553067, change 3.4928, 2022 all-available 78.692 (20 countries) | PASS (matches) | | n_analysed = 15 × 23 = 345 = rows of analytic.csv | PASS | | analytic.csv: no duplicate (iso3, year), no missing values, years 2000–2022 | PASS | | exclusions: 439−23=416, 416−1=415, 415−70=345; chaining holds; 439−94=345 | PASS | | n_countries_balanced + n_countries_incomplete = 15 + 5 = 20 = n_countries_total | PASS | | change = mean_2022_balanced − mean_2000_balanced | PASS | | Duplicate TUR rows have identical values (script aborts otherwise) | PASS | | Magnitude: balanced 2022 mean (81.55) > all-available (78.69), consistent with excluded countries being mostly lower-income | PASS (plausible) |