Expand description
SQLite-backed session persistence.
One database per operator partition, WAL-journalled. Every operator input and every dispatcher output is written on the hot path so a crash preserves full replay (spec v2.1 §9).
This crate deliberately does NOT persist operator-state events — those live on the engine host (see ADR-016). The tables here are CLI-local: conversation log and journey milestones.
Re-exports§
pub use event::EventKind;pub use event::SessionRow;pub use event::StoredEvent;pub use store::Store;pub use wrap::CommandCount;pub use wrap::EventCounts;pub use wrap::WrapReport;
Modules§
- event
- Event model — what
eventsrows look like in Rust. - milestones
- Milestone key constants. Keep them as
&'static strhere so a typo-prone string literal never leaks into consumers. - store
- The
Storehandle — owns the SQLite connection, runs migrations, and exposes append/list/milestone ops. - wrap
- Daily wrap generator (Addendum A §9.1).