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}