nx_matrix_sym_lib.nx
buildroot/runtime/nx_matrix_sym_lib.nx
about
nx_matrix_sym_lib.nx -- THE ONE READER OF A COMPARE-MATRIX ROW'S SYMBOL FIELD (field 3).
WHY THIS LIB EXISTS (measured 2026-08-16). The matrix format documents THREE symbol forms:
<real_symbol> the row claims a capability, grounded by finding it in the organ
_ABSENT_ a declared gap, owning nothing
_ABSENT_:<future_symbol> a WATCH CONTRACT -- the compare hive's build order. The generator
measures the named symbol every emit and flips the published cell
when the workstream ships it.
FIVE separate organs each re-derived that format privately, and EVERY ONE of them knew only the
first two forms, so every watch row was misread -- each in its own direction:
nx_sota_status `f2l == 8` -> watch row counted as a DELIVERED CAPABILITY. mangagen published
cov=1000 gaps=0 with SEVEN unbuilt capabilities. An OVER-CLAIM on the one
number whose entire purpose is to refuse over-claiming.
nx_domain_admit grounded the literal "_ABSENT_:mp_page_emit" in the organ source -- a string
that can never occur -- so every watch row FAILED ITS DOMAIN'S ADMISSION.
nx_capgraph_edges watch rows were treated as OWNING their organ, inventing ownership edges.
nx_compare_unified / nx_swarm_maturity same exact-equality test, same blind spot.
A FORMAT KNOWN IN FIVE PLACES IS FIVE FORMATS, AND THEY DRIFT APART SILENTLY BECAUSE EACH COPY
LOOKS CORRECT ON ITS OWN. The tell was that the SAME suffix broke all five the same day it appeared.
SCOPE, DELIBERATELY NARROW: this lib owns the FORMAT (what the forms are, where the prefix ends).
It does NOT own POLICY, because policy legitimately differs and collapsing it would be a second
defect: a purely lexical consumer must treat an unlanded watch row as a gap, while a consumer that
already reads the organ should ground the REAL symbol and count a landed contract as delivered.
Both are correct; they answer different questions. So the lib returns FACTS, never verdicts.
NO FILE IO HERE ON PURPOSE -- that is what makes it usable by the lexical consumers too.
license_tier: ORIGINAL
dependencies 0 imports · 7 importers
imports: none
imported by: nx_capgraph_edges.nxnx_compare_unified.nxnx_measurement_binding_lib.nxnx_sota_status.nxnx_swarm_maturity.nxnx_swcompare_evidence.nxnx_swcompare_evidence_gate.nx
structs
| none |
consts
| 33 | const MSYM_ABSENT_LEN: i64 = 8 |
| 34 | const MSYM_WATCH_LEN: i64 = MSYM_ABSENT_LEN + 1 |
| 85 | const MSYM_SEP: i64 = 58 |
functions
| 38 | func msym_has_absent_prefix(buf: *u8, a: i64, b: i64) -> i64 |
| 50 | func msym_is_bare_absent(buf: *u8, a: i64, b: i64) -> i64 called by 4: msym_is_declared_gapmsym_is_bare_absent_zpbm_symbolclassify calls 1: msym_has_absent_prefix |
| 58 | func msym_is_watch(buf: *u8, a: i64, b: i64) -> i64 |
| 92 | func msym_withheld_sep(buf: *u8, a: i64, b: i64) -> i64 called by 4: msym_is_withheldmsym_withheld_pre_startmsym_withheld_sep_zpbm_symbol calls 1: msym_is_watch |
| 106 | func msym_is_withheld(buf: *u8, a: i64, b: i64) -> i64 |
| 113 | func msym_withheld_pre_start(buf: *u8, a: i64, b: i64) -> i64 |
| 123 | func msym_real_start(buf: *u8, a: i64, b: i64) -> i64 |
| 131 | func msym_is_declared_gap(buf: *u8, a: i64, b: i64) -> i64 |
| 140 | func msym_zlen(s: *u8) -> i64 |
| 145 | func msym_is_bare_absent_z(s: *u8) -> i64 { return msym_is_bare_absent(s, 0, msym_zlen(s)) } |
| 146 | func msym_is_watch_z(s: *u8) -> i64 { return msym_is_watch(s, 0, msym_zlen(s)) } |
| 147 | func msym_is_declared_gap_z(s: *u8) -> i64 { return msym_is_declared_gap(s, 0, msym_zlen(s)) } |
| 151 | func msym_real_z(s: *u8) -> *u8 |
| 157 | func msym_is_withheld_z(s: *u8) -> i64 { return msym_is_withheld(s, 0, msym_zlen(s)) } |
| 160 | func msym_withheld_sep_z(s: *u8) -> i64 { return msym_withheld_sep(s, 0, msym_zlen(s)) } |