//! Composition layer integrating L1 through L5 of the ontoref verifiable
//! substrate.
//!
//! `Substrate::open(path)` materialises a project on disk: blob store, op log,
//! triple store; the in-memory commit layer is rebuilt by replaying the op log
//! in HLC order. `Substrate::apply(op)` executes the pipeline
//! (blob put → op log append → triples apply → commit apply → subscriber
//! dispatch) and returns a `Receipt` carrying the op id, blob id, current
//! state root, and one Merkle witness per cell touched. The fabric emission
//! step is the G7 deliverable and is not wired here yet.

#![forbid(unsafe_code)]
#![warn(missing_docs)]

pub mod error;
pub mod receipt;
pub mod snapshot;
pub mod substrate;

pub use error::{Error, Result};
pub use receipt::Receipt;
pub use snapshot::Snapshot;
pub use substrate::{IngestReport, Substrate};
