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}