2 """Validation: Phase 3 planner-calibration explicit claim-boundary surface. 4 Packages the supported calibration claim together with explicit approximation 5 areas, comparison-baseline visibility, and deferred follow-on branches. 8 python benchmarks/density_matrix/planner_calibration/calibration_boundary_validation.py 11 from __future__
import annotations
16 from pathlib
import Path
18 REPO_ROOT = Path(__file__).resolve().parents[3]
19 if str(REPO_ROOT)
not in sys.path:
20 sys.path.insert(0, str(REPO_ROOT))
22 from benchmarks.density_matrix.planner_calibration.boundary
import (
23 PLANNER_CALIBRATION_BOUNDARY_SCHEMA_VERSION,
24 build_planner_calibration_boundary_payload,
26 from benchmarks.density_matrix.planner_surface.common
import build_software_metadata
28 SUITE_NAME =
"phase3_planner_calibration_claim_boundary" 29 ARTIFACT_FILENAME =
"claim_boundary_bundle.json" 30 DEFAULT_OUTPUT_DIR = (
35 /
"planner_calibration" 38 ARTIFACT_CORE_FIELDS = (
41 "boundary_schema_version",
50 "suite_name": SUITE_NAME,
52 if payload[
"summary"][
"comparison_baseline_case_count"] > 0
53 and payload[
"summary"][
"approximation_area_count"] > 0
54 and payload[
"summary"][
"deferred_follow_on_branch_count"] > 0
56 "boundary_schema_version": PLANNER_CALIBRATION_BOUNDARY_SCHEMA_VERSION,
58 "summary": payload[
"summary"],
59 "supported_claim": payload[
"supported_claim"],
60 "comparison_baselines": payload[
"comparison_baselines"],
61 "comparison_baseline_cases": payload[
"comparison_baseline_cases"],
62 "diagnosis_only_cases": payload[
"diagnosis_only_cases"],
63 "approximation_areas": payload[
"approximation_areas"],
64 "deferred_follow_on_branches": payload[
"deferred_follow_on_branches"],
66 missing = [field
for field
in ARTIFACT_CORE_FIELDS
if field
not in bundle]
69 "Claim-boundary validation bundle missing required fields: {}".format(
77 output_dir.mkdir(parents=
True, exist_ok=
True)
78 output_path = output_dir / ARTIFACT_FILENAME
79 output_path.write_text(json.dumps(bundle, indent=2, sort_keys=
True) +
"\n")
83 def main(argv: list[str] |
None =
None) -> int:
84 parser = argparse.ArgumentParser(description=__doc__)
88 default=DEFAULT_OUTPUT_DIR,
89 help=
"Directory to write the claim-boundary validation bundle into.",
94 help=
"Suppress per-case console output.",
96 args = parser.parse_args(argv)
103 "selected_candidate={selected_candidate_id}, comparison_cases={comparison_baseline_case_count}, deferred={deferred_follow_on_branch_count}".format(
107 print(
"Wrote {}".format(output_path))
109 return 0
if bundle[
"status"] ==
"pass" else 1
112 if __name__ ==
"__main__":
113 raise SystemExit(
main())
def build_artifact_bundle()
def build_software_metadata()
def build_planner_calibration_boundary_payload()
def write_artifact_bundle