//! `minga-store`: backing persistente con `sled` para los stores de Minga.
//!
//! Tres stores paralelos a los de `minga-core`:
//! - [`SledNodeStore`]: hashes → `StoredNode`s, equivalente persistente
//!   de `MemStore`.
//! - [`SledAttestationStore`]: pruebas criptográficas de autoría
//!   indexadas por content hash.
//! - [`SledMstStore`]: conjunto de claves del MST. La estructura
//!   probabilística del MST se reconstruye en memoria al cargar
//!   ([`SledMstStore::to_in_memory`]) — solo persistimos las claves
//!   porque el árbol es deterministicamente derivable de ellas.
//!
//! Una `PersistentRepo` agrupa los tres sobre una única `sled::Db`
//! (tres trees con namespaces separados).
//!
//! El núcleo (`minga-core`) sigue siendo agnóstico de IO: estos tipos
//! tienen APIs paralelas (devuelven `Result`, deserializan vía
//! postcard) y los protocolos de sync se quedan operando sobre los
//! tipos in-memory. La integración con `MingaPeer` (que hoy usa
//! `MemStore` concreto) llegará tras un trait genérico — esta
//! iteración se centra en que la capa de persistencia esté correcta
//! y testeada.

pub mod attestation_store;
pub mod error;
pub mod keypair_file;
pub mod mst_store;
pub mod node_store;
pub mod repo;

pub use attestation_store::SledAttestationStore;
pub use error::StoreError;
pub use keypair_file::KeypairFileError;
pub use mst_store::SledMstStore;
pub use node_store::SledNodeStore;
pub use repo::PersistentRepo;
