code wiki / (root) / nx_glprobe_gate.nx

nx_glprobe_gate.nx

buildroot/runtime/nx_glprobe_gate.nx

7518 B113 linesdepth 3pulls 4 transitivereach 0 importersview sourcekind gate/proof
docsdependenciesstructsconstsfunctions

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

nx_gate_verdict.nx nx_glprobe_lib.nx nx_glprobe_gate.nx

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

main gv_head gv_puts sys_write gv_ctr sys_mmap nxa_die sys_write ↻ sys_exit nxa_lock_take nxa_lock_addr sys_write ↻ nxa_lock_give nxa_lock_addr ↻ nxa_report_overrun sys_write ↻ nxa_dump_printable sys_write ↻ nxa_dump_sizes sys_write ↻ gv_subjects gv_puts ↻ gv_num sys_mmap ↻ sys_write ↻ sys_munmap gv_need gv_puts ↻ gv_check gv_puts ↻ glp_classify glp_state_name glp_js glp_remedy gg_fixture glp_bare_count gg_emitter gv_need ↻ gv_check ↻ glp_composes

structs

none

consts

17const GG_EMITTERS: i64 = 4
18const GG_E1: *u8 = "buildroot/runtime/nx_game_page_emit.nx"
19const GG_E2: *u8 = "buildroot/runtime/nx_nxa_rig_emit.nx"
20const GG_E3: *u8 = "buildroot/runtime/nx_nxa_view_emit.nx"
21const GG_E4: *u8 = "buildroot/runtime/nx_nxa_stream_emit.nx"
22const GG_FIX_BYTES: i64 = 256

functions

25func gg_fixture(buf: *u8, diagnosed: i64) -> i64
called by 1: main
48func gg_emitter(path: *u8, label_read: *u8, label_comp: *u8, label_bare: *u8, ctr: *i64) -> i64
61func main(argc: i64, argv: *i64) -> i64