code wiki / _hdl_build / nx_recycler_census.nx

nx_recycler_census.nx source

↩ module page · 56 lines · 5254 B

1import "nx_gate_gn.nx" 2// nx_recycler_census.nx -- the NISHI RECYCLER pipeline MAP + ladder (the inverse of the builder: the builder 3// CONSUMES features to build; the recycler CONSUMES other systems' GARBAGE -- CVEs, bug trackers, postmortems, 4// complaints, "considered harmful" essays -- and recycles what APPLIES to us into hardening). LIVING MAP, liar- 5// killed: a pipeline stage is graded HAVE only if its real organ/artifact exists on disk; honest GAPs stay GAP. 6// Stages: DISCOVER -> FETCH -> EXTRACT -> ASSESS -> CONVERT. expect_exit: 0 license_tier: ORIGINAL 7import "nx_syscalls.nx" 8 9func gp(s: *u8) -> i64 { var n: i64=0; while s[n]!=(0 as u8){n=n+1} sys_write(1,s,n); return 0 } 10func have(p: *u8) -> i64 { let fd: i64=sys_openat_rd(p); if fd<0 { return 0 } sys_close(fd); return 1 } 11func row(stage: *u8, p: *u8, note: *u8) -> i64 { 12 gp(" " as *u8); gp(stage) 13 if have(p)==1 { gp(": HAVE (" as *u8) } else { gp(": GAP (" as *u8) } 14 gp(p); gp(") " as *u8); gp(note); gp("\n" as *u8) 15 return have(p) 16} 17 18func main() -> i64 { 19 gp("=== nx_recycler_census: the Nishi Recycler pipeline (inverse-builder: eat others' garbage -> our hardening) ===\n" as *u8) 20 var hav: i64=0; var gap: i64=0 21 22 // DISCOVER -- find MORE bugs to consume by MINING the fetched corpus for CVE-IDs (R2, grounded). nx_recycler_ 23 // discover surfaced 21 unique CVEs (16 NEW beyond the curated seed, incl. the Shellshock + Log4Shell families). 24 if row("DISCOVER" as *u8, "runtime/_hdl_build/nx_recycler_discover.nx" as *u8, "mines fetched bytes for CVE-IDs -> 16 NEW intake candidates (R2 corpus-discovery HAVE; full search-engine wiring = growth)" as *u8)==1 { hav=hav+1 } else { gap=gap+1 } 25 // FETCH -- pull the real bug corpora sovereignly (own TLS, Wikipedia-allowed). HAVE: 8/8 real vuln pages fetched. 26 if row("FETCH " as *u8, "runtime/nx_recycler_fetch.nx" as *u8, "8 real published-vuln pages over our own TLS -> knowledge/fetched/recyc_*.raw" as *u8)==1 { hav=hav+1 } else { gap=gap+1 } 27 // EXTRACT -- pull the stated issue out of the fetched bytes. PARTIAL: the assess brain keys off the bug CLASS; 28 // full free-text issue/sentiment extraction (incl. product REVIEWS, complaints) is R5. 29 if row("EXTRACT " as *u8, "runtime/_hdl_build/nx_recycler_extract.nx" as *u8, "R5 critique-mining: 5 critique-classes of other systems extracted from real pages, 2 APPLY (UB->LM-030/031, memory-safety)" as *u8)==1 { hav=hav+1 } else { gap=gap+1 } 30 // ASSESS -- logically map each bug to Nishi -> verdict + recycle-action; cross-link to our own catalogue. HAVE. 31 if row("ASSESS " as *u8, "runtime/_hdl_build/nx_recycler_assess.nx" as *u8, "8/0: 4 NEEDS-GATE + 3 IMMUNE + 1 N/A; Spectre->SEC-CT, int-overflow->LM-005" as *u8)==1 { hav=hav+1 } else { gap=gap+1 } 32 // CONVERT -- recycle a verdict into a real hardening artifact (a gate/primitive). HAVE (proven once): the 33 // Heartbleed-recycled bounds primitive. Auto-convert-EVERY-verdict is R3. 34 if row("CONVERT " as *u8, "runtime/_hdl_build/nx_recycler_bounds.nx" as *u8, "Heartbleed -> bounds primitive + gate (proven); auto-convert-all is R3" as *u8)==1 { hav=hav+1 } else { gap=gap+1 } 35 36 gp(" grounding: real intake artifact recyc_heartbleed.raw " as *u8) 37 var grounded: i64 = have("knowledge/fetched/recyc_heartbleed.raw" as *u8) 38 if grounded==1 { gp("PRESENT\n" as *u8) } else { gp("MISSING\n" as *u8) } 39 40 gp(" LADDER: R0 intake(HAVE) R1 assess(HAVE) R2 corpus-discover(HAVE) R3 auto-convert(PARTIAL: 2 proven -- bounds+sovereignty) R4 self-grow(HAVE-inherit: coverage 8->24, PROVISIONAL; continuous re-fetch=growth) R5 critique-mining(HAVE: 5 critiques, 2 apply -- continuous-refetch + R3-auto-convert-rest = growth)\n" as *u8) 41 gp("RECYCLER-CENSUS have=" as *u8); gn(hav); gp(" gap=" as *u8); gn(gap); gp("\n" as *u8) 42 43 // self-gate: the HAVE stages must really be on disk; DISCOVER must honestly read GAP; grounding present. 44 var pass: i64=0; var fail: i64=0 45 if have("runtime/nx_recycler_fetch.nx" as *u8)==1 { pass=pass+1 } else { fail=fail+1; gp(" FAIL fetch-absent\n" as *u8) } 46 if have("runtime/_hdl_build/nx_recycler_assess.nx" as *u8)==1 { pass=pass+1 } else { fail=fail+1; gp(" FAIL assess-absent\n" as *u8) } 47 if have("runtime/_hdl_build/nx_recycler_bounds.nx" as *u8)==1 { pass=pass+1 } else { fail=fail+1; gp(" FAIL convert-absent\n" as *u8) } 48 if have("runtime/_hdl_build/nx_recycler_discover.nx" as *u8)==1 { pass=pass+1 } else { fail=fail+1; gp(" FAIL discover-absent\n" as *u8) } 49 if have("runtime/_hdl_build/nx_recycler_extract.nx" as *u8)==1 { pass=pass+1 } else { fail=fail+1; gp(" FAIL extract-absent\n" as *u8) } 50 if grounded==1 { pass=pass+1 } else { fail=fail+1; gp(" FAIL grounding-absent\n" as *u8) } 51 if hav==5 { pass=pass+1 } else { fail=fail+1; gp(" FAIL have-count (expected 5 HAVE: all pipeline stages)\n" as *u8) } 52 53 gp("RECYCLER-CENSUS pass=" as *u8); gn(pass); gp(" fail=" as *u8); gn(fail) 54 if fail==0 { gp(" verdict=GREEN (ALL 5 pipeline stages HAVE; 2 CONVERTs proven; self-grow 8->24; 5 critiques mined [2 apply]; continuous-refetch + R3-auto-convert-rest = growth)\n" as *u8); sys_exit(0); return 0 } 55 gp(" verdict=RED\n" as *u8); sys_exit(1); return 1 56}