code wiki / _hdl_build / nx_debt_view.nx
nx_debt_view.nx
buildroot/runtime/_hdl_build/nx_debt_view.nx
about
nx_debt_view.nx -- loop lane (eats debt seq215 visibility half). The debt ledger outgrew the 64KB MCP
transport (221 rows, ~130KB list output) so tail rows -- including sev-8/7 most-important debt -- were
UNREADABLE and eat-by-index was blind. This organ is the bounded VIEW: it fork-captures the canonical
reader (nx_debt.elf list -- composition via tr_run1, NO schema reimplementation = no drift) and serves
paged / severity-filtered / substring views that always fit the transport. Read-only; the eat stays in
nx_debt (verify a row's content HERE, then eat its index THERE = verified-eat procedure).
nx_debt_view page <offset> <count> | sev <minsev> | find <substr>
ENVELOPE (declared in output): shown cap 40 rows/call, 700 bytes/row (truncation marked), capture cap
512KB. sev = open rows only, sev-field heuristic: first 1-char digit TAB field. exit: 0 | 2 usage | 4 capture-fail.
license_tier: ORIGINAL expect_exit: 0
dependencies 1 imports · 0 importers
imports: nx_tool_run.nx
imported by: nobody (leaf or entry point)
call flow from main pre-order; caps 40 nodes / depth 6 declared; ↻ = already shown
structs
| none |
consts
| 18 | const DV_OUTMAX: i64 = 60000 |
| 19 | const DV_CAPTURE_CAP: i64 = 4194304 |
| 20 | const DV_MAXROWS: i64 = 16384 |
| 21 | const DV_OUTBUF: i64 = 65536 |
functions
| 23 | func dv_w(fd: i64, s: *u8) -> i64 { var n: i64 = 0; while s[n] != (0 as u8) { n = n + 1 } sys_write(fd, s, n); return 0 } called by 1: main |
| 24 | func dv_b(rep: *u8, pos: i64, s: *u8) -> i64 { var p: i64 = pos; var i: i64 = 0; while s[i] != (0 as u8) { if p < DV_OUTMAX { rep[p] = s[i]; p = p + 1 } i = i + 1 } return p } |
| 25 | func dv_bn(rep: *u8, pos: i64, v: i64) -> i64 { var p: i64 = pos; var m: i64 = v; if m < 0 { if p < DV_OUTMAX { rep[p] = 45 as u8; p = p + 1 } m = 0 - m } let t: *u8 = sys_mmap(28); var k: i64 = 0; if m == 0 { t[0] = 48 as u8; k = 1 } while m > 0 { t[k] = (48 + (m % 10)) as u8; m = m / 10; k = k + 1 } var i: i64 = 0; while i < k { if p < DV_OUTMAX { rep[p] = t[k - 1 - i]; p = p + 1 } i = i + 1 } return p } called by 1: main |
| 26 | func dv_atoi(s: *u8) -> i64 { var v: i64 = 0; var i: i64 = 0; while s[i] != (0 as u8) { let c: i64 = s[i]; if c < 48 { i = i + 1 } else { if c > 57 { i = i + 1 } else { v = v * 10 + (c - 48); i = i + 1 } } } return v } called by 1: main |
| 27 | func dv_slen(s: *u8) -> i64 { var n: i64 = 0; while s[n] != (0 as u8) { n = n + 1 } return n } called by 1: main |
| 28 | func dv_has(buf: *u8, s: i64, e: i64, pat: *u8, pl: i64) -> i64 called by 1: main |
| 41 | func dv_sev(buf: *u8, s: i64, e: i64) -> i64 called by 1: main |
| 57 | func dv_line(rep: *u8, pos: i64, buf: *u8, s: i64, e: i64) -> i64 |
| 68 | func main(argc: i64, argv: *i64) -> i64 |