code wiki / (root) / nx_matrix_sym_lib.nx

nx_matrix_sym_lib.nx

buildroot/runtime/nx_matrix_sym_lib.nx

9424 B160 linesdepth 0pulls 0 transitivereach 113 importersview sourcekind librarytopic matrix
docsdependenciesstructsconstsfunctions

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

nx_matrix_sym_lib.nx nx_capgraph_edges.nx nx_compare_unified.nx nx_measurement_binding_lib.nx nx_sota_status.nx nx_swarm_maturity.nx nx_swcompare_evidence.nx nx_swcompare_evidence_gate.nx

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

33const MSYM_ABSENT_LEN: i64 = 8
34const MSYM_WATCH_LEN: i64 = MSYM_ABSENT_LEN + 1
85const MSYM_SEP: i64 = 58

functions

38func msym_has_absent_prefix(buf: *u8, a: i64, b: i64) -> i64
50func msym_is_bare_absent(buf: *u8, a: i64, b: i64) -> i64
58func msym_is_watch(buf: *u8, a: i64, b: i64) -> i64
92func msym_withheld_sep(buf: *u8, a: i64, b: i64) -> i64
106func msym_is_withheld(buf: *u8, a: i64, b: i64) -> i64
113func msym_withheld_pre_start(buf: *u8, a: i64, b: i64) -> i64
called by 1: ss_bjoin calls 1: msym_withheld_sep
123func msym_real_start(buf: *u8, a: i64, b: i64) -> i64
131func msym_is_declared_gap(buf: *u8, a: i64, b: i64) -> i64
140func msym_zlen(s: *u8) -> i64
145func msym_is_bare_absent_z(s: *u8) -> i64 { return msym_is_bare_absent(s, 0, msym_zlen(s)) }
146func msym_is_watch_z(s: *u8) -> i64 { return msym_is_watch(s, 0, msym_zlen(s)) }
147func msym_is_declared_gap_z(s: *u8) -> i64 { return msym_is_declared_gap(s, 0, msym_zlen(s)) }
called by 1: main calls 2: msym_is_declared_gapmsym_zlen
151func msym_real_z(s: *u8) -> *u8
157func msym_is_withheld_z(s: *u8) -> i64 { return msym_is_withheld(s, 0, msym_zlen(s)) }
160func msym_withheld_sep_z(s: *u8) -> i64 { return msym_withheld_sep(s, 0, msym_zlen(s)) }