code wiki / _hdl_build / nx_reader_sclass_coverage.nx

nx_reader_sclass_coverage.nx source

↩ module page · 111 lines · 5415 B

1// nx_reader_sclass_coverage.nx -- measures the Nishi reader's coverage of the S-class target (Reader-arc). 2// 3// AUTHOR=ORGAN, HONEST (no-wave): reads the census from the SOVEREIGN seg-store (knowledge/store/rcen-*, via 4// nx_reader_census_store -- NO TSV; operator 2026-06-21 "stop using tsv") and COUNTS how many capabilities the 5// Nishi reader currently HAS / PARTIAL / is MISSING -- a measured self-assessment, NOT an exceed claim. It prints 6// the prioritized GAP list (every PARTIAL/MISSING capability, tier-1 = the moat) to stdout + the run log (a .log, 7// not a data store). Coverage permil = (HAVE*1000 + PARTIAL*500) / total. license_tier: ORIGINAL 8import "nx_reader_census_store.nx" // RC_PREFIX / rc_get / rc_field 9import "nx_seg_store.nx" 10import "nx_syscalls.nx" 11 12const SC_LOG: *u8 = "knowledge/status/reader_sclass_coverage.log" 13 14func sc_p(s: *u8) -> i64 { var n: i64=0; while s[n]!=(0 as u8){n=n+1} sys_write(1,s,n); return 0 } 15func sc_fp(fd: i64, s: *u8) -> i64 { var n: i64=0; while s[n]!=(0 as u8){n=n+1} sys_write(fd,s,n); return 0 } 16func sc_fn(fd: i64, 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)) as u8;m=m/10;k=k+1}; var i: i64=0; while i<k{bb[i]=t[k-1-i];i=i+1}; sys_write(fd,bb,k); return 0 } 17func sc_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 } 18 19func main() -> i64 { 20 sc_p("=== nx_reader_sclass_coverage: Nishi reader vs S-class target (from the sovereign seg-store, NO TSV) ===\n" as *u8) 21 22 // the index: rc:ids = TAB-separated capability ids 23 let pq: *i64 = sys_mmap(16) as *i64 24 let lq: *i64 = sys_mmap(16) as *i64 25 if rc_get("rc:ids" as *u8, pq, lq) != 1 { 26 sc_p("SCLASS-COVERAGE verdict=RED reason=census-store-empty (run nx_reader_census to migrate)\n" as *u8); sys_exit(1); return 1 27 } 28 let ids: *u8 = pq[0] as *u8 29 let idn: i64 = lq[0] 30 31 let idbuf: *u8 = sys_mmap(64) 32 let keybuf: *u8 = sys_mmap(128) 33 let stbuf: *u8 = sys_mmap(64) 34 let tibuf: *u8 = sys_mmap(64) 35 let dibuf: *u8 = sys_mmap(128) 36 let rq: *i64 = sys_mmap(16) as *i64 37 let rl: *i64 = sys_mmap(16) as *i64 38 39 var have: i64 = 0 40 var partial: i64 = 0 41 var missing: i64 = 0 42 var total: i64 = 0 43 var tier1_gap: i64 = 0 44 45 var i: i64 = 0 46 while i < idn { 47 var o: i64 = 0 48 while i < idn { if ids[i] == (9 as u8) { break } idbuf[o] = ids[i]; o = o + 1; i = i + 1 } 49 if i < idn { i = i + 1 } // skip the TAB 50 idbuf[o] = 0 as u8 51 if o > 0 { 52 keybuf[0] = 114 as u8; keybuf[1] = 99 as u8; keybuf[2] = 58 as u8 // "rc:" 53 var k: i64 = 0 54 while k < o { keybuf[3 + k] = idbuf[k]; k = k + 1 } 55 keybuf[3 + o] = 0 as u8 56 if rc_get(keybuf, rq, rl) == 1 { 57 let rec: *u8 = rq[0] as *u8 58 let rln: i64 = rl[0] 59 rc_field(rec, rln, 5, stbuf) // status field 60 var st: i64 = 0 61 if sc_streq(stbuf, "HAVE" as *u8) == 1 { st = 1 } 62 else { if sc_streq(stbuf, "PARTIAL" as *u8) == 1 { st = 2 } 63 else { if sc_streq(stbuf, "MISSING" as *u8) == 1 { st = 3 } } } 64 if st > 0 { 65 total = total + 1 66 if st == 1 { have = have + 1 } 67 if st == 2 { partial = partial + 1 } 68 if st == 3 { missing = missing + 1 } 69 if st != 1 { 70 rc_field(rec, rln, 1, tibuf) // tier 71 rc_field(rec, rln, 2, dibuf) // dimension 72 if sc_streq(tibuf, "1" as *u8) == 1 { tier1_gap = tier1_gap + 1 } 73 sc_p(" GAP " as *u8); sc_p(idbuf); sc_p(" t" as *u8); sc_p(tibuf) 74 sc_p(" " as *u8); sc_p(stbuf); sc_p(" " as *u8); sc_p(dibuf); sc_p("\n" as *u8) 75 } 76 } 77 } 78 } 79 } 80 81 var cov: i64 = 0 82 if total > 0 { cov = (have*1000 + partial*500) / total } 83 84 sc_p(" total=" as *u8); sc_fn(1, total) 85 sc_p(" HAVE=" as *u8); sc_fn(1, have) 86 sc_p(" PARTIAL=" as *u8); sc_fn(1, partial) 87 sc_p(" MISSING=" as *u8); sc_fn(1, missing) 88 sc_p(" coverage_permil=" as *u8); sc_fn(1, cov) 89 sc_p(" tier1_gaps=" as *u8); sc_fn(1, tier1_gap) 90 sc_p("\n (gaps printed above; census SSOT = the sovereign seg-store knowledge/store/rcen-, NO TSV)\n" as *u8) 91 92 let lf: i64 = sys_openat_append(SC_LOG, 0x1a4) 93 if lf >= 0 { 94 sc_fp(lf, "SCLASS-COVERAGE store=rcen total=" as *u8); sc_fn(lf, total) 95 sc_fp(lf, " have=" as *u8); sc_fn(lf, have) 96 sc_fp(lf, " partial=" as *u8); sc_fn(lf, partial) 97 sc_fp(lf, " missing=" as *u8); sc_fn(lf, missing) 98 sc_fp(lf, " coverage_permil=" as *u8); sc_fn(lf, cov) 99 sc_fp(lf, " tier1_gaps=" as *u8); sc_fn(lf, tier1_gap) 100 sc_fp(lf, " epoch=" as *u8); sc_fn(lf, sys_now_realtime_sec()) 101 sc_fp(lf, "\n" as *u8) 102 sys_close(lf) 103 } 104 105 if total > 0 { 106 sc_p("SCLASS-COVERAGE verdict=GREEN (measured from the sovereign seg-store; honest self-assessment, NOT an exceed claim)\n" as *u8) 107 sys_exit(0); return 0 108 } 109 sc_p("SCLASS-COVERAGE verdict=RED (no rows in the store)\n" as *u8) 110 sys_exit(1); return 1 111}