pub enum OrbokError {
Show 17 variants
Database(String),
MigrationFailed {
version: i64,
message: String,
},
PathOutsideSources,
PathCanonicalization(String),
PolicyBlocked(&'static str),
SourceNotFound,
FileNotFound,
CleanupWouldTouchPersistentData,
Cache(String),
Extraction {
category: ErrorCategory,
message: String,
},
Embedding {
category: &'static str,
message: String,
},
ExtractionCacheMissing,
InvalidCatalogValue {
column: &'static str,
value: String,
},
Io(Error),
Canceled,
BackpressureActive {
queue: String,
},
SchemaVersionUnsupported {
stored: i64,
supported: i64,
},
}Expand description
Top-level orbok error.
Messages intentionally avoid document contents; paths appear only where required for actionability (NFR-014 log hygiene).
Variants§
Database(String)
MigrationFailed
PathOutsideSources
PathCanonicalization(String)
PolicyBlocked(&'static str)
SourceNotFound
FileNotFound
CleanupWouldTouchPersistentData
Cache(String)
Extraction
Embedding
RFC-008 §15’s embedding job failure categories, written directly as
the literal spec’d strings ("model_missing", "inference_error",
etc.) rather than through an intermediate enum like
ErrorCategory — deliberately, following Task 013/Review 161:
ErrorCategory::ModelUnavailable stringifies to
"model_unavailable", which does not match RFC-008 §15’s own
vocabulary, and reusing the extraction-shaped [Extraction] variant
for an embedding-job failure would be semantically wrong. category
is &'static str rather than String: every caller passes a
literal from RFC-008 §15’s named set, and Scheduler::fail
(RFC-036 §20.1) matches directly on it to decide whether the
category is retryable.
ExtractionCacheMissing
Task 056: a chunk or embedding job found no extracted text for its
file in the extraction cache – erased by “Clear extracted text” or
trimmed at idle. Not a failure of the job’s own work: the caller
decides whether to re-queue extraction (see
orbok_workers::extraction_cache_miss_category).
InvalidCatalogValue
Io(Error)
Canceled
BackpressureActive
SchemaVersionUnsupported
RFC-062 §6: a catalog whose schema_migrations table already
records a version this build’s own migrations::latest_version()
doesn’t know about — written by a newer orbok, synced from another
machine, or ORBOK_DATA_DIR pointed at a newer profile (RFC-049,
RFC-054). Refused rather than opened: running an older binary’s
queries against an unknown, possibly-incompatible layout produces
arbitrary query failures instead of one clear one.
Trait Implementations§
Source§impl Debug for OrbokError
impl Debug for OrbokError
Source§impl Display for OrbokError
impl Display for OrbokError
Source§impl Error for OrbokError
impl Error for OrbokError
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()