Expand description
§Seshat Storage
SQLite storage layer for Seshat. Owns ALL database interaction — no other crate touches SQL directly.
Responsibilities:
- Database lifecycle (
Database::open, migrations, WAL mode) - Repository traits and SQLite implementations for nodes, edges, files_ir, and branches
- FTS5 full-text search
- Automatic database backups
- Schema migrations via
refinery(embed_migrations!)
Connection management: single writer (Arc<Mutex<Connection>>) with
pooled read-only connections for concurrent queries (SQLite WAL mode).
Re-exports§
pub use backup::backup_if_needed;pub use db::Database;pub use db::StaleIrWipeReport;pub use db::wipe_stale_ir_cache;pub use error::StorageError;pub use ir_serialization::IR_SCHEMA_VERSION;pub use ir_serialization::deserialize_ir;pub use ir_serialization::serialize_ir;pub use repository::BranchMetadataRepository;pub use repository::BranchRepository;pub use repository::Decision;pub use repository::DecisionNature;pub use repository::DecisionRepository;pub use repository::DecisionState;pub use repository::DecisionWeight;pub use repository::EdgeRepository;pub use repository::EmbeddingInput;pub use repository::EmbeddingRepository;pub use repository::EmbeddingRow;pub use repository::ExampleEvidence;pub use repository::FileIRRepository;pub use repository::NodeRepository;pub use repository::PackageMetadataRepository;pub use repository::PackageMetadataRow;pub use repository::RepoMetadataRepository;pub use repository::SqliteBranchMetadataRepository;pub use repository::SqliteBranchRepository;pub use repository::SqliteDecisionRepository;pub use repository::SqliteEdgeRepository;pub use repository::SqliteEmbeddingRepository;pub use repository::SqliteFileIRRepository;pub use repository::SqliteNodeRepository;pub use repository::SqlitePackageMetadataRepository;pub use repository::SqliteRepoMetadataRepository;pub use repository::SqliteSubmoduleRepository;pub use repository::SqliteSymbolIndexRepository;pub use repository::SubmoduleInput;pub use repository::SubmoduleRepository;pub use repository::SubmoduleRow;pub use repository::SymbolDefinitionRow;pub use repository::SymbolImportRow;pub use repository::SymbolIndexRepository;pub use repository::SymbolKind;pub use repository::bytes_to_f32s;pub use repository::extract_definitions;pub use repository::extract_imports;pub use repository::f32s_to_bytes;
Modules§
- backup
- Automatic database backup logic.
- db
- Database lifecycle: open, WAL mode, migrations.
- error
- ir_
serialization - Postcard IR serialization with version prefix (ADR-16).
- repository
- Repository traits and SQLite implementations for Seshat’s knowledge graph.