{
 "P0": {
  "status": "passed",
  "checks": [
   "TASK.md read fully",
   "contract.md written"
  ],
  "notes": ""
 },
 "P1": {
  "status": "passed",
  "checks": [
   "sha256 of all 6 files computed and match README/bundle",
   "line/item counts recorded",
   "schemas and units recorded",
   "8 anomalies logged in data_audit.md",
   "exclusions.csv written (5->5)"
  ],
  "notes": ""
 },
 "P2": {
  "status": "passed",
  "checks": [
   "baseline_reported in results.json: printed values in their reported units plus author-printed conversions (Table 6 % change -35.0%)",
   "same evaluation rule (printed locators) used for harmonised values"
  ],
  "notes": "Baseline = un-transformed printed estimates."
 },
 "P3": {
  "status": "passed",
  "checks": [
   "out/analysis.py reads only data/, prints every source line used, writes out/results.json",
   "no randomness; random_seed null",
   "A19 locator anchor bug fixed and re-run"
  ],
  "notes": ""
 },
 "P4": {
  "status": "passed",
  "checks": [
   "clean re-run byte-identical (cmp)",
   "input hashes unchanged",
   "14 consistency checks PASS (see checks.md)"
  ],
  "notes": ""
 },
 "P5": {
  "status": "passed",
  "checks": [
   "report.md has the 6 required sections",
   "every claim's results_keys exist in results.json",
   "claims.json written (7 claims, all supported)"
  ],
  "notes": ""
 }
}