from __future__ import annotations import json from pathlib import Path import sys ROOT = Path(__file__).resolve().parents[1] EVIDENCE_ROOT = Path(sys.argv[1]) if len(sys.argv) > 1 else ROOT / "evidence" MANIFEST = EVIDENCE_ROOT / "manifest.jsonl" def main() -> int: print(f"evidence_root: {EVIDENCE_ROOT}") if not MANIFEST.exists(): print(f"ERROR: manifest missing: {MANIFEST}") return 1 lines = [line for line in MANIFEST.read_text(encoding="utf-8").splitlines() if line.strip()] print(f"manifest_entries: {len(lines)}") if not lines: print("ERROR: manifest is empty") return 1 for idx, line in enumerate(lines[:5], start=1): record = json.loads(line) for key in ("screenshotPath", "domPath", "urlPath"): path = Path(record[key]) if not path.exists(): print(f"ERROR: missing {key} for entry {idx}: {path}") return 1 print(f"OK: entry {idx} -> {record['label']}") return 0 if __name__ == "__main__": raise SystemExit(main())