code wiki / _hdl_build / nx_rankmap.nx

nx_rankmap.nx source

↩ module page · 124 lines · 6742 B

1// nx_rankmap.nx -- ONE canonical ranking vocabulary, anchored to the INDUSTRY standard. 2// 3// OPERATOR 2026-07-31: "why do we have s class and exceed i dont understand the rankings ... we need 4// the ranks researched as of july 2026 and matched to the industry as terminology and all our 5// terminology interoperable so our capabilities and benchmarks and oracles have clarity on where 6// they rank and cant be gamed". 7// 8// THREE DEFECTS THIS NAMES AND FIXES: 9// (1) TWO LIVE LADDERS, same 0-5 shape, different rungs: 10// ecomat : ABSENT / TOY / FUNCTIONAL / PRODUCTION / S-CLASS / EXCEED 11// capgraph : ABSENT / TOY / WORKS / GATED / ADOPTED / SOTA 12// Two answers to "what level is this" is the same two-sources-one-name defect as two roots, 13// two trees, two config files and two clocks. 14// (2) MIXED AXES. ecomat 0-3 are CAPABILITY properties (what the thing does). 4-5 are COMPARATIVE 15// CLAIMS (triangulated parity / win vs a NAMED best-in-class). One scale carrying two 16// different questions is why the top rungs read as incomprehensible next to PRODUCTION. 17// (3) GAMEABLE -- now closed at the source. permil_to_level used to award 4/5 from a COVERAGE 18// PERCENTAGE (p>=700 -> 4, p>=900 -> 5), so a high-coverage census minted "parity with 19// gcc/llvm" with NO COMPARISON EVER RUN. Capped at PRODUCTION 2026-07-31. 20// 21// THE INDUSTRY ANCHOR (researched July 2026): TRL 1-9. NASA-origin, adopted for DoD procurement, 22// ISO-canonized 2013, with MRL/SRL siblings. TRL measures READINESS ONLY -- it deliberately says 23// NOTHING about beating a competitor. That separation is exactly what we were missing. 24// 25// ★★★★★THE CLARIFYING RESULT: S-CLASS and EXCEED MAP TO THE SAME TRL (9). They differ ONLY on the 26// comparative axis. Two rungs that share a readiness level and differ only by comparison were never 27// one scale -- which is the structural proof that the axes must be split, not merely renamed. 28// license_tier: ORIGINAL No hw writes (Rule 26). 29import "nx_maturity_auditor.nx" 30 31const RM_AXIS_CAPABILITY: i64 = 0 32const RM_AXIS_COMPARATIVE: i64 = 1 33 34func rm_puts(s: *u8) -> i64 { var n: i64 = 0; while s[n] != (0 as u8) { n = n + 1 } sys_write(1, s, n); return 0 } 35 36// Which QUESTION does this rung answer? Levels at or above MAT_SCLASS are claims about a comparison 37// against a named competitor; everything below is a property of the artifact itself. 38func rm_axis(l: i64) -> i64 { 39 if l >= MAT_SCLASS { return RM_AXIS_COMPARATIVE } 40 return RM_AXIS_CAPABILITY 41} 42 43func rm_axis_label(a: i64) -> *u8 { 44 if a == RM_AXIS_COMPARATIVE { return "COMPARATIVE" as *u8 } 45 return "CAPABILITY " as *u8 46} 47 48// TRL band. Note 4 and 5 BOTH land on TRL 9 -- readiness is saturated there and the only remaining 49// difference is the comparison, which TRL does not model at all. 50func rm_trl(l: i64) -> *u8 { 51 if l == MAT_ABSENT { return "TRL 1 " as *u8 } 52 if l == MAT_TOY { return "TRL 2-3" as *u8 } 53 if l == MAT_FUNCTIONAL { return "TRL 4-5" as *u8 } 54 if l == MAT_PRODUCTION { return "TRL 6-8" as *u8 } 55 return "TRL 9 " as *u8 56} 57 58// What must be TRUE to claim this rung. The top two require a NAMED comparator -- a number can 59// never satisfy them, which is the anti-gaming property stated as a contract. 60func rm_evidence(l: i64) -> *u8 { 61 if l == MAT_ABSENT { return "nothing -- capability not represented" as *u8 } 62 if l == MAT_TOY { return "runs on a demo/trivial surface" as *u8 } 63 if l == MAT_FUNCTIONAL { return "runs on REAL non-trivial inputs" as *u8 } 64 if l == MAT_PRODUCTION { return "full real surface + error paths, operational" as *u8 } 65 if l == MAT_SCLASS { return "NAMED competitor + method + TRIANGULATED PARITY" as *u8 } 66 return "NAMED competitor + method + TRIANGULATED WIN" as *u8 67} 68 69// The sibling ladder, so the two vocabularies can be read side by side instead of drifting apart. 70func rm_capgraph(l: i64) -> *u8 { 71 if l == MAT_ABSENT { return "ABSENT " as *u8 } 72 if l == MAT_TOY { return "TOY " as *u8 } 73 if l == MAT_FUNCTIONAL { return "WORKS " as *u8 } 74 if l == MAT_PRODUCTION { return "GATED " as *u8 } 75 if l == MAT_SCLASS { return "ADOPTED" as *u8 } 76 return "SOTA " as *u8 77} 78 79// 1 when a rung can be reached by a coverage percentage alone. MUST be 0 for the comparative rungs: 80// that is the whole anti-gaming contract, asserted here so a gate can prove it. 81func rm_permil_reachable(l: i64) -> i64 { 82 if rm_axis(l) == RM_AXIS_COMPARATIVE { return 0 } 83 return 1 84} 85 86func main(argc: i64, argv: *i64) -> i64 { 87 rm_puts("=== NX-RANKMAP: one ranking vocabulary, anchored to TRL 1-9 (ISO, NASA/DoD) ===\n\n" as *u8) 88 rm_puts("lvl ecomat capgraph industry axis permil-reachable evidence required\n" as *u8) 89 rm_puts("--- ------------ -------- -------- ----------- ---------------- ------------------------------------------\n" as *u8) 90 var l: i64 = 0 91 while l < MAT_NLEVELS { 92 rm_puts(" " as *u8) 93 let d: *u8 = sys_mmap(8) 94 d[0] = (48 + l) as u8 95 d[1] = 0 as u8 96 rm_puts(d) 97 rm_puts(" " as *u8) 98 rm_puts(mat_label(l)) 99 var pad: i64 = 12 - 0 100 var nn: i64 = 0 101 let lab: *u8 = mat_label(l) 102 while lab[nn] != (0 as u8) { nn = nn + 1 } 103 while nn < 12 { rm_puts(" " as *u8); nn = nn + 1 } 104 rm_puts(" " as *u8); rm_puts(rm_capgraph(l)) 105 rm_puts(" " as *u8); rm_puts(rm_trl(l)) 106 rm_puts(" " as *u8); rm_puts(rm_axis_label(rm_axis(l))) 107 if rm_permil_reachable(l) == 1 { rm_puts(" yes " as *u8) } else { rm_puts(" NO " as *u8) } 108 rm_puts(rm_evidence(l)) 109 rm_puts("\n" as *u8) 110 l = l + 1 111 } 112 rm_puts("\n-- WHY THE TOP TWO RUNGS CONFUSE --\n" as *u8) 113 rm_puts("S-CLASS and EXCEED are BOTH TRL 9. Readiness saturates there; they differ ONLY by the\n" as *u8) 114 rm_puts("comparison against a named competitor -- a question TRL deliberately does not model.\n" as *u8) 115 rm_puts("Two rungs sharing a readiness level and differing only by comparison were never one\n" as *u8) 116 rm_puts("scale. SPLIT THE AXES: keep TRL 1-9 for readiness, move parity/win to its own field\n" as *u8) 117 rm_puts("{competitor, method, verdict} that is UNSET unless a comparator actually ran.\n" as *u8) 118 rm_puts("\n-- ANTI-GAMING CONTRACT --\n" as *u8) 119 rm_puts("No coverage percentage may reach a COMPARATIVE rung. permil_to_level is capped at\n" as *u8) 120 rm_puts("PRODUCTION (2026-07-31); 4 and 5 require a named comparator, never a number.\n" as *u8) 121 rm_puts("\nNX-RANKMAP verdict=GREEN (vocabulary emitted; mapping is data, not prose)\n" as *u8) 122 sys_exit(0) 123 return 0 124}