#[non_exhaustive]pub enum ErrorCode {
Show 94 variants
ConfigNotFound,
ConfigReadError,
ConfigParseError,
ConfigValidationError,
ConfigEnvError,
ConfigProfileNotFound,
ConfigNoWorkers,
ConfigInvalidWorker,
ConfigSshKeyError,
ConfigSocketPathError,
PathDepManifestParseFailed,
PathDepMissing,
PathDepCyclic,
PathDepPolicyViolation,
PathDepMetadataFailed,
PathDepMetadataParseFailed,
ClosurePlanFailed,
ClosureFailOpen,
ClosureHighRisk,
ClosureMissingData,
ClosureNonDeterministic,
ClosureFingerprintMismatch,
SshConnectionFailed,
SshAuthFailed,
SshKeyError,
SshHostKeyError,
SshTimeout,
SshSessionDropped,
NetworkDnsError,
NetworkUnreachable,
NetworkConnectionRefused,
NetworkTimeout,
WorkerNoneAvailable,
WorkerAllUnhealthy,
WorkerHealthCheckFailed,
WorkerSelfTestFailed,
WorkerAtCapacity,
WorkerMissingToolchain,
WorkerStateError,
WorkerCircuitOpen,
WorkerSelectionFailed,
WorkerLoadQueryFailed,
WorkerDiskPressureCritical,
WorkerDiskPressureWarning,
WorkerTelemetryGap,
WorkerDiskIoHigh,
WorkerMemoryPressureHigh,
WorkerReclaimFailed,
WorkerDiskHeadroomInsufficient,
WorkerReclaimProtected,
BuildCompilationFailed,
BuildUnknownCommand,
BuildKilledBySignal,
BuildTimeout,
BuildOutputError,
BuildWorkdirError,
BuildToolchainError,
BuildEnvError,
BuildIncrementalError,
BuildArtifactMissing,
ProcessTriageAdapterUnavailable,
ProcessTriageDetectorUncertain,
ProcessTriagePolicyViolation,
ProcessTriageTransportError,
ProcessTriageExecutorError,
ProcessTriageTimeout,
ProcessTriagePartialResult,
ProcessTriageInvalidRequest,
CancelGracefulSent,
CancelEscalatedKill,
CancelRemoteKillFailed,
CancelCleanupFailed,
CancelSlotLeak,
CancelTimeoutExceeded,
TransferRsyncFailed,
TransferTimeout,
TransferSourceMissing,
TransferDestError,
TransferDiskFull,
TransferPermissionDenied,
TransferChecksumError,
TransferBinaryFailed,
TransferIncomplete,
TransferProtocolError,
InternalDaemonSocket,
InternalDaemonProtocol,
InternalDaemonNotRunning,
InternalIpcError,
InternalStateError,
InternalSerdeError,
InternalHookError,
InternalMetricsError,
InternalLoggingError,
InternalUpdateError,
}Expand description
Error code enumeration covering all RCH error scenarios.
Each variant maps to a unique error code in the RCH-Exxx format.
Variants (Non-exhaustive)§
This enum is marked as non-exhaustive
ConfigNotFound
Configuration file not found
ConfigReadError
Configuration file could not be read
ConfigParseError
Configuration file contains invalid TOML syntax
ConfigValidationError
Configuration contains invalid values
ConfigEnvError
Environment variable has invalid value
ConfigProfileNotFound
Profile not found in configuration
ConfigNoWorkers
No workers configured
ConfigInvalidWorker
Worker configuration is invalid
ConfigSshKeyError
SSH key path is invalid or inaccessible
ConfigSocketPathError
Socket path is invalid
PathDepManifestParseFailed
Cargo manifest parse failure during path-dependency resolution
PathDepMissing
Path dependency declared but target directory not found
PathDepCyclic
Cyclic path dependency detected
PathDepPolicyViolation
Path dependency violates canonical-root policy
PathDepMetadataFailed
cargo metadata invocation failed
PathDepMetadataParseFailed
cargo metadata output could not be parsed
ClosurePlanFailed
Dependency closure plan computation failed
ClosureFailOpen
Closure entered fail-open state (unverifiable dependency data)
ClosureHighRisk
High-risk path dependencies in closure
ClosureMissingData
Required closure data is missing or incomplete
ClosureNonDeterministic
Closure sync action ordering is non-deterministic
ClosureFingerprintMismatch
Closure manifest fingerprint mismatch
SshConnectionFailed
SSH connection failed
SshAuthFailed
SSH authentication failed
SshKeyError
SSH key not found or invalid format
SshHostKeyError
SSH known hosts verification failed
SshTimeout
SSH command execution timed out
SshSessionDropped
SSH session terminated unexpectedly
NetworkDnsError
DNS resolution failed for worker host
NetworkUnreachable
Network unreachable
NetworkConnectionRefused
Connection refused by remote host
NetworkTimeout
TCP connection timed out
WorkerNoneAvailable
No workers available for selection
WorkerAllUnhealthy
All workers are unhealthy
WorkerHealthCheckFailed
Worker failed health check
WorkerSelfTestFailed
Worker self-test failed
WorkerAtCapacity
Worker is at capacity
WorkerMissingToolchain
Worker missing required toolchain
WorkerStateError
Worker state is inconsistent
WorkerCircuitOpen
Worker circuit breaker is open
WorkerSelectionFailed
Worker selection strategy failed
WorkerLoadQueryFailed
Worker load query failed
WorkerDiskPressureCritical
Worker disk usage is critically high
WorkerDiskPressureWarning
Worker disk usage is elevated (warning threshold)
WorkerTelemetryGap
Worker disk pressure telemetry is stale or missing
WorkerDiskIoHigh
Worker disk I/O utilization is too high for scheduling
WorkerMemoryPressureHigh
Worker memory pressure exceeds scheduling threshold
WorkerReclaimFailed
Disk reclaim/ballast eviction failed on worker
WorkerDiskHeadroomInsufficient
Disk headroom estimation too low for build reservation
WorkerReclaimProtected
Active build protection prevented reclaim operation
BuildCompilationFailed
Remote compilation failed
BuildUnknownCommand
Build command not recognized
BuildKilledBySignal
Build process was killed by signal
BuildTimeout
Build timed out
BuildOutputError
Build output capture failed
BuildWorkdirError
Remote working directory error
BuildToolchainError
Toolchain wrapper failed
BuildEnvError
Build environment setup failed
BuildIncrementalError
Incremental build state corrupted
BuildArtifactMissing
Build artifact not found
Process triage adapter binary unavailable or not installed
ProcessTriageDetectorUncertain
Process detector could not classify process with sufficient confidence
ProcessTriagePolicyViolation
Process triage action violates safe-action policy
ProcessTriageTransportError
Transport error communicating with process triage adapter
ProcessTriageExecutorError
Process triage executor encountered a runtime error
ProcessTriageTimeout
Process triage operation timed out
ProcessTriagePartialResult
Process triage returned partial or incomplete results
ProcessTriageInvalidRequest
Invalid process triage request (malformed input)
CancelGracefulSent
Graceful cancel signal dispatched
CancelEscalatedKill
Escalated to forced kill after timeout
CancelRemoteKillFailed
Failed to kill remote process via SSH
CancelCleanupFailed
Post-cancel cleanup encountered errors
CancelSlotLeak
Slots not properly released after cancel
CancelTimeoutExceeded
Cancellation exceeded policy time budget
TransferRsyncFailed
Rsync transfer failed
TransferTimeout
File sync timed out
TransferSourceMissing
Source files not found
TransferDestError
Destination path error
TransferDiskFull
Insufficient disk space on worker
TransferPermissionDenied
Permission denied during transfer
TransferChecksumError
Transfer checksum mismatch
TransferBinaryFailed
Binary download failed
TransferIncomplete
Partial transfer detected
TransferProtocolError
Transfer protocol error
InternalDaemonSocket
Daemon socket connection failed
InternalDaemonProtocol
Daemon protocol error
InternalDaemonNotRunning
Daemon not running
InternalIpcError
Inter-process communication error
InternalStateError
Unexpected internal state
InternalSerdeError
Serialization/deserialization error
InternalHookError
Hook execution failed
InternalMetricsError
Metrics collection error
InternalLoggingError
Logging system error
InternalUpdateError
Update check failed
Implementations§
Source§impl ErrorCode
impl ErrorCode
Sourcepub const fn code_number(&self) -> u16
pub const fn code_number(&self) -> u16
Returns the numeric error code (without prefix).
Sourcepub fn code_string(&self) -> String
pub fn code_string(&self) -> String
Returns the formatted error code string (e.g., “RCH-E001”).
Sourcepub const fn category(&self) -> ErrorCategory
pub const fn category(&self) -> ErrorCategory
Returns the error category.
Sourcepub fn entry(&self) -> ErrorEntry
pub fn entry(&self) -> ErrorEntry
Returns the full error entry with all metadata.
Sourcepub const fn remediation(&self) -> &'static [&'static str]
pub const fn remediation(&self) -> &'static [&'static str]
Returns remediation steps for this error.
Trait Implementations§
Source§impl<'de> Deserialize<'de> for ErrorCode
impl<'de> Deserialize<'de> for ErrorCode
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 Copy for ErrorCode
impl Eq for ErrorCode
impl StructuralPartialEq for ErrorCode
Auto Trait Implementations§
impl Freeze for ErrorCode
impl RefUnwindSafe for ErrorCode
impl Send for ErrorCode
impl Sync for ErrorCode
impl Unpin for ErrorCode
impl UnsafeUnpin for ErrorCode
impl UnwindSafe for ErrorCode
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.