code wiki / _hdl_build / nx_nxa_skin_gate.nx

nx_nxa_skin_gate.nx

buildroot/runtime/_hdl_build/nx_nxa_skin_gate.nx

9684 B197 linesdepth 3pulls 4 transitivereach 0 importersview sourcekind gate/prooftopic nxa
docsdependenciesstructsconstsfunctions

about

nx_nxa_skin_gate.nx -- THE REFEREE nx_nxa_skin NEVER HAD (2026-09-04). WHY THIS EXISTS. nx_nxa_skin is 43,728 B of source that SYNTHESISES a large fraction of its own output -- measured live on two real donors at 19422/50230 (387 permil) and 27758/54351 (511 permil) of vertices whose skin weights are INFERRED rather than read from the donor's FBX clusters. Until today `nx_catalog nx_nxa_skin_gate` answered "VERDICT ABSENT -- no source, no binary, nothing promoted. It does not exist." Its sibling nx_fbx2nxa HAS a gate that pins all four donors; the half of the rig chain that INVENTS data had none. An organ that makes up half its answer with no referee is the estate's own worst shape. SUBJECT: ./nx_nxa_skin.elf -- the PROMOTED serving-root binary, forked end-to-end, never an in-process re-derive of the logic under test. ★THE LOAD-BEARING TOOTH IS THE PARTITION, AND THE ORGAN HANDS IT TO US. Its own status line reports `skinned=<authored> autoskinned=<inferred>/<total>`, so authored + inferred MUST equal total. That is a claim the organ makes about itself and it is checkable without any bar anyone had to pick. A partition that does not sum is a leak, and this is the estate's standing rule applied to the one organ that had nobody applying it. ★ANTI-VACUITY, BOTH DIRECTIONS. An implementation that authored NOTHING and synthesised everything would still emit a valid file and still sum -- T4 catches it (inferred must be strictly less than total, or no donor weight was ever read). An implementation that read the FBX but wrote no rig would fail T1 (joints and authored counts must be non-zero) BEFORE any outcome tooth is allowed to speak. ⚠DECLARED DEBT, NOT HIDDEN: ns_num_after duplicates fg_num_after in nx_fbx2nxa_gate. Two gates now need the same keyed-integer parser, which by the estate's own extract-the-fix law OWES a lift to gk_num_after in nx_gatekit_lib. It is written local here rather than landed in a lib the entire gate roster imports while build admission is flapping; the lift is owed and named so it is not forgotten. ⚠The subprocess primitive is gk_run_capture from nx_gatekit_lib and is NEVER re-rolled -- its own header records a production DEADLOCK (50+ min in pipe_wait) from a hand-rolled fork/pipe/wait. nx_nxa_skin_gate license_tier: ORIGINAL expect_exit: 0 No hw writes (Rule 26).

dependencies 3 imports · 0 importers

nx_syscalls.nx nx_gate_verdict.nx nx_gatekit_lib.nx nx_nxa_skin_gate.nx

imports: nx_syscalls.nxnx_gate_verdict.nxnx_gatekit_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_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_head gv_puts sys_write ↻ sys_mmap ↻ gk_fixture_dir gk_cat gk_catn sys_mmap ↻ sys_clock_now_us sys_now_us sys_mmap ↻ sys_clock_gettime_mono gk_mkdir sys_mkdir gk_join gk_run_capture gk_run_cap2 gk_run_cap3 sys_mmap ↻ sys_pipe2 sys_fork sys_close sys_setpgid

structs

none

consts

39const NS_ELF: *u8 = "./nx_nxa_skin.elf"
40const NS_GATE: *u8 = "nxnsgate"
41const NS_CAP: i64 = 65536
42const NS_PATH: i64 = 512
43const NS_W_FBX: *u8 = "knowledge/rigcorpus/fbx/dark_witch.fbx"
44const NS_W_REF: *u8 = "knowledge/rigcorpus/dark_witch_geom.nxa"
45const NS_P_FBX: *u8 = "knowledge/rigcorpus/fbx/paladin.fbx"
46const NS_P_REF: *u8 = "knowledge/rigcorpus/paladin_geom.nxa"
47const NS_BAD_FBX: *u8 = "knowledge/rigcorpus/fbx/no_such_donor.fbx"
48const NS_PERMIL: i64 = 1000

functions

50func ns_slen(s: *u8) -> i64 { var n: i64 = 0; while s[n] != (0 as u8) { n = n + 1 } return n }
53func ns_num_after(buf: *u8, key: *u8) -> i64
called by 1: main calls 1: ns_slen
78func ns_denom_after(buf: *u8, key: *u8) -> i64
called by 1: main calls 1: ns_slen
108func main(argc: i64, argv: *i64) -> i64