code wiki / _hdl_build / nx_recycler_advisory_page.nx

nx_recycler_advisory_page.nx source

↩ module page · 116 lines · 8619 B

1// nx_recycler_advisory_page.nx -- Generates a privacy-first, no-JS HTML dashboard for nishifamily.com showcasing S-class recycler advisory data. 2import "nx_gate_gn.nx" 3// nx_recycler_advisory_page.nx -- renders the recycler's S-class advisory as a SOVEREIGN, no-JS, privacy-first 4// dashboard for nishifamily.com (operator: "work with me on nishifamily.com to give me feedback on opportunities ... 5// provable evidence we are s-class superior"). Composes nx_recycler_opportunity's rc_fill data -> static HTML with 6// inline CSS, ZERO JavaScript and ZERO third-party loads (fail-closed: it scans its OWN bytes for script/http/:// and 7// REFUSES to write if any appear). Groups the axes: PROVEN-superior (measured/gated evidence) · OPPORTUNITIES 8// (provable + hardening) · HONEST GROWTH GAPS (the roadmap). Staged to web_assets/site_nishifamily/advisory.html for 9// the operator to approve+publish via the sovereign publisher. Self-gating. license_tier: ORIGINAL 10import "nx_syscalls.nx" 11import "nx_recycler_opportunity.nx" 12const K_MAGIC_65536: i64 = 65536 13 14func gp(s: *u8) -> i64 { var n: i64=0; while s[n]!=(0 as u8){n=n+1} sys_write(1,s,n); return 0 } 15func slen(s: *u8) -> i64 { var n: i64=0; while s[n]!=(0 as u8){n=n+1} return n } 16func streq(a: *u8, b: *u8) -> i64 { var i: i64=0; while a[i]!=(0 as u8){ if a[i]!=b[i]{return 0} i=i+1 } if b[i]!=(0 as u8){return 0} return 1 } 17// number -> into buf at off (the page needs inline numbers) 18func gnbuf(buf: *u8, off: i64, v0: i64) -> i64 { 19 var v: i64=v0; var o: i64=off 20 if v==0 { buf[o]=48 as u8; return o+1 } 21 let t: *u8=sys_mmap(24); var k: i64=0 22 while v>0 { t[k]=(48+(v%10)) as u8; v=v/10; k=k+1 } 23 var j: i64=k-1 24 while j>=0 { buf[o]=t[j]; o=o+1; j=j-1 } 25 return o 26} 27func aw(buf: *u8, off: i64, s: *u8) -> i64 { var o: i64=off; var i: i64=0; while s[i]!=(0 as u8){ buf[o]=s[i]; o=o+1; i=i+1 } return o } 28// append HTML-escaped (& < > ") 29func awesc(buf: *u8, off: i64, s: *u8) -> i64 { 30 var o: i64=off; var i: i64=0 31 while s[i]!=(0 as u8) { 32 let c: i64 = s[i] as i64 33 if c==38 { o=aw(buf,o,"&amp;" as *u8) } else { if c==60 { o=aw(buf,o,"&lt;" as *u8) } else { if c==62 { o=aw(buf,o,"&gt;" as *u8) } else { if c==34 { o=aw(buf,o,"&quot;" as *u8) } else { buf[o]=s[i]; o=o+1 } } } } 34 i=i+1 35 } 36 return o 37} 38func has(buf: *u8, n: i64, needle: *u8) -> i64 { 39 let nl: i64=slen(needle); var i: i64=0 40 while i+nl<=n { var k: i64=0; var m: i64=1; while k<nl { if buf[i+k]!=needle[k]{m=0;k=nl} else {k=k+1} } if m==1 { return 1 } i=i+1 } 41 return 0 42} 43// emit one card-group for the axes whose status == want. 44func emit_group(buf: *u8, off: i64, axis: *i64, status: *i64, detail: *i64, n: i64, want: *u8) -> i64 { 45 var o: i64=off; var i: i64=0 46 while i < n { 47 if streq(status[i] as *u8, want)==1 { 48 o=aw(buf,o,"<div class=card><div class=ax>" as *u8); o=awesc(buf,o,axis[i] as *u8); o=aw(buf,o,"</div><div class=dt>" as *u8); o=awesc(buf,o,detail[i] as *u8); o=aw(buf,o,"</div></div>\n" as *u8) 49 } 50 i=i+1 51 } 52 return o 53} 54 55func main() -> i64 { 56 gp("=== nx_recycler_advisory_page: render the S-class advisory for nishifamily.com (sovereign, no-JS) ===\n" as *u8) 57 let axis: *i64 = sys_mmap(8*32) as *i64 58 let status: *i64 = sys_mmap(8*32) as *i64 59 let detail: *i64 = sys_mmap(8*32) as *i64 60 let n: i64 = rc_fill(axis, status, detail) 61 var proven: i64=0; var provable: i64=0; var harden: i64=0; var grow: i64=0 62 var i: i64=0 63 while i < n { 64 let st: *u8 = status[i] as *u8 65 if streq(st,"PROVEN" as *u8)==1 { proven=proven+1 } 66 if streq(st,"PROVABLE" as *u8)==1 { provable=provable+1 } 67 if streq(st,"HARDEN" as *u8)==1 { harden=harden+1 } 68 if streq(st,"GROW" as *u8)==1 { grow=grow+1 } 69 i=i+1 70 } 71 72 let buf: *u8 = sys_mmap(K_MAGIC_65536) 73 var o: i64 = 0 74 o=aw(buf,o,"<!doctype html><html lang=en><head><meta charset=utf-8><meta name=viewport content=\"width=device-width,initial-scale=1\"><title>Nishi - S-class Advisory</title>\n" as *u8) 75 o=aw(buf,o,"<style>body{font:15px/1.5 system-ui,sans-serif;max-width:900px;margin:0 auto;padding:24px;color:#1a1a1a;background:#fafafa}h1{font-size:24px;margin:0 0 4px}.sub{color:#555;margin:0 0 16px}.board{display:flex;gap:10px;flex-wrap:wrap;margin:0 0 20px}.stat{flex:1;min-width:120px;border:1px solid #ddd;border-radius:8px;padding:10px 12px;background:#fff}.stat b{font-size:22px;display:block}.sec{margin:22px 0 8px;font-size:13px;letter-spacing:.5px;text-transform:uppercase;color:#777}.card{border:1px solid #e3e3e3;border-radius:8px;padding:10px 12px;margin:8px 0;background:#fff}.ax{font-weight:600}.dt{color:#444;font-size:14px;margin-top:2px}.proven{border-left:4px solid #2e7d32}.opp{border-left:4px solid #1565c0}.gap{border-left:4px solid #b26a00}footer{margin-top:28px;color:#888;font-size:12px;border-top:1px solid #eee;padding-top:10px}</style></head><body>\n" as *u8) 76 o=aw(buf,o,"<h1>Nishi Ecosystem - S-class Advisory</h1>\n" as *u8) 77 o=aw(buf,o,"<p class=sub>Provably superior on <b>" as *u8); o=gnbuf(buf,o,proven); o=aw(buf,o,"</b> measured/gated axes. <b>" as *u8); o=gnbuf(buf,o,grow); o=aw(buf,o,"</b> honest gaps remain - we are NOT yet s-class across the board. The recycler keeps growing this, proactively addressing issues seen in the wider community.</p>\n" as *u8) 78 o=aw(buf,o,"<div class=board><div class=stat><b>" as *u8); o=gnbuf(buf,o,proven); o=aw(buf,o,"</b>proven superior</div><div class=stat><b>" as *u8); o=gnbuf(buf,o,provable); o=aw(buf,o,"</b>provable next</div><div class=stat><b>" as *u8); o=gnbuf(buf,o,harden); o=aw(buf,o,"</b>hardening opps</div><div class=stat><b>" as *u8); o=gnbuf(buf,o,grow); o=aw(buf,o,"</b>honest gaps</div></div>\n" as *u8) 79 80 o=aw(buf,o,"<div class=sec>Proven superior (measured / gated evidence)</div>\n" as *u8) 81 o=aw(buf,o,"<div class=proven>" as *u8); o=emit_group(buf,o,axis,status,detail,n,"PROVEN" as *u8); o=aw(buf,o,"</div>\n" as *u8) 82 o=aw(buf,o,"<div class=sec>Opportunities (provable next + pull-ahead)</div>\n" as *u8) 83 o=aw(buf,o,"<div class=opp>" as *u8); o=emit_group(buf,o,axis,status,detail,n,"PROVABLE" as *u8); o=emit_group(buf,o,axis,status,detail,n,"HARDEN" as *u8); o=aw(buf,o,"</div>\n" as *u8) 84 o=aw(buf,o,"<div class=sec>Honest growth gaps (the roadmap to full s-class)</div>\n" as *u8) 85 o=aw(buf,o,"<div class=gap>" as *u8); o=emit_group(buf,o,axis,status,detail,n,"GROW" as *u8); o=aw(buf,o,"</div>\n" as *u8) 86 o=aw(buf,o,"<footer>Sovereign - no JavaScript, no third-party loads, grounded in real fetched evidence. Generated by the Nishi recycler advisory engine. nishifamily.com</footer></body></html>\n" as *u8) 87 buf[o]=0 as u8 88 89 // FAIL-CLOSED sovereign check: refuse to write if the bytes carry JS or a third-party URL 90 var sovereign: i64 = 1 91 if has(buf,o,"<script" as *u8)==1 { sovereign=0 } 92 if has(buf,o,"http" as *u8)==1 { sovereign=0 } 93 if has(buf,o,"://" as *u8)==1 { sovereign=0 } 94 95 var wrote: i64 = 0 96 let path: *u8 = "web_assets/site_nishifamily/advisory.html" as *u8 97 if sovereign==1 { 98 __syscall(83, "web_assets" as *u8 as i64, 493, 0,0,0,0) 99 __syscall(83, "web_assets/site_nishifamily" as *u8 as i64, 493, 0,0,0,0) 100 let fd: i64 = sys_openat_wr(path, 0x1a4) 101 if fd>=0 { sys_write(fd, buf, o); sys_close(fd); wrote=o } 102 } 103 gp(" rendered " as *u8); gn(wrote); gp(" bytes -> " as *u8); gp(path); gp(" sovereign=" as *u8); gn(sovereign); gp("\n" as *u8) 104 105 var pass: i64=0; var fail: i64=0 106 if sovereign==1 { pass=pass+1 } else { fail=fail+1; gp(" FAIL not-sovereign (script/http in output)\n" as *u8) } 107 if wrote>0 { pass=pass+1 } else { fail=fail+1; gp(" FAIL not-written\n" as *u8) } 108 if has(buf,o,"Proven superior" as *u8)==1 { pass=pass+1 } else { fail=fail+1; gp(" FAIL missing-proven-section\n" as *u8) } 109 if has(buf,o,"Honest growth gaps" as *u8)==1 { pass=pass+1 } else { fail=fail+1; gp(" FAIL missing-honest-gaps (would be self-flattering)\n" as *u8) } 110 if has(buf,o,"NOT yet s-class" as *u8)==1 { pass=pass+1 } else { fail=fail+1; gp(" FAIL missing-honest-disclaimer\n" as *u8) } 111 if proven>=6 { pass=pass+1 } else { fail=fail+1; gp(" FAIL too-few-proven\n" as *u8) } 112 113 gp("RECYCLER-ADVISORY-PAGE pass=" as *u8); gn(pass); gp(" fail=" as *u8); gn(fail) 114 if fail==0 { gp(" verdict=GREEN (sovereign no-JS S-class advisory staged for nishifamily.com; proven wins + honest gaps; fail-closed on script/http)\n" as *u8); sys_exit(0); return 0 } 115 gp(" verdict=RED\n" as *u8); sys_exit(1); return 1 116}