code wiki / _hdl_build / nx_roster_full.nx
nx_roster_full.nx
buildroot/runtime/_hdl_build/nx_roster_full.nx
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
imports: nx_role_audit.nxnx_syscalls.nx
imported by: nx_roster_full_test.nx
structs
| none |
consts
| 12 | const RST_N: i64 = 20 |
| 14 | const TV_AUTHOR: i64 = 1 // BUILDER [nx_scaffold_author / nx_pattern_emit] |
| 15 | const TV_TEST: i64 = 2 // ENGINEER [nx_engineer_verify] |
| 16 | const TV_HEAL: i64 = 3 // DOCTOR [nx_doctor_build] |
| 17 | const TV_SEARCH: i64 = 4 // RESEARCHER [nx_research_synth / nx_research_backlog] |
| 18 | const TV_JUDGE: i64 = 5 // REFEREE [nx_referee] |
| 19 | const TV_PLAN: i64 = 6 // PM [nx_pm_plan / nx_assign_gen] |
| 20 | const TV_ADMIT: i64 = 7 // COUNCIL [nx_ingest_governed] |
| 21 | const TV_DOCUMENT: i64 = 8 // LIBRARIAN [nx_cap_register] |
| 22 | const TV_LOG: i64 = 9 // SCRIBE [nx_crew_scribe] |
| 23 | const TV_ORCHESTRATE:i64 = 10 // CONDUCTOR [nx_build_pipeline / nx_overnight_conductor] |
| 24 | const TV_GATE: i64 = 11 // WARDEN [nx_build_raci / nx_four_pillars] |
| 25 | const TV_COMPETE: i64 = 12 // RACING [nx_racing] |
| 26 | const TV_SELFGRADE: i64 = 13 // EXAMINER [nx_examiner] |
| 27 | const TV_COUNTER: i64 = 14 // CRITIC [nx_critic] |
| 28 | const TV_AUDIT: i64 = 15 // AUDITOR [nx_auditor / nx_maturity_auditor] |
| 29 | const TV_DEDUP: i64 = 16 // GENEALOGIST [nx_genealogist / nx_lineage_archive] |
| 30 | const TV_PRUNE: i64 = 17 // CARETAKER [nx_caretaker] |
| 31 | const TV_PUBLISH: i64 = 18 // SCIENTIST [nx_scientist / nx_paper_emit] |
| 32 | const 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.) |
| 33 | const TV_GROW: i64 = 20 // HUB [nx_hub_spoke] |
functions
| 35 | func tr_verbs(out: *i64) -> i64 called by 1: main |
| 44 | func tr_conflating_pairs(verbs: *i64, n: i64) -> i64 |
| 56 | func tr_eval_cluster_distinct() -> i64 |
| 71 | func tr_all_staffed(present: *i64, n: i64) -> i64 |
| 77 | func tr_roster_clean(verbs: *i64, present: *i64, n: i64) -> i64 |
| 84 | func 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 } |
| 85 | func 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 } |
| 87 | func tr_role(i: i64) -> *u8 called by 1: tr_report |
| 101 | func tr_report(verbs: *i64, present: *i64, n: i64) -> i64 called by 1: main calls 6: tr_wtr_roletr_wntr_conflating_pairstr_eval_cluster_distincttr_roster_clean |