#!/usr/bin/env python3 """Close the #2479 dichotomy-wave construction contract for construction_depth with SHA evidence.""" import json import sys from pathlib import Path sys.path.insert(0, str(Path(__file__).resolve().parents[1] / "src")) from rune.construction_interface import ConstructionInterface cid = sys.argv[1] iface = ConstructionInterface(builder="factory-batch-b") c = iface.close(cid, observed_evidence=[{ "kind": "port_evidence", "detail": "construction_depth dichotomy completion — parity 265bb509 " "feat(construction_depth): port to FULL Rust — dichotomy wave; " "Phase B b8b14d5b refactor(construction_depth): Phase B " "language-advantage pass — dichotomy wave (both pushed " "gitea/master). Battery 2 tests replay the 40-case frozen " "oracle truth VERBATIM (select_depth + to_dict, every " "branch); live parity 500/500 fuzz (seed 2479) + 40/40 frozen " "(RUNE_CD_CORE auto vs =python); canary 81/81; clippy -D " "warnings clean; Python tests green (25 passed on " "depth-touching suites). Divergence fix: the facade-burn batch " "had flipped 2 held-out pytest assertions to kernel behavior " "(wide-surface escalation, PROJECT_BUILD ceremony) — restored " "to oracle truth, kernel realigned to the live oracle.", }], scope_files=[ "src/rune/construction_depth.py", "src/rune/cd_loader.py", "src/rust/construction_depth/src/lib.rs", "src/rust/construction_depth/src/branch_battery.rs", "src/rust/construction_depth/frozen_cd_truth.json", "src/rust/construction_depth/canary_construction_depth.py", "scripts/gen_construction_depth_truth.py", "scripts/walk_contract_construction_depth.py", "scripts/close_contract_construction_depth.py", ]) print("close:", json.dumps(c)[:400]) print("CONTRACT", cid, "closed" if c.get("success") else "CLOSE_FAILED")