1# Verification checks (P4) — all executed 2026-10-3023| check | outcome |4|---|---|5| Clean re-run (deleted outputs, re-ran analysis.py): SHA-256 of results.json, analytic.csv, exclusions.csv identical | PASS |6| analytic.csv rows (308) == n_analysed == n_months_growth | PASS |7| n_months_growth + n_months_missing_growth == 309 window months | PASS |8| Exclusion ledger: n_before − n_removed = n_after each row; chaining; last n_after == analytic rows | PASS |9| mean_growth_12m recomputed from analytic.csv | PASS |10| 156/308·mean_2001_2013 + 152/308·mean_2014_2026 == overall mean | PASS |11| min ≤ mean ≤ max | PASS |12| Independent hand computation from raw vintage files of g for 2022-06, 2014-06 (mixed vintages), 2016-07 | PASS |13| vintage_used = 2026-10-28 exactly for months ≥ 2014-01 | PASS |14| analytic dates within 2001-01..2026-09, monotone; no row for 2025-10 | PASS |15| Magnitude plausibility: peak 8.98% in 2022-06, trough −1.96% in 2009-07, consistent with known CPI history; baseline 2001–2013 mean 2.36% | PASS |16| SEs/CIs: none produced (descriptive estimands computed from published levels; no sampling model) | N/A |17