{
 "P0": {
  "status": "passed",
  "checks": [
   "TASK.md read fully",
   "contract.md written"
  ],
  "notes": ""
 },
 "P1": {
  "status": "passed",
  "checks": [
   "SHA-256 matches README/bundle",
   "417x7, no duplicate months, contiguous monthly",
   "missing: neworder_chg 1992-01/02 only",
   "exclusions.csv sums 417-4=413"
  ],
  "notes": "README discrepancy on 1992-01 empties recorded"
 },
 "P2": {
  "status": "passed",
  "checks": [
   "naive and expanding-mean baselines computed with same scoring rule"
  ],
  "notes": "rmse_naive, rmse_mean"
 },
 "P3": {
  "status": "passed",
  "checks": [
   "analysis.py implements ridge per spec with expanding standardisation",
   "no randomness; random_seed null"
  ],
  "notes": ""
 },
 "P4": {
  "status": "passed",
  "checks": [
   "clean re-run byte-identical",
   "independent ridge impl max diff 4.7e-11",
   "leakage perturbation test diff 0",
   "baseline/actual/date checks pass",
   "gate run: out/state/gate_receipts/20261030T041055.286661Z.json (contract/repro ok; only P5 artefacts report/claims missing at that time)"
  ],
  "notes": "see checks.md"
 },
 "P5": {
  "status": "passed",
  "checks": [
   "report.md with 6 sections",
   "claims.json 4 claims referencing existing keys",
   "final gate run: out/state/gate_receipts/20261030T041133.734169Z.json"
  ],
  "notes": ""
 }
}