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

nordisk/dwarves

.nornir/testmatrix-arms.json

{
  "_comment": [
    "Rescue arms for the gated-tests guard (nornir_testmatrix::gatedtests).",
    "",
    "dwarves had NO arms file. It was one of the repos the 2026-07-21 constellation",
    "sweep never reached, so nothing recorded how its feature-gated test files are",
    "re-invoked — and 9 of its 53 test targets, holding 10 test fns, compiled to EMPTY",
    "binaries under a plain `cargo test` and printed `running 0 tests ... ok`. Silence",
    "is not success; in a log it is indistinguishable from a file that ran.",
    "",
    "Every one of these gates is CORRECT and stays a gate. What was missing is the",
    "declaration that says where each dark file IS run:",
    "",
    "  vm-boot        the six dwarves-gui robot_build_thing_*_e2e legs. `vm-boot`",
    "                 turns jera's `vm-tunnr` KVM backend back on (dwarves links jera",
    "                 default-features = false, the lean job-ledger-only link). A",
    "                 default `cargo test` must not try to boot a microVM.",
    "  container-run  robot_build_thing_container_run_e2e — the podman leg.",
    "  sockets        robot_build_thing_socket_panel — the Build Thing socket panel.",
    "  embed-holger   crates/dwarves/tests/release_bump_rehearse_promote.rs. Note the",
    "                 arm names `embed-holger,release`, not `embed-holger`: the file's",
    "                 gate is all(embed-nornir, embed-holger), but its FIRST import is",
    "                 `dwarves::release_doctor::cargo::…` and that module is",
    "                 `#[cfg(feature = \"release\")]`. Turning on exactly what the gate",
    "                 names therefore does not build it — the gate is a weaker",
    "                 condition than the file's real requirement, which is the shape",
    "                 that makes 'just enable the feature' fail for anyone who tries.",
    "",
    "VERIFIED 2026-08-01 on oden with `nornir_testmatrix::verify_arms`, which COMPILES",
    "each arm (`cargo test --no-run`) and asks the built binary how many tests it lists",
    "— an arm that compiles to an empty binary has rescued nothing and is the exact",
    "silence the guard believes it disproves. 9/9 arms real; tests listed:",
    "  robot_build_thing_all_cells_e2e ........ 1",
    "  robot_build_thing_installer_matrix_e2e . 1",
    "  robot_build_thing_korp_boot_e2e ........ 1",
    "  robot_build_thing_korp_installer_e2e ... 1",
    "  robot_build_thing_korp_installer_gfx_e2e 1",
    "  robot_build_thing_reboot_into_korp_e2e . 2",
    "  robot_build_thing_container_run_e2e .... 1",
    "  robot_build_thing_socket_panel ......... 1",
    "  release_bump_rehearse_promote .......... 1",
    "",
    "  dupes-fat,dupes-thin  crates/dwarves/tests/dupes_thin_fat_parity.rs — the THIN vs",
    "                 FAT semantic-tier parity guard. It needs BOTH read legs in one",
    "                 binary (that is the whole assertion: the two must agree), and each",
    "                 leg is its own feature — `dupes-fat` links arrow+parquet,",
    "                 `dupes-thin` the gRPC client. Neither is in `default`, so without",
    "                 this arm the file compiles to zero tests and the guard that catches",
    "                 a structurally blind transport would itself be silent. VERIFIED",
    "                 2026-08-02 on oden: 5 tests listed, 5 pass.",
    "  dupes_thin_fat_parity .................. 5",
    "",
    "  mimalloc-tuning  crates/dwarves/tests/mimalloc_transient_peak.rs — THE OOM cell.",
    "                 It declares its own `#[global_allocator] mimalloc::MiMalloc`,",
    "                 because a `#[global_allocator]` may only be set by a final",
    "                 artifact and an integration test binary IS one — that is what",
    "                 lets it drive the same allocator the fat `dwarves-server` ships.",
    "                 Gated on `mimalloc-tuning` rather than `embed-nornir` so the cell",
    "                 builds in seconds (one small C library) instead of only inside a",
    "                 full fat build; `embed-nornir` turns the feature on, so the",
    "                 shipped server always carries the fix. VERIFIED 2026-08-18 on",
    "                 dwarf: 2 tests listed, 2 pass, and watched RED three ways —",
    "                 `DWARVES_MIMALLOC_PURGE_DELAY_MS=off`, `=1000`, and with the",
    "                 `mi_option_set` write deleted (then: `tuned round 0: RSS did not",
    "                 fall at all after the drop (443496 KiB -> 443496 KiB)`).",
    "  mimalloc_transient_peak ................ 2",
    "",
    "  docs           crates/dwarves/tests/docs_render.rs — the doc-book verb's render/",
    "                 check/book fixture cell (jsonl-fallback leg). `docs` pulls the",
    "                 nornir-docgen edda leaf + typst, so it is not in `default`.",
    "  docs-thin      crates/dwarves/tests/docs_thin_render.rs — the wire-parity cell:",
    "                 the file gates on all(docs, warehouse) and `docs-thin` is exactly",
    "                 that pair. VERIFIED 2026-08-18 on dwarf: docs_render lists 4/4",
    "                 pass, docs_thin_render lists 2/2 pass (mock Bench.Submit seed →",
    "                 Bench.History read renders byte-identical to the jsonl leg).",
    "  docs_render ............................ 4",
    "  docs_thin_render ....................... 2",
    "",
    "What these arms PROVE: all 10 fns COMPILE, so the e2e legs cannot rot silently",
    "against a moving dwarves/edda API — which is exactly what had happened to two of",
    "them (see below).",
    "What they do NOT prove: that the legs PASS. They are real-infra tests — KVM,",
    "podman, a cargo toolchain, an in-process holger dev-pair — and most are",
    "`#[ignore]`d for that reason. verify_arms lists a binary's tests; it never runs",
    "them. Nothing in dwarves runs these arms on a schedule either; declaring them is",
    "the record of how, not a claim that it happens.",
    "",
    "── three things the darkness was hiding, all fixed in the same change ───────",
    "",
    "1. The WHOLE WORKSPACE did not resolve. `crates/dwarves` declared",
    "   `cozo = [\"nornir-release-core?/cozo\"]` and edda deleted that leaf feature on",
    "   2026-08-01. A feature naming a feature a path dependency no longer has is a",
    "   RESOLUTION error, not a dangling reference: `cargo metadata` and `cargo test`",
    "   failed under every feature set, including the default one.",
    "2. `dwarves::build_thing` still read `BuildVariant::suite` (an Option) after edda's",
    "   suite axis renamed it to `suites` (a Vec), and its `Role` match predated",
    "   `Role::Solo`. Two compile errors in the DEFAULT lib, so nothing built at all.",
    "3. Behind `release`, `release_doctor::changed_set` still took `&dyn DepGraph` and",
    "   destructured `edges()` as `(from, to)`. `DepGraph` is `nornir_graph::BulkGraph`",
    "   now: it has an associated `Label` a `dyn` reference must name, and `edges()`",
    "   yields an `Edge { from, to, label }` struct. Both answers are stated outright in",
    "   `depgraph_trait`'s own docs (\"release edges are unlabelled, hence `Edge<()>`\"),",
    "   so this is a rename to follow, not a decision to make.",
    "",
    "None of the three is a silenced-test finding. All three are what a repo looks like",
    "when nothing compiles it — three separate API drifts, one of them (#3) reachable",
    "ONLY through the arm below, which is the entire argument for compiling a declared",
    "arm instead of writing it down. It is also why this file states its arms as",
    "COMPILED rather than merely declared.",
    "",
    "ADDED 2026-08-24 — `feature_reality_live` (4 test fns), package `dwarves`, arm",
    "`release`.",
    "",
    "The file was gated `#![cfg(feature = \"release\")]` on 2026-08-23 to get a red",
    "`cargo test --workspace` quiet. That gate turned it into a SILENCED binary and",
    "turned THIS repo's own guard red: `silenced_tests_guard` reported \"61 test targets",
    "scanned · 9 feature-gated · 6 rescued by declared arms · 1 SILENCED (4 hidden test",
    "fns)\" and named the file. Silencing a red test with a crate-level cfg is exactly",
    "the move this guard exists to catch, and it caught it inside a day — which is the",
    "best evidence the guard has produced so far.",
    "",
    "VERIFIED the same way as the 2026-08-01 arms, on oden 2026-08-24: `cargo test -p",
    "dwarves --features release --test feature_reality_live -- --list` compiles and",
    "lists 4 tests (not an empty binary, which would have rescued nothing), and all 4",
    "PASS under the arm. The gate names exactly what the file needs here — its first",
    "import is `dwarves::release_doctor::feature_facts`, which `lib.rs:350` gates on",
    "`release` — so unlike `release_bump_rehearse_promote` the arm and the gate agree.",
    "",
    "══ ADDED 2026-08-26 — `lib_arms`, the OTHER half, and it is the bigger half ══",
    "",
    "Everything above is about tests/*.rs TARGETS. `arms` rescues a file whose",
    "crate-level `#![cfg(feature = …)]` makes it compile to an empty binary. That is a",
    "real defect and the guard for it works. It is also structurally blind to a",
    "`#[cfg(test)] mod tests` sitting inside a `#[cfg(feature = \"X\")]` LIBRARY module:",
    "there is no target, no empty binary, and nothing to --list. The tests are simply",
    "not in the compilation.",
    "",
    "MEASURED 2026-08-26 on t14s, package `dwarves`, lib only:",
    "  284 unit tests reachable from `default`",
    "  594 unit tests behind 17 feature gates that no default command compiles",
    "so 67.7 % of this crate's unit tests are dark to `cargo test --workspace`.",
    "",
    "THE COMMIT THIS EXISTS FOR: `3c318c7` diagnosed the tier-subsumption bug in",
    "`dupes::tiers` correctly and shipped 87 lines, every one of them inside `mod",
    "tests`. It certified itself with `cargo test --features server`. `dupes` is in",
    "neither `default` nor `server`, so the two new tests were never compiled — a green",
    "that had never been red because it had never existed. MEASURED here the same day:",
    "`cargo test -p dwarves --no-default-features --features server --lib -- --list`",
    "lists 254 tests and ZERO of them are `dupes::`; the same command with `--features",
    "dupes` lists 49. `--features server` was not a weak check, it was no check.",
    "",
    "WHY THE COUNT. A list of features would not have stopped that commit — the author",
    "ran a command that did not compile his tests, and a JSON file does not care. The",
    "`tests` number does: `crates/dwarves/tests/dark_lib_tests_guard.rs` is UN-GATED, so",
    "it runs under every `cargo test` including the exact `--features server`",
    "invocation that commit used, and it goes RED the moment the source count behind a",
    "gate stops matching the recorded one. WATCHED RED: a one-line `#[test]` planted in",
    "`dupes/tiers.rs` turned `cargo test -p dwarves --no-default-features --features",
    "server --test dark_lib_tests_guard` red with \"gate `dupes` records 52 unit test(s)",
    "and the source now has 53\". Bumping the integer is not a cost of the mechanism, it",
    "IS the mechanism: you cannot bump it honestly without running the arm, and the",
    "guard prints the arm's command in its own failure message.",
    "",
    "WHAT IS AND IS NOT VERIFIED. The counts are read from source by the guard itself,",
    "so they are exact as source facts. Only `dupes` has been RUN as an arm on this",
    "box: `cargo test -p dwarves --no-default-features --features dupes --lib` — 240",
    "listed, 236 passed / 0 failed / 4 ignored, of which 52 are `dupes::`. The other 16",
    "arms are declared, not yet executed; `cargo nextest run --all-features` (which the",
    "forge's own `dwarves.runa.ron` test stage already declares) compiles all 17 in one",
    "pass — CHECKED 2026-08-26: `cargo check -p dwarves --all-features --lib` exits 0 in",
    "24m19s, so that step is a real command and not a paper one.",
    "",
    "`release` at 435 (424 until 2026-09-12; the arm ran 640 passed / 0 failed / 6 ignored that",
    "day, lane C) is not a number to be proud of and is the next thing to look at;",
    "it is recorded rather than fixed because recording it is what makes it visible."
  ],
  "lib_arms": [
    { "package": "dwarves", "features": ["appliance-iso"], "tests": 16 },
    { "package": "dwarves", "features": ["bench"], "tests": 8 },
    { "package": "dwarves", "features": ["claude-token"], "tests": 5 },
    { "package": "dwarves", "features": ["coverage"], "tests": 31 },
    { "package": "dwarves", "features": ["coverage", "coverage-fat"], "tests": 2 },
    { "package": "dwarves", "features": ["docs"], "tests": 3 },
    { "package": "dwarves", "features": ["dupes"], "tests": 52 },
    { "package": "dwarves", "features": ["dupes", "dupes-fat"], "tests": 1 },
    { "package": "dwarves", "features": ["facett-adapter"], "tests": 5 },
    { "package": "dwarves", "features": ["facett-adapter", "release"], "tests": 2 },
    { "package": "dwarves", "features": ["funnel-action"], "tests": 7 },
    { "package": "dwarves", "features": ["galois-axis"], "tests": 13 },
    { "package": "dwarves", "features": ["login"], "tests": 5 },
    { "package": "dwarves", "features": ["mcp"], "tests": 8 },
    { "package": "dwarves", "features": ["mimir"], "tests": 21 },
    { "package": "dwarves", "features": ["rehearse", "release"], "tests": 14 },
    { "package": "dwarves", "features": ["release"], "tests": 441 },
    { "package": "dwarves", "features": ["sign-step"], "tests": 11 },
    { "package": "dwarves", "features": ["testmatrix"], "tests": 1 }
  ],
  "arms": [
    { "package": "dwarves", "features": ["mimalloc-tuning"], "test": "mimalloc_transient_peak" },
    { "package": "dwarves", "features": ["embed-holger", "release"], "test": "release_bump_rehearse_promote" },
    { "package": "dwarves", "features": ["release"], "test": "release_registry_robot" },
    { "package": "dwarves", "features": ["release"], "test": "feature_reality_live" },
    { "package": "dwarves", "features": ["release"], "test": "min_req_floor_live" },
    { "package": "dwarves", "features": ["funnel-action"], "test": "funnel_persist_live" },
    { "package": "dwarves", "features": ["dupes-fat", "dupes-thin"], "test": "dupes_thin_fat_parity" },
    { "package": "dwarves", "features": ["docs"], "test": "docs_render" },
    { "package": "dwarves", "features": ["docs-thin"], "test": "docs_thin_render" },
    { "package": "dwarves", "features": ["testmatrix"], "test": "inventory_door" },
    { "package": "dwarves", "features": ["testmatrix"], "test": "inventory_ratchet" },
    { "package": "dwarves-gui", "features": ["vm-boot"], "test": "robot_build_thing_all_cells_e2e" },
    { "package": "dwarves-gui", "features": ["vm-boot"], "test": "robot_build_thing_installer_matrix_e2e" },
    { "package": "dwarves-gui", "features": ["vm-boot"], "test": "robot_build_thing_korp_boot_e2e" },
    { "package": "dwarves-gui", "features": ["vm-boot"], "test": "robot_build_thing_korp_installer_e2e" },
    { "package": "dwarves-gui", "features": ["vm-boot"], "test": "robot_build_thing_korp_installer_gfx_e2e" },
    { "package": "dwarves-gui", "features": ["vm-boot"], "test": "robot_build_thing_reboot_into_korp_e2e" },
    { "package": "dwarves-gui", "features": ["container-run"], "test": "robot_build_thing_container_run_e2e" },
    { "package": "dwarves-gui", "features": ["sockets"], "test": "robot_build_thing_socket_panel" }
  ]
}