Skip to main content

witness_core/
lib.rs

1//! # witness-core
2//!
3//! Pure-data algorithms for witness, separated from the wasmtime-using
4//! CLI binary so this crate compiles to `wasm32-wasip2`.
5//!
6//! Modules:
7//! - [`instrument`] — manifest types + walrus-based instrumentation pass
8//! - [`decisions`] — DWARF-grounded MC/DC reconstruction
9//! - [`diff`] — branch-set / coverage delta between two snapshots
10//! - [`predicate`] — in-toto coverage Statement builder
11//! - [`report`] — coverage-report aggregation
12//! - [`rivet_evidence`] — rivet-shape evidence emission
13//! - [`run_record`] — `RunRecord` types + cross-run merge
14//! - [`error`] — `Error` enum and `Result` alias
15//!
16//! Wasmtime-based execution (the `witness run` CLI path) lives in the
17//! `witness` binary crate.
18
19pub mod attest;
20pub mod decisions;
21pub mod demangle;
22pub mod diff;
23pub mod error;
24pub mod instrument;
25pub mod lcov;
26pub mod mcdc_report;
27pub mod predicate;
28pub mod report;
29pub mod rivet_evidence;
30pub mod run_record;
31pub(crate) mod sourcemap;
32
33pub use error::{Error, Result};