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}