pub fn run<P: ParseDiagnostic + Display>(
cli: Cli,
complexity: &dyn ComplexityPort,
coverage: &dyn CoveragePort<Diagnostic = P>,
tool_version: &str,
) -> ExitCodeExpand description
Run the CRAP CLI pipeline end-to-end. Generic over P: ParseDiagnostic so the same orchestrator drives every adapter
crate’s binary (per ADR D9, mixed-dispatch).
tool_version is the binary’s own version (e.g. crap4rs’s
CARGO_PKG_VERSION resolves to 0.4.0, not crap-core’s 0.1.0).
It feeds the JSON envelope’s tool_version field, the SARIF run
metadata, the markdown header, the HTML report header, and clap’s
long-version splice when the caller threads it through.