nornir 0.4.29

Companion to cargo: dependency tracking, release gating, deploy, benchmarks, and documentation assembly. Project-agnostic.
//! C6 **standardized test-matrix runner** — EXTRACTED (EPIC L) into the
//! reusable [`nornir_testmatrix`] crate. This module is now a thin re-export so
//! existing paths (`nornir::test_matrix::{Runner, run_matrix, detect_runner, …}`)
//! keep working unchanged.
//!
//! The portable engine — runner, the pure `test_results` model, the new
//! multi-aspect [`Aspect`] / [`run_aspect`] / [`run_full_matrix`] surface, and
//! the [`TestSink`] trait + built-in sinks — all live in the leaf crate so
//! repos like znippy/skade can run the matrix with a tiny dep set.

pub use nornir_testmatrix::runner::{
    detect_runner, run_matrix, stall_secs, MatrixRun, Runner, TestCase, DEFAULT_STALL_SECS,
};

// The multi-aspect engine (L2) — re-exported here so callers reach it under the
// familiar `nornir::test_matrix::` path too.
pub use nornir_testmatrix::aspect::{
    aspect_label, outcome_to_rows, parse_aspect, run_aspect, run_full_matrix, Aspect,
    AspectOutcome,
};

// The sink seam (L1) — `TestSink` + built-ins; nornir's Iceberg impl lives in
// `warehouse::test_results`.
pub use nornir_testmatrix::sink::{JsonFileSink, NullSink, TestSink};