nx_boardcontra.nx
buildroot/runtime/nx_boardcontra.nx
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
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
structs
| none |
consts
| 32 | const BK_PATH: i64 = 1024 |
| 33 | const BK_CAP: i64 = 1048576 |
| 34 | const BK_LIST: i64 = 65536 |
| 35 | const BK_NL: i64 = 10 |
| 36 | const BK_BAR: i64 = 124 |
| 37 | const BK_HASH: i64 = 35 |
| 38 | const BK_AT: i64 = 64 |
| 39 | const BK_NAMECAP: i64 = 64 |
| 40 | const BK_SYMCAP: i64 = 256 |
| 41 | const BK_MARKLEN: i64 = 9 |
functions
| 43 | func 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 |
| 44 | func bk_w(s: *u8) -> i64 { sys_write(1, s, bk_slen(s)); return 0 } |
| 45 | func 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 } |
| 46 | func bk_num(v: i64) -> i64 |
| 59 | func bk_streq(a: *u8, b: *u8) -> i64 called by 1: bk_walk |
| 65 | func bk_read(path: *u8, buf: *u8, cap: i64) -> i64 |
| 82 | func bk_read_compare(dom: *u8, ext: *u8, buf: *u8, cap: i64) -> i64 |
| 91 | func bk_field(buf: *u8, ls: i64, le: i64, idx: i64, out: *u8, cap: i64) -> i64 called by 1: bk_walk |
| 116 | func bk_starts(s: *u8, p: *u8) -> i64 called by 1: bk_walk |
| 125 | func bk_walk(dom: *u8, mode: i64, mbuf: *u8, t_sym: *i64, t_dom: *i64, nrec: *i64, hits: *i64) -> i64 |
| 182 | func bk_all(lst: *u8, ln: i64, mode: i64, mbuf: *u8, t_sym: *i64, t_dom: *i64, nrec: *i64, hits: *i64) -> i64 |
| 201 | func main(argc: i64, argv: *i64) -> i64 |