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}