Skip to main content

Module error

Module error 

Source
Expand description

Error types for lazy DataContext sources.

Each source’s real error variants land with its owning epic (e.g. UsageError is real under the lsm-y6m epic; GitError lands with lsm-8jl). Sources still in stub form return the NotImplemented variant so the plugin runtime can expose a uniform error surface to scripts.

NotImplemented is temporary. When an epic lands real variants for a given error enum, the NotImplemented variant is removed in the same commit. Because each enum is #[non_exhaustive], adding new variants is non-breaking; removing NotImplemented is a breaking change for any external code that matches on it. v0.1 treats that window as acceptable — no external consumers exist yet, and the stub’s whole purpose is to signal “not wired up.”

Re-exports§

pub use super::credentials::CredentialError;
pub use super::jsonl::JsonlError;

Enums§

ClaudeJsonError
Errors from reading ~/.claude.json.
GitError
Errors from gix repo inspection. CorruptRepo covers gix::open failures; WalkFailed covers HEAD / revwalk failures once the repo is open. Inner causes are stringified at the construction boundary so the enum stays Clone + PartialEq + Eq — the Arc<Result<...>> memoization boundary requires it. See docs/specs/git-segments.md §Change log (v0.1.1) for the full rationale.
SessionError
Errors from the live sessions directory.
SettingsError
Errors from reading ~/.claude/settings.json + overlays.
UsageError
Errors from the OAuth /api/oauth/usage endpoint plus the cache stack, credential, and JSONL-fallback layers that feed it. Rendered to the user via the segment error table in docs/specs/rate-limit-segments.md.