nx_uefi_fence_gate.nx
buildroot/runtime/nx_uefi_fence_gate.nx
about
nx_uefi_fence_gate.nx -- F948 "never-brick FENCE gate for UEFI-on-metal" (os lane; deps F103c=D; 2026-07-21).
THE CLAIM (rule 26, proven MECHANICALLY not asserted): the autonomous UEFI lane is FILE+EMULATOR-only.
Every lane source in knowledge/uefi_lane_manifest.conf is scanned against the data-driven deny list
knowledge/uefi_fence_deny.conf: build-class organs (F949 EFI app / F950 ESP builder / F951 boot-proof)
may carry ZERO firmware/NVRAM/raw-device write primitives; metal-class organs (F952) must additionally
declare NX-OPERATOR-CONFIRM + NX-REMOVABLE-ONLY and still carry ZERO firmware-write primitives -- the
only device class they may name is the operator-confirmed removable target. Scanner completeness is
proven against a poison fixture that trips EVERY all-class pattern (C09), marker falsifiability against
the same (C10), fail-closed on missing files (C03/C11), deterministic (C12), non-vacuous (C13).
D001: emits the nx_gate_verdict contract.
REFUTATION: argv[1]=negctl injects the poison fixture into the BUILD-class scan set -> the fence tooth
(C04) MUST go RED alone; registered sibling nx_uefi_fence_negtest pins that arg.
license_tier: ORIGINAL expect_exit: 0 No hw writes (Rule 26): this gate only READS files.
dependencies 2 imports · 0 importers
imports: nx_syscalls.nxnx_gate_verdict.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 UF_BUF: i64 = 65536 |
| 18 | const UF_TBL: i64 = 512 |
| 19 | const UF_ARENA: i64 = 8192 |
| 20 | const UF_MAXE: i64 = 64 |
| 21 | const UF_FOLD0: i64 = 7 |
functions
| 23 | func uf_slen(s: *u8) -> i64 |
| 30 | func uf_read_all(path: *u8, buf: *u8, cap: i64) -> i64 |
| 46 | func uf_find(hay: *u8, hn: i64, pat: *u8, pn: i64) -> i64 |
| 63 | func uf_fold(ck: i64, buf: *u8, n: i64) -> i64 called by 1: uf_runset |
| 73 | func uf_parse(cbuf: *u8, cn: i64, cls: *i64, sp: *i64, sl: *i64, arena: *u8, abox: *i64, maxe: i64) -> i64 called by 1: main |
| 135 | func uf_runset(manC: *i64, manP: *i64, manN: i64, dC: *i64, dP: *i64, dL: *i64, dN: i64, neg: i64, res: *i64) -> i64 |
| 194 | func main(argc: i64, argv: *i64) -> i64 |