code wiki / _hdl_build / nx_landmine_probe.nx

nx_landmine_probe.nx

buildroot/runtime/_hdl_build/nx_landmine_probe.nx

6696 B143 linesdepth 3pulls 4 transitivereach 0 importersview sourcekind probe
docsdependenciesstructsconstsfunctions

about

nx_landmine_probe.nx -- THE LANDMINE RETIREMENT ENGINE (seq291/seq711, 2026-07-23). THE STALL IT ENDS: LM-003/LM-007 were retired in June by writing a probe that PROVED the root fixed, but that was never mechanized -- so 28 landmines sat un-re-probed for 36 days while nx_cc moved on and the registry accumulated instead of draining. This organ makes re-probing a STANDING BEAT: it discovers every lmprobe_<id>.elf in the deploy root, RUNS each (a probe is import-light so a BUILD FAILURE already removed it = STILL-LIVE by construction; a runnable probe exits 0 = ROOT-FIXED), tallies, and appends ONE append-only journal frame per probe so the ROOT-FIXED/STILL-LIVE state becomes a TREND (the same shape nx_law_warden uses). A landmine that quietly gets fixed then shows ROOT-FIXED on the next beat -- visible, zero-Claude. Retirement itself stays the documented reviewed one-liner (a registry mutation that could re-introduce a trap must not be silent) -- but it is now backed by continuous runnable proof, not memory. SCALES BY CONSTRUCTION: a NEW landmine probe = one lmprobe_<id>.nx file; this engine finds and runs it with ZERO code change. MCP-registered + schema'd (agent/API-callable); composed into a workflow via a store row (nx_plan_run); cron-driven for the zero-Claude beat. COMPOSES the base classes (rule 15 / L010): nx_tool_run (fork+capture), nx_estr (the shared emit/itoa). license_tier: ORIGINAL No hw writes (Rule 26). expect_exit: 0

dependencies 3 imports · 0 importers

nx_syscalls.nx nx_tool_run.nx nx_estr.nx nx_landmine_probe.nx

imports: nx_syscalls.nxnx_tool_run.nxnx_estr.nx

imported by: nobody (leaf or entry point)

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

main es_puts sys_write es_len sys_openat_rd sys_exit sys_mmap sys_getdents64 dirent_name lp_pre lp_elf es_cat tr_run_capture sys_mmap ↻ sys_pipe2 sys_fork sys_close sys_dup3 sys_execve_clean sys_close ↻ sys_execve sys_exit ↻ sys_read sys_wait4 wait_exit_code lp_has lp_frame sys_openat_append sys_mmap ↻ es_catn sys_mmap ↻ sys_now_realtime_sec sys_mmap ↻ sys_clock_gettime_real es_cat ↻ sys_write ↻ sys_close ↻ dirent_reclen sys_close ↻ es_putn

structs

none

consts

23const LP_DIRBUF: i64 = 131072
24const LP_CAP: i64 = 65536
25const LP_NAME: i64 = 256
26const LP_ARGVB: i64 = 32
27const LP_LINE: i64 = 512
28const LP_MODE_644: i64 = 420
29const LP_TAB: i64 = 9
30const LP_LF: i64 = 10
31const LP_ROOT: *u8 = "/volume1/homes/elderwesto/nishihost/"
32const LP_JRNL: *u8 = "knowledge/status/landmine_probe.jrnl"

functions

35func lp_pre(nm: *u8, pre: *u8) -> i64
called by 1: main
41func lp_elf(nm: *u8) -> i64
called by 1: main
52func lp_has(buf: *u8, n: i64, needle: *u8) -> i64
called by 1: main
67func lp_frame(probe: *u8, verdict: *u8, rc: i64) -> i64
87func main() -> i64