code wiki / _hdl_build / nx_nxa_skin_gate.nx
nx_nxa_skin_gate.nx
buildroot/runtime/_hdl_build/nx_nxa_skin_gate.nx
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
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
structs
| none |
consts
| 39 | const NS_ELF: *u8 = "./nx_nxa_skin.elf" |
| 40 | const NS_GATE: *u8 = "nxnsgate" |
| 41 | const NS_CAP: i64 = 65536 |
| 42 | const NS_PATH: i64 = 512 |
| 43 | const NS_W_FBX: *u8 = "knowledge/rigcorpus/fbx/dark_witch.fbx" |
| 44 | const NS_W_REF: *u8 = "knowledge/rigcorpus/dark_witch_geom.nxa" |
| 45 | const NS_P_FBX: *u8 = "knowledge/rigcorpus/fbx/paladin.fbx" |
| 46 | const NS_P_REF: *u8 = "knowledge/rigcorpus/paladin_geom.nxa" |
| 47 | const NS_BAD_FBX: *u8 = "knowledge/rigcorpus/fbx/no_such_donor.fbx" |
| 48 | const NS_PERMIL: i64 = 1000 |
functions
| 50 | func ns_slen(s: *u8) -> i64 { var n: i64 = 0; while s[n] != (0 as u8) { n = n + 1 } return n } |
| 53 | func ns_num_after(buf: *u8, key: *u8) -> i64 |
| 78 | func ns_denom_after(buf: *u8, key: *u8) -> i64 |
| 108 | func main(argc: i64, argv: *i64) -> i64 |