2 """Unsupported planner boundary validation. 4 Exercises representative unsupported planner-entry requests and records the 5 stable no-fallback outcome for each one. Unsupported requests fail before 6 execution and are not silently relabeled as supported `partitioned_density` 10 python benchmarks/density_matrix/planner_surface/unsupported_planner_validation.py 13 from __future__
import annotations
18 from pathlib
import Path
20 REPO_ROOT = Path(__file__).resolve().parents[3]
21 if str(REPO_ROOT)
not in sys.path:
22 sys.path.insert(0, str(REPO_ROOT))
24 from benchmarks.density_matrix.planner_surface.common
import (
25 build_phase2_continuity_vqe,
26 build_software_metadata,
28 from benchmarks.density_matrix.planner_surface.workloads
import mandatory_microcase_definitions
29 from squander
import Circuit
30 from squander.partitioning.noisy_planner
import preflight_planner_request
32 SUITE_NAME =
"phase3_planner_surface_unsupported_planner" 33 ARTIFACT_FILENAME =
"unsupported_planner_bundle.json" 34 DEFAULT_OUTPUT_DIR = (
35 REPO_ROOT /
"benchmarks" /
"density_matrix" /
"artifacts" /
"planner_surface" 37 ARTIFACT_CORE_FIELDS = (
49 except Exception
as err:
50 payload = err.to_dict()
if hasattr(err,
"to_dict")
else {
"reason": str(err)}
53 "case_name": case_name,
54 "status":
"unsupported",
55 "supported_partitioned_case_recorded":
False,
60 "case_name": case_name,
61 "status":
"unexpected_pass",
62 "supported_partitioned_case_recorded":
False,
63 "reason":
"unsupported case unexpectedly passed",
70 continuity_bridge = continuity_vqe.describe_density_bridge()
77 "unsupported_source_type",
79 source_type=
"binary_import",
80 workload_id=
"unsupported_source_type",
86 "missing_source_payload",
88 source_type=
"microcase_builder",
89 workload_id=
"missing_source_payload",
94 "unsupported_mode_claim",
96 source_type=
"generated_hea",
97 workload_id=
"unsupported_mode_claim",
98 requested_mode=
"state_vector",
99 bridge_metadata=continuity_bridge,
103 "unsupported_noise_model",
105 source_type=
"microcase_builder",
106 workload_id=
"unsupported_noise_model",
108 *microcase[
"operation_specs"],
111 "name":
"readout_noise",
113 "source_gate_index": 2,
118 qbit_num=microcase[
"qbit_num"],
122 "legacy_gate_family_h",
124 source_type=
"legacy_qgd_circuit_exact",
125 workload_id=
"legacy_gate_family_h",
126 legacy_circuit=legacy_h,
130 "invalid_noise_insertion_index",
132 source_type=
"microcase_builder",
133 workload_id=
"invalid_noise_insertion_index",
143 "name":
"phase_damping",
145 "source_gate_index": 99,
157 unsupported_cases = sum(case[
"status"] ==
"unsupported" for case
in cases)
158 unexpected_passes = sum(case[
"status"] ==
"unexpected_pass" for case
in cases)
160 "suite_name": SUITE_NAME,
162 if unsupported_cases == len(cases)
and unexpected_passes == 0
166 "total_cases": len(cases),
167 "unsupported_cases": unsupported_cases,
168 "unexpected_passes": unexpected_passes,
172 missing = [field
for field
in ARTIFACT_CORE_FIELDS
if field
not in bundle]
175 "Unsupported planner bundle missing required fields: {}".format(
183 output_dir.mkdir(parents=
True, exist_ok=
True)
184 output_path = output_dir / ARTIFACT_FILENAME
185 output_path.write_text(json.dumps(bundle, indent=2, sort_keys=
True) +
"\n")
189 def main(argv: list[str] |
None =
None) -> int:
190 parser = argparse.ArgumentParser(description=__doc__)
194 default=DEFAULT_OUTPUT_DIR,
195 help=
"Directory to write the unsupported planner bundle into.",
200 help=
"Suppress per-case console output.",
202 args = parser.parse_args(argv)
210 print(
"{case_name}: {status}".format(**case))
211 print(
"Wrote {}".format(output_path))
213 return 0
if bundle[
"status"] ==
"pass" else 1
216 if __name__ ==
"__main__":
217 raise SystemExit(
main())
def build_phase2_continuity_vqe
def mandatory_microcase_definitions()
def write_artifact_bundle
def build_software_metadata()
def preflight_planner_request
def build_artifact_bundle