# Verification checks (P4) | check | outcome | |---|---| | Clean re-run (deleted outputs, ran twice): results.json byte-identical, analytic.csv/exclusions.csv md5 identical | PASS | | analytic.csv rows == n_analysed (345) and no duplicate (iso3, year) and no missing values | PASS | | every balanced country has 23 distinct years; set equals balanced_countries | PASS | | exclusion ledger: n_before − n_removed = n_after on each row; chaining; first n_before = 439; last n_after = 345 | PASS | | change = mean_2022 − mean_2000 | PASS | | n_balanced + n_incomplete = n_total (15+5=20) | PASS | | Magnitudes: means 78–82 years are plausible. The 2022 baseline (78.69) is below the balanced mean (81.55) because the baseline includes 4 lower-life-expectancy countries | PASS | | Duplicates for TUR have identical values (script raises an error on conflict) | PASS |