nx_frontier_scan_gate.nx
buildroot/runtime/nx_frontier_scan_gate.nx
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
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
structs
| none |
consts
| 27 | const FG_DIRMODE: i64 = 0x1ed |
| 28 | const FG_PATHCAP: i64 = 1024 |
| 29 | const FG_ARGCAP: i64 = 64 |
functions
| 31 | func fg_len(s: *u8) -> i64 { var n: i64 = 0; while s[n] != (0 as u8) { n = n + 1 } return n } |
| 32 | func fg_cat(d: *u8, o: i64, s: *u8) -> i64 calls 1: fg_len |
| 40 | func fg_has(buf: *u8, n: i64, lit: *u8) -> i64 |
| 54 | func fg_put(path: *u8, body: *u8) -> i64 { return dp_writefile(path, body, fg_len(body)) } |
| 56 | func fg_count(buf: *u8, n: i64, lit: *u8) -> i64 |
| 71 | func fg_run(a1: *u8, a2: *u8, a3: *u8, nargs: i64, outfile: *u8, buf: *u8, blen: *i64) -> i64 |
| 87 | func fg_run7(a1: *u8, a2: *u8, a3: *u8, a4: *u8, a5: *u8, a6: *u8, a7: *u8, |
| 107 | func main(argc: i64, argv: *i64) -> i64 |