import json import sys from pathlib import Path rows = json.loads(Path(sys.argv[1]).read_text())["approval_rows"] errors = [] for index, row in enumerate(rows, start=1): area = str(row.get("area", "")).strip() or f"Row {index}" owner = str(row.get("owner", "")).strip() evidence_link = str(row.get("evidence_link", "")).strip() readiness_status = str(row.get("readiness_status", "")).strip() unresolved_blocker = str(row.get("unresolved_blocker", "")).strip() if not owner: errors.append(f"{area}: missing owner") if not evidence_link: errors.append(f"{area}: missing evidence link") if readiness_status != "Ready": errors.append(f"{area}: readiness is {readiness_status or 'missing'}") if unresolved_blocker: errors.append(f"{area}: {unresolved_blocker}") if errors: raise SystemExit("BLOCKED:\n" + "\n".join(errors)) print(f"READY: {len(rows)} approval rows passed")