code wiki / _hdl_build / nx_synth_matrix.nx

nx_synth_matrix.nx source

↩ module page · 116 lines · 5452 B

1// nx_synth_matrix.nx -- R-RSI-005 (SYNTH-matrix-cited). The evolution-synthesis matrix is only 2// "cited" if every per-cell citation is REAL. This gate reads the spec 3// (2026-06-12-evolution-synthesis.md), parses each machine line `CITE :: <source> :: <anchor>`, 4// OPENS knowledge/library/<source>, and asserts the verbatim <anchor> occurs in its real bytes 5// (CLAUDE.md rule 4: no hallucinated cite survives -- a fabricated anchor => verdict=RED). Also 6// asserts all 5 fetched sources are represented and the 4 exceed differentiators are present, and 7// a NEGATIVE control (a bogus anchor MUST be rejected) proves the verifier discriminates. 8// Composes nx_library_publish primitives (lp_readfile/lp_contains/lp_scan/lp_startswith, no rebuild). 9// Built sovereignly (nx_cc->nxasm_x86, no gcc). license_tier: ORIGINAL 10import "nx_library_publish.nx" 11const SM_MAGIC_262144: i64 = 262144 12 13const SM_SPEC: *u8 = "knowledge/specs/2026-06-12-evolution-synthesis.md" 14const SM_LIB: *u8 = "knowledge/library/" 15 16func sm_puts(s: *u8) -> i64 { var n: i64 = 0; while s[n] != (0 as u8) { n = n + 1 } sys_write(1, s, n); return 0 } 17func sm_putn(v: i64) -> i64 { let bb: *u8 = sys_mmap(28); var m: i64=v; if m<0 {m=0-m}; let t: *u8 = sys_mmap(28); var k: i64=0; if m==0 {t[0]=48;k=1}; while m>0 {t[k]=48+(m%10); m=m/10; k=k+1}; var i: i64=0; while i<k {bb[i]=t[k-1-i]; i=i+1}; sys_write(1, bb, k); return 0 } 18 19// find pat (length pl) in buf[from, e); index or -1. 20func sm_find(buf: *u8, from: i64, e: i64, pat: *u8, pl: i64) -> i64 { 21 var i: i64 = from 22 while i + pl <= e { 23 var j: i64 = 0; var ok: i64 = 1 24 while j < pl { if buf[i + j] != pat[j] { ok = 0; j = pl } else { j = j + 1 } } 25 if ok == 1 { return i } 26 i = i + 1 27 } 28 return 0 - 1 29} 30 31// does NUL-term <anchor> occur in knowledge/library/<src> (src NUL-term, len srclen)? 1/0/-1(missing). 32func sm_src_has(src: *u8, srclen: i64, anchor: *u8) -> i64 { 33 let path: *u8 = sys_mmap(512) 34 var o: i64 = lp_wbuf(path, 0, SM_LIB) // const *u8 can't be indexed directly (compiler kind=47); copy via lp_wbuf 35 var i: i64 = 0 36 while i < srclen { path[o] = src[i]; o = o + 1; i = i + 1 } 37 path[o] = 0 as u8 38 let buf: *u8 = sys_mmap(SM_MAGIC_262144) 39 let n: i64 = lp_readfile(path, buf, SM_MAGIC_262144) 40 if n <= 0 { return 0 - 1 } 41 return lp_contains(buf, n, anchor) 42} 43 44func main() -> i64 { 45 let sbuf: *u8 = sys_mmap(SM_MAGIC_262144) 46 let sn: i64 = lp_readfile(SM_SPEC, sbuf, SM_MAGIC_262144) 47 if sn <= 0 { sm_puts("SYNTHMATRIX verdict=RED reason=spec-missing\n" as *u8); return 1 } 48 49 var total: i64 = 0 50 var verified: i64 = 0 51 var seen_oe: i64 = 0 52 var seen_gp: i64 = 0 53 var seen_ep: i64 = 0 54 var seen_at: i64 = 0 55 var seen_am: i64 = 0 56 57 var p: i64 = 0 58 while p < sn { 59 let a: i64 = p 60 let e: i64 = lp_scan(sbuf, sn, a, 10) 61 if lp_startswith(sbuf, a, e, "CITE :: " as *u8) == 1 { 62 total = total + 1 63 let s0: i64 = a + 8 64 let d1: i64 = sm_find(sbuf, s0, e, " :: " as *u8, 4) 65 if d1 > 0 { 66 let srcbuf: *u8 = sys_mmap(256) 67 var k: i64 = 0 68 var q: i64 = s0 69 while q < d1 { srcbuf[k] = sbuf[q]; k = k + 1; q = q + 1 } 70 srcbuf[k] = 0 as u8 71 let srclen: i64 = k 72 let ancbuf: *u8 = sys_mmap(512) 73 var k2: i64 = 0 74 var r: i64 = d1 + 4 75 while r < e { ancbuf[k2] = sbuf[r]; k2 = k2 + 1; r = r + 1 } 76 ancbuf[k2] = 0 as u8 77 if sm_src_has(srcbuf, srclen, ancbuf) == 1 { verified = verified + 1 } 78 if lp_startswith(srcbuf, 0, srclen, "openevolve" as *u8) == 1 { seen_oe = 1 } 79 if lp_startswith(srcbuf, 0, srclen, "genetic_programming" as *u8) == 1 { seen_gp = 1 } 80 if lp_startswith(srcbuf, 0, srclen, "evolutionary_programming" as *u8) == 1 { seen_ep = 1 } 81 if lp_startswith(srcbuf, 0, srclen, "alphatensor" as *u8) == 1 { seen_at = 1 } 82 if lp_startswith(srcbuf, 0, srclen, "automl" as *u8) == 1 { seen_am = 1 } 83 } 84 } 85 p = e + 1 86 } 87 88 let sources: i64 = seen_oe + seen_gp + seen_ep + seen_at + seen_am 89 90 var diffs: i64 = 0 91 if lp_contains(sbuf, sn, "EVALUATOR-GROWING" as *u8) == 1 { diffs = diffs + 1 } 92 if lp_contains(sbuf, sn, "PROVENANCE" as *u8) == 1 { diffs = diffs + 1 } 93 if lp_contains(sbuf, sn, "SOVEREIGN" as *u8) == 1 { diffs = diffs + 1 } 94 if lp_contains(sbuf, sn, "BOUNDED" as *u8) == 1 { diffs = diffs + 1 } 95 96 // NEGATIVE CONTROL: a bogus anchor MUST be rejected (else the verifier is trivially-true). 97 let bogus: i64 = sm_src_has("openevolve_readme.txt" as *u8, 21, "ZZBOGUS_NOT_IN_ANY_SOURCE_ZZ" as *u8) 98 var discriminates: i64 = 0 99 if bogus == 0 { discriminates = 1 } 100 101 sm_puts("SYNTHMATRIX total=" as *u8); sm_putn(total) 102 sm_puts(" verified=" as *u8); sm_putn(verified) 103 sm_puts(" sources=" as *u8); sm_putn(sources) 104 sm_puts(" diffs=" as *u8); sm_putn(diffs) 105 sm_puts(" discriminates=" as *u8); sm_putn(discriminates) 106 107 var ok: i64 = 1 108 if total < 12 { ok = 0 } 109 if verified != total { ok = 0 } 110 if sources != 5 { ok = 0 } 111 if diffs != 4 { ok = 0 } 112 if discriminates != 1 { ok = 0 } 113 if ok == 1 { sm_puts(" verdict=GREEN\n" as *u8); return 0 } 114 sm_puts(" verdict=RED\n" as *u8) 115 return 1 116}