.nornir/testmatrix-arms.json
{
"_comment": [
"Rescue arms for the gated-tests guard (nornir_testmatrix::gatedtests).",
"",
"facett had the MOST silenced TARGETS of any repo in the 2026-07-21 audit:",
"19 targets / 27 hidden test fns out of 191 test targets. The target count is",
"high but the cause is narrow — facett is a fan of small render crates, and 17",
"of the 19 hang off one single feature, `wgpu`. A file whose crate-level",
"`#![cfg(feature = \"wgpu\")]` is unsatisfied prints `0 tests ... ok`, which is",
"indistinguishable from a passing file. Silence is not success.",
"",
"Why the gate exists (and must stay a gate). `wgpu` is the L0 GPU lane:",
"facett-core/Cargo.toml pulls egui-wgpu + wgpu + bytemuck + pollster behind it,",
"and facett-map3d/facett-helix forward to facett-graph3d/wgpu on top. Every one",
"of these crates ships a real CPU painter as the default path precisely so a",
"device / tank / headless-CPU / wasm build renders without a GPU at all. Making",
"`wgpu` a default would invert that design and drag the whole GPU tree into",
"builds that deliberately refuse it. The feature is correct; the missing piece",
"was that nothing ever declared the GPU lane must still COMPILE and RUN.",
"",
"VERIFIED 2026-07-21 on this box (AMD Radeon 890M, /dev/dri/renderD128).",
"All 27 hidden fns were RUN, all 27 GREEN, zero fixes needed:",
" facett-core/wgpu ............. 1 (gpu_sdf_parity)",
" facett-graph3d/wgpu .......... 5 (gpu_cloud 1, gpu_graph_bloom 3, gpu_offscreen 1)",
" facett-helix/wgpu ............ 2 (gpu_bloom)",
" facett-map3d/wgpu ........... 14 (12 targets: bloom_proof, flightsim_phase1,",
" flightsim_shadows, flightsim_water 2,",
" flythrough_render, gpu_depth 2, gpu_scissor,",
" shadow_softness, sky_lut_proof, sky_proof,",
" ssao_proof, zfight)",
" facett-releaseview/graph3d ... 4 (vault)",
" facett-demo/region-connector . 1 (region_picker_connector)",
"This was a pure reporting gap, not a rot pocket — but it was 27 fns of genuine",
"render proofs (depth occlusion, PCSS penumbra, SSAO, sky LUT, z-fight, bloom",
"energy) that nobody would have noticed going stale.",
"",
"On infra. None of these are #[ignore]d and none of them should be: they need",
"NO live infra. The GPU tests open their own off-screen wgpu device (no window,",
"no egui host) and degrade honestly — they self-skip when no adapter exists, and",
"`FACETT_REQUIRE_GPU=1` turns that skip into a hard panic",
"(facett-core/tests/gpu_sdf_parity.rs:51). Every run recorded above was made with",
"FACETT_REQUIRE_GPU=1 set, so these numbers are real GPU work, not a silent",
"no-adapter pass. facett-demo's region-connector test likewise spins its own",
"in-process HTTP server and fetches from itself — no network egress.",
"",
"RED-when-broken proof (L4): flipping the Glitch classifier in",
"facett-releaseview/src/vault.rs:189 to NodeState::Ok turned the rescued vault",
"arm from 4 passed to 3 FAILED (vault.rs:55, :80, :119). The arms assert real",
"behaviour, not just compilation. Source restored.",
"",
"ADDED 2026-08-03 — facett-map/wgpu. The 2026-07-21 audit above missed it:",
"facett-map now carries SIX crate-level `#![cfg(feature = \"wgpu\")]` test files",
"(cull_indirect, gpu_lane_inset_pane, inner_miter_clamp, line_gpu,",
"map_facet_gpu_lane, upload_replaces_geometry) holding 20 test fns — every",
"GPU-lane guard the crate has, including the VRAM-leak guard added the day",
"before. Measured that day: `cargo test -p facett-map --test",
"upload_replaces_geometry -- --list` printed `0 tests, 0 benchmarks`, while",
"adding `-p facett-demo` to the SAME command printed 2 — no --features flag in",
"either. So the lane does run under `cargo test --workspace` (what nornir's",
"release pipeline issues), but only through feature unification from",
"facett-demo's defaults, which nothing declared and nothing checked. The arm",
"makes the lane runnable on its own; facett-core/tests/gated_tests_actually_run.rs",
"is what goes red if the unification route disappears.",
"",
"ADDED 2026-08-03 — facett-pipeline and facett-graphview. These were not on",
"anyone's list either; the new guard found them on its FIRST run. 7 more test",
"fns that could never run and printed `0 tests, 0 benchmarks`:",
" facett-pipeline/flowsim ...... 3 (robot_flowsim)",
" facett-pipeline/flowsim-gpu .. 3 (flowsim_gpu_failsafe 1, flowsim_gpu_lane 2)",
" facett-graphview/gpu ......... 1 (mega_still)",
"All 7 were RUN on oden the same day before being declared here, all 7 GREEN,",
"zero fixes needed — same as the 2026-07-21 rescue. `flowsim-gpu` implies",
"`flowsim`, but both are listed because the arm's feature list is also the",
"declaration of WHICH gated files it covers.",
"",
"ADDED 2026-08-12 — facett-map3d-flight/wgpu. ground_pixels_probe.rs (1 fn,",
"crate-level wgpu cfg) landed with f8772ad1 without an arm, so the guard was red",
"on main. Listed with `cargo test -p facett-map3d-flight --features wgpu --test",
"ground_pixels_probe -- --list` → 1 test before declaring.",
"",
"One arm per package rather than one fat arm. `wgpu` is spelled the same in six",
"crates but it is six different features resolving to six different trees, and",
"facett-releaseview/graph3d is deliberately the CPU-only depth-composited path",
"(its GPU sibling is the separate `graph3d-gpu`). An arm naming a combination",
"nobody can actually build would be a declaration that is not true.",
"",
"───────────────────────────────────────────────────────────────────────────────",
"RE-DERIVED FROM DISK 2026-08-01 (stinky-hunter pass 19). The 19 targets above",
"were a snapshot, and a snapshot goes stale: TWO packages that own a gated test",
"target had NO arm at all, so the gated-tests guard never asked about them and",
"`verify_arms` never compiled them.",
"",
" + facett-map / wgpu ..... tests/line_gpu.rs, added 2026-07-31 in 60de226.",
" + facett-graphview / gpu tests/mega_still.rs.",
"",
"The facett-map omission is not hypothetical damage. `tests/line_gpu.rs` is the",
"ONLY real-GPU proof of the map line lane, and it HAD NOT COMPILED since e88969f",
"— the very commit that introduced the deck.gl width formula added an 8th",
"argument (`width_scale`) to `LineRenderer::write_uniforms` and left the call",
"site at 7. `wgpu` is off by default, so `cargo test` never built it and nothing",
"went red for a day. That is the disease this arms file exists to prevent, and it",
"slipped through the one gap in the list. Fixed in 39dcddc; the arm below is what",
"keeps it from recurring. Both new arms MEASURED to compile 2026-08-01 via",
"`cargo test -p <pkg> --features <f> --test <t> --no-run`, and facett-map/wgpu's",
"four tests were RUN GREEN on this box's AMD Radeon 890M (/dev/dri/renderD128).",
"",
"STILL NOT COVERED (a second sub-class, reported not fixed 2026-08-01): the",
"gated-tests guard only reads a crate-level `#![cfg(feature = ...)]`. It does NOT",
"read a `[[test]] required-features`, and facett/Cargo.toml has four of those",
"(matrix, compliance, coherence, umbrella_exports — facett's `default = []`).",
"Cargo silently SKIPS such a target on a plain `cargo test`, which is the same",
"invisibility by a different mechanism. Declaring them as arms here would not",
"help, because nothing generates a finding for them to silence — the fix belongs",
"in nornir-testmatrix::gatedtests, not in this file."
],
"arms": [
{ "package": "facett-core", "features": ["wgpu"] },
{ "package": "facett-graph3d", "features": ["wgpu"] },
{ "package": "facett-graphview", "features": ["gpu"] },
{ "package": "facett-helix", "features": ["wgpu"] },
{ "package": "facett-map", "features": ["wgpu"] },
{ "package": "facett-map3d", "features": ["wgpu"] },
{ "package": "facett-map3d-flight", "features": ["wgpu"] },
{ "package": "facett-pipeline", "features": ["flowsim", "flowsim-gpu"] },
{ "package": "facett-graphview", "features": ["gpu"] },
{ "package": "facett-releaseview", "features": ["graph3d"] },
{ "package": "facett-demo", "features": ["region-connector"] }
]
}