{
 "P0": {
  "status": "passed",
  "checks": [
   "TASK.md read; out/state/contract.md written"
  ],
  "notes": ""
 },
 "P1": {
  "status": "passed",
  "checks": [
   "SHA-256 matches README/bundle",
   "945 rows, 2 cols, monthly grid complete, 0 duplicates",
   "1 missing value (2025-10-01) documented",
   "exclusions.csv sums: 945-1-3=941"
  ],
  "notes": "see data_audit.md"
 },
 "P2": {
  "status": "passed",
  "checks": [
   "naive baseline computed with same evaluation rule: rmse_naive_h1/h3, mae_naive_h1/h3",
   "naive equals latest obs <= origin (verified)"
  ],
  "notes": ""
 },
 "P3": {
  "status": "passed",
  "checks": [
   "analysis.py reads only data/, writes results.json, forecasts.csv, exclusions.csv",
   "deterministic (no RNG); random_seed null",
   "training truncated at origin s.loc[:t]"
  ],
  "notes": "ARIMA(2,1,0) no constant, fixed a priori"
 },
 "P4": {
  "status": "passed",
  "checks": [
   "clean re-run byte-identical",
   "10 consistency checks PASS (checks.md)",
   "gate run 20261030T040049.572960Z: contract/reproducibility checks ok; failures only for P5 artifacts not yet written (report, claims, phase statuses)"
  ],
  "notes": "",
  "gate_receipts": [
   "out/state/gate_receipts/20261030T040049.572960Z.json"
  ]
 },
 "P5": {
  "status": "passed",
  "checks": [
   "report.md with 6 required sections, each figure cites a results key",
   "claims.json written, all keys exist in results.json",
   "final gate run 20261030T040120.873744Z: PASSED 41/41"
  ],
  "notes": "",
  "gate_receipts": [
   "out/state/gate_receipts/20261030T040120.873744Z.json"
  ]
 }
}