Sequential Quantum Gate Decomposer  v1.9.6
Powerful decomposition of general unitarias into one- and two-qubit gates gates
noisy_validation_errors.py
Go to the documentation of this file.
1 from __future__ import annotations
2 
3 from typing import Any
4 
5 _MISSING = object()
6 
7 
9  """Shared structured payload and serialization for Phase 3 planner/descriptor/runtime errors."""
10 
11  def __init__(
12  self,
13  *,
14  category: str,
15  first_unsupported_condition: str,
16  failure_stage: str,
17  source_type: str,
18  requested_mode: str,
19  reason: str,
20  workload_id: str | object = _MISSING,
21  runtime_path: str | object = _MISSING,
22  ) -> None:
23  super().__init__(reason)
24  self.category = category
25  self.first_unsupported_condition = first_unsupported_condition
26  self.failure_stage = failure_stage
27  self.source_type = source_type
28  self.requested_mode = requested_mode
29  self.reason = reason
30  if workload_id is not _MISSING:
31  self.workload_id = workload_id # type: ignore[assignment]
32  if runtime_path is not _MISSING:
33  self.runtime_path = runtime_path # type: ignore[assignment]
34 
35  def to_dict(self) -> dict[str, Any]:
36  payload: dict[str, Any] = {
37  "unsupported_category": self.category,
38  "first_unsupported_condition": self.first_unsupported_condition,
39  "failure_stage": self.failure_stage,
40  "source_type": self.source_type,
41  "requested_mode": self.requested_mode,
42  "reason": self.reason,
43  }
44  if hasattr(self, "workload_id"):
45  payload["workload_id"] = self.workload_id
46  if hasattr(self, "runtime_path"):
47  payload["runtime_path"] = self.runtime_path
48  return payload
49 
50 
52  """Structured planner-entry validation error for the Phase 3 noisy planner surface."""
53 
54  def __init__(
55  self,
56  *,
57  category: str,
58  first_unsupported_condition: str,
59  failure_stage: str,
60  source_type: str,
61  requested_mode: str,
62  reason: str,
63  ) -> None:
64  super().__init__(
65  category=category,
66  first_unsupported_condition=first_unsupported_condition,
67  failure_stage=failure_stage,
68  source_type=source_type,
69  requested_mode=requested_mode,
70  reason=reason,
71  )
72 
73 
75  """Structured descriptor-generation validation error for the Phase 3 partition descriptor surface."""
76 
77  def __init__(
78  self,
79  *,
80  category: str,
81  first_unsupported_condition: str,
82  failure_stage: str,
83  source_type: str,
84  requested_mode: str,
85  workload_id: str,
86  reason: str,
87  ) -> None:
88  super().__init__(
89  category=category,
90  first_unsupported_condition=first_unsupported_condition,
91  failure_stage=failure_stage,
92  source_type=source_type,
93  requested_mode=requested_mode,
94  reason=reason,
95  workload_id=workload_id,
96  )
97 
98 
100  """Structured runtime validation error for the Phase 3 partitioned runtime."""
101 
102  def __init__(
103  self,
104  *,
105  category: str,
106  first_unsupported_condition: str,
107  failure_stage: str,
108  source_type: str,
109  requested_mode: str,
110  workload_id: str,
111  runtime_path: str,
112  reason: str,
113  ) -> None:
114  super().__init__(
115  category=category,
116  first_unsupported_condition=first_unsupported_condition,
117  failure_stage=failure_stage,
118  source_type=source_type,
119  requested_mode=requested_mode,
120  reason=reason,
121  workload_id=workload_id,
122  runtime_path=runtime_path,
123  )