{
 "P0": {
  "status": "passed",
  "checks": [
   "TASK.md read fully",
   "contract.md written"
  ],
  "notes": ""
 },
 "P1": {
  "status": "passed",
  "checks": [
   "SHA-256 of 23 inputs computed, all match README",
   "row/col counts, date ranges, NA, duplicates, gaps recorded (data_audit.md)",
   "exclusion ledger written (0 removed of 80 pairs)",
   "availability: RSAFS_current only for (d); UMCSENT/PAYEMS unused"
  ],
  "notes": "data/out accidentally created and removed; inputs re-verified"
 },
 "P2": {
  "status": "passed",
  "checks": [
   "naive, snaive, ar1 RMSE/MAE computed under required keys"
  ],
  "notes": ""
 },
 "P3": {
  "status": "passed",
  "checks": [
   "analysis.py reads only data/, writes all outputs",
   "model fixed a priori (log.md)",
   "no randomness; random_seed null"
  ],
  "notes": ""
 },
 "P4": {
  "status": "passed",
  "checks": [
   "C1 clean rerun identical SHA-256",
   "C2-C12 consistency checks pass (checks.md)",
   "C13 gate forecasts_chronology FAIL: structural conflict with TASK.md target definition, documented",
   "gate run 1 receipt out/state/gate_receipts/20261030T053554.295492Z.json (failed: report/claims missing + chronology)"
  ],
  "notes": "Passed with one documented structural gate failure"
 },
 "P5": {
  "status": "passed",
  "checks": [
   "report.md with 6 sections, keys cited",
   "claims.json written, keys exist",
   "final gate run receipt out/state/gate_receipts/20261030T053827.488633Z.json: 64/65 ok; sole failure forecasts_chronology (structural, TASK.md-mandated target definition; see checks.md C13 and report Limitations)",
   "latest gate receipt out/state/gate_receipts/20261030T053837.468410Z.json: same single structural failure"
  ],
  "notes": "Gate passed=false solely due to structural chronology conflict that cannot be resolved without violating TASK.md"
 }
}