code wiki / _hdl_build / nx_capaxes_lib.nx
nx_capaxes_lib.nx
buildroot/runtime/_hdl_build/nx_capaxes_lib.nx
about
nx_capaxes_lib.nx -- CAPABILITY AXIS PROFILE, pure core. No main, no I/O beyond emit helpers.
WHY (operator 2026-07-30): "the capabilities census is gamed on coverage to 1000permil but with below toy
quality, a case of imbalanced quality and quantity" + "capabilities graph with all the axes where there are
between 1 and x and on each axis a measurement happens to see how imbalanced or how things skew in a
direction, not just boolean type thinking".
MEASURED DISEASE. nx_cap_census emits "torrent 377/1000 HAVE 20 / PARTIAL 6 / GAP 35 vs 0 SOTA-src" and
"ECOSYSTEM (3 targets) 527/1000". (1) HAVE/PARTIAL/GAP is a PRESENCE ladder so a toy and a SOTA impl both
score HAVE; (2) "vs 0 SOTA-src" = EMPTY comparator, self-referential, can only drift up; (3) 3 targets
labelled ECOSYSTEM while the maturity rollup tracks 26 domains. Independently nx_sota_status reports
PROVEN 0/40 and lists workermesh cov=1000 gaps=0 INSIDE CLAIM-ONLY -- perfect coverage, zero evidence.
LAW L1 -- HEADLINE IS THE MINIMUM, NEVER THE MEAN. Kills coverage-gaming BY CONSTRUCTION. Averaging
[coverage 1000, evidence 0] yields ~500 and reads like progress; the minimum yields 0 and reads like the
truth. A capability is exactly as good as its WEAKEST axis, because that is the axis a user hits first.
cax_mean exists ONLY so the gate can assert headline != mean on a gamed vector: a revert to averaging
turns that tooth RED. It must never be the headline.
LAW L2 -- GROUNDING ZERO REFUSES TO EMIT A NUMBER. No external reference => UNGROUNDED, never a score,
because an ungrounded number is indistinguishable from a measured one once quoted.
LAW L3 -- UNMEASURED IS -1, NEVER A SILENT 0, and must never become the minimum.
SKEW IS THE PRODUCT, NOT THE SCORE. A balanced 600 profile and a [1000,200] profile can share a mean and
are completely different objects: the second is breadth-gamed and starved names its rock.
license_tier: ORIGINAL No hw writes (Rule 26).
dependencies 1 imports · 4 importers
imports: nx_syscalls.nx
imported by: nx_capaxes.nxnx_capaxes_derive.nxnx_capaxes_gate.nxnx_capgraph_lib.nx
structs
| none |
consts
| 30 | const CAX_N: i64 = 6 |
| 31 | const CAX_A_COVER: i64 = 0 |
| 32 | const CAX_A_QUALITY: i64 = 1 |
| 33 | const CAX_A_SCALE: i64 = 2 |
| 34 | const CAX_A_EVIDENCE: i64 = 3 |
| 35 | const CAX_A_ADOPT: i64 = 4 |
| 36 | const CAX_A_GROUND: i64 = 5 |
| 37 | const CAX_UNMEASURED: i64 = 0 - 1 |
| 38 | const CAX_FULL: i64 = 1000 |
| 39 | const CAX_BALANCED_PERMIL: i64 = 800 |
functions
| 41 | func cax_axis_name(i: i64) -> *u8 |
| 51 | func cax_measured(v: *i64, n: i64) -> i64 |
| 61 | func cax_min_idx(v: *i64, n: i64) -> i64 |
| 74 | func cax_max_idx(v: *i64, n: i64) -> i64 |
| 87 | func cax_headline(v: *i64, n: i64) -> i64 |
| 93 | func cax_mean(v: *i64, n: i64) -> i64 |
| 108 | func cax_skew(v: *i64, n: i64) -> i64 |
| 115 | func cax_balance(v: *i64, n: i64) -> i64 |
| 123 | func cax_grounded(v: *i64, n: i64) -> i64 |
| 130 | func cax_rock(v: *i64, n: i64, leverage: i64) -> i64 |
| 136 | func cax_puts(s: *u8) |
| 142 | func cax_puti(x: i64) |
| 174 | func cax_gate_log(path: *u8, tag: *u8, passed: i64, total: i64) |
| 215 | func cax_kv(k: *u8, x: i64) |
| 222 | func cax_atoi(s: *u8) -> i64 |
| 243 | func cax_report(v: *i64, n: i64, leverage: i64) -> i64 |