code wiki / (root) / nx_boardcontra.nx

nx_boardcontra.nx

buildroot/runtime/nx_boardcontra.nx

10660 B232 linesdepth 2pulls 2 transitivereach 0 importersview sourcekind tool
docsdependenciesstructsconstsfunctions

about

nx_boardcontra.nx -- TWO BOARDS, ONE SYMBOL, OPPOSITE CLAIMS (2026-09-04) THE DEFECT, MEASURED. /compare/procgen logged nx_gi_path as "ABSENT: no source exists" at epoch 1788371100. /compare/graphics logged the SAME organ BUILT, PROMOTED and REGISTERED at 1788377700 -- 6,600 seconds later, the same day. Nothing propagated the change back and the first board stood wrong for two days. A seat reading only procgen would have rebuilt a capability that was already live. EVERY EXISTING INSTRUMENT ON THIS SURFACE IS PER-BOARD. The emitter re-measures each watch cell, the contract gate classifies each row, the refs gate checks each citation -- all of them WITHIN one board. A contradiction that only exists BETWEEN two boards is invisible to every one of them, which is why it survived: no instrument was wrong, the question was simply never asked. THE MECHANICAL FORM OF THAT QUESTION: one symbol is declared an OPEN CONTRACT (_ABSENT_:<sym>) on board A while board B carries the SAME symbol as a PRESENT capability. Both cannot be true. This is deliberately narrower than the prose case that motivated it -- it needs no natural language at all -- and it is the half that can be decided from the DATA rather than from sentences. WHY NOT AN AXIS INSIDE nx_board_contract_gate: that organ is proven 12/12 and its two-pass table sizing is tuned to CONTRACT rows only. This question needs every row of every board, present ones included, so it is a different population, not a different predicate over the same one. Extending the incumbent would have meant widening its tables and re-proving its partition; a separate organ leaves that proof intact. CHECK-BEFORE-BUILD RUN AND ADJUDICATED: nx_spendgate's top hit was nx_atlas_contra at the maximum score, READ RATHER THAN ACCEPTED -- it is a two-integer rigor comparator for the knowledge atlas and scores on the word "contra" alone. Not a duplicate. That is the spendgate's own documented behaviour: the top hit is frequently not the answer, which is why it publishes a list and refuses a verdict. PUBLISHES PAIRS, NEVER A WINNER. Which board is right is a judgement about the world; this organ only proves the two disagree. Naming a winner would need a rigor model this has no grounds for. exit: 0 scanned (with or without hits) . 3 no board list readable license_tier: ORIGINAL No hw writes.

dependencies 1 imports · 0 importers

nx_syscalls.nx nx_boardcontra.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 bk_w sys_write bk_slen 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 ↻ bk_read_compare sys_mmap ↻ bk_cat bk_read sys_openat_rd sys_read sys_close bk_all sys_mmap ↻ bk_walk bk_read_compare ↻ sys_mmap ↻ bk_field bk_starts bk_cat ↻ bk_streq bk_w ↻ bk_num sys_mmap ↻ bk_w ↻

structs

none

consts

32const BK_PATH: i64 = 1024
33const BK_CAP: i64 = 1048576
34const BK_LIST: i64 = 65536
35const BK_NL: i64 = 10
36const BK_BAR: i64 = 124
37const BK_HASH: i64 = 35
38const BK_AT: i64 = 64
39const BK_NAMECAP: i64 = 64
40const BK_SYMCAP: i64 = 256
41const BK_MARKLEN: i64 = 9

functions

43func bk_slen(s: *u8) -> i64 { var n: i64 = 0; while s[n] != (0 as u8) { n = n + 1 } return n }
called by 1: bk_w
44func bk_w(s: *u8) -> i64 { sys_write(1, s, bk_slen(s)); return 0 }
called by 3: bk_numbk_walkmain calls 2: sys_writebk_slen
45func bk_cat(dst: *u8, off: i64, s: *u8) -> i64 { var o: i64 = off; var i: i64 = 0; while s[i] != (0 as u8) { dst[o] = s[i]; o = o + 1; i = i + 1 } dst[o] = 0 as u8; return o }
46func bk_num(v: i64) -> i64
called by 1: main calls 2: sys_mmapbk_w
59func bk_streq(a: *u8, b: *u8) -> i64
called by 1: bk_walk
65func bk_read(path: *u8, buf: *u8, cap: i64) -> i64
82func bk_read_compare(dom: *u8, ext: *u8, buf: *u8, cap: i64) -> i64
called by 2: bk_walkmain calls 3: sys_mmapbk_catbk_read
91func bk_field(buf: *u8, ls: i64, le: i64, idx: i64, out: *u8, cap: i64) -> i64
called by 1: bk_walk
116func bk_starts(s: *u8, p: *u8) -> i64
called by 1: bk_walk
125func bk_walk(dom: *u8, mode: i64, mbuf: *u8, t_sym: *i64, t_dom: *i64, nrec: *i64, hits: *i64) -> i64
182func bk_all(lst: *u8, ln: i64, mode: i64, mbuf: *u8, t_sym: *i64, t_dom: *i64, nrec: *i64, hits: *i64) -> i64
called by 1: main calls 2: sys_mmapbk_walk
201func main(argc: i64, argv: *i64) -> i64