code wiki / _hdl_build / nx_mm_migrate_census.nx

nx_mm_migrate_census.nx source

↩ module page · 132 lines · 6559 B

1// nx_mm_migrate_census.nx -- R0 of the MEDIA-MANAGER -> GALLERY migration factory. Measures, MECHANICALLY and with 2// no fabricated greens, how much of the Python media-manager (C:\Users\elder\mm, 375 endpoints / ~20 source sites) 3// has been migrated INTO the sovereign gallery. It reads the DESCRIPTOR SPINE knowledge/registry/mm_migrate_ref.tsv 4// (the QUESTIONS: feature<TAB>gallery_probe<TAB>note) and for each row decides PRESENT iff gallery_probe is a REAL 5// substring of the LIVE gallery source runtime/_hdl_build/nx_gallery_serve.nx -- so PRESENT == genuinely wired into 6// the gallery, never "exists somewhere". ABSENT rows are the migration backlog (each names its emitter in the note). 7// LIAR-KILL: a positive control token that MUST be present in the evidence + a negative control that MUST be absent; 8// if either fails the census verdict is RED (a broken/empty evidence read can't score green). Writes the scorecard 9// to knowledge/registry/mm_migrate_census.tsv and prints a CENSUSGATE reach line. Sovereign: nx_syscalls only. 10// license_tier: ORIGINAL expect_exit: 0 11import "nx_syscalls.nx" 12const MMC_MAGIC_400000: i64 = 400000 13const MMC_MAGIC_80000: i64 = 80000 14const MMC_MAGIC_120000: i64 = 120000 15 16const MMC_REF: *u8 = "knowledge/registry/mm_migrate_ref.tsv" 17const MMC_EVID: *u8 = "runtime/_hdl_build/nx_gallery_serve.nx" 18const MMC_OUT: *u8 = "knowledge/registry/mm_migrate_census.tsv" 19 20func mmc_w(s: *u8) -> i64 { var n: i64 = 0; while s[n] != (0 as u8) { n = n + 1 } sys_write(1, s, n); return 0 } 21func mmc_n(v: i64) -> i64 { 22 let bb: *u8 = sys_mmap(28); var m: i64 = v; if m < 0 { m = 0 - m } 23 let t: *u8 = sys_mmap(28); var k: i64 = 0 24 if m == 0 { t[0] = 48 as u8; k = 1 } 25 while m > 0 { t[k] = (48 + (m % 10)) as u8; m = m / 10; k = k + 1 } 26 var i: i64 = 0; while i < k { bb[i] = t[k - 1 - i]; i = i + 1 } 27 sys_write(1, bb, k); return 0 28} 29 30// read a whole file into buf (cap). Returns bytes read, or -1 if unopenable. 31func mmc_read(path: *u8, buf: *u8, cap: i64) -> i64 { 32 let fd: i64 = sys_openat_rd(path) 33 if fd < 0 { return 0 - 1 } 34 var tot: i64 = 0; var r: i64 = 1 35 while r > 0 { 36 let dst: *u8 = ((buf as i64) + tot) as *u8 37 r = sys_read(fd, dst, cap - tot) 38 if r > 0 { tot = tot + r } 39 } 40 sys_close(fd) 41 return tot 42} 43 44// scan buf[start..] for delim (byte) or end; return index of delim/end. 45func mmc_scan(buf: *u8, n: i64, start: i64, delim: i64) -> i64 { 46 var i: i64 = start; var s: i64 = 1 47 while s == 1 { if i >= n { s = 0 } else { if buf[i] == (delim as u8) { s = 0 } else { i = i + 1 } } } 48 return i 49} 50 51// 1 iff needle (NUL-terminated) occurs in hay[0..n). 52func mmc_has(hay: *u8, n: i64, needle: *u8) -> i64 { 53 var nn: i64 = 0; while needle[nn] != (0 as u8) { nn = nn + 1 } 54 if nn == 0 { return 0 } 55 var i: i64 = 0 56 while i + nn <= n { 57 var m: i64 = 1; var j: i64 = 0 58 while j < nn { if (hay[i + j] as i64) != (needle[j] as i64) { m = 0; j = nn } else { j = j + 1 } } 59 if m == 1 { return 1 } 60 i = i + 1 61 } 62 return 0 63} 64 65func mmc_app(dst: *u8, off: i64, s: *u8) -> i64 { var i: i64 = 0; while s[i] != (0 as u8) { dst[off + i] = s[i]; i = i + 1 } return off + i } 66 67func main() -> i64 { 68 // ---- evidence = the LIVE gallery source (the truth of what is wired into the gallery) ---- 69 let ev: *u8 = sys_mmap(MMC_MAGIC_400000) 70 let evn: i64 = mmc_read(MMC_EVID, ev, MMC_MAGIC_400000) 71 if evn <= 0 { mmc_w("CENSUSGATE verdict=RED reason=gallery-source-unreadable\n" as *u8); sys_exit(1); return 1 } 72 73 // ---- descriptor spine (the QUESTIONS) ---- 74 let rb: *u8 = sys_mmap(MMC_MAGIC_80000) 75 let rbn: i64 = mmc_read(MMC_REF, rb, MMC_MAGIC_80000) 76 if rbn <= 0 { mmc_w("CENSUSGATE verdict=RED reason=ref-unreadable\n" as *u8); sys_exit(1); return 1 } 77 78 let ob: *u8 = sys_mmap(MMC_MAGIC_120000); var o: i64 = 0 79 o = mmc_app(ob, o, "# AUTHORED BY nx_mm_migrate_census -- PRESENT iff probe is a real substring of the live gallery source. ABSENT = migration backlog.\n" as *u8) 80 81 let probe: *u8 = sys_mmap(512) 82 let feat: *u8 = sys_mmap(512) 83 var nf: i64 = 0; var present: i64 = 0 84 var p: i64 = 0 85 while p < rbn { 86 if rb[p] == (35 as u8) { let e: i64 = mmc_scan(rb, rbn, p, 10); p = e + 1 } 87 else { if rb[p] == (10 as u8) { p = p + 1 } 88 else { 89 let f0: i64 = p 90 let t1: i64 = mmc_scan(rb, rbn, f0, 9) // TAB after feature 91 let p0: i64 = t1 + 1 92 let t2: i64 = mmc_scan(rb, rbn, p0, 9) // TAB after probe 93 let le: i64 = mmc_scan(rb, rbn, f0, 10) // end of line 94 // copy feature[f0..t1) and probe[p0..t2) 95 var fl: i64 = t1 - f0; var q: i64 = 0 96 while q < fl { feat[q] = rb[f0 + q]; q = q + 1 } feat[fl] = 0 as u8 97 var pl: i64 = t2 - p0; q = 0 98 if t2 > le { pl = 0 } // malformed (no second tab) -> empty probe 99 while q < pl { probe[q] = rb[p0 + q]; q = q + 1 } probe[pl] = 0 as u8 100 let hit: i64 = mmc_has(ev, evn, probe) 101 if hit == 1 { o = mmc_app(ob, o, "PRESENT\t" as *u8); present = present + 1 } else { o = mmc_app(ob, o, "ABSENT \t" as *u8) } 102 o = mmc_app(ob, o, feat); o = mmc_app(ob, o, "\tprobe=" as *u8); o = mmc_app(ob, o, probe); o = mmc_app(ob, o, "\n" as *u8) 103 mmc_w(" " as *u8); if hit == 1 { mmc_w("[MIGRATED] " as *u8) } else { mmc_w("[ GAP ] " as *u8) } mmc_w(feat); mmc_w("\n" as *u8) 104 nf = nf + 1 105 p = le + 1 106 } } 107 } 108 109 let fd: i64 = sys_openat_wr(MMC_OUT, 420) 110 if fd >= 0 { sys_write(fd, ob, o); sys_close(fd) } 111 112 // ---- liar-kill: pos control must be in the gallery source, neg control must NOT be ---- 113 let cpos: i64 = mmc_has(ev, evn, "gs_api_list" as *u8) 114 let cneg: i64 = mmc_has(ev, evn, "zzqnonexistentcapability" as *u8) 115 var reach: i64 = 0 116 if nf > 0 { reach = (present * 1000) / nf } 117 118 mmc_w("CENSUSGATE source=mm_migrate_ref.tsv features=" as *u8); mmc_n(nf) 119 mmc_w(" migrated=" as *u8); mmc_n(present) 120 mmc_w(" backlog=" as *u8); mmc_n(nf - present) 121 mmc_w(" control_pos=" as *u8); mmc_n(cpos) 122 mmc_w(" control_neg=" as *u8); mmc_n(cneg) 123 mmc_w(" reach_permil=" as *u8); mmc_n(reach) 124 125 var ok: i64 = 1 126 if cpos != 1 { ok = 0 } 127 if cneg != 0 { ok = 0 } 128 if nf <= 0 { ok = 0 } 129 if ok == 1 { mmc_w(" verdict=GREEN\n" as *u8); sys_exit(0); return 0 } 130 mmc_w(" verdict=RED reason=control-or-empty\n" as *u8) 131 sys_exit(1); return 1 132}