code wiki / (root) / nx_matter.nx

nx_matter.nx source

↩ module page · 42 lines · 2093 B

1// nx_matter.nx -- Nishi Office Matter/Client spine (F502) CLI/MCP organ: self-verifying demo 2// over nx_matter_lib (the same shipped code the independent gate imports). 3// Proves live: records persist, CONFLICTS CHECK finds cross-matter matches, clears novel 4// parties, field-decode round-trips. license_tier: ORIGINAL 5 6import "nx_matter_lib.nx" 7const K_MAGIC_1024: i64 = 1024 8 9func main() -> i64 { 10 let p: *u8 = "/tmp/nx_matter_demo-" as *u8 11 mt_client_put(p, "C1" as *u8, "Acme Corp" as *u8, "gc@acme.com" as *u8) 12 mt_matter_put(p, "M1" as *u8, "C1" as *u8, "Acme v Beta" as *u8, "litigation" as *u8) 13 mt_party_add(p, "M1" as *u8, 0, "Alice Adams" as *u8, "plaintiff" as *u8) 14 mt_party_add(p, "M1" as *u8, 1, "Bob Baker" as *u8, "defendant" as *u8) 15 mt_matter_put(p, "M2" as *u8, "C1" as *u8, "Acme acquisition" as *u8, "corporate" as *u8) 16 mt_party_add(p, "M2" as *u8, 0, "Carol Chen" as *u8, "counterparty" as *u8) 17 mt_party_add(p, "M2" as *u8, 1, "Bob Baker" as *u8, "guarantor" as *u8) 18 19 let mm: *u8 = sys_mmap(K_MAGIC_1024) 20 let cB: i64 = mt_conflict(p, "Bob Baker" as *u8, mm) 21 if cB != 2 { return __syscall(93, 31, 0, 0, 0, 0, 0) } 22 let mz: *u8 = sys_mmap(K_MAGIC_1024) 23 let cZ: i64 = mt_conflict(p, "Zoe Zane" as *u8, mz) 24 if cZ != 0 { return __syscall(93, 32, 0, 0, 0, 0, 0) } 25 let ttl: *u8 = sys_mmap(256) 26 mt_matter_field(p, "M1" as *u8, "title" as *u8, 5, ttl) 27 if mt_streq(ttl, "Acme v Beta" as *u8) == 0 { return __syscall(93, 33, 0, 0, 0, 0, 0) } 28 29 let out: *u8 = sys_mmap(512) 30 var o: i64 = 0 31 o = mt_catcopy(out, o, "NISHI-MATTER OK clients=1 matters=2 parties=4 conflict(Bob Baker)=" as *u8) 32 o = mt_catn(out, o, cB) 33 o = mt_catcopy(out, o, "[" as *u8) 34 var z: i64 = 0 35 while mm[z] != (0 as u8) { if mm[z] == 10 as u8 { out[o] = 44 as u8 } else { out[o] = mm[z] } o = o + 1; z = z + 1 } 36 o = mt_catcopy(out, o, "] conflict(Zoe Zane)=CLEAR M1.title=" as *u8) 37 o = mt_catcopy(out, o, ttl) 38 out[o] = 10 as u8 39 o = o + 1 40 sys_write(1, out, o) 41 return __syscall(93, 0, 0, 0, 0, 0, 0) 42}