nx_evidence_audit.nx
buildroot/runtime/nx_evidence_audit.nx
about
nx_evidence_audit.nx -- THE FLEET GROUNDING AUDIT: walk knowledge/compare/, and for EVERY head-to-head census
(<domain>.matrix) FORK nx_swcompare_evidence in json mode and roll up how many present claims LACK a real source
line (ungrounded = a fabricated/broken cell). This is the autonomous liar-catch: it is what found videocodec's
vv_enc_rct8 pointing at the wrong organ (2026-07-12). Exit 0 iff the whole surface is clean (0 ungrounded), else
RED naming each offending domain. Distinct from nx_evidence_fleet (that rolls up which domains HAVE a .gates
file; this one RUNS the grounding check on every claim). ⚠COORDINATION: fold this into nx_evidence_fleet as an
`audit` mode once that file's churn settles (it is a sibling's hot file today). Read-only except /tmp scratch.
license_tier: ORIGINAL expect_exit: 0
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
| 10 | const EA_MAGIC_131072: i64 = 131072 |
| 11 | const EA_MAGIC_131071: i64 = 131071 |
| 13 | const EA_DIR: *u8 = "knowledge/compare" |
functions
| 15 | func ea_w(s: *u8) -> i64 { var n: i64=0; while s[n]!=(0 as u8){n=n+1} sys_write(1,s,n); return 0 } |
| 16 | func ea_wn(v0: i64) -> i64 |
| 22 | func ea_slen(s: *u8) -> i64 { var n: i64=0; while s[n]!=(0 as u8){n=n+1} return n } |
| 23 | func ea_ends(name: *u8, nl: i64, suf: *u8) -> i64 |
| 28 | func ea_num_after(ob: *u8, on: i64, key: *u8) -> i64 |
| 50 | func ea_domain(dom: *u8, out: *i64) -> i64 |
| 84 | func main(argc: i64, argv: *i64) -> i64 |