code wiki / _hdl_build / nx_evclass_route.nx

nx_evclass_route.nx

buildroot/runtime/_hdl_build/nx_evclass_route.nx

16716 B364 linesdepth 3pulls 4 transitivereach 0 importersview sourcekind tool
docsdependenciesstructsconstsfunctions

about

nx_evclass_route.nx -- route DERIVED oracle rows to the DOMAINS that actually earned them. THE DEFECT THIS CLOSES (measured 2026-08-01): nx_evoracle_sweep correctly derives third-party oracle rows -- RFC 9807, RFC 7748, RFC 9497, FIPS 180-4 -- and writes them ALL to knowledge/status/ evclass_sovereign.conf. But `sovereign` IS NOT A DOMAIN (no sovereign.matrix), while nx_sota_status reads evclass_<domain>.conf per domain. So 7 genuine third-party attestations landed in a file NO CONSUMER READS, and PROVEN stayed 0/41 with the evidence sitting right there. ★★★★★A NEAR-ZERO MATCH MEANS A WRONG JOIN KEY, NOT A MISSING POPULATION. The derivation was never the problem; the rows simply were not addressed to anyone. THE JOIN: every derived row carries `gate=<name>`, and knowledge/compare/<domain>.gates names the gates a domain claims. So gate -> domain is a real, checkable key, not an inference. OUTCOMES ARE NEVER COLLAPSED (the sweep's own law): ROUTED / ALREADY / UNROUTED are counted and named separately -- a row nobody claims and a row already present must never look the same. ⛔CORRECTED 2026-09-03 -- THIS LINE USED TO SAY the rows remain UNSIGNED because at_verify_row refuses them "until an operator-held key exists", and that this organ cannot supply ATTRIBUTION. IT IS WRONG FOR THE TWO CLASSES THIS ORGAN ACTUALLY ROUTES. It was inherited verbatim from nx_evoracle_sweep's header, which was true when IT was written and stopped being true hours later when an agent created knowledge/attest_keys.conf and registered two role=machine keys -- sanctioned there in its own words because for EV_CLASS_ORACLE "independence comes from the REFERENCE, not the signer". PROVEN END TO END 2026-09-03, not argued: a derived oracle row signed with the registered machine key (pub=08fc04ab..4fa8) returned at_verify_row -> OK (rc=0) against the LIVE registry, and nx_attest_ceremony's gate is 10/10 with T6 oracle+machine=OK and T9 experiential+machine=OK. Only T4, class=human, refuses a machine key -- correct, and never to be loosened. ⇒ A RENEWED ORACLE OR EXPERIENTIAL ROW MAY AND SHOULD BE MACHINE-SIGNED. Withholding the signature is what kept PROVEN at 0 while this organ's own header recorded 45 domains holding fresh evidence. ★★★★★★THE COMMENT WAS THE BUG: nothing in the code was wrong, and a stale sentence copied between two organs became an estate-wide belief that only the operator could unblock the honesty ratio. nx_evclass_route [srcfile] default knowledge/status/evclass_sovereign.conf license_tier: ORIGINAL No hw writes (Rule 26). expect_exit: 0

dependencies 2 imports · 0 importers

nx_gateorder_lib.nx nx_estate_path.nx nx_evclass_route.nx

imports: nx_gateorder_lib.nxnx_estate_path.nx

imported by: nobody (leaf or entry point)

call flow from main pre-order; caps 40 nodes / depth 6 declared; ↻ = already shown

main ep_anchor sys_openat_rd sys_close sys_chdir 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 ↻ er_init go_puts sys_write ↻ go_strlen er_read_into er_collect_domains go_match_at go_strlen ↻ go_kv go_puts ↻ go_puti sys_mmap ↻ sys_write ↻ go_match_at ↻ er_path_for go_first go_match_at ↻ er_newest_epoch go_match_at ↻ er_row_epoch

structs

none

consts

36const ER_MAGIC_65536: i64 = 65536
38const ER_CAP: i64 = 262144
39const ER_PATH: i64 = 512
40const ER_NAMEW: i64 = 96
41const ER_MAXDOM: i64 = 128
60const ER_DEF_TTL_SEC: i64 = 604800

functions

61func er_num_after(buf: *u8, n: i64, key: *u8, from: i64) -> i64
85func er_policy_ttl() -> i64
called by 1: main calls 1: er_num_after
98func er_newest_epoch(buf: *u8, n: i64, gname: *u8) -> i64
called by 1: main calls 2: go_match_ater_row_epoch
111func er_row_epoch(buf: *u8, n: i64, at: i64) -> i64
called by 1: er_newest_epoch calls 1: er_num_after
119func er_init()
called by 1: main
131func er_read_into(path: *u8, buf: *u8, cap: i64) -> i64
called by 1: main
151func er_collect_domains()
called by 1: main calls 1: go_match_at
194func er_path_for(pre: *u8, dom: *u8, suf: *u8, out: *u8)
called by 1: main
219func main(argc: i64, argv: *i64) -> i64