code wiki / _hdl_build / nx_janitor_sweep_run.nx

nx_janitor_sweep_run.nx source

↩ module page · 47 lines · 2427 B

1// nx_janitor_sweep_run.nx -- thin RUNNER for the existing jan_sweep: migrate OUR non-sovereign data dirs 2// (the .tsv/.conf/.json the auditor flags as NONSOV_FORMAT) into the sovereign seg_store, byte-verified, 3// ADDITIVE (originals INTACT -> retire-ready; the actual count-drop = the GATED jan_retire step, because many 4// are human-edited sources still read by organs). Composes the existing nx_janitor_sweep -- no rebuild; this is 5// the by-hand sovereign migration doctrine (operator 2026-06-28: "get everything that's tsv/3rd-party onto the 6// nishi ecosystem"). expect_exit: 0 license_tier: ORIGINAL 7import "nx_janitor_sweep.nx" 8import "nx_syscalls.nx" 9 10func jsr_puts(s: *u8) -> i64 { var n: i64 = 0; while s[n] != (0 as u8) { n = n + 1 } sys_write(1, s, n); return 0 } 11func jsr_putn(v: i64) -> i64 { 12 if v == 0 { sys_write(1, "0" as *u8, 1); return 0 } 13 var m: i64 = v 14 if m < 0 { sys_write(1, "-" as *u8, 1); m = 0 - m } 15 let d: *u8 = sys_mmap(24); var k: i64 = 0 16 while m > 0 { d[k] = (48 + (m % 10)) as u8; m = m / 10; k = k + 1 } 17 var j: i64 = k - 1 18 while j >= 0 { sys_write(1, ((d as i64)+j) as *u8, 1); j = j - 1 } 19 return 0 20} 21// sweep ONE dir; print seen/migrated/byte-verified; return byte-verified count 22func jsr_one(dir: *u8) -> i64 { 23 let seen: *i64 = sys_mmap(16) as *i64 24 let mig: *i64 = sys_mmap(16) as *i64 25 let ver: *i64 = sys_mmap(16) as *i64 26 jan_sweep(dir, seen, mig, ver) 27 jsr_puts(" "); jsr_puts(dir) 28 jsr_puts(" seen="); jsr_putn(seen[0]) 29 jsr_puts(" migrated="); jsr_putn(mig[0]) 30 jsr_puts(" byte-verified="); jsr_putn(ver[0]); jsr_puts("\n" as *u8) 31 return ver[0] 32} 33func main() -> i64 { 34 jsr_puts("JANITOR SWEEP-RUN: migrate OUR non-sov data -> seg_store (additive, byte-verified, originals intact)\n" as *u8) 35 var tot: i64 = 0 36 tot = tot + jsr_one("knowledge/registry" as *u8) 37 tot = tot + jsr_one("knowledge/publish" as *u8) 38 tot = tot + jsr_one("knowledge/status" as *u8) 39 tot = tot + jsr_one("knowledge/research" as *u8) 40 tot = tot + jsr_one("knowledge/index" as *u8) 41 tot = tot + jsr_one("knowledge/hosting" as *u8) 42 tot = tot + jsr_one("knowledge/hub" as *u8) 43 tot = tot + jsr_one("knowledge/channel" as *u8) 44 jsr_puts("TOTAL byte-verified (retire-ready in seg_store): "); jsr_putn(tot) 45 jsr_puts(" (originals INTACT; retire = gated count-drop for human-edited sources)\n" as *u8) 46 return 0 47}