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}