code wiki / _hdl_build / nx_roster_full.nx

nx_roster_full.nx

buildroot/runtime/_hdl_build/nx_roster_full.nx

6719 B114 linesdepth 3pulls 3 transitivereach 1 importersview sourcekind library
docsdependenciesstructsconstsfunctions

about

nx_roster_full.nx -- the COMPLETE team roster + partition audit (operator: "make sure we dont miss genealogist and the other novel roles we have and their capabilities"). My earlier nx_raci_audit had only 10 roles -- it MISSED the novel ones (Racing/Examiner/Critic/Auditor/Genealogist/Caretaker/ Scientist/Market-Researcher/Hub + the Conductor/Warden split). This audits ALL ~20, each bound to ONE distinct VERB and mapped to its OWNING capability, and proves the partition is clean -- with a special guard on the EVALUATION CLUSTER (Racing/Referee/Examiner/Critic/Auditor) which the v1 roster wrongly folded together: COMPETE / JUDGE / SELF-GRADE / COUNTER / AUDIT are five different verbs. Composes nx_role_audit (ra_distinct). LAWS: struct-free, integer-only. license_tier: ORIGINAL

dependencies 2 imports · 1 importers

nx_role_audit.nx nx_syscalls.nx nx_roster_full.nx nx_roster_full_test.nx

imports: nx_role_audit.nxnx_syscalls.nx

imported by: nx_roster_full_test.nx

structs

none

consts

12const RST_N: i64 = 20
14const TV_AUTHOR: i64 = 1 // BUILDER [nx_scaffold_author / nx_pattern_emit]
15const TV_TEST: i64 = 2 // ENGINEER [nx_engineer_verify]
16const TV_HEAL: i64 = 3 // DOCTOR [nx_doctor_build]
17const TV_SEARCH: i64 = 4 // RESEARCHER [nx_research_synth / nx_research_backlog]
18const TV_JUDGE: i64 = 5 // REFEREE [nx_referee]
19const TV_PLAN: i64 = 6 // PM [nx_pm_plan / nx_assign_gen]
20const TV_ADMIT: i64 = 7 // COUNCIL [nx_ingest_governed]
21const TV_DOCUMENT: i64 = 8 // LIBRARIAN [nx_cap_register]
22const TV_LOG: i64 = 9 // SCRIBE [nx_crew_scribe]
23const TV_ORCHESTRATE:i64 = 10 // CONDUCTOR [nx_build_pipeline / nx_overnight_conductor]
24const TV_GATE: i64 = 11 // WARDEN [nx_build_raci / nx_four_pillars]
25const TV_COMPETE: i64 = 12 // RACING [nx_racing]
26const TV_SELFGRADE: i64 = 13 // EXAMINER [nx_examiner]
27const TV_COUNTER: i64 = 14 // CRITIC [nx_critic]
28const TV_AUDIT: i64 = 15 // AUDITOR [nx_auditor / nx_maturity_auditor]
29const TV_DEDUP: i64 = 16 // GENEALOGIST [nx_genealogist / nx_lineage_archive]
30const TV_PRUNE: i64 = 17 // CARETAKER [nx_caretaker]
31const TV_PUBLISH: i64 = 18 // SCIENTIST [nx_scientist / nx_paper_emit]
32const TV_ANALYZE: i64 = 19 // ANALYST [nx_analyst / nx_opportunity_loop] (was MARKET-RESEARCHER=FIND-OPPORTUNITY 2026-06-10: opportunity-finding is one input; the role's real verb is EXPLAIN -- decompose a measured price into a traced cost ledger + NAME the unexplained residual. Researcher GATHERS, Analyst EXPLAINS.)
33const TV_GROW: i64 = 20 // HUB [nx_hub_spoke]

functions

35func tr_verbs(out: *i64) -> i64
called by 1: main
44func tr_conflating_pairs(verbs: *i64, n: i64) -> i64
56func tr_eval_cluster_distinct() -> i64
71func tr_all_staffed(present: *i64, n: i64) -> i64
called by 2: tr_roster_cleanmain calls 1: ra_missed_count
77func tr_roster_clean(verbs: *i64, present: *i64, n: i64) -> i64
84func tr_w(s: *u8) -> i64 { var n: i64=0; while s[n]!=(0 as u8){n=n+1} sys_write(1,s,n); return 0 }
called by 1: tr_report calls 1: sys_write
85func tr_wn(v: i64) -> i64 { let bb: *u8=sys_mmap(28); var m: i64=v; if m<0{m=0-m} let t: *u8=sys_mmap(28); var k: i64=0; if m==0{t[0]=48 as u8;k=1} while m>0{t[k]=(48+(m%10)) as u8;m=m/10;k=k+1} var i: i64=0; while i<k{bb[i]=t[k-1-i];i=i+1} sys_write(1,bb,k); return 0 }
called by 1: tr_report calls 2: sys_mmapsys_write
87func tr_role(i: i64) -> *u8
called by 1: tr_report
101func tr_report(verbs: *i64, present: *i64, n: i64) -> i64