#!/usr/bin/env python3 """Produce the bounded evidence capture plan for WBV2-P1424-001. This planner is intentionally side-effect free: implementation phase records the exact Chromium/native workflows to run later, without claiming they passed. """ import json from pathlib import Path TASK = "WBV2-P1424-001" CONTRACTS = Path("tests/golden") / TASK / "behavior-contracts.json" OUT = Path("tests/golden") / TASK / "runtime-evidence-plan.json" def main(): data = json.loads(CONTRACTS.read_text()) plan = { "schemaVersion": 1, "task": TASK, "status": "PENDING_USER_RUNTIME_VALIDATION", "runner": "Chromium only", "sourceContracts": str(CONTRACTS), "steps": [], } for contract in data["contracts"]: module = contract["module"] plan["steps"].append({ "module": module, "positive": contract["positive"], "negative": contract["negative"], "recovery": contract["recovery"], "requiredArtifacts": [ f"{module.lower()}-before.blend", f"{module.lower()}-after.blend", f"{module.lower()}-negative.blend", f"{module.lower()}-undo.blend", f"{module.lower()}-redo.blend", f"{module.lower()}-reopened.blend", f"{module.lower()}-chromium.json", ], "result": "NOT_RUN", }) OUT.write_text(json.dumps(plan, indent=2, ensure_ascii=False) + "\n") if __name__ == "__main__": main()