code wiki / (root) / nx_crew_activity_gate_20260909.nx

nx_crew_activity_gate_20260909.nx source

↩ module page · 33 lines · 1976 B

1// Original Nishi crew dispatch regression against the live estate registry. 2// Lookup must select the requested activity before any RACI-gated execution. 3import "nx_crew_serve.nx" 4func cr_expect(role: *u8, activity: *u8, expected: *u8) -> i64 { 5 let organ: *u8 = sys_mmap(64) 6 let selected: *u8 = sys_mmap(64) 7 let found: i64 = cs_lookup_activity(role, activity, organ, selected) 8 var bad: i64 = 0 9 if found != 1 { bad = 1 } 10 if cs_streq(selected, activity) != 1 { bad = 1 } 11 if cs_streq(organ, expected) != 1 { bad = 1 } 12 cs_raw(role); cs_raw("/"); cs_raw(activity); cs_raw(" failures="); cs_wn(bad); cs_raw("\n") 13 return bad 14} 15func main(argc: i64, argv: *i64) -> i64 { 16 var failures: i64 = 0 17 failures = failures + cr_expect("conductor", "dispatch", "nx_conductor") 18 failures = failures + cr_expect("conductor", "tend_queue", "nx_swarm_tend") 19 failures = failures + cr_expect("conductor", "freshness_checkin", "nx_evidence_checkin") 20 failures = failures + cr_expect("publisher", "evidence_publish", "nx_evidence_pack") 21 failures = failures + cr_expect("examiner", "visual_regression", "nx_visual_diff") 22 failures = failures + cr_expect("pm", "schedule_resources", "nx_swarm_queue") 23 let organ: *u8 = sys_mmap(64) 24 let selected: *u8 = sys_mmap(64) 25 if cs_lookup_activity("conductor", "unregistered_activity", organ, selected) != 0 { failures = failures + 1 } 26 if cs_lookup_activity("unregistered_role", "dispatch", organ, selected) != 0 { failures = failures + 1 } 27 if cs_lookup_activity("conductor", "manufacture", organ, selected) != 0 { failures = failures + 1 } 28 if cs_lookup_organ("conductor", organ, selected) != 1 { failures = failures + 1 } 29 if cs_streq(organ, "nx_conductor") != 1 { failures = failures + 1 } 30 if cs_is_accountable("conductor", "unregistered_activity") != 0 { failures = failures + 1 } 31 cs_raw("CREW-ACTIVITY failures="); cs_wn(failures); cs_raw("\n") 32 return failures 33}