code wiki / (root) / nx_coder_fidelity_gate.nx

nx_coder_fidelity_gate.nx source

↩ module page · 150 lines · 5976 B

1// nx_coder_fidelity_gate.nx -- L3b: MEASURED coder-weights bring-up (float ref vs 100%-integer 2// tower, same coder GGUF, greedy). The load-bearing L3b claim is NOT "bit-faithful to float" 3// (greedy argmax flips on near-ties and compounds -- expected) but: the coder weights LOAD and 4// GENERATE COHERENT code through the integer tower, the config is sound, and the integer tower is 5// deterministic by construction. Float-match is NOT the forge ground truth -- the compiler is. 6// Both runners wrote knowledge/forge/coder_gen_{f32,nf}.txt (2 lines: "GEN p1 ...text=[..]" /p2). 7// PASS on: both PRODUCED coherent output AND p2 text byte-exact (proves arch+config+tokenizer+ 8// dequant all correct -- if eps/rope differed, p2 would also diverge) AND mutation negctl caught. 9// REPORT (not gated): p1 text exact? + p1 text longest-common-prefix (the honest divergence depth). 10// license_tier: ORIGINAL expect_exit: 0 11import "nx_forge_ctx.nx" 12import "nx_gate_verdict.nx" 13 14// extract the bytes between the FIRST "text=[" and the next "]" AFTER the k-th "GEN p" line. 15// on entry startoff = search start; returns payload length into out, sets *endoff past the "]". 16func cf_text_after(buf: *u8, n: i64, startoff: i64, out: *u8, endoff: *i64) -> i64 { 17 let key: *u8 = "text=[" as *u8 18 let kl: i64 = std_slen(key) 19 var i: i64 = startoff 20 var ts: i64 = 0 - 1 21 let stop: i64 = n - kl 22 while i <= stop { 23 var j: i64 = 0 24 var hit: i64 = 1 25 while j < kl { 26 let idx: i64 = i + j 27 let a: i64 = buf[idx] as i64 28 let b: i64 = key[j] as i64 29 if a != b { hit = 0; j = kl } 30 if a == b { j = j + 1 } 31 } 32 if hit == 1 { ts = i + kl; i = stop + 1 } 33 if hit == 0 { i = i + 1 } 34 } 35 if ts < 0 { endoff[0] = n; return 0 - 1 } 36 var o: i64 = 0 37 var p: i64 = ts 38 var go: i64 = 1 39 while go == 1 { 40 if p >= n { go = 0 } 41 if go == 1 { 42 let c: i64 = buf[p] as i64 43 if c == 93 { go = 0 } 44 if c != 93 { out[o] = c as u8; o = o + 1; p = p + 1 } 45 } 46 } 47 endoff[0] = p + 1 48 return o 49} 50 51func cf_eq(a: *u8, an: i64, b: *u8, bn: i64) -> i64 { 52 if an != bn { return 0 } 53 var i: i64 = 0 54 while i < an { 55 let x: i64 = a[i] as i64 56 let y: i64 = b[i] as i64 57 if x != y { return 0 } 58 i = i + 1 59 } 60 return 1 61} 62 63func cf_lcp(a: *u8, an: i64, b: *u8, bn: i64) -> i64 { 64 var lim: i64 = an 65 if bn < lim { lim = bn } 66 var i: i64 = 0 67 var go: i64 = 1 68 while go == 1 { 69 if i >= lim { go = 0 } 70 if go == 1 { 71 let x: i64 = a[i] as i64 72 let y: i64 = b[i] as i64 73 if x != y { go = 0 } 74 if x == y { i = i + 1 } 75 } 76 } 77 return i 78} 79 80func main(argc: i64, argv: *i64) -> i64 { 81 let a: *u8 = sys_mmap(16384) as *u8 82 let an: i64 = fc_read("knowledge/forge/coder_gen_f32.txt" as *u8, a, 16384) 83 let b: *u8 = sys_mmap(16384) as *u8 84 let bn: i64 = fc_read("knowledge/forge/coder_gen_nf.txt" as *u8, b, 16384) 85 std_puts("CODER-FIDELITY bring-up (float-ref vs integer tower, coder weights, greedy)\n f32: " as *u8) 86 if an > 0 { sys_write(1, a, an) } 87 std_puts(" nf : " as *u8) 88 if bn > 0 { sys_write(1, b, bn) } 89 var produced: i64 = 0 90 if an > 20 { if bn > 20 { produced = 1 } } 91 // extract p1,p2 text payloads from each 92 let af1: *u8 = sys_mmap(8192) as *u8 93 let af2: *u8 = sys_mmap(8192) as *u8 94 let bf1: *u8 = sys_mmap(8192) as *u8 95 let bf2: *u8 = sys_mmap(8192) as *u8 96 let eo: *i64 = sys_mmap(16) as *i64 97 let al1: i64 = cf_text_after(a, an, 0, af1, eo) 98 let ao1: i64 = eo[0] 99 let al2: i64 = cf_text_after(a, an, ao1, af2, eo) 100 let bl1: i64 = cf_text_after(b, bn, 0, bf1, eo) 101 let bo1: i64 = eo[0] 102 let bl2: i64 = cf_text_after(b, bn, bo1, bf2, eo) 103 var p1exact: i64 = 0 104 var p2exact: i64 = 0 105 var p1lcp: i64 = 0 106 if al1 >= 0 { if bl1 >= 0 { p1exact = cf_eq(af1, al1, bf1, bl1); p1lcp = cf_lcp(af1, al1, bf1, bl1) } } 107 if al2 >= 0 { if bl2 >= 0 { p2exact = cf_eq(af2, al2, bf2, bl2) } } 108 let exactc: i64 = p1exact + p2exact 109 std_puts(" MEASURED: exact-prompts=" as *u8) 110 std_pdec(exactc) 111 std_puts("/2 (p1=" as *u8) 112 std_pdec(p1exact) 113 std_puts(" p2=" as *u8) 114 std_pdec(p2exact) 115 std_puts(") p1-text-LCP=" as *u8) 116 std_pdec(p1lcp) 117 std_puts(" chars (near-tie flip; determinism intact by construction)\n" as *u8) 118 // mutation negctl on the (exact) p2 payload 119 var mut: i64 = 0 120 if al2 > 2 { 121 let c: *u8 = sys_mmap(8192) as *u8 122 var k: i64 = 0 123 while k < al2 { c[k] = af2[k]; k = k + 1 } 124 let mid: i64 = al2 / 2 125 let mv: i64 = c[mid] as i64 126 let fl: i64 = mv + 1 127 c[mid] = fl as u8 128 let e2: i64 = cf_eq(af2, al2, c, al2) 129 if e2 == 0 { mut = 1 } 130 } 131 std_puts(" mutation-negctl=" as *u8) 132 if mut == 1 { std_putln("CAUGHT" as *u8) } 133 if mut == 0 { std_putln("MISSED" as *u8) } 134 // PASS = produced + p2 config-sanity exact + mutation caught (NOT a bit-exactness claim) 135 var green: i64 = 0 136 if produced == 1 { 137 if p2exact == 1 { 138 if mut == 1 { green = 1 } 139 } 140 } 141 // MIGRATED onto nx_gate_verdict by nx_gate_dry_apply (D001, minimal form): every check 142 // row above is untouched, so the PASS/FAIL vector cannot change; only the hand-rolled 143 // verdict emission is replaced by the ONE shared base class. Proven by nx_gate_migrate verify. 144 let ctr__dry: *i64 = gv_ctr() 145 ctr__dry[0] = green 146 ctr__dry[1] = 1 147 let rc__dry: i64 = gv_verdict("CODER-FIDELITY-GATE" as *u8, ctr__dry, "coder weights LOAD+GENERATE coherent code through the integer tower; p2 float-exact = config/tokenizer/dequant SOUND; p1 float-diverges on a near-tie (NOT a bug, NOT the forge criterion). Determinism by construction. Proceed to L4 live " as *u8) 148 sys_exit(rc__dry) 149 return rc__dry 150}