macroonz_harness/lib.rs
1//! An independent test harness: describe a subject once, and the harness spends its time trying to make that description false.
2//!
3//! Every verdict is claim-specific and method-specific and carries the evidence that earned it; a reduction-minted replay capsule is a second, separately earned value, joined to its report on the one execution key they share.
4//! The harness belongs in test and tooling code, and it depends on nothing it judges.
5//! A recipe may generate an inert call to this crate's public constructors, but handwritten composition retains the same capability and this crate remains the sole judgment owner.
6//! No type is re-exported at this root, so a call site spells the home that made the claim — `oracle::StructuralVerdict`, `muterprater::ARTIFACT_MUTATIONS`.
7//! The four stamps are the exception, because Rust puts an exported macro at the crate root: [`generated_support!`], [`trial_table!`], [`bench_table!`], and the [`ensure_ok!`] battery beside it.
8//!
9//! # The instruments
10//!
11//! [`descriptor`] owns the rows a producer writes into, and [`runner`] turns those rows and a typed invocation into typed reports.
12//! [`generate`] owns the generation contract, [`corpus`] carries content-addressed warm starts for it, and [`properties`] holds the algebraic laws a subject can be held to.
13//! [`interleave`] explores the orders concurrent parties' commands can merge in, with the schedule itself a generated input, and [`network`] is the deterministic message-passing sim whose command-shaped deliveries feed that exploration.
14//! The feature-gated `preemption` module explores instruction-level interleavings and the memory model through a target-qualified backend: the feature enables Loom where the pinned scheduler supports the target and retains typed backend unavailability everywhere else.
15//! [`fault`] schedules owner-declared adversity, [`clock`] is the caller-declared wall-measurement boundary, and [`mod@bench`] judges work under a pinned profile.
16//! [`fuzz`] owns the Macroonz campaign shell around stable rustc coverage profiles: active toolchain readiness, root-independent coverage observations, novelty, and interesting-byte handoff into reduction and replay.
17//! [`muterprater`] is the mutation-pressure engine, and [`oracle`] is the independence annex for claims where self-agreement would be vacuous.
18//! [`report`] owns what a run leaves behind, [`depot`] is the harness's own fact bank, and [`identity`] is the derivation substrate every identity here goes through.
19//! Executable challenge material sits under `tests/`, where cargo requires it to live.
20
21pub mod identity;
22
23mod census;
24
25pub mod bench;
26pub mod clock;
27pub mod corpus;
28pub mod depot;
29pub mod descriptor;
30pub mod fault;
31pub mod fuzz;
32pub mod generate;
33pub mod interleave;
34pub mod muterprater;
35pub mod network;
36pub mod oracle;
37#[cfg(feature = "preemption")]
38pub mod preemption;
39pub mod properties;
40pub mod report;
41pub mod runner;