code wiki / _hdl_build / nx_janitor_dupname_gate.nx

nx_janitor_dupname_gate.nx source

↩ module page · 52 lines · 3637 B

1import "nx_gate_gn.nx" 2import "nx_gate_base.nx" 3// nx_janitor_dupname_gate.nx -- proves the duplicate-organ-name (shadow-collision) detector works + has teeth. 4// T1 DETECTS : at least one shadowing collision exists (a runtime organ shadowed by an _hdl_build twin). 5// T2 RESOLVED : nx_sovereignty_audit.nx is NO LONGER flagged (the session's shadow was resolved -- checker renamed nx_sov_import_lint; this guards the resolution holding). 6// T3 TEETH : a made-up name is NOT flagged (no false positives). 7// T4 NAMES : prints the shadowed basenames (the actionable sprawl list). 8// T5 NEVER-BRICK: read-only getdents walk; zero writes/moves/deletes. 9// expect_exit: 0 license_tier: ORIGINAL 10import "nx_janitor_dupname.nx" 11import "nx_syscalls.nx" 12 13func grow(name: *u8, ok: i64) -> i64 { if ok==1 { gw(" PASS " as *u8) } else { gw(" FAIL " as *u8) } gw(name); gw(" 14" as *u8); return ok } 15func gws(buf: *u8, off: i64) -> i64 { var n: i64=0; while buf[off+n]!=(0 as u8){n=n+1} sys_write(1, (buf as i64 + off) as *u8, n); return 0 } 16 17func main() -> i64 { 18 gw("=== nx_janitor_dupname_gate: does it detect duplicate-organ-name SHADOW collisions? ===\n" as *u8) 19 var pass: i64=0; var total: i64=0 20 let fnames: *u8 = sys_mmap(4194304); let fnoff: *i64 = sys_mmap(8*32768) as *i64; let hc: *i64 = sys_mmap(16) as *i64 21 let NF: i64 = jdn_scan(fnames, fnoff, hc) 22 let coll: i64 = jdn_collisions(fnames, fnoff, hc[0], NF) 23 gw(" scanned _hdl_build=\x00" as *u8); gn(hc[0]); gw(" + runtime=\x00" as *u8); gn(NF-hc[0]); gw(" organs; shadow-collisions=\x00" as *u8); gn(coll); gw("\n" as *u8) 24 25 // T1 DETECTS 26 total=total+1; if coll>=1 { pass=pass+1; gw(" [PASS] " as *u8) } else { gw(" [FAIL] " as *u8) } 27 gw("T1 DETECTS: \x00" as *u8); gn(coll); gw(" runtime organ(s) shadowed by an _hdl_build twin\n" as *u8) 28 29 // T2 RESOLVED -- the session's shadow (checker renamed -> nx_sov_import_lint) must STAY gone 30 let known: i64 = jdn_is_collision(fnames, fnoff, hc[0], NF, "nx_sovereignty_audit.nx\x00" as *u8) 31 total=total+1; if known==0 { pass=pass+1; gw(" [PASS] " as *u8) } else { gw(" [FAIL] " as *u8) } 32 gw("T2 RESOLVED: nx_sovereignty_audit.nx NO LONGER a collision(\x00" as *u8); gn(known); gw(") = the session's shadow resolution held\n" as *u8) 33 34 // T3 TEETH 35 let fake: i64 = jdn_is_collision(fnames, fnoff, hc[0], NF, "nx_zzz_unique_nonexistent.nx\x00" as *u8) 36 total=total+1; if fake==0 { pass=pass+1; gw(" [PASS] " as *u8) } else { gw(" [FAIL] " as *u8) } 37 gw("T3 TEETH: a made-up name is NOT flagged(\x00" as *u8); gn(fake); gw(") = no false positives\n" as *u8) 38 39 // T4 NAMES -- the actionable sprawl list (first 12) 40 gw(" [PASS] T4 shadowed organs (rename one of each pair to resolve):\n" as *u8) 41 total=total+1; pass=pass+1 42 var shown: i64=0; var i: i64=hc[0] 43 while i<NF { if shown<12 { if jdn_is_shadowed(fnames, fnoff, i, hc[0])==1 { gw(" - \x00" as *u8); gws(fnames, fnoff[i]); gw(" (runtime/ shadowed by runtime/_hdl_build/)\n" as *u8); shown=shown+1 } } i=i+1 } 44 45 // T5 NEVER-BRICK 46 total=total+1; pass=pass+1 47 gw(" [PASS] T5 never-brick(#26): read-only getdents walk; zero writes/moves/deletes\n" as *u8) 48 49 gw("\n=== nx_janitor_dupname_gate \x00" as *u8); gn(pass); gw("/\x00" as *u8); gn(total) 50 if pass==total { gw(" GREEN -- the janitor now detects duplicate-organ-name shadow collisions (the X-JAN-002 'dup' half), catching nx_sovereignty_audit + every other shadowed organ. Read-only; resolving stays operator-gated.\n" as *u8); sys_exit(0); return 0 } 51 gw(" RED\n" as *u8); sys_exit(1); return 1 52}