shadow_core/lib.rs
1//! `shadow-core` — the Rust core of the Shadow tool.
2//!
3//! See `SPEC.md` for the `.agentlog` format and `CONTRIBUTING.md` §Architecture for
4//! how the modules in this crate compose into the end-to-end pipeline.
5//!
6//! Submodules:
7//! - [`agentlog`] — canonical JSON, SHA-256 content addressing, streaming
8//! JSONL parser + writer for the `.agentlog` record format.
9//! - [`diff`] — the nine behavioural axes, bootstrap CIs, severity
10//! scoring, first-divergence detection, recommendations, report renderer.
11//! - [`replay`] — the `LlmBackend` trait + replay engine.
12//! - [`store`] — content-addressed blob store + SQLite index.
13//! - [`error`] — typed error hierarchy shared across the crate.
14
15#![cfg_attr(
16 not(test),
17 deny(clippy::unwrap_used, clippy::expect_used, clippy::panic)
18)]
19#![deny(unsafe_code)]
20#![warn(missing_docs)]
21
22pub mod agentlog;
23pub mod diff;
24pub mod error;
25pub mod replay;
26pub mod store;
27
28#[cfg(feature = "python")]
29pub mod python;
30
31pub use error::Error;
32
33/// Library version, matches the workspace `[package].version`.
34pub const VERSION: &str = env!("CARGO_PKG_VERSION");