# Data audit (P1) | file | SHA-256 | rows (excl. header) | cols | |---|---|---|---| | data/gc5y_daily.csv | 2cdda6ccb2147c8861997166cb0d32cf85ff2744e1e7c0f47eded0f354c2db51 (matches README) | 2498 | 3 | | data/README.md | 7716f8b58d8f4729504a7713a8a3d651cd2f7298f53f668b377215a5b2af1e34 | provenance text | – | Schema: `date` (string YYYY-MM-DD, all parse), `yield_5y` (float, percent), `post_cut` (int64). - Date range: 2010-01-04 → 2019-12-31; strictly increasing; 0 duplicate dates. - Missing values: 0 in every column. - Gaps between consecutive rows (calendar days): 1 (1962), 3 (440, weekends), 4 (79), 2 (10), 5 (6) — consistent with business days and Canadian holidays; no gap > 5 days. - yield_5y: min 0.48, max 3.20, mean 1.574 %; max |one-day change| 27 bp. No anomalies in magnitude. - Rows per calendar year: 249–250 for each of 2010–2019. - **post_cut: 0 for all 2498 rows; n_treated = 0.** The file ends 2019-12-31, before the 2020-03-04 cut; the README URL itself requests end_date=2019-12-31. ## Availability / feasibility decision No input violates the information rules (single permitted file). But the treatment window is empty, so the estimand (post-cut mean change minus pre-window mean change) is not computable. Per TASK.md: conclusion `premise_invalid`, feasibility `infeasible`, all inestimable keys null. post_cut is not redefined and no external/proxy data are used. The pre-window ("120 days before the first flagged day") is also undefined since there is no flagged day; the last 120 days of 2019 are NOT a substitute.