code wiki / _hdl_build / nx_domain_admit.nx
nx_domain_admit.nx
buildroot/runtime/_hdl_build/nx_domain_admit.nx
about
nx_domain_admit.nx -- THE REFUSING ADMISSION GATE for a /compare domain.
Specified but never built: knowledge/compare/ADMISSION_STANDARD.txt ends with an ENFORCEMENT RUNG that
says COMPOSE the admission checks from the instruments that already exist and wire it into the authoring
lane so a new .matrix cannot publish without passing. Measured 2026-08-06: 0 matches for nx_domain_admit
across 50,386 files. The standard existed as prose and nothing refused against it, which is exactly the
estate's central defect -- a rule that scores nothing changes nothing.
WHAT THIS ENFORCES (the mechanical subset; the rest is reported UNVERIFIED, never faked GREEN):
C1 SYMBOL GROUNDING -- every non-_ABSENT_ row's symbol must occur, ON A WORD BOUNDARY, inside the organ
the row itself declares. This is the liar-kill check: it is what stops a matrix asserting coverage
that no file backs. A prefix or substring hit does NOT count (the standard names 11 prefix rows
repaired in arrears; a bare substring is how they passed in the first place).
C2 RIVAL BARS -- knowledge/barcheck.conf must carry at least one pinned row for the domain, OR the
matrix header must explicitly declare the bars UNPINNED. An unpinned comparison is unfalsifiable;
the standard permits saying so out loud and forbids staying silent.
C3 EXECUTABLE EVIDENCE -- knowledge/compare/<domain>.gates must exist and be non-empty, else the domain
is CLAIM-ONLY and must say so.
C4 FRESH-KILL -- every gate the <domain>.gates map declares, partitioned by its durable bite record:
bite-proven / never-bitten / bitten-but-zero-kill. Reports, does not refuse.
C5 SECOND METHOD CLASS -- the signed experiential row, READ and cryptographically VERIFIED through the
estate's one verifier (at_verify_row), in THREE states that must never collapse into each other:
SIGNED / UNSIGNED-CANDIDATE / ABSENT, plus a separately declared SIGNED-BUT-REFUSED. Reports.
C6 STAMP AND BOARD -- ALWAYS ABSTAINS, and names which conjunct it could not evaluate. The stamp half
is read from knowledge/status/evstamp_<domain>.verdict (forking the producer measured ~25 s per
domain); the board half is structurally unavailable, because nx_sota_status has no `why <domain>`
verb and publishes no per-domain verdict at all. An abstention that names its dead conjunct is a
measurement; a bare UNVERIFIED is not, and a bare UNVERIFIED is what this organ printed for both of
these from the day it was written until 2026-08-25.
EXIT: 0 = ADMIT, 1 = REFUSE, 2 = usage, 3 = matrix unreadable.
A REFUSE is not a failure of the domain -- the standard says an unproven domain is admitted as HONESTLY
UNPROVEN when it declares that. This gate refuses SILENT unprovenness, not unprovenness.
100% sovereign. No hardware writes (Rule 26). license_tier: ORIGINAL expect_exit: 0
dependencies 4 imports · 0 importers
imports: nx_syscalls.nxnx_deploy_lib.nxnx_catalog_lib.nxnx_domain_admit_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
| 53 | const DA_MCAP: i64 = 1048576 |
| 54 | const DA_AT: i64 = 64 |
| 68 | const DA_CDIR: *u8 = "buildroot/knowledge/compare\x00" |
| 261 | const DA_NAMEBUF: i64 = 65536 |
| 262 | const DA_MODE_0644: i64 = 420 |
| 263 | const DA_CH_R: i64 = 114 // 'r' -- distinguishes --ratchet from --all at argv[1][2] |
| 264 | const DA_BASELINE: *u8 = "knowledge/status/domain_admit.baseline" |
| 292 | const DA_LOG: *u8 = "knowledge/status/domain_admit.log" |
| 293 | const DA_ZERO: i64 = 48 |
| 294 | const DA_NUMCAP: i64 = 28 |
| 337 | const DA_C7_BASELINE: *u8 = "knowledge/status/domain_admit_c7.baseline" |
| 338 | const DA_C7_LOG: *u8 = "knowledge/status/domain_admit_c7.log" |
| 339 | const DA_KIND_RUNG: i64 = 1 |
| 340 | const DA_KIND_MATRIX: i64 = 2 |
| 341 | const DA_REC_FIELDS: i64 = 4 // kind, dom, sym, val -- one record per declaration |
| 342 | const DA_SUF_PLAN: *u8 = ".plan\x00" |
| 343 | const DA_SUF_MATRIX: *u8 = ".matrix\x00" |
| 346 | const DA_UNPINNED: *u8 = "UNPINNED\x00" |
functions
| 82 | func da_rule_disagree(mb: *u8, p1: i64, p2: i64, sym: i64, symend: i64, dom: *u8) -> i64 |
| 107 | func da_c1(dom: *u8, mb: *u8, sb: *u8, verbose: i64, agg: *i64) -> i64 |
| 196 | func da_sweep(mb: *u8, sb: *u8, nbuf: *u8, ncap: i64, nlen: *i64) -> i64 |
| 276 | func da_write_file(path: *u8, buf: *u8, n: i64) -> i64 |
| 295 | func da_catn(dst: *u8, o: i64, v: i64) -> i64 |
| 311 | func da_log(base: i64, cur: i64, nnew: i64, nfixed: i64, green: i64) -> i64 called by 1: da_ratchet calls 7: sys_openat_appendsys_mmapda_catda_catnsys_now_realtime_secsys_write+1 |
| 349 | func da_ends_with(name: *u8, ln: i64, suf: *u8) -> i64 |
| 357 | func da_arena_put(arena: *u8, ao: *i64, mb: *u8, a: i64, b: i64) -> *u8 called by 1: da_c7_walk |
| 368 | func da_c7_walk(pass: i64, mb: *u8, tot: *i64, rec: *i64, nrec: *i64, arena: *u8, ao: *i64) -> i64 |
| 467 | func da_streq(a: *u8, b: *u8) -> i64 { var i: i64 = 0; while a[i] != (0 as u8) { if a[i] != b[i] { return 0 } i = i + 1 } if b[i] != (0 as u8) { return 0 } return 1 } called by 1: da_c7 |
| 468 | func da_c7_log(base: i64, cur: i64, nnew: i64, nfixed: i64, green: i64) -> i64 |
| 484 | func da_c7(mb: *u8) -> i64 |
| 614 | func da_ratchet(mb: *u8, sb: *u8, cur: *u8, cl: *i64) -> i64 |
| 698 | func main(argc: i64, argv: *i64) -> i64 |