pub mod backup;
pub mod db;
pub mod error;
pub mod ir_serialization;
pub mod repository;
pub use backup::backup_if_needed;
pub use db::{Database, StaleIrWipeReport, wipe_stale_ir_cache};
pub use error::StorageError;
pub use ir_serialization::{IR_SCHEMA_VERSION, deserialize_ir, serialize_ir};
pub use repository::{
BranchMetadataRepository, BranchRepository, Decision, DecisionNature, DecisionRepository,
DecisionState, DecisionWeight, EdgeRepository, EmbeddingInput, EmbeddingRepository,
EmbeddingRow, ExampleEvidence, FileIRRepository, NodeRepository, PackageMetadataRepository,
PackageMetadataRow, RepoMetadataRepository, SqliteBranchMetadataRepository,
SqliteBranchRepository, SqliteDecisionRepository, SqliteEdgeRepository,
SqliteEmbeddingRepository, SqliteFileIRRepository, SqliteNodeRepository,
SqlitePackageMetadataRepository, SqliteRepoMetadataRepository, SqliteSubmoduleRepository,
SqliteSymbolIndexRepository, SubmoduleInput, SubmoduleRepository, SubmoduleRow,
SymbolDefinitionRow, SymbolImportRow, SymbolIndexRepository, SymbolKind, bytes_to_f32s,
extract_definitions, extract_imports, f32s_to_bytes,
};