facett-matrix — crate card
Reverse-engineered (from source — verify, don't trust the name)
- One-line pitch: The reusable test-matrix grid: a pure per-repo × per-aspect model (health scoring + sparkline series) plus a
MatrixViewFacet that paints it. - Does: The pure
gridmodule (egui-free, unit-testable) builds aMatrix/RepoRow/Cellfrom a flat slice ofTestResultRows + an expected repo/aspect surface, with per-repo health scoring.MatrixView(canonical Facet) holds the rows, derives the grid, paints coloured cells (green=pass / red=fail / dim=skip / hollow=not-run) with a health score + summary strip, and folds the whole grid intostate_json(LAW 6). Adopted from nornir'stest_matrix_grid.rs. - Key deps:
facett-core(Facet, theme),egui,serde_json,nornir-testmatrix0.2 (the sharedTestResultRowschema + status vocabulary + run summariser both grids derive from). - Shape: lib, ~1000 lines: grid.rs (pure model, 554) + lib.rs (view, 449). Key types:
MatrixView+ re-exportedgrid::{Matrix,RepoRow,Cell}. - Observed role in the workspace: facett owns the reusable UI half; nornir-testmatrix owns the row schema both share. nornir's grid re-exports these.
Fill in (one line each — only the human knows these)
- Primary consumer(s):
- Why it exists (vs the obvious alternative):
- Hard constraint (airgap / no-C-deps / no-FFI / pure-Rust / etc.):
- Release cadence & independence (rides a parent? own repo someday?):
- Status (production / prototype / experimental / stubbed):
- Must-NOT-change invariant:
- Biggest known gap or TODO:
- Anything a newcomer would get wrong about it: