# Data audit (P1) All SHA-256 hashes recomputed and match data/README.md and bundle.json. | file | rows (excl. header) | cols | range | missing | dup dates | |---|---|---|---|---|---| | vintages/..._2024-01-31.csv | 307 | 2 | 1947-04-01..2023-10-01 | 0 | 0 | | vintages/..._2024-04-30.csv | 308 | 2 | ..2024-01-01 | 0 | 0 | | vintages/..._2024-07-31.csv | 309 | 2 | ..2024-04-01 | 0 | 0 | | vintages/..._2024-10-31.csv | 310 | 2 | ..2024-07-01 | 0 | 0 | | vintages/..._2025-01-31.csv | 311 | 2 | ..2024-10-01 | 0 | 0 | | vintages/..._2025-04-30.csv | 312 | 2 | ..2025-01-01 | 0 | 0 | | vintages/..._2025-07-31.csv | 313 | 2 | ..2025-04-01 | 0 | 0 | | vintages/..._2025-12-31.csv | 314 | 2 | ..2025-07-01 | 0 | 0 | | current_vintage.csv | 318 | 2 | 1947-04-01..2026-07-01 | 0 | 0 | | first_release.csv | 13 | 3 | quarters 2023-07-01..2026-07-01 | 0 | 0 | Units: percent change from preceding quarter, SAAR (pp). Spacing: regular quarterly (max gap 92 days) in all files. Anomalies: pandemic quarters 2020Q2/Q3 (about -28 / +35) are extreme outliers -> excluded from AR estimation (exclusions.csv). 8th origin is 2025-12-31 (shutdown-delayed 2025Q3 advance estimate), documented in README. Vintage revisions visible (e.g. 2025Q2: 3.0 in 2025-07-31 vintage, 3.8 in 2025-12-31 vintage, 4.0 currently). Availability: current_vintage.csv violates real-time rule if used as input -> used only for revision statistic. first_release.csv used only as actuals; every target's first-release vintage date is after its origin. All 16 targets (2024Q1..2026Q1) have first releases. Incident: an early mkdir accidentally created out/state inside data/vintages; it was moved to out/ immediately, and data file hashes were re-verified unchanged.