code wiki / _hdl_build / nx_dataplane_census.nx

nx_dataplane_census.nx source

↩ module page · 216 lines · 10881 B

1// nx_dataplane_census.nx -- FLAT-FILE DATA-PLANE CENSUS (operator 2026-07-16: "eat our debt for the 2// whole ecosystem" after the store-law correction). Measures the ecosystem-wide violation class the 3// arch-board just repaired for itself: organs whose DATA PLANE is a flat .tsv/.data/.reg/.conf/.csv 4// file instead of a knowledge/store/ seg-store key ([[feedback-sovereign-store-not-flat-files]]). 5// Scans every .nx in the two zones for QUOTED literal paths with a data-plane extension; skips 6// comment tails, knowledge/store/ paths (sovereign), /tmp + logs/ (scratch/diagnostics), and 7// *superseded* gravestones. Emits `DP|<organ>|<path>` rows + a parseable summary -- the arch board 8// composes this as its `flat_dataplanes` ratchet metric and banks the rows to its store. 9// nx_dataplane_census <core-dir> <organ-dir> -- census; exit 0 10// nx_dataplane_census gate -- self-test on planted fixtures; exit 0/1 11// license_tier: ORIGINAL module: nishi-core.architect.dataplane_census 12import "nx_syscalls.nx" 13const K_MAGIC_65536: i64 = 65536 14const K_MAGIC_1024: i64 = 1024 15const K_MAGIC_1048576: i64 = 1048576 16 17func dc_p(s: *u8) -> i64 { var n: i64 = 0; while s[n] != (0 as u8) { n = n + 1 } sys_write(1, s, n); return 0 } 18func dc_pn(v: i64) -> i64 { 19 var m: i64 = v; if m < 0 { dc_p("-" as *u8); m = 0 - m } 20 let t: *u8 = sys_mmap(24); var k: i64 = 0; if m == 0 { t[0] = 48 as u8; k = 1 } 21 while m > 0 { t[k] = (48 + (m % 10)) as u8; m = m / 10; k = k + 1 } 22 let o: *u8 = sys_mmap(24); var i: i64 = 0; while i < k { o[i] = t[k-1-i]; i = i + 1 } sys_write(1, o, k) 23 sys_munmap(t, 24); sys_munmap(o, 24); return 0 24} 25func dc_streq(a: *u8, b: *u8) -> i64 { var i: i64 = 0; while a[i] != (0 as u8) { if a[i] != b[i] { return 0 } i = i + 1 } if b[i] != (0 as u8) { return 0 } return 1 } 26// does buf[o..o+l) end with suffix? 27func dc_ends(a: *u8, o: i64, l: i64, suf: *u8) -> i64 { 28 var sl: i64 = 0; while suf[sl] != (0 as u8) { sl = sl + 1 } 29 if l < sl { return 0 } 30 var i: i64 = 0 31 while i < sl { if a[o+l-sl+i] != suf[i] { return 0 } i = i + 1 } 32 return 1 33} 34// does buf[o..o+l) contain NUL-terminated pat? 35func dc_has(a: *u8, o: i64, l: i64, pat: *u8) -> i64 { 36 var pl: i64 = 0; while pat[pl] != (0 as u8) { pl = pl + 1 } 37 if pl == 0 { return 0 } 38 var i: i64 = 0 39 while i + pl <= l { 40 var m: i64 = 1 41 var j: i64 = 0 42 while j < pl { if a[o+i+j] != pat[j] { m = 0; j = pl } else { j = j + 1 } } 43 if m == 1 { return 1 } 44 i = i + 1 45 } 46 return 0 47} 48// data-plane extension? (.txt deliberately EXCLUDED: doc-noise; .html/.log = views/diagnostics) 49func dc_is_dp(a: *u8, o: i64, l: i64) -> i64 { 50 if dc_ends(a, o, l, ".tsv" as *u8) == 1 { return 1 } 51 if dc_ends(a, o, l, ".data" as *u8) == 1 { return 1 } 52 if dc_ends(a, o, l, ".reg" as *u8) == 1 { return 1 } 53 if dc_ends(a, o, l, ".conf" as *u8) == 1 { return 1 } 54 if dc_ends(a, o, l, ".csv" as *u8) == 1 { return 1 } 55 return 0 56} 57// scan ONE source buffer; print DP rows (dedup within file via tiny linear list); returns pairs found 58func dc_scan_buf(name: *u8, buf: *u8, n: i64) -> i64 { 59 let seen_off: *i64 = sys_mmap(64 * 8) as *i64 60 let seen_len: *i64 = sys_mmap(64 * 8) as *i64 61 var nseen: i64 = 0 62 var pairs: i64 = 0 63 var i: i64 = 0 64 var incmt: i64 = 0 65 while i < n { 66 let c: i64 = buf[i] as i64 67 if c == 10 { incmt = 0 } 68 if incmt == 0 { 69 if c == 47 { if i + 1 < n { if buf[i+1] == (47 as u8) { incmt = 1 } } } 70 if incmt == 0 { if c == 34 { 71 // quoted span: find closing quote on this line 72 var e: i64 = i + 1 73 var go: i64 = 1 74 while go == 1 { 75 if e >= n { go = 0 } else { 76 if buf[e] == (34 as u8) { go = 0 } else { if buf[e] == (10 as u8) { go = 0 } else { e = e + 1 } } 77 } 78 } 79 if e < n { if buf[e] == (34 as u8) { 80 let so: i64 = i + 1 81 let sl: i64 = e - so 82 if sl > 4 { if sl < 200 { if dc_is_dp(buf, so, sl) == 1 { 83 var skip: i64 = 0 84 if dc_has(buf, so, sl, "knowledge/store/" as *u8) == 1 { skip = 1 } 85 if dc_has(buf, so, sl, "/tmp/" as *u8) == 1 { skip = 1 } 86 if dc_has(buf, so, sl, "logs/" as *u8) == 1 { skip = 1 } 87 if dc_has(buf, so, sl, "superseded" as *u8) == 1 { skip = 1 } 88 if skip == 0 { 89 // dedup within this file 90 var dup: i64 = 0 91 var d: i64 = 0 92 while d < nseen { 93 if seen_len[d] == sl { 94 var eq: i64 = 1 95 var q: i64 = 0 96 while q < sl { if buf[seen_off[d]+q] != buf[so+q] { eq = 0; q = sl } else { q = q + 1 } } 97 if eq == 1 { dup = 1; d = nseen } 98 } 99 d = d + 1 100 } 101 if dup == 0 { 102 if nseen < 64 { seen_off[nseen] = so; seen_len[nseen] = sl; nseen = nseen + 1 } 103 dc_p("DP|" as *u8); dc_p(name); dc_p("|" as *u8) 104 sys_write(1, ((buf as i64)+so) as *u8, sl) 105 dc_p("\n" as *u8) 106 pairs = pairs + 1 107 } 108 } 109 } } } 110 i = e 111 } } 112 } } 113 } 114 i = i + 1 115 } 116 sys_munmap(seen_off as *u8, 64 * 8) 117 sys_munmap(seen_len as *u8, 64 * 8) 118 return pairs 119} 120// scan a directory of .nx files; returns pairs; organs[0] += files-with-any 121func dc_scan_dir(dir: *u8, fbuf: *u8, fcap: i64, organs: *i64) -> i64 { 122 let fd: i64 = sys_openat_rd(dir) 123 if fd < 0 { return 0 - 1 } 124 let db: *u8 = sys_mmap(K_MAGIC_65536) 125 let pathb: *u8 = sys_mmap(512) 126 var pairs: i64 = 0 127 var nr: i64 = 1 128 while nr > 0 { 129 nr = sys_getdents64(fd, db, K_MAGIC_65536) 130 if nr > 0 { 131 var o: i64 = 0 132 while o < nr { 133 let rl: i64 = (db[o+16] as i64) + ((db[o+17] as i64) * 256) 134 if rl <= 0 { o = nr } else { 135 if db[o+18] != (4 as u8) { 136 var nl: i64 = 0 137 while db[o+19+nl] != (0 as u8) { nl = nl + 1 } 138 if nl > 3 { if dc_ends(db, o+19, nl, ".nx" as *u8) == 1 { 139 var po: i64 = 0 140 var t: i64 = 0 141 while dir[t] != (0 as u8) { pathb[po] = dir[t]; po = po + 1; t = t + 1 } 142 pathb[po] = 47 as u8 143 po = po + 1 144 t = 0 145 while t < nl { pathb[po] = db[o+19+t]; po = po + 1; t = t + 1 } 146 pathb[po] = 0 as u8 147 let ffd: i64 = sys_openat_rd(pathb) 148 if ffd >= 0 { 149 var fn: i64 = 0 150 var r: i64 = 1 151 while r > 0 { r = sys_read(ffd, (fbuf as i64 + fn) as *u8, fcap - 1 - fn); if r > 0 { fn = fn + r } if fn >= fcap - 1 { r = 0 } } 152 sys_close(ffd) 153 let got: i64 = dc_scan_buf(pathb, fbuf, fn) 154 if got > 0 { organs[0] = organs[0] + 1; pairs = pairs + got } 155 } 156 } } 157 } 158 o = o + rl 159 } 160 } 161 } 162 } 163 sys_close(fd) 164 sys_munmap(db, K_MAGIC_65536) 165 sys_munmap(pathb, 512) 166 return pairs 167} 168 169func dc_gate() -> i64 { 170 dc_p("=== nx_dataplane_census GATE (planted fixtures; the ruler must discriminate) ===\n" as *u8) 171 var fail: i64 = 0 172 // planted source: one real DP literal + one comment-only + one store-path (skip) + one /tmp (skip) 173 let src: *u8 = sys_mmap(K_MAGIC_1024) 174 var o: i64 = 0 175 let l1: *u8 = "let a: i64 = sys_openat_rd(zq) // reads \"commented.tsv\" in prose\n" as *u8 176 var i: i64 = 0 177 while l1[i] != (0 as u8) { src[o] = l1[i]; o = o + 1; i = i + 1 } 178 let l2: *u8 = "let p: *u8 = \"knowledge/registry/real_plane.tsv\" as *u8\n" as *u8 179 i = 0 180 while l2[i] != (0 as u8) { src[o] = l2[i]; o = o + 1; i = i + 1 } 181 let l3: *u8 = "let s: *u8 = \"knowledge/store/foo-x.data\" as *u8\n" as *u8 182 i = 0 183 while l3[i] != (0 as u8) { src[o] = l3[i]; o = o + 1; i = i + 1 } 184 let l4: *u8 = "let t: *u8 = \"/tmp/scratch.csv\" as *u8\n" as *u8 185 i = 0 186 while l4[i] != (0 as u8) { src[o] = l4[i]; o = o + 1; i = i + 1 } 187 // duplicate of the real literal (dedup tooth) 188 i = 0 189 while l2[i] != (0 as u8) { src[o] = l2[i]; o = o + 1; i = i + 1 } 190 let got: i64 = dc_scan_buf("fixture.nx" as *u8, src, o) 191 if got == 1 { dc_p(" [PASS] exactly 1 pair: real literal counted; comment/store/tmp/duplicate all excluded\n" as *u8) } else { dc_p(" [FAIL] expected 1 pair, got " as *u8); dc_pn(got); dc_p("\n" as *u8); fail = 1 } 192 // negative control: a clean buffer must yield zero 193 let clean: *u8 = "func main(argc: i64, argv: *i64) -> i64 { return 0 }\n" as *u8 194 var cl: i64 = 0 195 while clean[cl] != (0 as u8) { cl = cl + 1 } 196 if dc_scan_buf("clean.nx" as *u8, clean, cl) == 0 { dc_p(" [PASS] neg-control: clean source -> 0 pairs\n" as *u8) } else { dc_p(" [FAIL] clean source counted\n" as *u8); fail = 1 } 197 if fail == 0 { dc_p("=== GATE GREEN ===\n" as *u8); sys_exit(0); return 0 } 198 dc_p("=== GATE RED ===\n" as *u8); sys_exit(1); return 1 199} 200 201func main(argc: i64, argv: *i64) -> i64 { 202 if argc < 2 { return dc_gate() } 203 if dc_streq(argv[1] as *u8, "gate" as *u8) == 1 { return dc_gate() } 204 if argc < 3 { dc_p("usage: nx_dataplane_census <core-dir> <organ-dir> | gate\n" as *u8); return 2 } 205 let fbuf: *u8 = sys_mmap(K_MAGIC_1048576) 206 let organs: *i64 = sys_mmap(16) as *i64 207 organs[0] = 0 208 let p1: i64 = dc_scan_dir(argv[1] as *u8, fbuf, K_MAGIC_1048576, organs) 209 let p2: i64 = dc_scan_dir(argv[2] as *u8, fbuf, K_MAGIC_1048576, organs) 210 if p1 < 0 { dc_p("FLAT-DATAPLANES scan-fail core-dir\n" as *u8); return 1 } 211 if p2 < 0 { dc_p("FLAT-DATAPLANES scan-fail organ-dir\n" as *u8); return 1 } 212 dc_p("FLAT-DATAPLANES pairs=" as *u8); dc_pn(p1 + p2) 213 dc_p(" organs=" as *u8); dc_pn(organs[0]) 214 dc_p(" (organ,path) flat-file data planes -- the store-law eat queue (rows above)\n" as *u8) 215 return 0 216}