pub enum LeanError {
Store(StoreError),
Io(Error),
State(String),
Fenced(String),
Budget(String),
Refused(String),
}Variants§
Store(StoreError)
Io(Error)
State(String)
Fenced(String)
The cell moved under a commit section: this barrier is
abandoned — its manifest is never installed, its uploads stand
as uncited generations the next barrier adopts by flush_uuid.
Not a process exit and not a terminal state: the lease is held
per barrier, so the next one claims again.
Budget(String)
A budget refused the operation (checkout bytes/file-count).
Refused(String)
A precondition the OPERATOR must change refused the run (the
prefix is claimed by another project). A restart cannot fix it,
so the binary exits EXIT_REFUSED — the code the CSI delivery
reads as final. Any other non-zero exit is retried in place by
restartPolicy: OnFailure, and a refusal sharing that code was a
crash loop the plugin reported to the tenant as “checkout in
progress” for as long as it lived (audit 2026-09-03, finding 5,
leg S22).
Implementations§
Source§impl LeanError
impl LeanError
Sourcepub fn is_auth(&self) -> bool
pub fn is_auth(&self) -> bool
The store refused our credentials (401/403, ExpiredToken,
RequestTimeTooSkewed): a broker, token or clock fault.
A predicate rather than a LeanError variant on purpose.
Store is built by #[from], so every ? in the crate
constructs it implicitly; a variant would have to be produced by
hand at each of those sites and would be missed at exactly the
one that mattered. Reading through the wrapper cannot be
bypassed by a conversion nobody remembered to special-case.
Trait Implementations§
Source§impl Error for LeanError
impl Error for LeanError
Source§fn source(&self) -> Option<&(dyn Error + 'static)>
fn source(&self) -> Option<&(dyn Error + 'static)>
1.0.0 · Source§fn description(&self) -> &str
fn description(&self) -> &str
use the Display impl or to_string()