pub enum IncidentReasonCode {
Show 18 variants
NoAdmissibleWorkers,
CriticalPressure,
InsufficientSlots,
HardPreflight,
ActiveProjectExclusion,
MissingRuntimeToolchainTarget,
OsArchMismatch,
TelemetryStale,
CircuitOpen,
DaemonSocketRefused,
LocalFallback,
ProofRefusal,
RsyncVanishedFile,
ArtifactMiss,
QueueAmbiguity,
DiskFull,
WrongUserPathWorkerBinary,
ToolchainDrift,
}Expand description
Stable reason-code registry. One variant per session-history failure class.
Serializes to its canonical RCH-Innn string and deserializes the same way,
so the wire form is decoupled from the Rust variant name.
Variants§
NoAdmissibleWorkers
No worker passed admission (all candidates rejected).
CriticalPressure
A worker (or the pool) was under critical resource pressure.
InsufficientSlots
Not enough free build slots to admit the request.
HardPreflight
A hard preflight check rejected the candidate.
ActiveProjectExclusion
The active project root was excluded from offload.
MissingRuntimeToolchainTarget
A required runtime, toolchain, or Rust target was missing.
OsArchMismatch
The worker’s OS/arch did not match the artifact/target triple.
TelemetryStale
Telemetry was stale or its age could not be determined.
CircuitOpen
The worker’s circuit breaker was open.
DaemonSocketRefused
The daemon Unix socket refused the connection.
LocalFallback
The build fell back to local execution.
ProofRefusal
Proof-mode fail-closed policy refused to proceed.
RsyncVanishedFile
rsync reported a source file that vanished during transfer.
ArtifactMiss
An expected build artifact was missing on retrieval.
QueueAmbiguity
Ambiguous queue/job identity prevented a clean correlation.
DiskFull
The target disk was full.
WrongUserPathWorkerBinary
A wrong-user or wrong-path/arch rch-wkr binary was detected.
ToolchainDrift
A self-test canary built successfully but its bytes differ from the orchestrator’s reference because the worker’s toolchain differs — a healthy worker on a heterogeneous fleet, not a failure (bd-784xt). Advisory only; distinct from a genuine same-toolchain miscompile.
Implementations§
Source§impl IncidentReasonCode
impl IncidentReasonCode
Sourcepub const ALL: &'static [IncidentReasonCode]
pub const ALL: &'static [IncidentReasonCode]
Every reason code, in stable declaration order. Used for registry coverage/uniqueness tests and reason enumeration.
Sourcepub const fn code(self) -> &'static str
pub const fn code(self) -> &'static str
Canonical RCH-Innn code string. Stable across releases — never
renumber an existing variant; only append.
Sourcepub const fn failure_class(self) -> &'static str
pub const fn failure_class(self) -> &'static str
Exact operator-facing failure-class string from the session-history report. These strings are part of the contract — dashboards and the validation matrix key off them.
Sourcepub fn error_code(self) -> Option<ErrorCode>
pub fn error_code(self) -> Option<ErrorCode>
Mapped AGENTS-style ErrorCode where the catalog already has a
matching concept. None for policy/operational reasons (e.g. local
fallback, proof refusal) that are incident-only by design.
Sourcepub fn from_code_str(code: &str) -> Option<Self>
pub fn from_code_str(code: &str) -> Option<Self>
Parse a canonical RCH-Innn code string back to a reason code.
Trait Implementations§
Source§impl Clone for IncidentReasonCode
impl Clone for IncidentReasonCode
impl Copy for IncidentReasonCode
Source§impl Debug for IncidentReasonCode
impl Debug for IncidentReasonCode
Source§impl<'de> Deserialize<'de> for IncidentReasonCode
impl<'de> Deserialize<'de> for IncidentReasonCode
Source§fn deserialize<D: Deserializer<'de>>(d: D) -> Result<Self, D::Error>
fn deserialize<D: Deserializer<'de>>(d: D) -> Result<Self, D::Error>
Source§impl Display for IncidentReasonCode
impl Display for IncidentReasonCode
impl Eq for IncidentReasonCode
Source§impl Hash for IncidentReasonCode
impl Hash for IncidentReasonCode
Source§impl PartialEq for IncidentReasonCode
impl PartialEq for IncidentReasonCode
Source§impl Serialize for IncidentReasonCode
impl Serialize for IncidentReasonCode
impl StructuralPartialEq for IncidentReasonCode
Auto Trait Implementations§
impl Freeze for IncidentReasonCode
impl RefUnwindSafe for IncidentReasonCode
impl Send for IncidentReasonCode
impl Sync for IncidentReasonCode
impl Unpin for IncidentReasonCode
impl UnsafeUnpin for IncidentReasonCode
impl UnwindSafe for IncidentReasonCode
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> DeserializeOwned for Twhere
T: for<'de> Deserialize<'de>,
Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
key and return true if they are equal.