nx_glprobe_gate.nx
buildroot/runtime/nx_glprobe_gate.nx
about
nx_glprobe_gate.nx -- THE REFEREE FOR THE GL-CONTEXT PROBE RULER (nx_glprobe_lib), 2026-09-02.
IN-PROCESS over the lib, deliberately (a gate that forks a deployed .elf reports NOT-REACHED for every
mutant). It proves: (1) the classifier separates its four states and is not a constant; (2) ONE TABLE,
TWO SURFACES -- every native state name and remedy string is carried verbatim inside the emitted JS, so
the page and the MCP caller cannot disagree; (3) the probe never claims a 2d context on the target canvas
(the poisoned-canvas class); (4) the bare-refusal detector FIRES on a runtime-assembled bare refusal and
stays silent on the diagnosed form (the neg-control pair); (5) every page emitter that acquires a WebGL2
context COMPOSES the probe and ships ZERO bare refusals -- emitter sources read from buildroot/runtime,
an unreadable emitter degrades to a NAMED SKIP through gv_need, never a green.
SCOPE: this does not run a browser; the served page's behaviour under a refusing browser is proven by the
2026-09-02 headless measurements recorded in the lib header, not by this gate.
license_tier: ORIGINAL No hw writes (Rule 26). expect_exit: 0
dependencies 2 imports · 0 importers
imports: nx_gate_verdict.nxnx_glprobe_lib.nx
imported by: nobody (leaf or entry point)
call flow from main pre-order; caps 40 nodes / depth 6 declared; ↻ = already shown
structs
| none |
consts
| 17 | const GG_EMITTERS: i64 = 4 |
| 18 | const GG_E1: *u8 = "buildroot/runtime/nx_game_page_emit.nx" |
| 19 | const GG_E2: *u8 = "buildroot/runtime/nx_nxa_rig_emit.nx" |
| 20 | const GG_E3: *u8 = "buildroot/runtime/nx_nxa_view_emit.nx" |
| 21 | const GG_E4: *u8 = "buildroot/runtime/nx_nxa_stream_emit.nx" |
| 22 | const GG_FIX_BYTES: i64 = 256 |
functions
| 25 | func gg_fixture(buf: *u8, diagnosed: i64) -> i64 called by 1: main |
| 48 | func gg_emitter(path: *u8, label_read: *u8, label_comp: *u8, label_bare: *u8, ctr: *i64) -> i64 |
| 61 | func main(argc: i64, argv: *i64) -> i64 |