code wiki / (root) / nx_debt.nx

nx_debt.nx

buildroot/runtime/nx_debt.nx

41037 B744 linesdepth 5pulls 6 transitivereach 0 importersview sourcekind tooltopic debt
docsdependenciesstructsconstsfunctions

about

nx_debt.nx -- debt-store intake CLI (autonomous-loop design-of-record 2026-07-18, R1). knowledge/store/debt- rows appended by judges/sessions; nx_ws_cycle REFUSES to emit WORK while an open row exists (eat-debt-first mechanized). Row: <epoch>\t<sev1-9>\t<scope>\t<open|eaten>\t<desc> nx_debt add <sev> <scope> <desc> [prefix] nx_debt eat <epoch-id-or-index> [prefix] (epoch col0 exact-match FIRST, index fallback; echoes the row; idempotent) nx_debt show <epoch-id-or-index> [prefix] (read-before-eat: echo one row, no mutation) nx_debt page <offset> <limit> [prefix] (64KB-safe paged list w/ declared envelope) nx_debt list [prefix] Fail-closed: bad sev / out-of-range seq commit NOTHING. flock on <prefix>plock. license_tier: ORIGINAL No hw writes (Rule 26). expect_exit: 0

dependencies 3 imports · 0 importers

nx_store_seed_lib.nx nx_seg_store.nx nx_syscalls.nx nx_debt.nx

imports: nx_store_seed_lib.nxnx_seg_store.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 db_werr sys_write sys_exit db_span_lit db_vlen db_take_prefix db_prefix_ok db_vlen ↻ db_werr ↻ sys_exit ↻ sys_mmap sts_load_honest ss_open_cached ssc_init sys_mmap ↻ ssc_sig_of ss_cat sys_fstatat ssc_streq ss_open ss_open2 sys_mmap ↻ ss_manifest_dyn ss_manifest_file_dyn ss_cat ↻ ss_loadfile sys_map_file ss_readall ss_load_aux2 sys_mmap ↻ ss_cat ↻ ss_loadfile ↻ ss_r32 sys_munmap ssl_total_keys ss_r32 ↻ ssl_pow2 ssl_build ss_r32 ↻

structs

none

consts

15const DB_CAP: i64 = 4194304 // 2026-07-29: was 1MB; the plane passed 850KB (~1219 rows, +~500/wk) -- the NEXT silent ceiling was weeks out (re-probe-the-new-boundary law)
16const DB_TAB: i64 = 9
17const DB_NL: i64 = 10
18const DB_STDERR: i64 = 2
19const DB_LOCK_EX: i64 = 2
20const DB_MODE: i64 = 420
21const DB_SPAN: i64 = 16
22const DB_PATHCAP: i64 = 256
23const DB_MSGCAP: i64 = 512
27const DB_RACE_REREAD_MS: i64 = 250
45const DB_ID_MAXPROBE: i64 = 4096
55const DB_EXIT_USAGE: i64 = 2

functions

47func db_load_guarded(prefix: *u8, q: *u8, dbf: *i64) -> i64
called by 1: main calls 2: sts_load_honestsys_sleep_ms
57func db_puts(s: *u8) -> i64 { var n: i64 = 0; while s[n] != (0 as u8) { n = n + 1 } sys_write(1, s, n); return 0 }
called by 1: main calls 1: sys_write
58func db_werr(s: *u8) -> i64 { var n: i64 = 0; while s[n] != (0 as u8) { n = n + 1 } sys_write(DB_STDERR, s, n); return 0 }
called by 2: db_take_prefixmain calls 1: sys_write
59func db_vlen(s: *u8) -> i64 { var n: i64 = 0; while s[n] != (0 as u8) { n = n + 1 } return n }
60func db_cat(d: *u8, o: i64, s: *u8) -> i64 { var i: i64 = 0; while s[i] != (0 as u8) { d[o] = s[i]; o = o + 1; i = i + 1 } return o }
called by 2: db_lockmain
61func db_catn(d: *u8, o: i64, v: i64) -> i64 { let t: *u8 = sys_mmap(28); var m: i64 = v; if m < 0 { m = 0 } 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 { d[o] = t[k-1-i]; o = o + 1; i = i + 1 } return o }
called by 1: main calls 1: sys_mmap
62func db_atoi(s: *u8) -> i64 { var v: i64 = 0; var i: i64 = 0; while s[i] != (0 as u8) { let c: i64 = s[i] as i64; if c >= 48 { if c <= 57 { v = v * 10 + (c - 48) } } i = i + 1 } return v }
called by 1: main
63func db_le(q: *u8, i: i64, n: i64) -> i64 { var e: i64 = i; var s: i64 = 1; while s == 1 { if e >= n { s = 0 } else { if q[e] == (DB_NL as u8) { s = 0 } else { e = e + 1 } } } return e }
called by 2: db_open_countmain
64func db_col(q: *u8, ls: i64, le: i64, c: i64, out: *i64) -> i64
called by 2: db_open_countmain
80func db_span_lit(q: *u8, s: i64, e: i64, lit: *u8) -> i64
called by 2: db_open_countmain
87func db_tail_eq(q: *u8, s: i64, e: i64, lit: *u8) -> i64
called by 1: main calls 1: db_vlen
97func db_prefix_ok(a: *u8) -> i64
called by 1: db_take_prefix calls 1: db_vlen
117func db_take_prefix(a: *u8) -> *u8
called by 1: main calls 3: db_prefix_okdb_werrsys_exit
123func db_lock(prefix: *u8) -> i64
152func db_find_sub(h: *u8, n: i64, s: *u8) -> i64
called by 1: main
168func db_open_count(q: *u8, n: i64) -> i64
called by 1: main calls 4: sys_mmapdb_ledb_coldb_span_lit
179func main(argc: i64, argv: *i64) -> i64