nx_accept_candidate_t230.nx
buildroot/runtime/nx_accept_candidate_t230.nx
about
nx_accept.nx -- THE THREE-PARTY ACCEPTANCE LEDGER'S VERBS (2026-08-31). Operator standing order 2026-08-30:
"doing it poorly isn't a complete and needs to be shown as that on /compare and your work; it's not complete
till you and I and the nishi team agree."
COMPLETE means THREE signatures, each in its own sovereign plane. This organ is how the second and third are
written and how all three are read; the decision itself lives in nx_accept_lib (one classifier, every consumer):
status <subject> -- AGREED or NOT-AGREED with the missing party NAMED
list -- every subject any plane or board names, one line each, counters
emit -- regenerate buildroot/runtime/nx_accept_decl.nx from the planes:
one func ga_accept_<subject> per AGREED subject, sorted, no
timestamp, byte-identical while the planes are unchanged
attest <subject> <seat> <words> <artifact> -- the SEAT's row: stamp = sha256 of the artifact, never typed
referee <subject> <png> <tier> <seat> -- the REFEREE's row: the cjc_panel percept lens is RUN on the
capture and its grade recorded; never a hand-typed number
THIS ORGAN NEVER WRITES knowledge/store/accept-. The operator's plane has no verb here by construction; the
operator's recipe is one nx_store_put call (see the devmgmt board note), and its targets field must carry
ga_accept_<subject> or the row governs nothing and is printed as UNMAPPED with that remedy.
WRITES COMPOSE THE INCUMBENT WRITER: every referee/attest row goes through nx_store_put.elf (plane lock,
shrink guard, hist- provenance). This organ never touches plane bytes itself.
THE REFEREE COMPOSES THE PANEL: nx_charjudge_census lens <png> <conf> is the estate's decode -> fit -> NXFH1 ->
nx_percept path; this organ reads its cjp_percept= field and compares it with the panel's own per-tier floor.
A tier the panel receipt has not admitted is REFUSED (an abstention is not a grade) and a lens that could not
see (cjp_percept=-9999 or decoded=0) writes NO row and exits UNOBSERVABLE -- a missing grade must never read
as a low one.
root=<dir> re-roots every path (planes <dir>/accept- referee- attest-, conf <dir>/cjc_panel.conf, decl
<dir>/nx_accept_decl.nx, boards <dir>/compare) for the gate's /tmp fixtures. Production paths are the lib's
constants, resolved CWD-first then estate-root, exactly as the lib resolves them.
EXIT: 0 AGREED or done | 1 NOT-AGREED | 2 usage | 3 UNKNOWN-SUBJECT | 4 REFUSED (reason named) | 5 io or writer
| 6 UNOBSERVABLE (the lens could not see)
license_tier: ORIGINAL No hw writes (Rule 26).
dependencies 6 imports · 1 importers
imports: nx_syscalls.nxnx_tool_run.nxnx_accept_lib.nxnx_accept_ref_lib.nxnx_accept_binding_candidate_t230.nxnx_fio.nx
imported by: nx_accept_cli_gate_t230.nx
call flow from main pre-order; caps 40 nodes / depth 6 declared; ↻ = already shown
structs
| none |
consts
| 38 | const ACM_ROOT_KEY: *u8 = "root=" |
| 39 | const ACM_SUF_ACC: *u8 = "/accept-" |
| 40 | const ACM_SUF_REF: *u8 = "/referee-" |
| 41 | const ACM_SUF_ATT: *u8 = "/attest-" |
| 42 | const ACM_SUF_CONF: *u8 = "/cjc_panel.conf" |
| 43 | const ACM_SUF_DECL: *u8 = "/nx_accept_decl.nx" |
| 44 | const ACM_SUF_BOARDS: *u8 = "/compare" |
| 45 | const ACM_STORE_PUT: *u8 = "nx_store_put.elf" |
| 46 | const ACM_LENS_ELF: *u8 = "nx_charjudge_census.elf" |
| 47 | const ACM_LENS_VERB: *u8 = "lens" |
| 48 | const ACM_LENS_KEY: *u8 = "cjp_percept=" |
| 49 | const ACM_LENS_UNDECODED: *u8 = "decoded=0" |
| 50 | const ACM_PUT_VERB: *u8 = "put" |
| 51 | const ACM_ACTOR_REFEREE: *u8 = "referee" |
| 52 | const ACM_INSTRUMENT: *u8 = "cjc_panel-percept-lens" |
| 53 | const ACM_ID_ATT: *u8 = "att-" |
| 54 | const ACM_ID_REF: *u8 = "ref-" |
| 55 | const ACM_GOOD: *u8 = "GOOD" |
| 56 | const ACM_BAD: *u8 = "BAD" |
| 58 | const ACM_OUTCAP: i64 = 262144 |
| 59 | const ACM_CAPTURE: i64 = 65536 |
| 60 | const ACM_ARGV_SLOTS: i64 = 24 |
| 61 | const ACM_POS_MAX: i64 = 8 |
| 62 | const ACM_IDCAP: i64 = 192 |
| 63 | const ACM_NUMCAP: i64 = 32 |
| 64 | const ACM_LP: i64 = 16 |
| 65 | const ACM_LENS_TMO_MS: i64 = 60000 // nx_charjudge_census CJX_TIMEOUT_MS: the panel's own per-image ceiling |
| 66 | const ACM_PUT_TMO_MS: i64 = 130000 // nx_seg_store's plane-lock ceiling is 120 s (SS_LOCK_TRIES x SS_LOCK_SLEEP_MS); a writer may legitimately wait it out |
| 67 | const ACM_CX_WORDS: i64 = 8 |
| 68 | const ACM_CX_ACC: i64 = 0 |
| 69 | const ACM_CX_REF: i64 = 1 |
| 70 | const ACM_CX_ATT: i64 = 2 |
| 71 | const ACM_CX_CONF: i64 = 3 |
| 72 | const ACM_CX_DECL: i64 = 4 |
| 73 | const ACM_CX_BOARDS: i64 = 5 |
| 74 | const ACM_CX_HASROOT: i64 = 6 |
| 75 | const ACM_S_WORDS: i64 = 8 |
| 76 | const ACM_S_BK: i64 = 0 |
| 77 | const ACM_S_CF: i64 = 1 |
| 78 | const ACM_S_DOMS: i64 = 2 |
| 79 | const ACM_S_ORGS: i64 = 3 |
| 80 | const ACM_S_PLANES: i64 = 4 |
| 81 | const ACM_S_BOARDS: i64 = 5 |
| 82 | const ACM_S_OVER: i64 = 6 |
| 83 | const ACM_ATT_FIELDS: i64 = 6 |
| 84 | const ACM_REF_FIELDS: i64 = 9 |
| 447 | const ACM_RELEASE_REGION_BYTES:i64=9*8 |
functions
| 86 | func acm_p(s: *u8) -> i64 { sys_write(1, s, al_slen(s)); return 0 } called by 5: acm_usageacm_store_putacm_attestacm_refereeacm_release_result calls 2: sys_writeal_slen |
| 87 | func acm_pn(v: i64) -> i64 { let t: *u8 = sys_mmap(ACM_NUMCAP); let n: i64 = al_catn(t, 0, v); sys_write(1, t, n); return 0 } |
| 88 | func acm_join(a: *u8, b: *u8) -> *u8 { let d: *u8 = sys_mmap(AL_PATHCAP); var o: i64 = al_cat(d, 0, a); o = al_cat(d, o, b); d[o] = 0 as u8; return d } |
| 89 | func acm_numz(v: i64) -> *u8 { let t: *u8 = sys_mmap(ACM_NUMCAP); let n: i64 = al_catn(t, 0, v); t[n] = 0 as u8; return t } |
| 90 | func acm_dom(s: *i64, si: i64) -> *u8 { return (s[ACM_S_DOMS] + si * AL_NAMEW) as *u8 } |
| 91 | func acm_org(s: *i64, si: i64) -> *u8 { return (s[ACM_S_ORGS] + si * AL_ORGW) as *u8 } |
| 93 | func acm_usage() -> i64 |
| 102 | func acm_ctx(root: *u8) -> *i64 |
| 129 | func acm_open(cx: *i64) -> *i64 |
| 151 | func acm_head(tag: *u8, cx: *i64, s: *i64, out: *u8, o0: i64) -> i64 |
| 170 | func acm_ledger(s: *i64, out: *u8, o0: i64) -> i64 |
| 193 | func acm_status(cx: *i64, s: *i64, subject: *u8) -> i64 |
| 225 | func acm_list(cx: *i64, s: *i64) -> i64 |
| 242 | func acm_emit(cx: *i64, s: *i64) -> i64 |
| 300 | func acm_store_put(prefix: *u8, actor: *u8, id: *u8, fields: *i64, nf: i64) -> i64 called by 2: acm_attestacm_referee calls 6: sys_mmapep_artifact_pathacm_ptr_run_capture_tracm_pnsys_write |
| 324 | func acm_mkid(pfx: *u8, subject: *u8, epoch: i64) -> *u8 |
| 336 | func acm_attest(cx: *i64, s: *i64, subject: *u8, seat: *u8, words: *u8, artifact: *u8) -> i64 |
| 365 | func acm_referee(cx: *i64, s: *i64, subject: *u8, png: *u8, tier: *u8, seat: *u8) -> i64 |
| 434 | func acm_release_result(rc:i64)->i64 |
| 448 | func acm_check_release(argc:i64,argv:*i64)->i64 called by 2: mainmain calls 8: acm_release_resultsys_mmapfio_region_initfio_region_opensys_munmapfio_region_close+2 |
| 483 | func main(argc: i64, argv: *i64) -> i64 |