//! Tool-description quality benchmark v2: prove that description quality
//! changes tool selection, not just style scores.
//!
//! mcptest already scores description quality (TDQS) and lints descriptions
//! (DESC-NNN). This module adds the stronger artifact recent tool-description
//! research calls for: a deterministic, mutation-backed benchmark that
//! measures the *selection impact* of a description change. It groups the lint
//! findings into named [`smells`], scores tool selection with a deterministic
//! lexical oracle ([`selection`]), degrades descriptions with [`mutation`]
//! operators, and reports the selection accuracy (with a Wilson confidence
//! interval from [`stats`]) before and after each mutation.
//!
//! The benchmark is model-free, so it runs in CI offline. The selection oracle
//! is a deliberate proxy, a reproducible lower bound, not a claim about any
//! specific model. See [`bench::run`].

pub mod bench;
pub mod mutation;
pub mod selection;
pub mod smells;
pub mod stats;

pub use bench::{
    report_envelope, run, score_catalog, CatalogScore, MutationOutcome, ToolBenchReport,
};
pub use mutation::Mutation;
pub use selection::{predict, Intent};
pub use smells::{smell_for_rule, Smell};
pub use stats::{wilson, Proportion, Z_95};
