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

nordisk/knut

.nornir/testmatrix-arms.json

{
  "_comment": [
    "Rescue arms for the gated-tests guard (nornir_testmatrix::gatedtests).",
    "knut was the WORST repo in the 2026-07-21 silenced-test audit: 15 targets /",
    "66 hidden test fns, more than any other.",
    "",
    "Two very different populations hide behind that one number.",
    "",
    "1. knut-thund's `native` lane — 50 of the 66, and the serious finding. Pure Rust,",
    "   no infra, nothing #[ignore]d: they simply never compiled, because `native`",
    "   pulls the whole DataFusion tree and knut-thund ships as a deliberately",
    "   dependency-light core, so it cannot be a default. VERIFIED 2026-07-21: 50",
    "   integration + 20 lib, ALL GREEN, zero fixes needed. Pure reporting gap.",
    "   (Confirms the 05a3264 finding; that commit added the CI lane but no arms file,",
    "   so the guard still read the repo as silenced.)",
    "",
    "2. The remaining 16 are infra-bound — FalkorDB, Spark/Spark 4.1, skade, wasm,",
    "   grpc, gui, web — and every one of them is #[ignore]d. That is the honest",
    "   pattern, and the distinction the guard exists to draw: an #[ignore] is a",
    "   visible opt-in that shows up in every test run, whereas an unsatisfied cfg",
    "   made the file report `0 tests ... ok` and disappear. Declaring these arms",
    "   makes the files COMPILE on every run so they cannot rot; running them still",
    "   requires the infra, as it should.",
    "",
    "One arm per feature rather than one fat arm: these features pull mutually",
    "expensive and partly exclusive trees (DataFusion, Spark clients, wasm, egui), and",
    "an arm that names a combination nobody can actually build would be a declaration",
    "that is not true.",
    "",
    "── 2026-08-01: the ten arms above RE-VERIFIED, and two more added ───────────",
    "",
    "A declared arm is a CLAIM, and until 2026-08-01 nothing in knut ever checked it —",
    "nor did anything ever run the audit this file answers to. Both gaps are closed",
    "now: `crates/knut-build-thing/tests/silenced_tests_guard.rs` runs `audit_repo` on every",
    "plain `cargo test`, and every arm below was put through",
    "`nornir_testmatrix::verify_arms`, which COMPILES the arm and asks its binary how",
    "many tests it lists.",
    "",
    "  10/10 of the 2026-07-21 arms are real. Tests listed per arm:",
    "    knut-thund      --features native      62",
    "    graphar-falkordb --features autostart   6",
    "    knut-popviz     --features autostart    8",
    "    knut-bifrost    --features skade       25",
    "    knut-bifrost    --features spark       13",
    "    knut-bifrost    --features spark41     15",
    "    knut-bifrost    --features wasm        13",
    "    knut-pipelines  --features grpc         4",
    "    knut-pipelines  --features gui          4",
    "    knut-pipelines  --features web          3",
    "",
    "The re-measure also found TWO targets the ten arms never covered — 16 of the",
    "repo's hidden test fns, one of them the single largest dark file in knut:",
    "",
    "  crates/knut-thund/tests/sql_frontend.rs        #![cfg(feature = \"sql\")]",
    "    13 test fns. `sql` pulls sqlparser ONLY, deliberately not the DataFusion tree,",
    "    so `native` and `sql` are siblings and neither implies the other — the",
    "    knut-thund/native arm above could never have reached this file. Nothing about",
    "    these tests needs infra; they are pure IR/parser round-trips.",
    "    The arm names `sql,dsl`, not `sql`, and the extra conjunct is the point: ONE",
    "    of the 13, `sql_to_ron_to_sql_is_the_same_pipeline`, carries its own",
    "    `#[cfg(feature = \"dsl\")]` INSIDE the file. Under `--features sql` the binary",
    "    lists 12, not 13 — a per-function gate the crate-level guard cannot see, and a",
    "    reminder that `hidden_tests` counts source attributes while the binary counts",
    "    what survived compilation. `sql,dsl` makes the two numbers agree.",
    "    VERIFIED 2026-08-01: `cargo test -p knut-thund --features sql,dsl --test",
    "    sql_frontend` → 13 passed, 0 failed, 0 ignored, 0.03 s. Zero fixes needed.",
    "",
    "  crates/knut-bifrost/tests/watch_cli_iceberg.rs",
    "    #![cfg(all(feature = \"skade\", feature = \"cli\"))] — 3 test fns. The textbook",
    "    NEAR-MISS: the 2026-07-21 arm declared `knut-bifrost --features skade`, and the",
    "    file needs `skade` AND `cli`. One conjunct short rescues exactly nothing, and",
    "    the arms file read as if it did.",
    "    VERIFIED 2026-08-01: `cargo test -p knut-bifrost --features skade,cli --test",
    "    watch_cli_iceberg` → 3 passed, 0 failed, 0 ignored, 0.44 s. Zero fixes needed.",
    "",
    "What the two new arms PROVE: those 16 test fns compile AND pass on a bare box",
    "(no FalkorDB, no Spark, no network) — they were a pure reporting gap, like the",
    "knut-thund/native lane before them.",
    "What NO arm here proves: that the infra-bound tests behind the older arms actually",
    "RUN. verify_arms lists a built binary's tests; it does not execute them, and the",
    "#[ignore]d ones still need their containers. It also does not prove anything is",
    "run on a schedule — knut has no CI lane driving these arms.",
    "",
    "── 2026-08-16: one more arm, found by the guard itself ──────────────────────",
    "",
    "  crates/knut-popviz/tests/robot_ui_kittest.rs   #![cfg(feature = \"gui\")]",
    "    5 test fns, landed with the popviz robot-UI work; `gui` is not in popviz's",
    "    default closure and the existing popviz/autostart arm never reached it.",
    "    VERIFIED 2026-08-16: `cargo test -p knut-popviz --features gui --test",
    "    robot_ui_kittest` → 5 passed, 0 failed, 0 ignored, 2.45 s (kittest, headless,",
    "    no display needed). Zero fixes needed — a pure reporting gap again.",
    "",
    "── 2026-08-27: one more arm, found by the guard itself ──────────────────────",
    "",
    "  crates/knut-bifrost/tests/doris_sink.rs   #![cfg(feature = \"doris\")]",
    "    11 test fns, landed with the Doris Stream Load sink; `doris` is not in",
    "    bifrost's default closure, is turned on by no sibling's dependency edge, and",
    "    the existing bifrost arms (skade/spark/spark41/wasm) never reached it — it",
    "    drifted past the guard exactly as sql_frontend and watch_cli_iceberg once did.",
    "    The tests run against a fake Stream Load transport, so they need no cluster.",
    "    VERIFIED 2026-08-27: `cargo test -p knut-bifrost --features doris --test",
    "    doris_sink` → 11 passed, 0 failed, 0 ignored, 0.87 s. Zero fixes needed — a",
    "    pure reporting gap again.",
    "",
    "── 2026-09-26: the Iceberg -> Doris delivery arms ────────────────────────────",
    "",
    "  crates/knut-bifrost/tests/live_iceberg_doris.rs  #![cfg(feature = \"service\")]",
    "  crates/knut-bifrost/tests/container_rig.rs       #![cfg(feature = \"service\")]",
    "    Every test fn in both is #[ignore]d: they need MinIO/AIStor + Doris (red over",
    "    WireGuard, or the draupnir rig on loki). The arm makes them COMPILE on every",
    "    run so they cannot rot. VERIFIED 2026-09-26 live: live_iceberg_doris green on",
    "    red (AIStor RELEASE.2026-05-28, Doris 4.1.3).",
    "",
    "── 2026-10-03: the skade-katalog gRPC catalog arm ────────────────────────────",
    "",
    "  crates/knut-bifrost/tests/grpc_catalog_delivery.rs  #![cfg(feature = \"skade-grpc\")]",
    "    2 test fns. One runs on a bare box: a delivery through an in-process",
    "    skade-katalog gRPC front equals the embedded catalog's, commit by commit. The",
    "    other is #[ignore]d: the Spark 4.1 + Iceberg 1.12 fixture (SKADE_SPARK112_FIXTURE)",
    "    delivered over gRPC against its expected.json.",
    "    VERIFIED 2026-10-03: `cargo test -p knut-bifrost --features skade-grpc --test",
    "    grpc_catalog_delivery` -> 1 passed, 0 failed, 1 ignored; with the fixture and",
    "    `-- --ignored` -> 1 passed.",
    "",
    "── 2026-10: the popviz Iceberg → FalkorDB simulation ─────────────────────────",
    "",
    "  crates/knut-popviz/tests/sim_iceberg_falkordb.rs  #![cfg(feature = \"iceberg\")]",
    "    2 test fns, both #[ignore]d (they need a FalkorDB; the second also an AIStor",
    "    REST catalog). The arm names `iceberg-rest`, not `iceberg`, because the AIStor",
    "    fn carries its own `#[cfg(feature = \"iceberg-rest\")]` and `iceberg-rest`",
    "    implies `iceberg` — one arm compiles both.",
    "    VERIFIED: `cargo test -p knut-popviz --features iceberg-rest --test",
    "    sim_iceberg_falkordb` → 0 passed, 0 failed, 2 ignored."
  ],
  "arms": [
    { "package": "knut-thund", "features": ["native"] },
    { "package": "knut-thund", "features": ["sql", "dsl"], "test": "sql_frontend" },
    { "package": "graphar-falkordb", "features": ["autostart"] },
    { "package": "knut-popviz", "features": ["autostart"] },
    { "package": "knut-popviz", "features": ["gui"], "test": "robot_ui_kittest" },
    { "package": "knut-bifrost", "features": ["skade"] },
    { "package": "knut-bifrost", "features": ["skade", "cli"], "test": "watch_cli_iceberg" },
    { "package": "knut-bifrost", "features": ["spark"] },
    { "package": "knut-bifrost", "features": ["spark41"] },
    { "package": "knut-bifrost", "features": ["wasm"] },
    { "package": "knut-bifrost", "features": ["doris"] },
    { "package": "knut-bifrost", "features": ["service"], "test": "live_iceberg_doris" },
    { "package": "knut-bifrost", "features": ["service"], "test": "container_rig" },
    { "package": "knut-bifrost", "features": ["spark", "skade"], "test": "spark_rowlevel_changelog" },
    { "package": "knut-bifrost", "features": ["skade-grpc"], "test": "grpc_catalog_delivery" },
    { "package": "knut-pipelines", "features": ["grpc"] },
    { "package": "knut-pipelines", "features": ["gui"] },
    { "package": "knut-pipelines", "features": ["web"] },
    { "package": "knut-popviz", "features": ["iceberg-rest"], "test": "sim_iceberg_falkordb" }
  ]
}