code wiki / _hdl_build / nx_minecov.nx

nx_minecov.nx

buildroot/runtime/_hdl_build/nx_minecov.nx

14518 B325 linesdepth 3pulls 5 transitivereach 0 importersview sourcekind tool
docsdependenciesstructsconstsfunctions

about

nx_minecov.nx -- MINER CLASS-COVERAGE CENSUS (miner-sota F969/MS06, 2026-07-23). The operator's "features and bugs and capabilities and harnesses and workflows and agents" clause, MECHANIZED: a data-driven class table (knowledge/status/minecov_classes.conf, hot-read, rule-11 tunable) declares every artifact class we want brought inside; the census VERIFIES each row by actually READING its source (journal lines, or a seg-store plane loaded through the ALLOWLIST- RESOLVED loader) and reports TWO gauges: coverage (a reader exists AND evidence exists) and mined (that reader actually mines patterns rather than merely listing/deriving). A class can never be "covered" by declaration alone -- no evidence, no credit; and no reader, no credit. The GAP list IS the build queue. Composes nx_sovjson_lib (sj_*). Read-only. No hw writes (Rule 26). census <classconf> [loader] -> JSON per-class rows + coverage_permil/mined_permil + gaps selftest <scratch-prefix> -> gate T1..T8 (unique per-run scratch) conf cols: id TAB class TAB kind(jrnl|plane|none) TAB source TAB reader(- = none) TAB mined(0|1) TAB note license_tier: ORIGINAL

dependencies 4 imports · 0 importers

nx_sovjson_lib.nx nx_syscalls.nx nx_gate_verdict.nx nx_tool_run.nx nx_minecov.nx

imports: nx_sovjson_lib.nxnx_syscalls.nxnx_gate_verdict.nxnx_tool_run.nx

imported by: nobody (leaf or entry point)

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

main sj_puts sys_write sys_exit sj_vlen sj_lit_eq mc_selftest gv_ctr sys_mmap gv_head gv_puts sys_write ↻ sys_now_realtime_sec sys_mmap ↻ sys_clock_gettime_real sys_mmap ↻ sj_cat sj_catn sys_mmap ↻ sys_openat_append sys_write ↻ sys_close sys_openat_wr mc_census sys_mmap ↻ mc_read sys_openat_rd sys_read sys_close ↻ mc_allow_path sj_allow_path sys_mmap ↻ sys_openat_rd ↻ sys_read ↻ sys_close ↻ sj_le sj_col sj_lit_eq ↻ mc_key sj_cat ↻

structs

none

consts

19const MC_CONF: i64 = 65536
20const MC_CAP: i64 = 4194304
21const MC_OUT: i64 = 65536
22const MC_PATH: i64 = 512
23const MC_ROWS: i64 = 64
24const MC_MODE_644: i64 = 420
25const MC_PERMIL: i64 = 1000
26const MC_ALLOW_BUF: i64 = 131072
27const MC_NOTE_MAX: i64 = 160

functions

29func mc_read(path: *u8, buf: *u8, cap: i64) -> i64
38func mc_find(q: *u8, n: i64, lit: *u8) -> i64
called by 1: mc_selftest calls 1: sj_vlen
52func mc_count_lines(q: *u8, n: i64) -> i64
called by 1: mc_source_rows calls 1: sj_le
66func mc_allow_path(name: *u8, outp: *u8) -> i64 { return sj_allow_path(name, outp) }
called by 1: mc_census calls 1: sj_allow_path
67func mc_key(d: *u8, o: i64, name: *u8) -> i64
called by 1: mc_census calls 1: sj_cat
77func mc_qspan(d: *u8, o: i64, q: *u8, s: i64, e: i64, maxb: i64) -> i64
called by 1: mc_census calls 1: sj_cat_esc
85func mc_source_rows(cq: *u8, ks: i64, ke: i64, src: *u8, lp: *u8, lok: i64, tcx: *i64) -> i64
114func mc_census(conf: *u8, loader: *u8, d: *u8) -> i64
219func mc_selftest(prefix: *u8) -> i64
301func main(argc: i64, argv: *i64) -> i64