code wiki / _hdl_build / nx_build_raci.nx
nx_build_raci.nx
buildroot/runtime/_hdl_build/nx_build_raci.nx
about
nx_build_raci.nx -- CLEAN RACI for the build pipeline (operator: "the doctor doesnt test the engineer
does, the doctor fixes... make sure the raci is clean as we keep building up the team"). Encodes +
ENFORCES who does what so roles never blur again:
BUILDER AUTHORS the module (Responsible)
ENGINEER VERIFIES/TESTS it (the gate) (Responsible) <- NOT the Doctor
DOCTOR HEALS it when the test fails (Responsible) <- the FIX, doc_rebuild
COUNCIL ADMITS/registers the proven cap (Accountable) <- exactly one owner
The flow: author -> Engineer test; if FAIL -> Doctor heal -> Engineer RE-test; admit only when the
test PASSES. SEPARATION OF DUTIES: the tester, the healer, and the author must be DIFFERENT roles --
you cannot test your own build, nor heal-and-pass your own failure. Composes nx_raci_collab
(raci_clean = exactly 1 accountable). LAWS: struct-free, integer-only. license_tier: ORIGINAL
dependencies 2 imports · 3 importers
imports: nx_raci_collab.nxnx_syscalls.nx
imported by: nx_build_pipeline.nxnx_build_raci_test.nxnx_raci_audit.nx
structs
| none |
consts
| 16 | const BR_BUILDER: i64 = 1 |
| 17 | const BR_ENGINEER: i64 = 2 |
| 18 | const BR_DOCTOR: i64 = 3 |
| 19 | const BR_COUNCIL: i64 = 4 |
| 22 | const BR_FLOW_ADMIT: i64 = 1 // tested green -> admitted |
| 23 | const BR_FLOW_HEAL: i64 = 2 // tested red -> route to Doctor to heal, then re-test |
| 24 | const BR_FLOW_REJECT: i64 = 3 // healed and STILL red after the heal budget -> reject (no false-admit) |
| 25 | const BR_FLOW_RACI_BAD: i64 = 0 // roles blurred (separation violated) -> the pipeline itself is invalid |
functions
| 28 | func br_separation_ok(author: i64, tester: i64, healer: i64) -> i64 |
| 36 | func br_roles_correct(tester: i64, healer: i64) -> i64 |
| 44 | func br_decide(author: i64, tester: i64, healer: i64, admitter_accountable_count: i64, called by 4: ba_rung_stagebp_runmainca_rung_stage calls 3: br_separation_okbr_roles_correctraci_clean |
| 56 | func br_may_admit(committer_role_code: i64) -> i64 { return raci_may_commit(committer_role_code) } |