{
 "P0": {"status": "passed", "checks": ["TASK.md read completely", "contract.md written with question, estimands, outputs, rules, invalidity conditions"], "notes": ""},
 "P1": {"status": "passed", "checks": ["SHA-256 of all 3 data files computed; both source hashes match README", "line counts via wc -l (10/134/58)", "anomalies catalogued in data_audit.md and data_issues (8 items)", "exclusions.csv: 25 -> 25, 0 removed", "no availability-rule violations"], "notes": ""},
 "P2": {"status": "passed", "checks": ["baseline = direct reading of named printed cells; written under the task's required keys (no separate baseline_* keys needed)"], "notes": "Extraction task: the baseline and the final method coincide."},
 "P3": {"status": "passed", "checks": ["analysis.py parses tables from data/ only, prints matched source lines, writes results.json; no randomness (random_seed null)"], "notes": ""},
 "P4": {"status": "passed", "checks": ["clean rerun byte-identical (cmp)", "20 internal consistency checks PASS (see checks.md): SE>0, CIs contain estimates, star/z consistency, locator count, n_input_rows"], "notes": ""},
 "P5": {"status": "passed", "checks": ["report.md has 6 required sections citing results keys", "claims.json: all results_keys exist in results.json"], "notes": ""}
}
