{
"_comment": [
"modgunn's TEST MATRIX — the test-only counterpart to its ONE ship variant.",
"",
"A ship variant (.nornir/build-variants.toml) is a `cargo build` that delivers a",
"PRODUCT; modgunn declares exactly one (the fat client) and tests/build_variants.rs",
"keeps the roster at that single atom. This file is the OTHER axis: a set of named",
"(name, feature-set) TEST arms the forge RUNS with `cargo test -p modgunn",
"--features <set>`. Each arm ships nothing, has no typ, and is never in the product",
"roster — it is a test target, not a buildable. `nornir_testmatrix::run_arm` runs",
"one and records PASS/FAIL; `dwarves testmatrix modgunn` runs them all.",
"",
"WHY named arms, not the single omnibus arm this file used to hold: modgunn's",
"default set is deliberately LEAN (`scan` + `provenance-verify`) so holger's policy",
"gate and static-holger stay free of the arrow/iceberg tree. The side effect is that",
"9 of the integration test files are gated behind non-default features and read as",
"`0 tests ... ok` under a plain `cargo test` — DARK. Four of them (framework /",
"manifests / testmatrix groups) could previously only be run in the forge by",
"smuggling their features into a fake ship-variant, which is a claim about what",
"modgunn SHIPS — the wrong axis. These named arms are the test-matrix path that",
"runs them without a ship-variant. Each arm turns exactly the features one group of",
"those files needs, and the arms' UNION covers every dark file, so no file can",
"drift into a combination no arm runs (the property the old single-arm note guarded,",
"kept here by construction and checked by tests/no_silenced_tests.rs). The names map",
"one-to-one to the feature groups:",
"",
" warehouse → cli_behavior, cli_scorecard, cli_warehouse, cli_zone",
" framework → cli_framework",
" manifests → cli_ingest, manifests_ingest",
" testmatrix → testmatrix_wiring",
" provenance → cli_provenance",
"",
"Every arm sets no_default_features and names its features explicitly, so an arm's",
"feature set is EXACTLY what it declares — and so no arm pulls `provenance-verify`",
"unless it says so. `warehouse-sql` and `scip` are excluded deliberately: they gate",
"no test file and pull the heavy DataFusion tree. `scan` is named on every arm",
"because the `modgunn` bin's required-features are [warehouse, scan] and the lean",
"base every file expects is `scan`."
],
"arms": [
{
"note": "warehouse — the four warehouse-CLI files (cli_behavior/scorecard/warehouse/zone)",
"package": "modgunn",
"no_default_features": true,
"features": ["scan", "warehouse"]
},
{
"note": "framework — common-framework CLI (cli_framework: about/tools/demo/service)",
"package": "modgunn",
"no_default_features": true,
"features": ["scan", "warehouse", "framework"]
},
{
"note": "manifests — multi-ecosystem ingest (cli_ingest + manifests_ingest)",
"package": "modgunn",
"no_default_features": true,
"features": ["scan", "warehouse", "manifests"]
},
{
"note": "testmatrix — functional-status wiring proof (testmatrix_wiring)",
"package": "modgunn",
"no_default_features": true,
"features": ["scan", "testmatrix"]
},
{
"note": "provenance — DSSE build-provenance verify CLI (cli_provenance)",
"package": "modgunn",
"no_default_features": true,
"features": ["scan", "warehouse", "provenance-verify"]
}
]
}