code wiki / _hdl_build / nx_symjudge_gate.nx

nx_symjudge_gate.nx

buildroot/runtime/_hdl_build/nx_symjudge_gate.nx

11031 B215 linesdepth 5pulls 9 transitivereach 0 importersview sourcekind gate/proof
docsdependenciesstructsconstsfunctions

about

nx_symjudge_gate.nx -- gate for THE SYMBOLIC JUDGE (autonomous-builder lane, 2026-07-20). On nx_gate_verdict (D001 migrate-on-touch law: new gates import THE lib). Proves the judge: T1 a CORRECT fn passes its property contract -> verdict=GREEN rc=0 T1b domain fits budget -> mode=EXH (true bounded sweep, not a sample) T1c checked == full domain size (1201 for -600..600) = exhaustiveness is real T2 the OVERFIT-PATCH class is KILLED: a fn that passes its baked tests (dbl(2)=4, dbl(3)=6) but is wrong elsewhere -> property sweep RED rc=1 (the class test-only judging cannot see) T3 the first counterexample is REPORTED (SYMJVIOL line) = actionable, not just a verdict T4 a CRASHING fn (SIGFPE at x=0) -> detected -> rc=2 (the fuzz-crash finding class) T5 determinism: identical rerun -> byte-identical judge output T6 fn with no contract row -> REFUSED rc=3 (fail-closed, never silently green) Requires /tmp/nx_symjudge.sov.elf staged (nx_sov_build_run nx_symjudge --build-only). license_tier: ORIGINAL No hw writes (Rule 26). expect_exit: 0

dependencies 5 imports · 0 importers

nx_store_seed_lib.nx nx_seg_store.nx nx_deploy_lib.nx nx_gate_verdict.nx nx_syscalls.nx nx_symjudge_gate.nx

imports: nx_store_seed_lib.nxnx_seg_store.nxnx_deploy_lib.nxnx_gate_verdict.nxnx_syscalls.nx

imported by: nobody (leaf or entry point)

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

main gv_ctr sys_mmap gv_head gv_puts sys_write ss_writefile sys_openat_wr sys_write ↻ sys_close sys_fsync sjg_slen sys_mmap ↻ sjg_row ss_cat ss_cat ↻ ss_catn sys_mmap ↻ sys_now_realtime_sec sys_mmap ↻ sys_clock_gettime_real sts_seed ss_begin_cap sys_mmap ↻ sts_mm sys_mmap ↻ sts_werr sys_write ↻ sys_exit sts_rowkey ss_catn ↻ ss_add ss_add2 ss_w32 ss_len ss_catn ↻ ss_commit ss_segid_ok sys_mmap ↻ ss_cat ↻

structs

none

consts

20const SJG_CAP: i64 = 65536
21const SJG_TAB: i64 = 9
22const SJG_NL: i64 = 10

functions

24func sjg_slen(s: *u8) -> i64 { var n: i64 = 0; while s[n] != (0 as u8) { n = n + 1 } return n }
called by 2: sjg_hasmain
25func sjg_has(q: *u8, n: i64, s: *u8) -> i64
called by 1: main calls 1: sjg_slen
38func sjg_eqbuf(a: *u8, an: i64, b: *u8, bn: i64) -> i64
called by 1: main
45func sjg_row(d: *u8, o0: i64, c0: *u8, c1: *u8, c2: *u8, c3: *u8, c4: *u8, c5: *u8, c6: *u8) -> i64
called by 1: main calls 1: ss_cat
63func main() -> i64