Gunnar

mikronova/modgunn

.nornir/testmatrix-arms.json

{
  "_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"]
    }
  ]
}