code wiki / _hdl_build / nx_browser_arc_status.nx

nx_browser_arc_status.nx source

↩ module page · 115 lines · 4822 B

1// nx_browser_arc_status.nx -- runner: the WARDEN's live browser-arc board. Reads the 2// Engineer's durable gate log, routes each open rung (B1-B5) through the RACI pipeline 3// (nx_browser_arc_pipeline) and reports stage + claude_touch per rung + the arc's 4// autonomy permil. Appends to knowledge/status/browser_arc.log (Archivist rule). 5// Run with CWD=nxc2/. Exit 0 unless a rung is RACI-BAD or REJECTED -- NEEDS_TUTOR is 6// an honest open state (the measured Claude dependency), not a failure. 7// Rung -> gate-row CONTRACT (a rung lands by adding the named test as a gate row): 8// B1-RECVHS-EXAMPLE -> nx_tls13_recv_hs_probe_test 9// B2-HTTPBIN-CH -> nx_tls13_ch_compat_test 10// B3-REAL-CSS-LAYOUT -> nx_css_layout_test 11// B4-P256-KEYSHARE -> nx_p256_keyshare_test 12// B5-PROG-JPEG -> nx_jpeg_progressive_test 13// license_tier: ORIGINAL 14import "nx_browser_arc_pipeline.nx" 15 16const BA_RUNGS: i64 = 5 17 18func main() -> i64 { 19 let rungs: *i64 = sys_mmap(8 * (BA_RUNGS + 1)) as *i64 20 rungs[0] = "B1-RECVHS-EXAMPLE\x00" as *u8 as i64 21 rungs[1] = "B2-HTTPBIN-CH\x00" as *u8 as i64 22 rungs[2] = "B3-REAL-CSS-LAYOUT\x00" as *u8 as i64 23 rungs[3] = "B4-P256-KEYSHARE\x00" as *u8 as i64 24 rungs[4] = "B5-PROG-JPEG\x00" as *u8 as i64 25 26 let rows: *i64 = sys_mmap(8 * (BA_RUNGS + 1)) as *i64 27 rows[0] = "row=nx_tls13_recv_hs_probe_test \x00" as *u8 as i64 28 rows[1] = "row=nx_tls13_ch_compat_test \x00" as *u8 as i64 29 rows[2] = "row=nx_css_layout_test \x00" as *u8 as i64 30 rows[3] = "row=nx_p256_keyshare_test \x00" as *u8 as i64 31 rows[4] = "row=nx_jpeg_progressive_test \x00" as *u8 as i64 32 33 // pattern coverage per rung: ALL novel today (TLS handshake probe, CH compat diff, 34 // CSS cascade/layout, P-256 keyshare+HRR, progressive JPEG are not among the 10 35 // emitter-covered shapes) -- the honest autonomy baseline this board makes visible. 36 let pats: *i64 = sys_mmap(8 * (BA_RUNGS + 1)) as *i64 37 pats[0] = 0; pats[1] = 0; pats[2] = 0; pats[3] = 0; pats[4] = 0 38 39 let lenp: *i64 = sys_mmap(8) as *i64 40 let buf: *u8 = sys_read_file("knowledge/status/browser_gate.log\x00" as *u8, lenp) 41 let blen: i64 = lenp[0] 42 43 let logfd: i64 = sys_openat_append("knowledge/status/browser_arc.log\x00" as *u8, 0x1a4) 44 var fdi: i64 = 0 45 while fdi < 2 { 46 var fd: i64 = 1 47 if fdi == 1 { fd = logfd } 48 if fd > 0 { 49 ba_fputs(fd, "BROWSER-ARC epoch=\x00" as *u8) 50 ba_fputn(fd, sys_now_realtime_sec()) 51 ba_fputs(fd, " gate_log_bytes=\x00" as *u8) 52 ba_fputn(fd, blen) 53 ba_fputs(fd, "\n\x00" as *u8) 54 } 55 fdi = fdi + 1 56 } 57 58 var admitted: i64 = 0 59 var tutor: i64 = 0 60 var bad: i64 = 0 61 var ri: i64 = 0 62 while ri < BA_RUNGS { 63 var status: i64 = 0 - 1 64 if blen > 0 { status = ba_row_status(buf, blen, rows[ri] as *u8) } 65 let stage: i64 = ba_rung_stage(pats[ri], status) 66 let touch: i64 = bp_claude_touch(pats[ri]) 67 if stage == BP_ADMITTED { admitted = admitted + 1 } 68 if stage == BP_NEEDS_TUTOR { tutor = tutor + 1 } 69 if stage == BP_RACI_BAD { bad = bad + 1 } 70 if stage == BP_REJECTED { bad = bad + 1 } 71 var fdj: i64 = 0 72 while fdj < 2 { 73 var fd: i64 = 1 74 if fdj == 1 { fd = logfd } 75 if fd > 0 { 76 ba_fputs(fd, "BROWSER-ARC rung=\x00" as *u8) 77 ba_fputs(fd, rungs[ri] as *u8) 78 ba_fputs(fd, " evidence=\x00" as *u8) 79 if status == 1 { ba_fputs(fd, "PASS\x00" as *u8) } 80 if status == 0 { ba_fputs(fd, "FAIL\x00" as *u8) } 81 if status < 0 { ba_fputs(fd, "ABSENT\x00" as *u8) } 82 ba_fputs(fd, " stage=\x00" as *u8) 83 ba_fputs(fd, ba_stage_name(stage)) 84 ba_fputs(fd, " touch=\x00" as *u8) 85 ba_fputn(fd, touch) 86 ba_fputs(fd, "\n\x00" as *u8) 87 } 88 fdj = fdj + 1 89 } 90 ri = ri + 1 91 } 92 93 let permil: i64 = bp_autonomy_permil(pats, BA_RUNGS) 94 fdi = 0 95 while fdi < 2 { 96 var fd: i64 = 1 97 if fdi == 1 { fd = logfd } 98 if fd > 0 { 99 ba_fputs(fd, "BROWSER-ARC rungs=\x00" as *u8) 100 ba_fputn(fd, BA_RUNGS) 101 ba_fputs(fd, " admitted=\x00" as *u8) 102 ba_fputn(fd, admitted) 103 ba_fputs(fd, " tutor_pending=\x00" as *u8) 104 ba_fputn(fd, tutor) 105 ba_fputs(fd, " autonomy_permil=\x00" as *u8) 106 ba_fputn(fd, permil) 107 if bad == 0 { ba_fputs(fd, " verdict=ROUTED\n\x00" as *u8) } 108 if bad != 0 { ba_fputs(fd, " verdict=RACI-BAD\n\x00" as *u8) } 109 } 110 fdi = fdi + 1 111 } 112 if logfd > 0 { sys_close(logfd) } 113 if bad == 0 { return 0 } 114 return 1 115}