Sequential Quantum Gate Decomposer  v1.9.6
Powerful decomposition of general unitarias into one- and two-qubit gates gates
runtime_handoff_validation.py
Go to the documentation of this file.
1 #!/usr/bin/env python3
2 """Runtime handoff validation: stable partition handoff records across workload classes.
3 
4 Emits audit-oriented runtime handoff records for one continuity case, one
5 microcase, and one structured-family case. Validates that the partitioned
6 runtime consumes the planner-surface descriptor contract directly and records a
7 stable partition handoff surface.
8 
9 Run with:
10  python benchmarks/density_matrix/partitioned_runtime/runtime_handoff_validation.py
11 """
12 
13 from __future__ import annotations
14 
15 import argparse
16 import json
17 import sys
18 from pathlib import Path
19 
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))
23 
24 from benchmarks.density_matrix.partitioned_runtime.common import build_initial_parameters
25 from benchmarks.density_matrix.planner_surface.common import (
26  build_phase2_continuity_vqe,
27  build_software_metadata,
28 )
29 from benchmarks.density_matrix.planner_surface.workloads import (
30  iter_microcase_descriptor_sets,
31  iter_structured_descriptor_sets,
32 )
33 from squander.partitioning.noisy_planner import (
34  build_phase3_continuity_partition_descriptor_set,
35 )
36 from squander.partitioning.noisy_runtime import (
37  build_runtime_audit_record,
38  execute_partitioned_density,
39 )
40 
41 SUITE_NAME = "phase3_partitioned_runtime_runtime_handoff"
42 ARTIFACT_FILENAME = "runtime_handoff_bundle.json"
43 DEFAULT_OUTPUT_DIR = (
44  REPO_ROOT
45  / "benchmarks"
46  / "density_matrix"
47  / "artifacts"
48  / "partitioned_runtime"
49  / "runtime_handoff"
50 )
51 ARTIFACT_CORE_FIELDS = (
52  "suite_name",
53  "status",
54  "software",
55  "summary",
56  "cases",
57 )
58 
59 
60 def _audit_case(descriptor_set, metadata: dict) -> dict:
61  parameters = build_initial_parameters(descriptor_set.parameter_count)
62  runtime_result = execute_partitioned_density(descriptor_set, parameters)
63  audit = build_runtime_audit_record(runtime_result, metadata=metadata)
64  audit["case_name"] = audit["provenance"]["workload_id"]
65  return audit
66 
67 
68 def build_cases() -> list[dict]:
69  continuity_vqe, _, _ = build_phase2_continuity_vqe(4)
70  continuity_audit = _audit_case(
72  {"case_kind": "continuity"},
73  )
74  micro_metadata, micro_descriptor_set = next(iter(iter_microcase_descriptor_sets()))
75  micro_audit = _audit_case(micro_descriptor_set, micro_metadata)
76  structured_metadata, structured_descriptor_set = next(
78  )
79  structured_audit = _audit_case(structured_descriptor_set, structured_metadata)
80  return [continuity_audit, micro_audit, structured_audit]
81 
82 
83 def build_artifact_bundle(cases: list[dict]) -> dict:
84  summary_key_sets = {frozenset(case["summary"].keys()) for case in cases}
85  partition_key_sets = {
86  frozenset(case["partitions"][0].keys()) for case in cases if case["partitions"]
87  }
88  passed_cases = sum(case["summary"]["partition_count"] > 0 for case in cases)
89  bundle = {
90  "suite_name": SUITE_NAME,
91  "status": "pass"
92  if passed_cases == len(cases)
93  and len(summary_key_sets) == 1
94  and len(partition_key_sets) == 1
95  else "fail",
96  "software": build_software_metadata(),
97  "summary": {
98  "total_cases": len(cases),
99  "passed_cases": passed_cases,
100  "summary_schema_count": len(summary_key_sets),
101  "partition_schema_count": len(partition_key_sets),
102  "continuity_cases": sum(
103  case["metadata"].get("case_kind") == "continuity" for case in cases
104  ),
105  "methods_cases": sum(
106  case["metadata"].get("case_kind")
107  in {"microcase", "structured_family"}
108  for case in cases
109  ),
110  },
111  "cases": cases,
112  }
113  missing = [field for field in ARTIFACT_CORE_FIELDS if field not in bundle]
114  if missing:
115  raise ValueError(
116  "Runtime handoff bundle missing required fields: {}".format(
117  ", ".join(missing)
118  )
119  )
120  return bundle
121 
122 
123 def write_artifact_bundle(bundle: dict, output_dir: Path = DEFAULT_OUTPUT_DIR) -> Path:
124  output_dir.mkdir(parents=True, exist_ok=True)
125  output_path = output_dir / ARTIFACT_FILENAME
126  output_path.write_text(json.dumps(bundle, indent=2, sort_keys=True) + "\n")
127  return output_path
128 
129 
130 def main(argv: list[str] | None = None) -> int:
131  parser = argparse.ArgumentParser(description=__doc__)
132  parser.add_argument(
133  "--output-dir",
134  type=Path,
135  default=DEFAULT_OUTPUT_DIR,
136  help="Directory to write the runtime handoff bundle into.",
137  )
138  parser.add_argument(
139  "--quiet",
140  action="store_true",
141  help="Suppress per-case console output.",
142  )
143  args = parser.parse_args(argv)
144 
145  cases = build_cases()
146  bundle = build_artifact_bundle(cases)
147  output_path = write_artifact_bundle(bundle, output_dir=args.output_dir)
148 
149  if not args.quiet:
150  for case in cases:
151  print(
152  "{case_name}: partitions={partition_count}, source_type={source_type}, runtime_path={runtime_path}".format(
153  case_name=case["case_name"],
154  partition_count=case["summary"]["partition_count"],
155  source_type=case["provenance"]["source_type"],
156  runtime_path=case["runtime_path"],
157  )
158  )
159  print("Wrote {}".format(output_path))
160 
161  return 0 if bundle["status"] == "pass" else 1
162 
163 
164 if __name__ == "__main__":
165  raise SystemExit(main())
def build_phase2_continuity_vqe
def build_phase3_continuity_partition_descriptor_set
def build_software_metadata()