# Data audit | file | SHA-256 (as received) | rows | cols | range | missing cpi | dup dates | |---|---|---|---|---|---|---| | cpi_vintage_2016-07-15.csv | 281fbcdd6a6eeb3e9cb7c1f20476e6bd1f7b925bf140606fe46538fe83f2c83e | 834 | 2 (date,cpi) | 1947-01..2016-06, no calendar gaps | 0 | 0 | | cpi_vintage_2026-10-28.csv | 8220d5b4d70ca32fc2c7b1975651c515967db8a87053cf725159c63ed274cfba | 153 | 2 | 2014-01..2026-09, no calendar gaps | 1 (2025-10) | 0 | | cpi_assembled.csv | ff732b201a525d6fb171d4e8b2d470f986863c1547a1928e42bb197c0777d44d | 957 | 3 (date,cpi,vintage) | 1947-01..2026-10, 2016-07 absent | 1 (labelled 2025-11) | 0 | | README.md | ac136bff13bbdb5afac60e0404212ea1f73f992bd5cca1c1e7a6599df78f8965 | – | – | – | – | – | Units: index 1982–84=100, monthly, SA. No month-to-month change >3% in any file. README SHA-256 values refer to raw downloads (differ from the files here) — cannot verify. **Anomalies** - 2026 vintage: 2025-10 empty (source publishes no value). Not imputed → g_2025-10 missing (g_2026-10 would also be missing but is outside window). - Vintage overlap 2014-01..2016-06 (30 months): values differ by −0.455..+0.330 index points (revisions). - Assembled file: (i) uses 2016 vintage for 2014-01..2016-06 (violates rule); (ii) 2016-07 missing; (iii) from 2016-08 every value is the source value of the previous month (one-month shift), so the empty cell appears at 2025-11 and a spurious 2026-10 row exists. **Decision:** assembled file is not used for estimation; read only for this audit (its row count is reported in n_input_rows).