{
 "P0": {
  "status": "passed",
  "checks": [
   "TASK.md read fully; contract.md written"
  ],
  "notes": ""
 },
 "P1": {
  "status": "passed",
  "checks": [
   "sha256 matches README/bundle",
   "417 rows, 7 cols, contiguous months, no dups",
   "missing: neworder_chg 1992-01/02 only",
   "exclusion ledger sums 417-2-2=413"
  ],
  "notes": "README 1992-01 discrepancy recorded"
 },
 "P2": {
  "status": "passed",
  "checks": [
   "naive and expanding-mean baselines computed on same 60 origins; rmse_naive, rmse_mean in results.json"
  ],
  "notes": ""
 },
 "P3": {
  "status": "passed",
  "checks": [
   "analysis.py reads only data/, deterministic, no seed",
   "ridge per spec with expanding standardisation"
  ],
  "notes": ""
 },
 "P4": {
  "status": "passed",
  "checks": [
   "clean re-run byte-identical",
   "independent ridge check max diff 3.9e-11",
   "leakage perturbation test diff 0",
   "counts/identities pass (checks.md)",
   "gate run 20261030T041133.223355Z: 37/38 ok, only failure = non-terminal P4/P5 ledger status (expected at that point); reproducibility ok"
  ],
  "notes": "",
  "gate_receipts": [
   "out/state/gate_receipts/20261030T041133.223355Z.json"
  ]
 },
 "P5": {
  "status": "passed",
  "checks": [
   "report.md with 6 sections, every number cites a results key",
   "claims.json 4 claims, keys resolve",
   "final gate run 20261030T041139.627854Z: PASSED 38/38"
  ],
  "notes": "",
  "gate_receipts": [
   "out/state/gate_receipts/20261030T041139.627854Z.json"
  ]
 }
}