nx_ppp_probe_gate.nx
buildroot/runtime/nx_ppp_probe_gate.nx
about
nx_ppp_probe_gate.nx -- THE VERDICT nx_ppp_probe COULD NOT PUBLISH (2026-08-25).
nx_ppp_probe scores PERSON / PRODUCT / PLACE on our own live surface AND on each rival's front door,
and those numbers are PUBLISHED as competitive claims on /compare. It shipped with a 20-tooth internal
--kat and NO external gate, so /api/gate_run could not read its verdict and no roster ever ran it:
a published metric whose health nobody could ask about from outside.
WHY IT NEEDED ONE, measured 2026-08-25: the probe scored viewport=0 on /games, a page that CORRECTLY
emits its mobile-scaling declaration in SINGLE quotes. It matched the double-quoted and the bare forms
and not the single-quoted one, so a PUBLISHED place score was understated by 50 permil. The defect
carried its own control in the same measurement -- on that identical page `canonical` read 1, because
THAT check had been hand-written with all three quote forms. A FIX APPLIED IN ONE PLACE AND NOT ITS
SIBLINGS IS HALF A FIX, AND THE HALF LEFT UNDONE IS THE ONE THAT SHIPS.
SCOPE, DECLARED: this gate FORKS the deployed elf, so it is END-TO-END. It proves the subject's own
self-test still RUNS, has not SHRUNK, and still DISCRIMINATES on live pages. It does NOT re-derive the
scoring -- the subject's --kat owns that, and duplicating it here would be a second ruler.
SUBSTITUTABLE: argv[1] overrides the subject, so nx_gate_bite can hand it a freshly built mutant.
license_tier: ORIGINAL No hw writes (Rule 26).
dependencies 3 imports · 0 importers
imports: nx_syscalls.nxnx_gate_verdict.nxnx_tool_run.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
| 24 | const PG_SUBJECT_DEFAULT: *u8 = "nx_ppp_probe.elf" |
| 28 | const PG_CAP: i64 = 262144 |
| 32 | const PG_KAT_MIN_TEETH: i64 = 20 |
| 33 | const PG_URL_GOOD: *u8 = "https://nishifamily.com/games" |
| 34 | const PG_URL_NOVP: *u8 = "https://nishifamily.com/render3d/negctl_noviewport.html" |
| 35 | const PG_CONNECT: *u8 = "127.0.0.1:8443" |
| 36 | const PG_NL: i64 = 10 |
| 37 | const PG_SP: i64 = 32 |
| 38 | const PG_TCH: i64 = 84 |
| 39 | const PG_ARGV_SLOTS: i64 = 8 |
functions
| 41 | func pg_len(s: *u8) -> i64 { var n: i64 = 0; while s[n] != (0 as u8) { n = n + 1 } return n } |
| 42 | func pg_count(buf: *u8, n: i64, pat: *u8) -> i64 |
| 55 | func pg_has(buf: *u8, n: i64, pat: *u8) -> i64 { if pg_count(buf, n, pat) > 0 { return 1 } return 0 } |
| 58 | func pg_count_teeth(buf: *u8, n: i64) -> i64 |
| 63 | func pg_run(subject: *u8, a1: *u8, a2: *u8, a3: *u8, out: *u8, olen: *i64) -> i64 |
| 79 | func main(argc: i64, argv: *i64) -> i64 |