code wiki / _hdl_build / nx_raci_context_probe_t50.nx

nx_raci_context_probe_t50.nx source

↩ module page · 28 lines · 1343 B

1import "../nx_orchestrate_raci.nx" 2import "nx_gate_verdict.nx" 3func main(argc:i64,argv:*i64)->i64{ 4 if argc!=2{return 2} 5 let c:*i64=gv_ctr() 6 let cwd:*u8=sys_mmap(SYS_PATH_MAX) 7 let role:*u8=sys_mmap(SYS_PATH_MAX) 8 let got:i64=sys_getcwd(cwd,SYS_PATH_MAX) 9 if got<0{return 3} 10 or_w("initial_cwd=");or_w(cwd);or_w("\n") 11 let initial:i64=orch_accountable("organize",role) 12 or_w("initial_organize_owner=");or_w(role);or_w("\n") 13 let changed:i64=sys_chdir(argv[1] as *u8) 14 gv_check("explicit context entered",changed==0,c) 15 if changed!=0{return 3} 16 let newcwd:i64=sys_getcwd(cwd,SYS_PATH_MAX) 17 gv_check("context observable",newcwd>0,c) 18 or_w("selected_cwd=");or_w(cwd);or_w("\n") 19 let organize:i64=orch_accountable("organize",role) 20 or_w("selected_organize_owner=");or_w(role);or_w("\n") 21 gv_check("real organize resolves librarian",organize==1&&or_eq(role,"librarian")==1,c) 22 let research:i64=orch_accountable("research",role) 23 or_w("selected_research_owner=");or_w(role);or_w("\n") 24 gv_check("real research resolves researcher",research==1&&or_eq(role,"researcher")==1,c) 25 gv_check("unknown still denied",orch_accountable("florblegork",role)==0,c) 26 gv_check("context changes initial missing result",initial==0&&organize==1,c) 27 return gv_verdict("RACI-CONTEXT",c,"read-only owner resolution; no migration, record, dispatch or store mutation") 28}