{
 "P0": {
  "status": "passed",
  "checks": [
   "TASK.md read",
   "contract.md written"
  ],
  "notes": ""
 },
 "P1": {
  "status": "passed",
  "checks": [
   "SHA-256 match README/bundle",
   "row/col counts 319/945",
   "missing: UNRATE 2025-10 only (outside window)",
   "no duplicate dates, no date gaps",
   "window 1959Q4-2019Q4 complete",
   "exclusions.csv sums to 240"
  ],
  "notes": "post-2019 data truncated"
 },
 "P2": {
  "status": "passed",
  "checks": [
   "baseline_metric = RMSE of mean-only prediction = 0.3247 computed by analysis.py"
  ],
  "notes": ""
 },
 "P3": {
  "status": "passed",
  "checks": [
   "analysis.py reads only data/, writes results.json/table1.csv/figure1.png",
   "no randomness; random_seed null",
   "HAC lag 4 by NW rule"
  ],
  "notes": ""
 },
 "P4": {
  "status": "passed",
  "checks": [
   "clean rerun x2: results.json byte-identical, figure/table identical hashes",
   "15 consistency checks PASS (see checks.md)"
  ],
  "notes": ""
 },
 "P5": {
  "status": "passed",
  "checks": [
   "report.md six sections with results keys cited",
   "claims.json keys validated against results.json"
  ],
  "notes": ""
 }
}