code wiki / (root) / nx_explore_grow.nx

nx_explore_grow.nx

buildroot/runtime/nx_explore_grow.nx

5935 B112 linesdepth 3pulls 3 transitivereach 0 importersview sourcekind tool
docsdependenciesstructsconstsfunctions

about

nx_explore_grow.nx -- THE NISHI EXPLORE TEAM, RUNG R5 "GROW": self-discovers its own capability gaps (operator 2026-06-23: "each rung to be s class exceed" + "self healing"). This is the cap_gap->discover half of the self-grow loop: it probes the rung table, finds the FIRST MISSING rung, and emits its exact build-target (path::symbol) -- the precise thing the team toolchain must author next. It also confirms when the ladder is COMPLETE (no gap) which is the re-census trigger. HONEST SCOPE (no-wave): R5 v1 = DISCOVER (find the gap) + DETECT-CLOSURE (ladder complete?) + emit the build-target = the loop's orchestration. The AUTO-AUTHOR step (drive auto_builder to LAND the discovered rung) routes to the team's emitter shapes -- NOT claimed here. So this exceeds a static census (it names the NEXT build, not just present coverage) without overclaiming autonomy. SELF-GATE: prove it can find an INJECTED gap (real discovery, not a "0 gaps" stub) AND that the real 6-rung ladder is now complete -> EXPLORE-GROW-GATE GREEN / run-exit=0. Reuses the census probe idiom. license_tier: ORIGINAL

dependencies 2 imports · 0 importers

nx_syscalls.nx nx_itoa_lib.nx nx_explore_grow.nx

imports: nx_syscalls.nxnx_itoa_lib.nx

imported by: nobody (leaf or entry point)

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

main sys_mmap exg_puts sys_write exg_strlen exg_step exg_probe sys_openat_rd sys_read sys_close exg_find exg_strlen ↻ exg_cat exg_putn nxi_out nxi_fd sys_mmap ↻ ccz_cat_num sys_write ↻ sys_munmap sys_exit

structs

none

consts

18const EXG_FBUF: i64 = 4194304

functions

20func exg_strlen(s: *u8) -> i64 { var n: i64 = 0; while s[n] != (0 as u8) { n = n + 1 } return n }
called by 2: exg_putsexg_probe
21func exg_puts(s: *u8) -> i64 { sys_write(1, s, exg_strlen(s)); return 0 }
called by 1: main calls 2: sys_writeexg_strlen
26func exg_putn(v: i64) -> i64 { nxi_out(v); return 0 }
called by 1: main calls 1: nxi_out
28func exg_find(buf: *u8, lo: i64, hi: i64, pat: *u8, pl: i64) -> i64
called by 1: exg_probe
41func exg_probe(path: *u8, sym: *u8, fbuf: *u8) -> i64
50func exg_cat(dst: *u8, off: i64, s: *u8) -> i64 { var i: i64 = 0; while s[i] != (0 as u8) { dst[off + i] = s[i]; i = i + 1 } return off + i }
called by 1: exg_step
54func exg_step(paths: *i64, syms: *i64, n: i64, fbuf: *u8, out_target: *u8) -> i64
called by 1: main calls 2: exg_probeexg_cat
72func main() -> i64