code wiki / (root) / nx_modelprobe.nx

nx_modelprobe.nx

buildroot/runtime/nx_modelprobe.nx

4467 B96 linesdepth 6pulls 8 transitivereach 0 importersview sourcekind tool
docsdependenciesstructsconstsfunctions

about

nx_modelprobe.nx -- MEASURE /v1/models. NEVER BELIEVE IT. swarm_nodes.conf states the rule for changing a worker address in its own words: "measure /v1/models from the NAS, then uncomment with the address that actually answered -- never with one that is merely believed." This organ IS that measurement, so a repoint is decided by bytes. WHY IT EXISTS, measured 2026-09-05. nx_netprobe_ladder proved 192.168.8.192:7861 refuses TCP at every bound from 500 ms to 15 s, with 192.168.8.193 UP as a positive control and 192.168.8.253 DOWN as a neg-control -- so the probe is neither blind nor credulous. Against that, nx_worker_dispatch reported HTTP 200 for .192 WHILE PRINTING ARENA-OVERRUN prev_alloc_size=256 in the same output. A verdict from an instrument announcing memory corruption does not outrank a controlled one, so the tie is broken by asking the application layer directly. COMPOSES THE INCUMBENT: nx_http_client (nx_http_client_get + nx_http_client_sockaddr_ipv4) is the sovereign HTTP/1.1 GET client and it already carries NAMED verdicts -- OK, SOCKET_FAIL, CONNECT_FAIL, SEND_FAIL, RECV_FAIL. That is precisely what np_probe_up lacks, and the contrast is the point: the estate solved name-which-negative here and the liveness probe never inherited it. license_tier: ORIGINAL No hw writes (Rule 26).

dependencies 2 imports · 0 importers

nx_syscalls.nx nx_http_client.nx nx_modelprobe.nx

imports: nx_syscalls.nxnx_http_client.nx

imported by: nobody (leaf or entry point)

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

main mp_puts sys_write mp_slen mp_one sys_mmap nxa_die sys_write ↻ sys_exit nxa_lock_take nxa_lock_addr sys_write ↻ nxa_lock_give nxa_lock_addr ↻ nxa_report_overrun sys_write ↻ nxa_dump_printable sys_write ↻ nxa_dump_sizes sys_write ↻ mp_slen ↻ mp_puts ↻ mp_putn sys_mmap ↻ mp_puts ↻ sys_write ↻ mp_verdict_name mp_puts ↻ mp_head sys_write ↻ mp_putn ↻

structs

none

consts

22const MP_CAP: i64 = 65536
23const MP_PORT: i64 = 7861
24const MP_HEADLINE: i64 = 96

functions

26func mp_slen(s: *u8) -> i64 { var n: i64 = 0; while s[n] != (0 as u8) { n = n + 1 } return n }
called by 2: mp_putsmp_one
27func mp_puts(s: *u8) -> i64 { sys_write(1, s, mp_slen(s)); return 0 }
28func mp_putn(v: i64) -> i64
called by 2: mp_onemain calls 3: sys_mmapmp_putssys_write
42func mp_verdict_name(v: i64) -> i64
called by 1: mp_one calls 1: mp_puts
53func mp_head(buf: *u8, n: i64) -> i64
called by 1: mp_one calls 1: sys_write
64func mp_one(a: i64, b: i64, c: i64, d: i64, label: *u8) -> i64
88func main(argc: i64, argv: *i64) -> i64