code wiki / (root) / nx_box.nx

nx_box.nx source

↩ module page · 43 lines · 2048 B

1// nx_box.nx -- Nishi Box (F503) CLI/MCP organ: self-verifying demo over nx_box_lib. 2// Matter-scoped legal DMS: privilege tags, PRIVILEGE LOG (e-discovery), Bates, isolation. 3// license_tier: ORIGINAL 4 5import "nx_box_lib.nx" 6const K_MAGIC_1024: i64 = 1024 7 8func main() -> i64 { 9 let p: *u8 = "/tmp/nx_box_demo-" as *u8 10 let b1: *u8 = sys_mmap(64) 11 box_bates("ACME" as *u8, 1, b1) 12 let b2: *u8 = sys_mmap(64) 13 box_bates("ACME" as *u8, 2, b2) 14 let b3: *u8 = sys_mmap(64) 15 box_bates("ACME" as *u8, 3, b3) 16 let bb: *u8 = sys_mmap(64) 17 box_bates("BETA" as *u8, 1, bb) 18 box_doc_put(p, "M1" as *u8, "D1" as *u8, "Complaint" as *u8, "nxc1-doc1" as *u8, "no" as *u8, b1) 19 box_doc_put(p, "M1" as *u8, "D2" as *u8, "Privileged memo" as *u8, "nxc1-doc2" as *u8, "yes" as *u8, b2) 20 box_doc_put(p, "M1" as *u8, "D3" as *u8, "Attorney notes" as *u8, "nxc1-doc3" as *u8, "yes" as *u8, b3) 21 box_doc_put(p, "M2" as *u8, "D1" as *u8, "Other matter doc" as *u8, "nxc1-doc4" as *u8, "no" as *u8, bb) 22 23 let npriv: *i64 = sys_mmap(16) as *i64 24 let plog: *u8 = sys_mmap(K_MAGIC_1024) 25 let total: i64 = box_matter_scan(p, "M1" as *u8, npriv, plog) 26 if total != 3 { return __syscall(93, 71, 0, 0, 0, 0, 0) } 27 if npriv[0] != 2 { return __syscall(93, 72, 0, 0, 0, 0, 0) } 28 let np2: *i64 = sys_mmap(16) as *i64 29 let pl2: *u8 = sys_mmap(256) 30 if box_matter_scan(p, "M2" as *u8, np2, pl2) != 1 { return __syscall(93, 73, 0, 0, 0, 0, 0) } 31 if np2[0] != 0 { return __syscall(93, 74, 0, 0, 0, 0, 0) } 32 33 let out: *u8 = sys_mmap(512) 34 var o: i64 = 0 35 o = mt_catcopy(out, o, "NISHI-BOX OK matter=M1 docs=3 privileged=2 privilege-log=[" as *u8) 36 var z: i64 = 0 37 while plog[z] != (0 as u8) { if plog[z] == 10 as u8 { out[o] = 44 as u8 } else { out[o] = plog[z] } o = o + 1; z = z + 1 } 38 o = mt_catcopy(out, o, "] M2-isolated-docs=1 privileged=0 (privilege-log = e-discovery deliverable)" as *u8) 39 out[o] = 10 as u8 40 o = o + 1 41 sys_write(1, out, o) 42 return __syscall(93, 0, 0, 0, 0, 0, 0) 43}