nx_fetchwall_lib.nx
buildroot/runtime/nx_fetchwall_lib.nx
about
nx_fetchwall_lib.nx -- IS THIS FETCHED BODY CONTENT, OR A WALL WEARING A 200? (2026-09-03)
WHY THIS EXISTS, MEASURED THE DAY IT WAS BUILT. A Google AI Mode share link was fetched by the sovereign
client, which reported status=200 body_bytes=92982 SAVED ... grep it to cite. Every one of those words was
true and the artifact was a JavaScript gate: title Google Search, a noscript meta-refresh to
/httpservice/retry/enablejs, and not one character of the answer. A WALL THAT RETURNS 200 AND 93 KB IS
INDISTINGUISHABLE FROM A MIRROR UNTIL SOMEONE READS THE HEAD, and the refs lane cites mirrors by path, so
a wall silently becomes a fabricated citation carrying a real provenance row and a real sha256.
WHAT IT IS NOT. It is not nx_mirrorintegrity, which measures TRUNCATION -- a different axis that reads this
very file as intact, because it IS intact; it is a complete wall. It is not nx_clean_serve, which is a
policy transform. The question here is prior to both: does this body carry readable content at all.
THE ORDERING IS THE WHOLE DESIGN: STRUCTURE DECIDES WHETHER, MARKERS DECIDE WHICH. The structural axis is
bd_fit_text from nx_block_density (Kohlschuetter shallow text features, the webscraping R6 contract) -- the
estate's one text-extraction ruler, COMPOSED and not re-implemented -- and it is VOCABULARY-FREE, so it
catches walls in languages and phrasings nobody listed. Markers only NAME the family afterwards. A
marker-first design would convict every article that mentions cookies or a sign-in link, which is exactly
the false-positive class that cost nx_mirrorintegrity a 941-permil FP rate on real data.
ABSTAIN, NEVER ACQUIT: an unreadable file and a zero-length body return UNPROVEN, never CONTENT.
license_tier: ORIGINAL No hw writes (Rule 26). LIB (no main).
dependencies 2 imports · 1 importers
imports: nx_syscalls.nxnx_block_density.nx
imported by: nx_fetchwall_gate.nx
structs
| none |
consts
| 26 | const FW_CONTENT: i64 = 0 |
| 27 | const FW_WALL_JS: i64 = 1 |
| 28 | const FW_WALL_CHALLENGE: i64 = 2 |
| 29 | const FW_WALL_CONSENT: i64 = 3 |
| 30 | const FW_WALL_LOGIN: i64 = 4 |
| 31 | const FW_WALL_UNNAMED: i64 = 5 |
| 32 | const FW_EMPTY: i64 = 6 |
| 33 | const FW_UNPROVEN: i64 = 7 |
| 35 | const FW_O_VERDICT: i64 = 0 |
| 36 | const FW_O_BODY: i64 = 1 |
| 37 | const FW_O_TEXT: i64 = 2 |
| 38 | const FW_O_PERMIL: i64 = 3 |
| 39 | const FW_O_JS: i64 = 4 |
| 40 | const FW_O_CHAL: i64 = 5 |
| 41 | const FW_O_CONS: i64 = 6 |
| 42 | const FW_O_LOGIN: i64 = 7 |
| 43 | const FW_O_SLOTS: i64 = 8 |
| 44 | const FW_SLOT: i64 = 8 |
| 46 | const FW_PERMIL: i64 = 1000 |
| 51 | const FW_CONTENT_PERMIL: i64 = 30 |
| 53 | const FW_MIN_BYTES: i64 = 256 |
| 54 | const FW_UPPER_A: i64 = 65 |
| 55 | const FW_UPPER_Z: i64 = 90 |
| 56 | const FW_CASE_DELTA: i64 = 32 |
functions
| 58 | func fw_lc(c: i64) -> i64 { if c >= FW_UPPER_A { if c <= FW_UPPER_Z { return c + FW_CASE_DELTA } } return c } called by 1: fw_has |
| 61 | func fw_has(body: *u8, n: i64, lit: *u8) -> i64 |
| 87 | func fw_sig_js(body: *u8, n: i64) -> i64 |
| 94 | func fw_sig_challenge(body: *u8, n: i64) -> i64 |
| 102 | func fw_sig_consent(body: *u8, n: i64) -> i64 |
| 109 | func fw_sig_login(body: *u8, n: i64) -> i64 |
| 117 | func fw_name(v: i64) -> *u8 |
| 127 | func fw_is_wall(v: i64) -> i64 called by 1: main |
| 133 | func fw_classify(body: *u8, n: i64, out: *i64) -> i64 called by 2: mainfw_classify_file calls 6: sys_mmapbd_fit_textfw_sig_jsfw_sig_challengefw_sig_consentfw_sig_login |
| 176 | func fw_classify_file(path: *u8, out: *i64) -> i64 |