{
 "P0": {
  "status": "passed",
  "checks": [
   "TASK.md read fully",
   "contract.md written"
  ],
  "notes": ""
 },
 "P1": {
  "status": "passed",
  "checks": [
   "SHA-256 computed and matches bundle.json",
   "schema/missing/duplicates/ranges audited",
   "12 negative training_hours found; exclusion decision recorded",
   "exclusions.csv sums: 1200-12=1188"
  ],
  "notes": "see data_audit.md"
 },
 "P2": {
  "status": "passed",
  "checks": [
   "unadjusted OLS computed on same sample: naive_estimate, CI, baseline_metric written"
  ],
  "notes": ""
 },
 "P3": {
  "status": "passed",
  "checks": [
   "analysis.py reads only data/, Agg backend, no randomness (random_seed null)",
   "adjusted model + sensitivities computed; table1.csv and figure1.png generated"
  ],
  "notes": ""
 },
 "P4": {
  "status": "passed",
  "checks": [
   "clean re-run: results.json byte-identical",
   "CI contains estimates",
   "positive SE/metrics",
   "exclusion ledger sums",
   "conclusion consistent with CI",
   "OVB identity holds",
   "sensitivities within CI"
  ],
  "notes": "see checks.md"
 },
 "P5": {
  "status": "passed",
  "checks": [
   "report.md with 6 required sections in order",
   "claims.json keys all exist in results.json"
  ],
  "notes": ""
 }
}