pub enum BypassFailureClass {
Ssh,
WorkerBinary,
RuntimeToolchain,
DiskInodePressure,
StaleTelemetry,
PathSync,
ArtifactRetrieval,
CircuitBreaker,
OsArchMismatch,
}Expand description
Concrete failure class that quarantined a worker into a temporary bypass.
Mirrors the raw session-history failure classes enumerated in the program
validation contract (docs/guides/session-history-remediation-validation.md)
so incident/status output can attribute a bypass to a specific root cause.
Serialized as snake_case. New variants must be appended, never
reordered or renamed, so historical state/JSONL replays continue to
deserialize (this enum crosses the daemon/status JSON boundary and is stored
on disk).
Variants§
Ssh
SSH connection/auth failure to the worker.
WorkerBinary
rch-wkr missing, wrong path, or wrong user on the worker.
RuntimeToolchain
Required runtime/toolchain/Rust target absent on the worker.
DiskInodePressure
Disk or inode pressure on the worker.
StaleTelemetry
Worker telemetry is stale or its age is unknown.
PathSync
Path/source sync (rsync) failure to the worker.
ArtifactRetrieval
Artifact retrieval from the worker failed.
CircuitBreaker
Worker’s circuit breaker is open.
OsArchMismatch
Worker OS/architecture does not match the build target.
Implementations§
Source§impl BypassFailureClass
impl BypassFailureClass
Sourcepub const ALL: &'static [BypassFailureClass]
pub const ALL: &'static [BypassFailureClass]
Every failure class, in stable declaration order. Used for exhaustive attribution tests and enumeration.
Sourcepub const fn as_str(self) -> &'static str
pub const fn as_str(self) -> &'static str
Stable snake_case wire identifier (matches the serde form).
Sourcepub const fn incident_reason_code(self) -> IncidentReasonCode
pub const fn incident_reason_code(self) -> IncidentReasonCode
Stable IncidentReasonCode this failure class maps to, so a bypass can
feed the incident ledger with the shared reason-code vocabulary.
The mapping is total and reuses the existing registry rather than
inventing a parallel one. Ssh (a worker the daemon cannot even reach)
maps to IncidentReasonCode::HardPreflight — an unreachable candidate
hard-fails the very first preflight check.
Sourcepub fn from_str_opt(s: &str) -> Option<Self>
pub fn from_str_opt(s: &str) -> Option<Self>
Parse a snake_case wire identifier back to a failure class.
Trait Implementations§
Source§impl Clone for BypassFailureClass
impl Clone for BypassFailureClass
impl Copy for BypassFailureClass
Source§impl Debug for BypassFailureClass
impl Debug for BypassFailureClass
Source§impl<'de> Deserialize<'de> for BypassFailureClass
impl<'de> Deserialize<'de> for BypassFailureClass
Source§fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
impl Eq for BypassFailureClass
Source§impl Hash for BypassFailureClass
impl Hash for BypassFailureClass
Source§impl JsonSchema for BypassFailureClass
impl JsonSchema for BypassFailureClass
Source§fn schema_id() -> Cow<'static, str>
fn schema_id() -> Cow<'static, str>
Source§fn json_schema(generator: &mut SchemaGenerator) -> Schema
fn json_schema(generator: &mut SchemaGenerator) -> Schema
Source§fn inline_schema() -> bool
fn inline_schema() -> bool
$ref keyword. Read moreSource§impl PartialEq for BypassFailureClass
impl PartialEq for BypassFailureClass
Source§impl Serialize for BypassFailureClass
impl Serialize for BypassFailureClass
impl StructuralPartialEq for BypassFailureClass
Auto Trait Implementations§
impl Freeze for BypassFailureClass
impl RefUnwindSafe for BypassFailureClass
impl Send for BypassFailureClass
impl Sync for BypassFailureClass
impl Unpin for BypassFailureClass
impl UnsafeUnpin for BypassFailureClass
impl UnwindSafe for BypassFailureClass
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.