pub enum ReliabilityReasonCode {
Show 44 variants
WorkersConfigUnreadable,
NoWorkersConfigured,
WorkersConfigured,
DaemonStatusUnavailable,
DaemonHasNoWorkers,
AllWorkersUnhealthy,
PartialWorkerCapacity,
WorkersHealthy,
WorkerCircuitOpen,
WorkerUnreachable,
WorkerDegraded,
WorkerReady,
WorkerStatusUnrecognized,
WorkerCircuitStateUnrecognized,
DiskPressureUnavailable,
WorkerDiskPressureCritical,
WorkerDiskPressureWarning,
WorkerDiskPressureHealthy,
WorkerDiskPressureTelemetryGap,
DiskPressureNoWorkers,
ProcessDebtUnavailable,
CancellationCleanupHealthy,
CancellationCleanupSkipped,
CancellationCleanupDegraded,
CancellationCleanupFailed,
RepoConvergenceUnavailable,
RepoConvergenceFailed,
RepoConvergenceDrift,
RepoConvergenceNoWorkers,
RepoConvergenceReady,
WorkerRepoNotReady,
HelperAvailable,
HelperMissing,
HelperProbeUnavailable,
HookAutoStartEnabled,
HookAutoStartDisabled,
DaemonHookRepairEnabled,
DaemonHookRepairDisabled,
ConfigLoadFailed,
StatusSurfaceAvailable,
RepoConvergenceSurfaceAvailable,
DiskPressureSurfaceAvailable,
SchemaCompatible,
SchemaIncompatible,
}Expand description
One reason code per emitted reliability diagnostic. Serializes to its
canonical RCH-Rnnn string form via Serialize; deserializes the same
form via Deserialize.
Variants§
WorkersConfigUnreadable
Workers configuration could not be loaded.
NoWorkersConfigured
No workers configured (every build runs locally).
WorkersConfigured
Workers are configured (Pass).
Daemon status surface is unavailable.
DaemonHasNoWorkers
Daemon has no registered workers.
AllWorkersUnhealthy
Every worker is unhealthy.
PartialWorkerCapacity
Some workers are healthy, some are not.
WorkersHealthy
All workers are healthy (Pass).
WorkerCircuitOpen
A worker’s circuit breaker is open.
WorkerUnreachable
A worker is unreachable / offline / failed.
WorkerDegraded
A worker is degraded (half-open circuit or not-ready).
WorkerReady
A worker is ready (Pass).
WorkerStatusUnrecognized
A worker reported an unrecognized ready_status value (defensive parse).
WorkerCircuitStateUnrecognized
A worker reported an unrecognized circuit_state value (defensive parse).
Disk-pressure surface is unavailable.
WorkerDiskPressureCritical
Worker disk pressure has reached critical.
WorkerDiskPressureWarning
Worker disk pressure has reached the warning threshold.
WorkerDiskPressureHealthy
Worker disk pressure is healthy (Pass).
WorkerDiskPressureTelemetryGap
Worker is missing fresh disk telemetry.
DiskPressureNoWorkers
No workers reported disk-pressure telemetry (Info; common for empty fleets).
Process-debt surface is unavailable.
CancellationCleanupHealthy
Cancellation cleanup is healthy (Pass).
CancellationCleanupSkipped
Cancellation cleanup was skipped (no jobs to triage).
CancellationCleanupDegraded
Cancellation cleanup is degraded (some warnings).
CancellationCleanupFailed
Cancellation cleanup is failing.
Repo-convergence surface is unavailable.
RepoConvergenceFailed
One or more workers failed repo convergence.
RepoConvergenceDrift
Workers are drifting / stale on repo convergence.
RepoConvergenceNoWorkers
No workers reported repo-convergence records (Info).
RepoConvergenceReady
All workers are repo-converged (Pass).
WorkerRepoNotReady
A specific worker’s repo state is not ready.
HelperAvailable
A required helper binary is available (Pass).
HelperMissing
A required helper binary is missing.
The helper compatibility probe itself did not complete.
HookAutoStartEnabled
self_healing.hook_starts_daemon is enabled (Pass).
HookAutoStartDisabled
self_healing.hook_starts_daemon is disabled.
DaemonHookRepairEnabled
self_healing.daemon_installs_hooks is enabled (Pass).
DaemonHookRepairDisabled
self_healing.daemon_installs_hooks is disabled.
ConfigLoadFailed
Configuration could not be loaded.
StatusSurfaceAvailable
Unified status surface is compiled in (Pass).
RepoConvergenceSurfaceAvailable
Repo-convergence status endpoint is wired into the CLI (Pass).
DiskPressureSurfaceAvailable
Disk-pressure fields are wired into worker status (Pass).
SchemaCompatible
Schema versions are compatible (Pass).
SchemaIncompatible
Schema versions are incompatible.
Implementations§
Source§impl ReliabilityReasonCode
impl ReliabilityReasonCode
Sourcepub const ALL: &'static [ReliabilityReasonCode]
pub const ALL: &'static [ReliabilityReasonCode]
Every variant of this enum, useful for exhaustive iteration in tests.
Sourcepub const fn name(self) -> &'static str
pub const fn name(self) -> &'static str
The CamelCase variant identifier as a static string. Used by
rch error explain to render a human-readable name alongside
the RCH-Rnnn code.
Sourcepub const fn category(self) -> ReliabilityCategoryKind
pub const fn category(self) -> ReliabilityCategoryKind
The category this variant belongs to.
Sourcepub const fn requires_restart(self) -> bool
pub const fn requires_restart(self) -> bool
Whether the configured remediation requires a process restart for the
fix to take effect. Consumed by the reliability doctor when building
RemediationStep::requires_restart (sibling bead 2s99h.15).
Policy:
truewhen the fix changes a flag/state read at daemon startup, OR when the underlying subsystem caches state at process start.falsewhen the fix is purely external (e.g., disk space, key permissions) OR when the daemon hot-reloads the relevant state.
Sourcepub const fn remediation_hint(self) -> &'static str
pub const fn remediation_hint(self) -> &'static str
One-line operator-facing remediation hint. Used as the default suggestion text when the diagnostic doesn’t override it.
Source§impl ReliabilityReasonCode
impl ReliabilityReasonCode
Sourcepub fn from_code_str(code: &str) -> Option<Self>
pub fn from_code_str(code: &str) -> Option<Self>
Reverse-lookup helper for deserialization.
Trait Implementations§
Source§impl Clone for ReliabilityReasonCode
impl Clone for ReliabilityReasonCode
Source§fn clone(&self) -> ReliabilityReasonCode
fn clone(&self) -> ReliabilityReasonCode
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moreSource§impl Debug for ReliabilityReasonCode
impl Debug for ReliabilityReasonCode
Source§impl<'de> Deserialize<'de> for ReliabilityReasonCode
impl<'de> Deserialize<'de> for ReliabilityReasonCode
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 ReliabilityReasonCode
impl Display for ReliabilityReasonCode
Source§impl Hash for ReliabilityReasonCode
impl Hash for ReliabilityReasonCode
Source§impl PartialEq for ReliabilityReasonCode
impl PartialEq for ReliabilityReasonCode
Source§fn eq(&self, other: &ReliabilityReasonCode) -> bool
fn eq(&self, other: &ReliabilityReasonCode) -> bool
self and other values to be equal, and is used by ==.Source§impl Serialize for ReliabilityReasonCode
impl Serialize for ReliabilityReasonCode
impl Copy for ReliabilityReasonCode
impl Eq for ReliabilityReasonCode
impl StructuralPartialEq for ReliabilityReasonCode
Auto Trait Implementations§
impl Freeze for ReliabilityReasonCode
impl RefUnwindSafe for ReliabilityReasonCode
impl Send for ReliabilityReasonCode
impl Sync for ReliabilityReasonCode
impl Unpin for ReliabilityReasonCode
impl UnsafeUnpin for ReliabilityReasonCode
impl UnwindSafe for ReliabilityReasonCode
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,
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.