code wiki / (root) / nx_sitesweep_gate.nx

nx_sitesweep_gate.nx

buildroot/runtime/nx_sitesweep_gate.nx

15995 B282 linesdepth 5pulls 8 transitivereach 0 importersview sourcekind gate/proof
docsdependenciesstructsconstsfunctions

about

nx_sitesweep_gate.nx -- the referee for the site-wide broken-asset sweep. WHAT IT CAN AND CANNOT PROVE, STATED UP FRONT. nx_sitesweep adds exactly TWO pieces of judgement to nx_page_verify: the ref PREFILTER (which pages can be proven ref-free without a fetch) and the RULER VERDICT PARSER (how nx_page_verify's output is read). Everything else about a page is the ruler's judgement, already refereed by nx_page_verify_gate. So this gate bites those two, and it bites them IN PROCESS by importing nx_sitesweep_lib -- the same copy the sweep ships. There is no second implementation for the teeth to agree with. The in-process teeth need no fork and no network, so they run in milliseconds and are safe on the fast gate roster. The END-TO-END cell is a different cost class: it forks the deployed sweep against six live pages and takes minutes. It is therefore OPT-IN (e2e=1) and, when it does not run, the gate SAYS SO IN A NAMED LINE rather than silently counting one fewer tooth. A skipped cell that announces itself is a fact; a skipped cell that does not is a false sense of coverage. FIXTURES. The bite cells read two PERMANENT PUBLISHED negative controls that exist for exactly this purpose -- sites/nishifamily/render3d/negctl_bare.html (unquoted src=, the form the ruler was blind to until 2026-08-25) and negctl_sq.html (single-quoted src=, the form it was blind to until 2026-08-18). They are read ONLY, never written, so this gate shares no scratch with any production beat; the fixture-ratchet law is about a gate WRITING where a beat writes, and there is no write here at all. Synthetic fixtures are built in memory at RUNTIME, byte by byte, so no detector that scans source can mistake a gate fixture for a real occurrence, and no literal newline inside a string is required. usage: nx_sitesweep_gate [e2e=1] license_tier: ORIGINAL

dependencies 4 imports · 0 importers

nx_syscalls.nx nx_gate_verdict.nx nx_sitesweep_lib.nx nx_tool_run.nx nx_sitesweep_gate.nx

imports: nx_syscalls.nxnx_gate_verdict.nxnx_sitesweep_lib.nxnx_tool_run.nx

imported by: nobody (leaf or entry point)

structs

none

consts

31const SG_NAME: *u8 = "nx_sitesweep_gate"
32const SG_FIX_BARE: *u8 = "sites/nishifamily/render3d/negctl_bare.html"
33const SG_FIX_SQ: *u8 = "sites/nishifamily/render3d/negctl_sq.html"
34const SG_SWEEP_ELF: *u8 = "nx_sitesweep.elf"
35const SG_DOCROOT: *u8 = "sites/nishifamily"
36const SG_ORIGIN: *u8 = "https://nishifamily.com"
38const SG_BUF: i64 = 65536
39const SG_E2E_BUF: i64 = 1048576
43const SG_E2E_TMO_MS: i64 = 300000
44const SG_ARGVN: i64 = 32
48const SG_URL_BARE: *u8 = "/render3d/negctl_bare"
49const SG_URL_SQ: *u8 = "/render3d/negctl_sq"
50const SG_URL_GOOD: *u8 = "/render3d/negctl_noviewport"

functions

52func sgw(s: *u8) -> i64 { sys_write(1, s, ss_len(s)); return 0 }
57func sg_tail(buf: *u8, summary: *u8, verdict: *u8) -> i64
69func main(argc: i64, argv: *i64) -> i64