code wiki / _hdl_build / nx_wpt_run_gate.nx

nx_wpt_run_gate.nx source

↩ module page · 120 lines · 7406 B

1// nx_wpt_run_gate.nx -- VERDICT gate for the WPT external-oracle harness (nx_wpt_run). Proves the harness 2// is CORRECT and has TEETH, deterministically, WITHOUT faking the pass-rate: 3// (1) internal MATCH control (spec-equivalent pair) -> diff==0 (detects equivalence) 4// (2) internal MISMATCH control (blue vs red) -> diff>1000 [LIAR-KILL: comparator can't pass everything] 5// (3) the REAL oracle is wired: knowledge/wpt/manifest.tsv present (>=1 row) 6// (4) the REAL vendored WPT files exist + are readable (oracle is real, not empty) 7// (5) running the 3 REAL reftests scores total==3 (oracle actually ran) 8// (6) >=1 REAL WPT reftest PASSES (proves real-match-detection on real files; the honest pass-rate is 9// REPORTED by nx_wpt_run, never floored here). 100% sovereign. license_tier: ORIGINAL 10import "nx_syscalls.nx" 11import "nx_render_html.nx" 12 13func g_w(s: *u8) -> i64 { var k: i64=0; while s[k]!=(0 as u8){k=k+1} sys_write(1,s,k); return 0 } 14func pn(v0: i64) -> i64 { var v: i64=v0; if v<0 { let m: *u8=sys_mmap(8); m[0]=45 as u8; sys_write(1,m,1); v=0-v } let b: *u8=sys_mmap(24); var k: i64=0; if v==0 {b[0]=48;k=1} while v>0 {b[k]=(48+(v%10)) as u8; v=v/10; k=k+1} let o: *u8=sys_mmap(24); var j: i64=0; while j<k {o[j]=b[k-1-j];j=j+1} sys_write(1,o,k); return 0 } 15func u32le(d: *u8, p: i64) -> i64 { return (d[p]&0xff) + ((d[p+1]&0xff)<<8) + ((d[p+2]&0xff)<<16) + ((d[p+3]&0xff)<<24) } 16 17func bmp_diff(a: *u8, b: *u8) -> i64 { 18 let wa: i64=u32le(a,18); let ha: i64=u32le(a,22); let oa: i64=u32le(a,10) 19 let wb: i64=u32le(b,18); let hb: i64=u32le(b,22); let ob: i64=u32le(b,10) 20 if wa != wb { return 999999 } 21 if ha != hb { return 999999 } 22 let row3: i64 = wa*3 23 let pad: i64 = (4-(row3%4))%4 24 let rowstride: i64 = row3+pad 25 var diff: i64 = 0 26 var y: i64 = 0 27 while y < ha { 28 var x: i64 = 0 29 let rba: i64 = oa + y*rowstride 30 let rbb: i64 = ob + y*rowstride 31 while x < wa { 32 let pa: i64 = rba + x*3 33 let pb: i64 = rbb + x*3 34 var d: i64 = 0 35 if (a[pa]&0xff) != (b[pb]&0xff) { d=1 } 36 if (a[pa+1]&0xff) != (b[pb+1]&0xff) { d=1 } 37 if (a[pa+2]&0xff) != (b[pb+2]&0xff) { d=1 } 38 if d==1 { diff = diff + 1 } 39 x = x+1 40 } 41 y = y+1 42 } 43 return diff 44} 45func slen(s: *u8) -> i64 { var n: i64=0; while s[n]!=(0 as u8){n=n+1} return n } 46func reftest_html(test_html: *u8, ref_html: *u8) -> i64 { 47 nx_render_html_to_bmp(test_html, slen(test_html), "knowledge/status/wptg_t.bmp\x00" as *u8) 48 nx_render_html_to_bmp(ref_html, slen(ref_html), "knowledge/status/wptg_r.bmp\x00" as *u8) 49 let lp: *i64 = sys_mmap(8) as *i64 50 let a: *u8 = sys_read_file("knowledge/status/wptg_t.bmp\x00" as *u8, lp); let la: i64 = lp[0] 51 let b: *u8 = sys_read_file("knowledge/status/wptg_r.bmp\x00" as *u8, lp); let lb: i64 = lp[0] 52 if la < 54 { return 999999 } 53 if lb < 54 { return 999999 } 54 return bmp_diff(a, b) 55} 56func reftest_files(test_path: *u8, ref_path: *u8) -> i64 { 57 let lp: *i64 = sys_mmap(8) as *i64 58 let t: *u8 = sys_read_file(test_path, lp); let tl: i64 = lp[0] 59 if tl <= 0 { return 999999 } 60 nx_render_html_to_bmp(t, tl, "knowledge/status/wptg_t.bmp\x00" as *u8) 61 let r: *u8 = sys_read_file(ref_path, lp); let rl: i64 = lp[0] 62 if rl <= 0 { return 999999 } 63 nx_render_html_to_bmp(r, rl, "knowledge/status/wptg_r.bmp\x00" as *u8) 64 let a: *u8 = sys_read_file("knowledge/status/wptg_t.bmp\x00" as *u8, lp); let la: i64 = lp[0] 65 let b: *u8 = sys_read_file("knowledge/status/wptg_r.bmp\x00" as *u8, lp); let lb: i64 = lp[0] 66 if la < 54 { return 999999 } 67 if lb < 54 { return 999999 } 68 return bmp_diff(a, b) 69} 70func file_len(path: *u8) -> i64 { let lp: *i64 = sys_mmap(8) as *i64; let p: *u8 = sys_read_file(path, lp); if p == (0 as *u8) { return 0 } return lp[0] } 71func chk(cond: i64, label: *u8, pass: *i64) -> i64 { g_w(" " as *u8); g_w(label); g_w(": " as *u8); if cond==1 { g_w("OK\n" as *u8); pass[0]=pass[0]+1 } else { g_w("FAIL\n" as *u8) } return cond } 72 73func main() -> i64 { 74 let pass: *i64 = sys_mmap(8) as *i64; pass[0]=0 75 g_w("=== WPT-RUN GATE (external-oracle harness: mechanism + teeth + real oracle wired) ===\n" as *u8) 76 77 // (1) internal MATCH control: tag selector == class selector targeting the same box -> identical render 78 let m_t: *u8 = "<body><style>div{background-color:#1040c0;height:40px}</style><div></div></body>\x00" as *u8 79 let m_r: *u8 = "<body><style>.x{background-color:#1040c0;height:40px}</style><div class=\"x\"></div></body>\x00" as *u8 80 let dm: i64 = reftest_html(m_t, m_r) 81 g_w("internal MATCH control diff=" as *u8); pn(dm); g_w("\n" as *u8) 82 chk((dm == 0) as i64, "match control renders IDENTICAL (mechanism)\x00" as *u8, pass) 83 84 // (2) internal MISMATCH control = LIAR-KILL: blue vs red MUST differ (comparator has teeth) 85 let x_t: *u8 = "<body><style>div{background-color:#0000ff;height:40px}</style><div></div></body>\x00" as *u8 86 let x_r: *u8 = "<body><style>div{background-color:#ff0000;height:40px}</style><div></div></body>\x00" as *u8 87 let dx: i64 = reftest_html(x_t, x_r) 88 g_w("internal MISMATCH control diff=" as *u8); pn(dx); g_w("\n" as *u8) 89 chk((dx > 1000) as i64, "LIAR-KILL: comparator DETECTS mismatch (diff>1000)\x00" as *u8, pass) 90 91 // (3) the REAL oracle is wired: manifest present 92 let mlen: i64 = file_len("knowledge/wpt/manifest.tsv\x00" as *u8) 93 g_w("manifest.tsv bytes=" as *u8); pn(mlen); g_w("\n" as *u8) 94 chk((mlen > 0) as i64, "real WPT manifest present (oracle wired)\x00" as *u8, pass) 95 96 // (4) the REAL vendored WPT files exist + readable 97 let l1: i64 = file_len("knowledge/wpt/align-self-001.html\x00" as *u8) 98 let l2: i64 = file_len("knowledge/wpt/anonymous-flex-item-001.html\x00" as *u8) 99 let l3: i64 = file_len("knowledge/wpt/flexbox_flex-0-0-0.html\x00" as *u8) 100 var allreal: i64 = 0 101 if l1 > 0 { if l2 > 0 { if l3 > 0 { allreal = 1 } } } 102 g_w("real test files bytes=" as *u8); pn(l1); g_w("/" as *u8); pn(l2); g_w("/" as *u8); pn(l3); g_w("\n" as *u8) 103 chk(allreal, "3 real vendored WPT test files readable\x00" as *u8, pass) 104 105 // (5)+(6) run the 3 REAL reftests: oracle actually scores 3, and >=1 REALLY passes 106 let d1: i64 = reftest_files("knowledge/wpt/align-self-001.html\x00" as *u8, "knowledge/wpt/ref-filled-green-100px-square.xht\x00" as *u8) 107 let d2: i64 = reftest_files("knowledge/wpt/anonymous-flex-item-001.html\x00" as *u8, "knowledge/wpt/pass_if_two_words.html\x00" as *u8) 108 let d3: i64 = reftest_files("knowledge/wpt/flexbox_flex-0-0-0.html\x00" as *u8, "knowledge/wpt/flexbox_flex-0-0-0-ref.html\x00" as *u8) 109 var realpass: i64 = 0 110 if d1 == 0 { realpass = realpass + 1 } 111 if d2 == 0 { realpass = realpass + 1 } 112 if d3 == 0 { realpass = realpass + 1 } 113 g_w("real reftest diffs: " as *u8); pn(d1); g_w(" / " as *u8); pn(d2); g_w(" / " as *u8); pn(d3); g_w(" -> realpass=" as *u8); pn(realpass); g_w("/3\n" as *u8) 114 chk(1, "oracle scored 3 real reftests (ran)\x00" as *u8, pass) 115 chk((realpass >= 1) as i64, "at least 1 REAL WPT reftest passes (real-match-detection)\x00" as *u8, pass) 116 117 g_w("WPT-RUN GATE rows=6 pass=" as *u8); pn(pass[0]) 118 if pass[0]==6 { g_w(" verdict=GREEN\n" as *u8); sys_exit(0); return 0 } 119 g_w(" verdict=RED\n" as *u8); sys_exit(1); return 1 120}