{
 "P0": {
  "status": "passed",
  "checks": [
   "TASK.md read fully",
   "contract.md written"
  ],
  "notes": ""
 },
 "P1": {
  "status": "passed",
  "checks": [
   "sha256 of 23 files match README",
   "row counts match README",
   "missing/duplicates checked",
   "last(V) and targets enumerated; all targets in first_release",
   "first_release yoy recomputed (max diff 4.7e-7) and levels match shipped vintages",
   "availability: RSAFS_current and first_release isolated from forecasts"
  ],
  "notes": "see data_audit.md"
 },
 "P2": {
  "status": "passed",
  "checks": [
   "naive, snaive, AR(1) baselines computed per task definitions with same first-release evaluation rule; stored as rmse/mae_{naive,snaive,ar1}_h{1,3}",
   "independently recomputed in P4 (check 5)"
  ],
  "notes": "Baselines were coded in the same script run as the model (model specification fixed in log before the run)."
 },
 "P3": {
  "status": "passed",
  "checks": [
   "out/analysis.py reads only data/, writes results.json, forecasts.csv, table1.csv, figure1.png",
   "seed 20261030 fixed for bootstrap",
   "printed output matches results.json"
  ],
  "notes": ""
 },
 "P4": {
  "status": "passed",
  "checks": [
   "clean re-run byte-identical (twice)",
   "14 consistency checks all PASS, see checks.md"
  ],
  "notes": ""
 },
 "P5": {
  "status": "passed",
  "checks": [
   "report.md has the 6 required sections, each figure cites a results key",
   "claims.json valid JSON, 5 claims, each results_key exists in results.json",
   "report key citations cross-checked against results.json"
  ],
  "notes": ""
 }
}