code wiki / _hdl_build / nx_evoracle_gate.nx
nx_evoracle_gate.nx
buildroot/runtime/_hdl_build/nx_evoracle_gate.nx
about
nx_evoracle_gate.nx -- teeth for THE INDEPENDENCE LAW (nx_evoracle.nx).
Written to clause 4 of the evidence law: EVERY clause has a NEGATIVE CONTROL that makes it fire. A gate
that only ever asserts the happy path has not been shown to measure anything -- and this lane has already
paid for that lesson twice (a filter that excluded its own target class reported nothing-to-test, which
reads identically to nothing-to-find).
T3 IS THE GATE THAT MATTERS. It is the single move by which this classifier could be gamed: name-drop
RFC 7748 in a comment while computing your own expected values, and collect a THIRD-party label for
first-party work. T3 replays exactly that forgery and requires FIRST. If T3 ever passes by returning
THIRD, the classifier has become the thing it audits.
T1 and T2 are drawn from REAL corpus headers, not invented fixtures: T1 is the header of
nx_x25519_kat_gate.nx (RFC 7748 + OpenSSL cross-check) and T2 is the header of nx_lex_kat.nx (all 256
bytes vs inlined ground truth). A classifier proven only on fixtures its author designed is a fixture
test; these two are the measured population it must separate.
license_tier: ORIGINAL expect_exit: 0
dependencies 2 imports · 0 importers
imports: nx_syscalls.nxnx_evoracle.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
| none |
functions
| 20 | func gw(s: *u8) -> i64 { var n: i64 = 0; while s[n] != (0 as u8) { n = n + 1 } sys_write(1, s, n); return 0 } |
| 22 | func gn(v: i64) -> i64 |
| 36 | func slen(s: *u8) -> i64 { var n: i64 = 0; while s[n] != (0 as u8) { n = n + 1 } return n } called by 1: main |
| 38 | func chk(c: *i64, name: *u8, got: i64, want: i64) -> i64 |
| 49 | func main() -> i64 |