code wiki / _hdl_build / nx_role_store_gate.nx

nx_role_store_gate.nx source

↩ module page · 100 lines · 7070 B

1import "nx_gate_base.nx" 2// nx_role_store_gate.nx -- SOVEREIGN end-to-end gate for the roles/*.tsv -> seg-store migration (operator 3// 2026-06-22: "migrate and get rid of these tsvs just nishi ecosystem"). Proves, with raw measured checks + 4// liar-kill + neg-control, that the role-coordination layer is now the sovereign seg-store and NO TSV remains: 5// T1 MIGRATED BASELINE present -- the 4 channels hold (at least) the migrated rows, structured (5+ fields). 6// T2 APPEND ROUNDTRIP -- rs_append into an isolated gatetestq channel reads back BYTE-EXACT. 7// T3 WRITER ROUTES TO STORE -- the REAL rq_submit writer lands its row in the store channel (not a .tsv). 8// T4 STATUS MUTATE (pump) -- rs_row_set overwrites a row; latest version wins (PENDING->APPLIED). 9// T5 LIAR-KILL -- a seq beyond count is ABSENT (-1); no fabricated row is ever returned. 10// T6 NEG-CONTROL -- an unknown channel has count 0 and absent rows. 11// T7 NO-TSV -- the 4 retired knowledge/roles/*.tsv files do NOT exist (retirement holds). 12// expect_exit: 0 license_tier: ORIGINAL 13import "nx_role_store.nx" // rs_append / rs_row_set / rs_get_seq / rs_count / rs_field 14import "nx_role_queue.nx" // rq_submit -- the REAL writer (proves it routes to the store) 15import "nx_syscalls.nx" 16 17func grow(name: *u8, ok: i64) -> i64 { if ok==1 { gw(" PASS " as *u8) } else { gw(" FAIL " as *u8) } gw(name); gw(" 18" as *u8); return ok } 19func gn(v: i64) -> i64 { let b: *u8=sys_mmap(28); let e: i64=rs_itoa(b,v); sys_write(1,b,e); return 0 } 20func g_exists(p: *u8) -> i64 { let fd: i64=sys_openat_rd(p); if fd>=0 { sys_close(fd); return 1 } return 0 } 21func g_streqn(a: *u8, b: *u8, n: i64) -> i64 { var i: i64=0; while i<n { if a[i]!=b[i]{return 0} i=i+1 } return 1 } 22// does row <ch>:<seq> read back byte-exact equal to val[0..vlen)? 23func g_row_eq(ch: *u8, seq: i64, val: *u8, vlen: i64) -> i64 { 24 let pq: *i64=sys_mmap(16) as *i64; let lq: *i64=sys_mmap(16) as *i64 25 if rs_get_seq(ch, seq, pq, lq) != 1 { return 0 } 26 if lq[0] != vlen { return 0 } 27 return g_streqn(pq[0] as *u8, val, vlen) 28} 29// does any row of channel ch contain needle? 30func g_chan_has(ch: *u8, needle: *u8) -> i64 { 31 let n: i64=rs_count(ch); let pq: *i64=sys_mmap(16) as *i64; let lq: *i64=sys_mmap(16) as *i64 32 var nn: i64=0; while needle[nn]!=(0 as u8){nn=nn+1} 33 var seq: i64=0 34 while seq<n { 35 if rs_get_seq(ch, seq, pq, lq)==1 { let b: *u8=pq[0] as *u8; let bl: i64=lq[0] 36 if nn>0 { var i: i64=0; while i+nn<=bl { var j: i64=0; var ok: i64=1; while j<nn { if b[i+j]!=needle[j]{ok=0;j=nn} else {j=j+1} } if ok==1{return 1} i=i+1 } } } 37 seq=seq+1 38 } 39 return 0 40} 41 42func main() -> i64 { 43 gw("=== nx_role_store_gate: roles/*.tsv -> sovereign seg-store, end-to-end (NO TSV) ===\n" as *u8) 44 var pass: i64=0; var total: i64=0 45 46 // T1 -- migrated baseline present + structured 47 let cpm: i64=rs_count("pmcoord" as *u8); let ceq: i64=rs_count("engineerq" as *u8) 48 let cdq: i64=rs_count("doctorq" as *u8); let cel: i64=rs_count("engineerl" as *u8) 49 let f4: *u8=sys_mmap(256); let pq0: *i64=sys_mmap(16) as *i64; let lq0: *i64=sys_mmap(16) as *i64 50 var structured: i64=0 51 if rs_get_seq("pmcoord" as *u8, 0, pq0, lq0)==1 { if rs_field(pq0[0] as *u8, lq0[0], 4, f4) > 0 { structured=1 } } 52 total=total+1 53 if cpm>=24 { if ceq>=17 { if cdq>=1 { if cel>=1 { if structured==1 { pass=pass+1; gw("[PASS] " as *u8) } else { gw("[FAIL] " as *u8) } } else { gw("[FAIL] " as *u8) } } else { gw("[FAIL] " as *u8) } } else { gw("[FAIL] " as *u8) } } else { gw("[FAIL] " as *u8) } 54 gw("T1 migrated baseline pmcoord=" as *u8); gn(cpm); gw(" engineerq=" as *u8); gn(ceq); gw(" doctorq=" as *u8); gn(cdq); gw(" engineerl=" as *u8); gn(cel); gw(" (5-field row ok)\n" as *u8) 55 56 // T2 -- append roundtrip into isolated gatetestq channel, byte-exact readback 57 let tv: *u8 = "PENDING\t1782200000\tgatetest\tROLESTOREGATE-T2\t/tmp/g\t/tmp/o\t/tmp/n" as *u8 58 var tl: i64=0; while tv[tl]!=(0 as u8){tl=tl+1} 59 let seq2: i64 = rs_append("gatetestq" as *u8, tv, tl) 60 total=total+1 61 if seq2>=0 { if g_row_eq("gatetestq" as *u8, seq2, tv, tl)==1 { pass=pass+1; gw("[PASS] " as *u8) } else { gw("[FAIL] " as *u8) } } else { gw("[FAIL] " as *u8) } 62 gw("T2 rs_append roundtrip byte-exact at seq=" as *u8); gn(seq2); gw("\n" as *u8) 63 64 // T3 -- the REAL writer rq_submit routes into the store channel gatewq (role 'gatew' -> 'gatewq') 65 rq_submit("gatew" as *u8, "/tmp/gtgt" as *u8, "/tmp/gold" as *u8, "/tmp/gnew" as *u8, "ROLESTOREGATE-T3" as *u8) 66 total=total+1 67 if g_chan_has("gatewq" as *u8, "ROLESTOREGATE-T3" as *u8)==1 { pass=pass+1; gw("[PASS] " as *u8) } else { gw("[FAIL] " as *u8) } 68 gw("T3 rq_submit (the real writer) landed in the gatewq seg-store channel, NO TSV\n" as *u8) 69 70 // T4 -- status mutate: overwrite seq2 PENDING->APPLIED; latest version wins 71 let av: *u8 = "APPLIED\t1782200000\tgatetest\tROLESTOREGATE-T2\t/tmp/g\t/tmp/o\t/tmp/n" as *u8 72 var al: i64=0; while av[al]!=(0 as u8){al=al+1} 73 rs_row_set("gatetestq" as *u8, seq2, av, al) 74 total=total+1 75 if g_row_eq("gatetestq" as *u8, seq2, av, al)==1 { pass=pass+1; gw("[PASS] " as *u8) } else { gw("[FAIL] " as *u8) } 76 gw("T4 rs_row_set status mutate (PENDING->APPLIED) last-wins at seq=" as *u8); gn(seq2); gw("\n" as *u8) 77 78 // T5 -- liar-kill: a seq beyond the channel count is ABSENT (no fabricated row) 79 let beyond: i64 = rs_count("gatetestq" as *u8) + 100000 80 let pqx: *i64=sys_mmap(16) as *i64; let lqx: *i64=sys_mmap(16) as *i64 81 total=total+1 82 if rs_get_seq("gatetestq" as *u8, beyond, pqx, lqx) == (0 - 1) { pass=pass+1; gw("[PASS] " as *u8) } else { gw("[FAIL] " as *u8) } 83 gw("T5 liar-kill: seq beyond count is ABSENT (-1), no fabricated row\n" as *u8) 84 85 // T6 -- neg-control: unknown channel has count 0 and absent rows 86 total=total+1 87 if rs_count("no_such_channel_xyz" as *u8)==0 { if rs_get_seq("no_such_channel_xyz" as *u8, 0, pqx, lqx)==(0 - 1) { pass=pass+1; gw("[PASS] " as *u8) } else { gw("[FAIL] " as *u8) } } else { gw("[FAIL] " as *u8) } 88 gw("T6 neg-control: unknown channel count=0 + rows absent\n" as *u8) 89 90 // T7 -- NO-TSV: the 4 retired role files do NOT exist under knowledge/roles/ 91 var ntsv: i64=0 92 if g_exists("knowledge/roles/pm_coord.tsv" as *u8)==0 { if g_exists("knowledge/roles/engineer_queue.tsv" as *u8)==0 { if g_exists("knowledge/roles/doctor_queue.tsv" as *u8)==0 { if g_exists("knowledge/roles/engineer_ledger.tsv" as *u8)==0 { ntsv=1 } } } } 93 total=total+1 94 if ntsv==1 { pass=pass+1; gw("[PASS] " as *u8) } else { gw("[FAIL] " as *u8) } 95 gw("T7 NO-TSV: the 4 knowledge/roles/*.tsv are retired/absent (store is the SSOT)\n" as *u8) 96 97 gw("\n=== nx_role_store_gate " as *u8); gn(pass); gw("/" as *u8); gn(total) 98 if pass==total { gw(" GREEN (the role layer is the sovereign seg-store; NO TSV)\n" as *u8); sys_exit(0); return 0 } 99 gw(" RED\n" as *u8); sys_exit(1); return 1 100}