pub enum SessionError {
Io(Error),
Serde(Error),
Db(SqlxError),
NotFound(String),
InvalidForkPoint(String),
CondensationOverlap(String),
Llm(LlmError),
AlreadyLocked {
path: String,
pid: Option<u32>,
pid_alive: Option<bool>,
},
InvalidBlobHash(String),
Integrity(String),
}Expand description
Errors produced by the session persistence, replay, and fork engines.
Variants§
Io(Error)
Filesystem I/O failed while reading or appending to an event log.
Serde(Error)
A SessionEvent line failed to (de)serialize.
Db(SqlxError)
The acp_sessions metadata store returned a database error.
NotFound(String)
A lookup by zeph_common::SessionId found no matching session.
InvalidForkPoint(String)
A fork was requested at a seq beyond the source session’s last_seq.
CondensationOverlap(String)
A condensation or compaction range overlapped a previously replaced range (INV-SP-4).
Llm(LlmError)
Condensation summarization failed (LLM call error or timeout).
AlreadyLocked
crate::log::SessionEventLog::open_exclusive found another process already
holding the session’s advisory write lock.
Fields
InvalidBlobHash(String)
A UserMessage.image_refs entry was not a bare hex string, so it was rejected before
being joined into a filesystem path (#5982 follow-up, path-traversal guard).
Integrity(String)
A session event log’s hash chain failed to verify (issue #6360): a definite tamper
verdict, a partial strip of chain metadata, an unverifiable/possibly-re-keyed chain, an
internal (non-trailing) malformed line masquerading as a torn crash-recovery tail, or a
chained log read with no history-integrity key configured. Distinct from
SessionError::Serde (JSON-syntax errors) because a chain break always escalates to a
hard failure and — critically — must be detected and reported before any torn-tail
repair runs, so a mid-file tamper is never silently auto-truncated away as ordinary crash
recovery (S1).
Trait Implementations§
Source§impl Debug for SessionError
impl Debug for SessionError
Source§impl Display for SessionError
impl Display for SessionError
Source§impl Error for SessionError
impl Error for SessionError
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()
Source§impl From<Error> for SessionError
impl From<Error> for SessionError
Source§impl From<Error> for SessionError
impl From<Error> for SessionError
Source§impl From<Error> for SessionError
impl From<Error> for SessionError
Auto Trait Implementations§
impl !RefUnwindSafe for SessionError
impl !UnwindSafe for SessionError
impl Freeze for SessionError
impl Send for SessionError
impl Sync for SessionError
impl Unpin for SessionError
impl UnsafeUnpin for SessionError
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> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self> ⓘ
fn instrument(self, span: Span) -> Instrumented<Self> ⓘ
Source§fn in_current_span(self) -> Instrumented<Self> ⓘ
fn in_current_span(self) -> Instrumented<Self> ⓘ
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self> ⓘ
fn into_either(self, into_left: bool) -> Either<Self, Self> ⓘ
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self> ⓘ
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self> ⓘ
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read more