code wiki / (root) / nx_accept_gate.nx

nx_accept_gate.nx

buildroot/runtime/nx_accept_gate.nx

29117 B388 linesdepth 7pulls 18 transitivereach 0 importersview sourcekind gate/prooftopic accept
docsdependenciesstructsconstsfunctions

about

nx_accept_gate.nx -- THE GATE FOR THE THREE-PARTY ACCEPTANCE LEDGER (2026-08-31). Two subjects, one gate: IN-PROCESS over nx_accept_lib + nx_accept_ref_lib (the classifier, its named negatives, the deterministic emitter, the shape ruler) and END-TO-END over the built nx_accept binary (its verbs, its composition of the incumbent writer, its refusals). Everything runs on fixture planes seeded under /tmp/nx_accept_gate/r<usec>/ -- a fresh directory per run, so nothing measured here was inherited from an earlier run and the production planes are never read or written. argv[1] = the subject elf (nx_gate_bite subject mode passes the freshly built one); default buildroot/_build/nx_accept.sov.elf -- the artifact the ship loop just built -- then ./nx_accept.elf. An absent subject SKIPS the end-to-end teeth (a precondition, never a RED); the in-process teeth still run. It also IMPORTS buildroot/runtime/nx_accept_decl.nx, the file `nx_accept emit` regenerates, so every build of this gate is a compile proof of the live emitted declarations. SCOPE, stated: as of THIS gate's build time; the emitted fixture buffer is proven by the shape ruler on every run. license_tier: ORIGINAL No hw writes (Rule 26).

dependencies 7 imports · 0 importers

nx_syscalls.nx nx_gate_verdict.nx nx_tool_run.nx nx_store_seed_lib.nx nx_accept_lib.nx nx_accept_ref_lib.nx nx_accept_decl.nx nx_accept_gate.nx

imports: nx_syscalls.nxnx_gate_verdict.nxnx_tool_run.nxnx_store_seed_lib.nxnx_accept_lib.nxnx_accept_ref_lib.nxnx_accept_decl.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_mkdir sys_mmap ↻ al_cat al_catn sys_mmap ↻ sys_now_us sys_mmap ↻ sys_clock_gettime_mono acg_path sys_mmap ↻ al_cat ↻ gv_puts ↻ acg_num sys_mmap ↻ al_catn ↻ acg_row7 al_cat ↻ acg_tab acg_nl sts_seed

structs

none

consts

23const ACG_DIR: *u8 = "/tmp/nx_accept_gate"
24const ACG_RUNPFX: *u8 = "/tmp/nx_accept_gate/r"
25const ACG_SUBJECT_A: *u8 = "buildroot/_build/nx_accept.sov.elf"
26const ACG_SUBJECT_B: *u8 = "nx_accept.elf"
27const ACG_WRITER: *u8 = "nx_store_put.elf"
28const ACG_MODE_DIR: i64 = 493
29const ACG_MODE_FILE: i64 = 420
30const ACG_FLOOR: i64 = 151 // the panel's admitted textured floor (cjc_panel.conf, 2026-08-27) -- the fixture bar
31const ACG_MARGIN: i64 = 49 // fixture percepts sit this far above and below the bar; neither can pass by an off-by-one
32const ACG_TAB: i64 = 9
33const ACG_CAP: i64 = 65536
34const ACG_PATH: i64 = 512
35const ACG_ARGV: i64 = 16
36const ACG_LP: i64 = 16
37const ACG_TMO_MS: i64 = 130000 // the organ's own writer ceiling (nx_seg_store lock ceiling 120 s + margin)
38const ACG_DATE: *u8 = "2026-08-30"
39const ACG_DATE_EARLIER: *u8 = "2026-08-29"
40const ACG_OP: *u8 = "operator"
41const ACG_NONOP: *u8 = "seat-x"
42const ACG_SEAT: *u8 = "seat-fixture"
43const ACG_TIER: *u8 = "textured"
44const ACG_TIER_BAD: *u8 = "photoreal"
45const ACG_WORDS: *u8 = "fixture words"
46const ACG_STAMP: *u8 = "fixturestamp"
47const ACG_FRAME: *u8 = "fixtureframe"
48const ACG_ART_BODY: *u8 = "fixture artifact bytes\n"
49const ACG_EXPECT_SUBJECTS: i64 = 11
50const ACG_EXPECT_AGREED: i64 = 2
51const ACG_EXPECT_ACC_ROWS: i64 = 12
52const ACG_EXPECT_REF_ROWS: i64 = 8
53const ACG_EXPECT_ATT_ROWS: i64 = 8
54const ACG_EXPECT_UNMAPPED: i64 = 1
55const ACG_EXPECT_PLANES: i64 = 3
56const ACG_EXPECT_BOARD_ROWS: i64 = 2
57const ACG_EXPECT_DECLS_AFTER_ATTEST: i64 = 3

functions

59func acg_eq(a: i64, b: i64) -> i64 { if a == b { return 1 } return 0 }
called by 1: main
60func acg_tab(b: *u8, o: i64) -> i64 { b[o] = ACG_TAB as u8; return o + 1 }
called by 2: acg_row7acg_row8
61func acg_nl(b: *u8, o: i64) -> i64 { b[o] = AL_NL as u8; return o + 1 }
62func acg_num(v: i64) -> *u8 { let t: *u8 = sys_mmap(AL_NUMCAP); let n: i64 = al_catn(t, 0, v); t[n] = 0 as u8; return t }
called by 1: main calls 2: sys_mmapal_catn
63func acg_path(dir: *u8, leaf: *u8) -> *u8 { let p: *u8 = sys_mmap(ACG_PATH); var o: i64 = al_cat(p, 0, dir); p[o] = AL_SLASH as u8; o = o + 1; o = al_cat(p, o, leaf); p[o] = 0 as u8; return p }
called by 1: main calls 2: sys_mmapal_cat
64func acg_write(path: *u8, content: *u8) -> i64
78func acg_find(b: *u8, n: i64, needle: *u8) -> i64
called by 2: acg_hasmain calls 1: al_slen
91func acg_has(b: *u8, n: i64, needle: *u8) -> i64 { if acg_find(b, n, needle) >= 0 { return 1 } return 0 }
called by 1: main calls 1: acg_find
93func acg_row7(b: *u8, o0: i64, f0: *u8, f1: *u8, f2: *u8, f3: *u8, f4: *u8, f5: *u8, f6: *u8) -> i64
called by 1: main calls 3: al_catacg_tabacg_nl
104func acg_row8(b: *u8, o0: i64, f0: *u8, f1: *u8, f2: *u8, f3: *u8, f4: *u8, f5: *u8, f6: *u8, f7: *u8) -> i64
called by 1: main calls 3: al_catacg_tabacg_nl
116func acg_book(acc: *u8, ref: *u8, att: *u8, conf: *u8, boards: *u8, cfout: *i64, planes_out: *i64, doms: *u8, orgs: *u8) -> *i64
126func acg_party_of(bk: *i64, cf: *i64, name: *u8, why: *i64) -> i64
called by 1: main calls 2: al_bk_find_zacr_party
132func acg_run(subject: *u8, rootarg: *u8, verb: *u8, a1: *u8, a2: *u8, a3: *u8, a4: *u8, out: *u8, ol: *i64) -> i64
called by 1: main calls 2: sys_mmaptr_run_capture_tr
152func acg_nil() -> *u8 { return 0 as *u8 }
called by 1: main
154func main(argc: i64, argv: *i64) -> i64