code wiki / (root) / nx_frontier_scan_gate.nx

nx_frontier_scan_gate.nx

buildroot/runtime/nx_frontier_scan_gate.nx

19814 B309 linesdepth 3pulls 4 transitivereach 0 importersview sourcekind gate/prooftopic frontier
docsdependenciesstructsconstsfunctions

about

nx_frontier_scan_gate.nx -- the referee for the autonomous frontier-noticer (nx_frontier_scan). SUBJECT: the DEPLOYED ./nx_frontier_scan.elf, forked per tooth. This is an END-TO-END gate, so nx_gate_bite must be given the 4th argument (subject target) or every mutant survives by construction. WHAT IT PROVES, AND WHAT IT DELIBERATELY DOES NOT: PROVES, deterministically and offline -- the internal deficit signal fires exactly when a rival leads a row we do not exceed; that it stays silent in BOTH directions of "no gap"; that the partition sums; that the seeds come from the domain's own data; that the thresholds are read from the conf and ECHOED so the bar is visible; that a missing board REFUSES by name; and that a run NEVER WRITES THE BOARD IT READS. DOES NOT PROVE -- the outbound half. A gate that fetches the live web on a beat is a gate that hammers the box and goes RED when someone else's server is slow. The network leg's accept rule is the METAHUMAN REPLAY (see the lane-E memory), which is a re-runnable harness, not a beat. That imprecision is stated here rather than left for the next reader to discover. FIXTURES ARE ASSEMBLED AT RUNTIME UNDER /tmp/nx_frontier_scan_gate/ -- a gate must not share its fixture with a production beat, and a detector that scans source would otherwise find its own fixture. Idempotent: every run rewrites every fixture, so the second run reports on the same conditions as the first (A GATE THAT IS NOT IDEMPOTENT REPORTS ON ITS FIRST RUN AND LIES ABOUT EVERY RUN AFTER). 100% sovereign. No hardware writes (Rule 26). license_tier: ORIGINAL expect_exit: 0

dependencies 3 imports · 0 importers

nx_syscalls.nx nx_deploy_lib.nx nx_gate_verdict.nx nx_frontier_scan_gate.nx

imports: nx_syscalls.nxnx_deploy_lib.nxnx_gate_verdict.nx

imported by: nobody (leaf or entry point)

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

main gv_head gv_puts sys_write gv_ctr 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 ↻ sys_mkdir fg_put dp_writefile sys_openat_wr sys_write ↻ sys_close fg_len sys_mmap ↻ fg_run7 sys_mmap ↻ dep_run_capture sys_fork sys_openat_wr ↻ sys_dup3 sys_mmap ↻ sys_execve sys_exit ↻ sys_wait4 sys_read_file sys_openat_rd

structs

none

consts

27const FG_DIRMODE: i64 = 0x1ed
28const FG_PATHCAP: i64 = 1024
29const FG_ARGCAP: i64 = 64

functions

31func fg_len(s: *u8) -> i64 { var n: i64 = 0; while s[n] != (0 as u8) { n = n + 1 } return n }
32func fg_cat(d: *u8, o: i64, s: *u8) -> i64
calls 1: fg_len
40func fg_has(buf: *u8, n: i64, lit: *u8) -> i64
called by 1: main calls 1: fg_len
54func fg_put(path: *u8, body: *u8) -> i64 { return dp_writefile(path, body, fg_len(body)) }
called by 1: main calls 2: dp_writefilefg_len
56func fg_count(buf: *u8, n: i64, lit: *u8) -> i64
called by 1: main calls 1: fg_len
71func fg_run(a1: *u8, a2: *u8, a3: *u8, nargs: i64, outfile: *u8, buf: *u8, blen: *i64) -> i64
87func fg_run7(a1: *u8, a2: *u8, a3: *u8, a4: *u8, a5: *u8, a6: *u8, a7: *u8,
107func main(argc: i64, argv: *i64) -> i64