Your browser sucks, JavaScript disabled! Gunnar's console needs JavaScript and WebAssembly. Git over SSH on port 2222 does not.

nordisk/facett

.nornir/quality-matrix-reasoning.md

facett's own quality matrix (L4)

facett consumes the published reusable test-matrix engine nornir-testmatrix as a dev-dependency on the umbrella facett crate. This proves the matrix framework is reusable from a leaf workspace — facett can render its OWN quality matrix standalone, with no nornir checkout.

Run facett's matrix

cargo run -p facett --example quality_matrix

This runs run_full_matrix(".", Aspect::DEFAULT) — build, unit, doctest, clippy, fmt, audit — writes the rows to target/quality-matrix.jsonl via JsonFileSink, and prints render_matrix(&rows).

It shells one cargo invocation per aspect, so it is deliberately NOT in the normal cargo test path (no cargo-inside-cargo on every test run).

Wiring proof (fast + offline)

facett/tests/testmatrix_wiring.rs is an inject-and-assert test: it feeds canned TestResultRows (varied status / aspect / metric) through the real JsonFileSink round-trip and summarize_runs + render_matrix, then asserts exact tallies, that aspect+metric survive serde, and that the rendered grid shows the red ✗ marker. No cargo subprocess, no network.

(Distinct from facett/tests/matrix.rs, which is facett's own headless component render matrix.)

Functional-status emitters (L4 — the self-test → matrix bridge)

facett's tests feed the nornir test matrix one functional row per real check via nornir_testmatrix::functional_status(component, check, ok, detail) (testmatrix 0.2.0). The edge is owned by facett-core: the thin wrapper [facett_core::testmatrix] exposes emit / emit_render / emit_non_blank, and every leaf crate adds a passthrough feature testmatrix = ["facett-core/testmatrix"]. The root Cargo.toml carries a [patch.crates-io] pointing nornir-testmatrix at the local nornir checkout.

Covered surfaces (one+ row each): graph, depgraph, graph3d (+rabbit logo 3D), map (points / ways / rabbit basemap / filled-areas / empty / tiny-room), geomap basemap, pop, pipeline (+knut connector matrix), table, grid (+flagship snapshot), plotters (treemap/box/heatmap/candlestick/violin), card, console, filedialog, syschart, the a11y::node helper, the D4 compliance discovery contract, and the facett-demo mega-matrix + palette gallery.