code wiki / (root) / nx_browser_gate.nx

nx_browser_gate.nx

buildroot/runtime/nx_browser_gate.nx

11357 B285 linesdepth 3pulls 3 transitivereach 0 importersview sourcekind gate/prooftopic browser
docsdependenciesstructsconstsfunctions

about

nx_browser_gate.nx -- THE BROWSER GATE: one command re-proves the Nishi browser claim set, evidence-driven + durable. Data-driven row table (add a row = add a table entry). Each row names a runtime/<module>.nx; the gate compiles it with the NATIVE browser-lane compiler (_offc/nx_compile_x86_native.elf), assembles + links, runs the ELF, and judges via the RAW wait4 status (the sovereign exit-judging law -- never $? through a shell). Rows (the browser claim set, 2026-06-10): arg7-tailcall compiler regression gate: >6-arg tail-call drop (the defect that zeroed every TLS Derive-Secret) tls-kdf RFC 8448 Derive-Secret KATs tls-schedule TLS 1.3 key-schedule KATs jpeg-ascii deterministic synthetic-JPEG decode + raster page-demo live HTTP fetch + html_to_text (example.com:80) own-site-live LIVE sovereign HTTPS fetch of nishifamily.com (TLS 1.3 + real Mozilla CA chain validation) render-own paints the FETCHED page's text -> framebuffer (consumes own-site-live's /tmp/nishi_own.html) recv-hs-probe B1 rung: full encrypted-handshake walk vs example.com (per-record/per-message markers, cert-pipeline verdict + chain sig-alg census); exit 0 = handshake to WAIT_CLIENT_FIN p256-keyshare B4 rung: P-256 ECDH (RFC 5903 KAT both directions, boundary rejects) + dual key_share wire format (x25519 + secp256r1 in one CH) derefcast compiler regression gate: `*p as T` precedence (pre-fix: cast bound inside the deref -> byte- load of the pointer cell -> SIGSEGV; fixed in parse_unary 2026-06-10) p256-loopback B4 server side: OUR server completes a P-256-only client (no HRR), both roles derive byte-identical traffic secrets, off-curve share rejected (the nishifamily P-256 gap, healed + loopback-proven) ch-compat B2 rung, two live legs: httpbin.org census (TLS-1.2-only signature classified -- the CH was never the defect; auto-escalates to a full handshake if they enable 1.3) + github.com P-256-only CH walked to verified server

dependencies 2 imports · 0 importers

nx_syscalls.nx nx_gate_verdict.nx nx_browser_gate.nx

imports: nx_syscalls.nxnx_gate_verdict.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 sys_openat_wr sys_openat_append bg_fputs sys_write bg_fputn sys_mmap ↻ sys_write ↻ sys_now_realtime_sec sys_mmap ↻ sys_clock_gettime_real bg_stage_certdata sys_openat_rd sys_openat_wr ↻ sys_close sys_mmap ↻ sys_read sys_write ↻ bg_putn bg_fputn ↻ bg_build sys_mmap ↻ bg_cat sys_openat_wr ↻ bg_run sys_fork sys_dup3 sys_execve sys_exit sys_mmap ↻ sys_wait4 sys_close ↻ bg_run ↻ bg_report bg_fputs ↻ bg_fputn ↻ sys_close ↻ gv_ctr sys_mmap ↻

structs

none

consts

55const BG_ROWS: i64 = 12

functions

57func bg_puts(s: *u8) -> i64
calls 1: sys_write
64func bg_fputs(fd: i64, s: *u8) -> i64
called by 2: bg_reportmain calls 1: sys_write
71func bg_fputn(fd: i64, v: i64) -> i64
85func bg_putn(v: i64) -> i64 { bg_fputn(1, v); return 0 }
called by 1: main calls 1: bg_fputn
87func bg_cat(dst: *u8, off: i64, s: *u8) -> i64
called by 1: bg_build
94func bg_run(path: *u8, argv: *i64, envp: *i64, redir_out: i64, redir_err: i64) -> i64
109func bg_build(mod: *u8, envp: *i64, devnull: i64) -> i64
146func bg_report(logfd: i64, name: *u8, build_rc: i64, exit_code: i64, sig: i64, pass: i64) -> i64
called by 1: main calls 2: bg_fputsbg_fputn
181func bg_stage_certdata() -> i64
199func main() -> i64