code wiki / _hdl_build / nx_maturity_board.nx

nx_maturity_board.nx

buildroot/runtime/_hdl_build/nx_maturity_board.nx

16214 B330 linesdepth 3pulls 3 transitivereach 0 importersview sourcekind tooltopic maturity
docsdependenciesstructsconstsfunctions

about

nx_maturity_board.nx -- THE MATURITY BOARD (operator 2026-07-16: "those high end are all liars, they don't have a maturity analysis"). Publishes /compare/maturity: EVERY matrix domain graded by the evidence-capped maturity census (nx_swarm_maturity engine, built as nx_maturity_census.elf) NEXT TO its feature-presence score -- so a 1000-presence domain publicly shows its honest gate-only floor and the inflation ratio. This is the standing anti-navel-gazing surface the 2026-07-15 doctrine banked as NEXT ([[feedback-maturity-not-feature-presence-ecosystem-2026-07-15]]); the old sweep was a volatile scratchpad bash script -- THIS is the sovereign organ replacing it, wired into nx_compare_regen so every evaluation refresh re-measures maturity too. Reads knowledge/compare/maturity_board.list (domain per line). Per domain: fork+exec the census (stdout -> .matboard.out, the proven capture pattern), parse the LAST "= <n>/1000" (works for both the auto-floor line and the hand-authored evidence path), read the published presence permille from <droot><dom>/api.json when present ("coverage" int). Emits <droot>maturity/api.json + index.html (PLAIN ENGLISH per the dashboards law: bars, ratios, one-sentence meanings -- no ledger keys). FAIL-CLOSED: <10 domains graded -> exit 1, nothing published (regen treats nonzero as RED). usage: nx_maturity_board [droot] [listfile] (defaults ../sites/nishifamily/compare/ + the list SSOT) license_tier: ORIGINAL module: nishi-core.compare.maturity_board

dependencies 2 imports · 0 importers

nx_sovjson_lib.nx nx_syscalls.nx nx_maturity_board.nx

imports: nx_sovjson_lib.nxnx_syscalls.nx

imported by: nobody (leaf or entry point)

call flow from main pre-order; caps 40 nodes / depth 6 declared; ↻ = already shown

main mb_p sys_write mb_len sys_mmap mb_read sys_openat_rd sys_read sys_close mb_line_end mb_run_census sys_fork sys_openat_wr sys_exit sys_dup3 sys_mmap ↻ sys_execve sys_wait4 nx_kill sys_sleep_ms sys_mmap ↻ sys_munmap sys_munmap ↻ mb_parse_score mb_after_label mb_len ↻ mb_cat sj_cat mb_parse_presence mb_catn sj_catn sys_mmap ↻ sys_write ↻ mb_write_atomic sys_mmap ↻ mb_cat ↻ sys_openat_wr ↻ sys_write ↻ sys_close ↻ sys_renameat

structs

none

consts

20const MB_MAGIC_20000: i64 = 20000
21const MB_MAGIC_8192: i64 = 8192
22const MB_MAGIC_65536: i64 = 65536
23const MB_MAGIC_262144: i64 = 262144
25const MB_LIST_DEF: *u8 = "knowledge/compare/maturity_board.list" as *u8
26const MB_DROOT_DEF: *u8 = "../sites/nishifamily/compare/" as *u8
27const MB_CENSUS: *u8 = "_offc/nx_maturity_census.elf" as *u8
28const MB_CAP_FILE: *u8 = ".matboard.out" as *u8
29const MB_MAXD: i64 = 64
30const MB_OUTCAP: i64 = 262144

functions

32func mb_len(s: *u8) -> i64 { var n: i64 = 0; while s[n] != (0 as u8) { n = n + 1 } return n }
called by 2: mb_pmb_after_label
33func mb_p(s: *u8) -> i64 { sys_write(1, s, mb_len(s)); return 0 }
called by 1: main calls 2: sys_writemb_len
34func mb_cat(dst: *u8, o: i64, s: *u8) -> i64 { return sj_cat(dst, o, s) }
called by 2: mb_write_atomicmain calls 1: sj_cat
35func mb_catn(dst: *u8, o: i64, v: i64) -> i64 { return sj_catn(dst, o, v) }
called by 1: main calls 1: sj_catn
36func mb_read(path: *u8, buf: *u8, cap: i64) -> i64
called by 1: main calls 3: sys_openat_rdsys_readsys_close
45func mb_write_atomic(path: *u8, buf: *u8, n: i64) -> i64
61func mb_line_end(buf: *u8, pos: i64, end: i64) -> i64
called by 1: main
67func mb_run_census(dom: *u8) -> i64
101func mb_after_label(buf: *u8, n: i64, label: *u8) -> i64
called by 1: mb_parse_score calls 1: mb_len
123func mb_parse_score(buf: *u8, n: i64) -> i64
called by 1: main calls 1: mb_after_label
129func mb_parse_presence(buf: *u8, n: i64) -> i64
called by 1: main
149func main(argc: i64, argv: *i64) -> i64