nx_research_flow_gate.nx
buildroot/runtime/nx_research_flow_gate.nx
about
nx_research_flow_gate.nx -- TEETH for the rivers-to-ocean research surface.
THE DEFECT CLASS IT EXISTS TO CATCH: an index and the pages it indexes drifting apart. A brief gets
published but never registered (invisible to the ocean and to every miner), or a row is registered
pointing at a page that was never written (the ocean advertises a 404). Both read as success from
one side. This is the "artifacts never placed where consumers look" class, made mechanical.
THE PARTITION CLAIM: for every non-STUB row in the `resbrief-` plane there must be a served page at
sites/nishifamily/<area>/<slug>.html, derived from the SAME two columns the ocean derives its links
from -- so a row that renders a link here is a row whose target is proven to exist.
STUB rows are corpus-only by declaration and are correctly NOT expected on disk.
T4 is a BITE tooth: the presence detector must FIRE on a path that does not exist and stay SILENT on
one that does. Without it, a gate that always returns "present" would pass this file green forever --
a green-before-the-defect-exists gate proves nothing (nx_gate_bite doctrine).
license_tier: ORIGINAL No hw writes (Rule 26). expect_exit: 0
dependencies 4 imports · 0 importers
imports: nx_gate_verdict.nxnx_store_seed_lib.nxnx_seg_store.nxnx_syscalls.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
| 23 | const RF_PLANE: *u8 = "knowledge/store/resbrief-" |
| 24 | const RF_OCEAN: *u8 = "sites/nishifamily/wiki/research.html" |
| 25 | const RF_ROOT: *u8 = "sites/nishifamily/" |
| 26 | const RF_RCAP: i64 = 262144 |
| 27 | const RF_PATHCAP: i64 = 1024 |
| 28 | const RF_FLAGB: i64 = 64 |
| 29 | const RF_SPB: i64 = 256 |
| 30 | const RF_NL: i64 = 10 |
| 31 | const RF_TAB: i64 = 9 |
| 32 | const RF_MAXCOL: i64 = 16 |
| 33 | const RF_PAIR: i64 = 2 |
| 34 | const RF_C_AREA: i64 = 1 |
| 35 | const RF_C_SLUG: i64 = 2 |
| 36 | const RF_C_STATUS: i64 = 5 |
| 37 | const RF_NCOL: i64 = 8 |
functions
| 39 | func rf_slen(s: *u8) -> i64 { var n: i64 = 0; while s[n] != (0 as u8) { n = n + 1 } return n } called by 1: rf_slice_eqs |
| 40 | func rf_slice_eqs(q: *u8, a: i64, b: i64, s: *u8) -> i64 |
| 47 | func rf_cols(q: *u8, ls: i64, le: i64, sp: *i64) -> i64 called by 1: main |
| 62 | func rf_cat_slice(d: *u8, o: i64, q: *u8, a: i64, b: i64) -> i64 called by 1: main |
| 69 | func rf_exists(path: *u8) -> i64 |
| 76 | func main() -> i64 |