code wiki / (root) / nx_uxf_config_gate.nx

nx_uxf_config_gate.nx

buildroot/runtime/nx_uxf_config_gate.nx

5020 B87 linesdepth 7pulls 8 transitivereach 0 importersview sourcekind gate/prooftopic uxf
docsdependenciesstructsconstsfunctions

about

nx_uxf_config_gate.nx -- the D001 MIGRATION of nx_uxf_config_test onto nx_gate_verdict (2026-09-06). WHAT IT PROVES, AND WHY IT IS THE CHEAPEST EXTENSION IN THE FAMILY: a brand-new domain joins the envelope with ONLY a codec id and ZERO envelope change. A config record gets a self-describing UXF_CONFIG CID that cannot collide with the SAME CONTENT under UXF_DATA or UXF_MEDIA, and the canonical encode makes field order irrelevant. That is law 4 (extensible, data and functionality on independent clocks) at its cheapest. This gate is ALSO the evidence behind the FM1 matrix row's claim that one envelope carries every profile: FM1 asserts DATA is nxc1-01, DOC nxc1-02, MEDIA nxc1-03 and CONFIG nxc1-04, and the profile-collision teeth here are what make that a measurement rather than a description. ALL FOUR ORIGINAL TEETH PRESERVED IN ORDER AND PREDICATE, plus the values emitted for outside adjudication. HONEST NOTE CARRIED FORWARD FROM THE ORIGINAL, NOT QUIETLY DROPPED: the richer variant that PARSES a real JSON config hit a repeatable nx_cc empty-.s compile failure, so the config PROFILE is proven here and full JSON and YAML config PARSING remains a separate toolchain rung. Nothing below claims otherwise. license_tier: ORIGINAL No hw writes (Rule 26).

dependencies 4 imports · 0 importers

nx_gate_verdict.nx nx_syscalls.nx nx_canon_cid.nx nx_uxf_cid.nx nx_uxf_config_gate.nx

imports: nx_gate_verdict.nxnx_syscalls.nxnx_canon_cid.nxnx_uxf_cid.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 ↻ canon_encode sys_mmap ↻ cc_cmp cc_w32 cc_len sys_munmap uxf_cid_profiled sys_mmap ↻ sha256_digest sys_mmap ↻ sha256_init sys_mmap ↻ sha256_seed_allocated sha256_k sha256_update sha256_compress_ni_blocks blk_set_byte sha256_compress sha256_compress_ni

structs

none

consts

22const UC_PTRTAB: i64 = 64
23const UC_CANON: i64 = 4096
24const UC_CIDBUF: i64 = 128
25const UC_NFIELDS: i64 = 2

functions

27func uc_streq(a: *u8, b: *u8) -> i64 { var i: i64 = 0; while 1 == 1 { if a[i] != b[i] { return 0 } if a[i] == (0 as u8) { return 1 } i = i + 1 } return 1 }
called by 1: main
29func main(argc: i64, argv: *i64) -> i64