code wiki / _hdl_build / nx_domain_admit.nx

nx_domain_admit.nx

buildroot/runtime/_hdl_build/nx_domain_admit.nx

47222 B874 linesdepth 11pulls 18 transitivereach 0 importersview sourcekind tooltopic domain
docsdependenciesstructsconstsfunctions

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

nx_syscalls.nx nx_deploy_lib.nx nx_catalog_lib.nx nx_domain_admit_lib.nx nx_domain_admit.nx

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

main da_w sys_write da_slen sys_exit 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 ↻ da_ratchet da_w ↻ da_sweep sys_openat_rd da_w ↻ sys_mmap ↻ sys_getdents64 dirent_reclen da_slen ↻ da_c1 sys_mmap ↻ da_cat da_slen ↻ dp_read sys_openat_rd ↻ sys_read sys_close da_w ↻ da_eol da_classify_row

structs

none

consts

53const DA_MCAP: i64 = 1048576
54const DA_AT: i64 = 64
68const DA_CDIR: *u8 = "buildroot/knowledge/compare\x00"
261const DA_NAMEBUF: i64 = 65536
262const DA_MODE_0644: i64 = 420
263const DA_CH_R: i64 = 114 // 'r' -- distinguishes --ratchet from --all at argv[1][2]
264const DA_BASELINE: *u8 = "knowledge/status/domain_admit.baseline"
292const DA_LOG: *u8 = "knowledge/status/domain_admit.log"
293const DA_ZERO: i64 = 48
294const DA_NUMCAP: i64 = 28
337const DA_C7_BASELINE: *u8 = "knowledge/status/domain_admit_c7.baseline"
338const DA_C7_LOG: *u8 = "knowledge/status/domain_admit_c7.log"
339const DA_KIND_RUNG: i64 = 1
340const DA_KIND_MATRIX: i64 = 2
341const DA_REC_FIELDS: i64 = 4 // kind, dom, sym, val -- one record per declaration
342const DA_SUF_PLAN: *u8 = ".plan\x00"
343const DA_SUF_MATRIX: *u8 = ".matrix\x00"
346const DA_UNPINNED: *u8 = "UNPINNED\x00"

functions

82func da_rule_disagree(mb: *u8, p1: i64, p2: i64, sym: i64, symend: i64, dom: *u8) -> i64
107func da_c1(dom: *u8, mb: *u8, sb: *u8, verbose: i64, agg: *i64) -> i64
196func da_sweep(mb: *u8, sb: *u8, nbuf: *u8, ncap: i64, nlen: *i64) -> i64
276func da_write_file(path: *u8, buf: *u8, n: i64) -> i64
295func da_catn(dst: *u8, o: i64, v: i64) -> i64
called by 2: da_logda_c7_log calls 1: sys_mmap
311func da_log(base: i64, cur: i64, nnew: i64, nfixed: i64, green: i64) -> i64
349func da_ends_with(name: *u8, ln: i64, suf: *u8) -> i64
called by 1: da_c7_walk calls 1: da_slen
357func da_arena_put(arena: *u8, ao: *i64, mb: *u8, a: i64, b: i64) -> *u8
called by 1: da_c7_walk
368func da_c7_walk(pass: i64, mb: *u8, tot: *i64, rec: *i64, nrec: *i64, arena: *u8, ao: *i64) -> i64
467func 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
468func da_c7_log(base: i64, cur: i64, nnew: i64, nfixed: i64, green: i64) -> i64
484func da_c7(mb: *u8) -> i64
614func da_ratchet(mb: *u8, sb: *u8, cur: *u8, cl: *i64) -> i64
698func main(argc: i64, argv: *i64) -> i64