//! A small, Linux-only immutable content-addressed artifact store. //! //! The directory file descriptor opened by [`ArtifactStore::open`] is the //! authority for all operations. Paths supplied by callers are never used for //! blob I/O, and the public API deliberately exposes only opaque digests. #[cfg(not(target_os = "linux"))] compile_error!("crank-artifacts requires Linux"); mod error; mod housekeeping; mod legacy; mod model; mod store; #[cfg(debug_assertions)] #[doc(hidden)] pub mod test_support; pub use error::ArtifactError; pub use housekeeping::{ReconciliationCandidate, ReconciliationCursor, StaleTemp, TempScan}; pub use model::{ ArtifactRef, MAX_ARTIFACT_BYTES, MAX_SOURCE_BYTES, ReconciliationMutation, ReconciliationNamespace, ReconciliationScan, RegisteredArtifact, StoredArtifact, }; pub use store::ArtifactStore;