code wiki / _hdl_build / nx_recall_or_red_gate.nx

nx_recall_or_red_gate.nx

buildroot/runtime/_hdl_build/nx_recall_or_red_gate.nx

7773 B163 linesdepth 4pulls 4 transitivereach 0 importersview sourcekind gate/prooftopic recall
docsdependenciesstructsconstsfunctions

about

nx_recall_or_red_gate.nx -- THE LOCK for the "recall-or-RED" guarantee (the no-unseen-repeat law). Structural twin of the no-hang error-emit keystone: just as nx_netscope T2 proves every error PATH emits a verdict within a deadline (never hangs), THIS proves every SEEN issue is RECALLED + ROUTED to its remedy (never a silent "can't identify/fix this if we've seen it before"). A regression that lets a catalogued signature go unrecognized turns this gate RED within one heartbeat. HERMETIC: the gate seeds its OWN test store (knowledge/store/kigate-) with controlled fixtures (clearly T-* ids -- NOT production claims), so recall is exercised over MULTIPLE signatured rows (proving a real DATA-driven table walk, not one hardcoded branch). Assertions: T1 recall completeness : a diagnostic embedding row T-RKW's signature -> HIT, id=T-RKW T2 route correctness : that hit routes to remedy nx_doctor_fix:doc_heal_token + status AUTO T3 second-row recall : a diagnostic embedding row T-SEGV's signature -> HIT, id=T-SEGV T4 neg-control : a genuinely novel diagnostic -> UNKNOWN (no rubber-stamp; UNFIXABLE stays legal ONLY for truly-unseen issues -- twin of T5 no-false-positive) T5 tamper : corrupt the matched signature in the diagnostic -> recall MISSES (UNKNOWN) -- proves the match is a real substring, not a constant TRUE (twin of BL-011 tamper discipline) GREEN only if T1 .. T5 all hold. Evidence -> knowledge/status/recall_or_red.log. license_tier: ORIGINAL

dependencies 3 imports · 0 importers

nx_known_issue_store.nx nx_seg_store.nx nx_syscalls.nx nx_recall_or_red_gate.nx

imports: nx_known_issue_store.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

main sys_mmap ss_begin ss_begin_cap sys_mmap ↻ rr_streq_store sys_mmap ↻ ss_get sys_mmap ↻ ss_scan sys_mmap ↻ ss_manifest_dyn ss_manifest_file_dyn sys_mmap ↻ ss_cat ss_readall sys_munmap ss_scan_seglist ss_len sys_mmap ↻ ss_cat ↻ ss_readall ↻ ss_r32 rr_len ss_add ss_add2 ss_w32 ss_len ↻ rr_len ↻ ki_seg_next_p sys_mmap ↻ ss_manifest ss_manifest_file sys_mmap ↻ ss_cat ↻ ss_readall ↻ ss_commit ss_segid_ok sys_mmap ↻ ss_cat ↻

structs

none

consts

23const RR_LOG: *u8 = "knowledge/status/recall_or_red.log"
24const KIGATE_PREFIX: *u8 = "knowledge/store/kigate-"

functions

26func rr_w(fd: i64, s: *u8) -> i64 { var n: i64 = 0; while s[n] != (0 as u8) { n = n + 1 } sys_write(fd, s, n); return 0 }
called by 2: rr_rowmain calls 1: sys_write
27func rr_len(s: *u8) -> i64 { var n: i64 = 0; while s[n] != (0 as u8) { n = n + 1 } return n }
called by 2: rr_streq_storemain
30func rr_streq(a: *u8, b: *u8) -> i64
called by 1: main
41func rr_streq_store(key: *u8, val: *u8) -> i64
called by 1: main calls 3: sys_mmapss_getrr_len
54func rr_row(fd: i64, name: *u8, pass: i64) -> i64
called by 1: main calls 1: rr_w
60func main() -> i64