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}