2 from pathlib
import Path
6 REPO_ROOT = Path(__file__).resolve().parents[2]
7 if str(REPO_ROOT)
not in sys.path:
8 sys.path.insert(0, str(REPO_ROOT))
12 MANDATORY_NOISE_PATTERNS,
13 STRUCTURED_FAMILY_NAMES,
15 iter_microcase_surfaces,
16 iter_structured_surfaces,
17 mandatory_microcase_definitions,
19 from squander
import Circuit
20 from squander.partitioning.noisy_planner
import (
21 PARTITIONED_DENSITY_MODE,
23 PLANNER_OP_KIND_NOISE,
25 SUPPORTED_NOISE_NAMES,
26 NoisyPlannerValidationError,
27 build_bridge_overlap_report,
28 build_canonical_planner_surface_from_bridge_metadata,
29 build_canonical_planner_surface_from_qgd_circuit,
30 build_phase3_continuity_planner_surface,
31 build_planner_audit_record,
32 preflight_planner_request,
36 @pytest.mark.parametrize(
"qbit_num", [4, 6, 8, 10])
40 bridge = vqe.describe_density_bridge()
42 payload = surface.to_dict()
44 assert surface.requested_mode == PARTITIONED_DENSITY_MODE
45 assert surface.source_type ==
"generated_hea" 46 assert surface.workload_id == f
"phase2_xxz_hea_q{qbit_num}_continuity" 47 assert surface.qbit_num == qbit_num
48 assert surface.parameter_count == bridge[
"parameter_count"]
49 assert surface.operation_count == bridge[
"operation_count"]
50 assert surface.gate_count == bridge[
"gate_count"]
51 assert surface.noise_count == bridge[
"noise_count"]
52 for actual, expected
in zip(payload[
"operations"], bridge[
"operations"]):
65 assert actual[key] == expected[key]
66 assert actual[
"qubit_support"] == [
68 for q
in (expected[
"control_qbit"], expected[
"target_qbit"])
71 assert payload[
"gate_count"] + payload[
"noise_count"] == payload[
"operation_count"]
72 assert payload[
"operations"][0][
"kind"] == PLANNER_OP_KIND_GATE
74 op[
"kind"] == PLANNER_OP_KIND_NOISE
for op
in payload[
"operations"]
82 NoisyPlannerValidationError,
83 match=
"supports only 'partitioned_density' requests",
87 assert err.value.category ==
"mode" 88 assert err.value.first_unsupported_condition ==
"unsupported_mode" 89 assert err.value.failure_stage ==
"planner_entry_from_bridge_metadata_preflight" 94 bridge = vqe.describe_density_bridge()
95 bridge[
"operations"] = [
98 "kind": PLANNER_OP_KIND_NOISE,
99 "name":
"local_depolarizing",
101 "source_gate_index": 99,
103 "control_qbit":
None,
111 NoisyPlannerValidationError,
112 match=
"references unsupported after_gate_index 99",
116 workload_id=
"broken_bridge_case",
119 assert err.value.category ==
"noise_insertion" 120 assert err.value.first_unsupported_condition ==
"after_gate_index" 124 reference_keys =
None 125 operation_keys =
None 128 payload = surface.to_dict()
130 if reference_keys
is None:
131 reference_keys = set(payload.keys())
132 operation_keys = set(payload[
"operations"][0].
keys())
134 assert set(payload.keys()) == reference_keys
135 assert set(payload[
"operations"][0].
keys()) == operation_keys
137 assert payload[
"requested_mode"] == PARTITIONED_DENSITY_MODE
138 assert payload[
"source_type"] ==
"microcase_builder" 139 assert payload[
"workload_id"] == metadata[
"case_name"]
140 assert payload[
"qbit_num"] == metadata[
"qbit_num"]
141 assert payload[
"gate_count"] > 0
142 assert payload[
"noise_count"] > 0
143 assert set(surface.gate_names).issubset(SUPPORTED_GATE_NAMES)
144 assert set(surface.noise_names).issubset(SUPPORTED_NOISE_NAMES)
149 assert len(structured_cases) == (
150 len(STRUCTURED_FAMILY_NAMES)
151 * len(STRUCTURED_QUBITS)
152 * len(MANDATORY_NOISE_PATTERNS)
155 for metadata, surface
in structured_cases:
156 payload = surface.to_dict()
158 assert payload[
"requested_mode"] == PARTITIONED_DENSITY_MODE
159 assert payload[
"source_type"] ==
"structured_family_builder" 160 assert payload[
"workload_id"] == metadata[
"workload_id"]
161 assert payload[
"qbit_num"] == metadata[
"qbit_num"]
162 assert payload[
"gate_count"] > 0
163 assert payload[
"noise_count"] > 0
164 assert set(surface.gate_names).issubset(SUPPORTED_GATE_NAMES)
165 assert set(surface.noise_names).issubset(SUPPORTED_NOISE_NAMES)
172 assert surface.workload_id == metadata[
"case_name"]
173 assert surface.workload_id
not in workload_ids
174 workload_ids.add(surface.workload_id)
177 assert surface.workload_id == metadata[
"workload_id"]
178 assert surface.workload_id
not in workload_ids
179 workload_ids.add(surface.workload_id)
188 assert audit[
"provenance"][
"source_type"] ==
"generated_hea" 189 assert audit[
"summary"][
"operation_count"] == surface.operation_count
190 assert audit[
"summary"][
"max_qubit_span"] >= 1
191 assert audit[
"operations"][0][
"qubit_support"]
192 assert audit[
"metadata"][
"case_kind"] ==
"continuity" 193 assert overlap[
"bridge_overlap_pass"]
200 assert audit[
"provenance"][
"source_type"] ==
"structured_family_builder" 201 assert audit[
"provenance"][
"workload_id"] == metadata[
"workload_id"]
202 assert audit[
"summary"][
"gate_sequence"]
203 assert audit[
"summary"][
"noise_sequence"]
204 assert audit[
"summary"][
"max_qubit_span"] >= 1
211 circuit.add_CNOT(1, 0)
216 workload_id=
"legacy_manual_u3_cnot",
220 for op
in surface.to_dict()[
"operations"]
221 if op[
"kind"] == PLANNER_OP_KIND_GATE
223 source_gates = circuit.get_Gates()
225 assert surface.source_type ==
"legacy_qgd_circuit_exact" 226 assert [op[
"name"]
for op
in gate_payloads] == [
"U3",
"U3",
"CNOT",
"U3"]
227 assert [op[
"param_start"]
for op
in gate_payloads] == [
228 gate.get_Parameter_Start_Index()
for gate
in source_gates
230 assert [op[
"param_count"]
for op
in gate_payloads] == [
231 gate.get_Parameter_Num()
for gate
in source_gates
238 circuit.add_CNOT(1, 0)
242 workload_id=
"legacy_manual_with_noise",
245 "channel":
"local_depolarizing",
247 "after_gate_index": 1,
252 payload = surface.to_dict()
254 assert payload[
"noise_count"] == 1
255 assert payload[
"operations"][2][
"kind"] == PLANNER_OP_KIND_NOISE
256 assert payload[
"operations"][2][
"name"] ==
"local_depolarizing" 257 assert payload[
"operations"][2][
"source_gate_index"] == 1
258 assert payload[
"operations"][2][
"fixed_value"] == pytest.approx(0.1)
266 NoisyPlannerValidationError,
267 match=
"Unsupported Phase 3 planner gate 'H' in legacy-source lowering",
271 workload_id=
"legacy_manual_with_h",
274 assert err.value.category ==
"gate_family" 275 assert err.value.first_unsupported_condition ==
"H" 281 circuit.add_CNOT(1, 0)
284 NoisyPlannerValidationError,
285 match=
"unsupported after_gate_index 99",
289 workload_id=
"legacy_manual_bad_noise_index",
292 "channel":
"phase_damping",
294 "after_gate_index": 99,
300 assert err.value.category ==
"noise_insertion" 305 bridge = vqe.describe_density_bridge()
307 source_type=
"generated_hea",
308 workload_id=
"phase2_xxz_hea_q4_continuity",
309 bridge_metadata=bridge,
312 assert surface.requested_mode == PARTITIONED_DENSITY_MODE
317 NoisyPlannerValidationError,
318 match=
"Unsupported Phase 3 planner source type 'binary_import'",
321 source_type=
"binary_import",
322 workload_id=
"unsupported_source_case",
327 assert err.value.category ==
"source_type" 328 assert err.value.first_unsupported_condition ==
"binary_import" 333 NoisyPlannerValidationError,
334 match=
"requires exactly one source payload",
337 source_type=
"microcase_builder",
338 workload_id=
"missing_payload_case",
342 assert err.value.category ==
"malformed_request" 343 assert err.value.first_unsupported_condition ==
"missing_source_payload" 348 bad_specs = list(microcase[
"operation_specs"])
352 "name":
"readout_noise",
354 "source_gate_index": 2,
361 NoisyPlannerValidationError,
362 match=
"Unsupported Phase 3 planner noise model 'readout_noise'",
365 source_type=
"microcase_builder",
366 workload_id=
"unsupported_noise_case",
367 operation_specs=bad_specs,
368 qbit_num=microcase[
"qbit_num"],
371 assert err.value.category ==
"noise_type" 377 NoisyPlannerValidationError,
378 match=
"supports only 'partitioned_density' requests",
381 source_type=
"microcase_builder",
382 workload_id=
"wrong_mode_case",
383 requested_mode=
"state_vector",
384 operation_specs=microcase[
"operation_specs"],
385 qbit_num=microcase[
"qbit_num"],
388 assert err.value.category ==
"mode" def test_continuity_surface_matches_bridge_metadata(qbit_num)
def build_bridge_overlap_report
Build a bridge overlap report from a canonical planner surface and a bridge metadata.
def test_microcases_share_canonical_schema()
def test_audit_record_tracks_continuity_provenance()
def test_preflight_rejects_missing_source_payload()
def test_legacy_lowering_accepts_explicit_supported_noise()
def test_audit_record_tracks_structured_workload_provenance()
def build_canonical_planner_surface_from_bridge_metadata
def build_phase2_continuity_vqe
def iter_structured_surfaces
def mandatory_microcase_definitions()
def test_rejects_unsupported_legacy_gate_family()
def test_rejects_bridge_noise_with_invalid_after_gate_index()
def test_rejects_non_partitioned_density_mode()
def test_preflight_accepts_supported_bridge_request()
def build_phase3_continuity_planner_surface
Build a canonical planner surface from a Phase 2 continuity VQE instance.
def test_preflight_rejects_disallowed_mode_claim()
def test_preflight_rejects_unsupported_noise_model_in_operation_specs()
def test_rejects_invalid_legacy_noise_schedule()
def build_planner_audit_record
def test_structured_families_share_canonical_schema()
def test_preflight_rejects_unsupported_source_type()
def test_workload_ids_are_unique()
def preflight_planner_request
def iter_microcase_surfaces()
def test_exact_qgd_circuit_lowering_preserves_order_and_param_spans()
def build_canonical_planner_surface_from_qgd_circuit