code wiki / (root) / nx_gateaddr.nx

nx_gateaddr.nx

buildroot/runtime/nx_gateaddr.nx

13864 B283 linesdepth 2pulls 2 transitivereach 0 importersview sourcekind tool
docsdependenciesstructsconstsfunctions

about

nx_gateaddr.nx -- CAN THIS GATE'S SUBJECT BE SUBSTITUTED BY A MUTATION HARNESS? NOT A DUPLICATE OF nx_gatesubj, and the distinction is the whole point: that organ answers WHICH organ a gate tests (subject IDENTITY, resolved from the gate's own source). This one answers a different question about the same literal -- WHETHER A HARNESS CAN SWAP THE ARTIFACT THE GATE EXECUTES. A gate can name its subject perfectly and still be impossible to mutation-test. WHY IT EXISTS, MEASURED 2026-08-14: nx_gate_bite ran 9 valid mutants against nx_bodyfit_canon_gate and killed ZERO -- verdict INCONCLUSIVE. The teeth were fine. The gate forked an ABSOLUTE DEPLOYED path while the harness rebuilds each mutant into the build tree and CORRECTLY refuses to clobber the live binary. PROVEN, not inferred: the deployed sha256 was byte-identical before and after the whole sweep, so every mutant ran against pristine code and survived BY CONSTRUCTION. -- AN END-TO-END GATE THAT PINS ITS SUBJECT TO A DEPLOYED PATH CANNOT BE MUTATION-TESTED, AND ITS INCONCLUSIVE IS A PROPERTY OF ITS ADDRESSING, NOT OF ITS ASSERTIONS. That is a measurement-integrity defect: the estate counts such a gate as existing and never collects its verdict, which is worse than not having it, because its existence is mistaken for coverage. nx_gateaddr [dir] [deploy-root] CLASSES -- a PARTITION. The parts are printed and MUST sum to the gate count; an unreconciled residual is a leak, an explained one is a decision. PINNED names an absolute <deploy-root> path -> NOT substitutable; a bite here proves nothing STAGED names a relative _offc/ path -> substitutable; a bite here is meaningful ELFOTHER names some other .elf -> addressed a third way, REPORTED not guessed INPROC names no .elf at all (imports subject) -> rebuilt with the gate, bite works -- UNRECOGNISED SHAPES GET THEIR OWN BUCKET. A shape folded into a known class becomes the number somebody plans against. -- COMMENTS ARE STRIPPED BEFORE CLASSIFYING. A scanner that reads comments measures the DOCUMENTATION, not the code -- and this very header names every pattern it hunts, so an unstripped scan would classify this organ as its own worst offender. -- NO SILENT CAPS: it REFUSES at capacity rather than publishing a partial count as a total. exit 0 census printed | 2 usage | 3 cannot open dir | 4 no gates matched | 5 capacity exceeded license_tier: ORIGINAL. No hw writes (Rule 26).

dependencies 1 imports · 0 importers

nx_syscalls.nx nx_gateaddr.nx

imports: nx_syscalls.nx

imported by: nobody (leaf or entry point)

call flow from main pre-order; caps 40 nodes / depth 6 declared; ↻ = already shown

main ga_puts sys_write ga_len sys_openat_rd sys_exit 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 ↻ sys_getdents64 ga_ends ga_len ↻ sys_close sys_read_file sys_openat_rd ↻ sys_lseek sys_mmap ↻ sys_read sys_munmap sys_close ↻ ga_strip ga_has ga_len ↻ ga_pn ga_puts ↻ sys_mmap ↻ sys_write ↻

structs

none

consts

36const GA_DIRBUF: i64 = 262144
37const GA_MAXGATE: i64 = 8192
39const GA_RECLEN_OFF: i64 = 16
40const GA_NAME_OFF: i64 = 19
41const GA_DEFAULT_DIR: *u8 = "buildroot/runtime"
44const GA_DEFAULT_DEPLOY: *u8 = "/volume1/homes/elderwesto/nishihost/"

functions

46func ga_len(s: *u8) -> i64 { var n: i64 = 0; while s[n] != (0 as u8) { n = n + 1 } return n }
47func ga_puts(s: *u8) -> i64 { sys_write(1, s, ga_len(s)); return 0 }
called by 2: ga_pnmain calls 2: sys_writega_len
48func ga_pn(v: i64) -> i64
called by 1: main calls 3: ga_putssys_mmapsys_write
61func ga_ends(s: *u8, suf: *u8) -> i64
called by 1: main calls 1: ga_len
76func ga_has(h: *u8, n: i64, needle: *u8) -> i64
called by 1: main calls 1: ga_len
97func ga_strip(src: *u8, n: i64, dst: *u8) -> i64
called by 1: main
127func main(argc: i64, argv: *i64) -> i64