code wiki / _hdl_build / nx_sniff_nsolve_gate.nx

nx_sniff_nsolve_gate.nx source

↩ module page · 41 lines · 2826 B

1import "nx_gate_gn.nx" 2import "nx_gate_base.nx" 3// nx_sniff_nsolve_gate.nx -- proves the RELOCATION (JS = last-mile-only, housed in the browser sniffer): the 4// sniffer now exposes ONE call, vs_solve_n, that composes the NATIVE base.js name-find with the LAST-MILE run of 5// the site's own fn on the browser engine, turning a throttled n into n'. The JS engine is reached only through 6// the sniffer; the native extraction core stays JS-free (proven separately by the 241KB nuxt gate). ORIGINAL expect_exit: 0 7import "nx_syscalls.nx" 8import "nx_media_signal.nx" 9import "nx_video_sniff.nx" 10 11func grow(name: *u8, ok: i64) -> i64 { if ok==1 { gw(" PASS " as *u8) } else { gw(" FAIL " as *u8) } gw(name); gw(" 12" as *u8); return ok } 13func gsl(s: *u8) -> i64 { var n: i64=0; while s[n]!=(0 as u8){n=n+1} return n } 14func streq(a: *u8, al: i64, b: *u8) -> i64 { if al != gsl(b) { return 0 } var i: i64=0; while i<al { if (a[i]&0xff) != (b[i]&0xff) { return 0 } i=i+1 } return 1 } 15 16func main() -> i64 { 17 gw("sniff-nsolve SOVEREIGN gate (browser sniffer owns n-solving: native name-find + last-mile run)\n" as *u8) 18 var pass: i64 = 0 19 var ttl: i64 = 0 20 let out: *u8 = sys_mmap(4096) 21 22 // realistic base.js shape (array-indexed n-fn ref) with the fn defined 23 let base: *u8 = "d;var pp=ns.get(\"n\"))&&(b=Wma[0](b),g=1;var Wma=[Qzx,Yaa];Qzx=function(a){var b=a.split(\"\");b.reverse();b.splice(0,2);return b.join(\"\")};more=9" as *u8 24 let bl: i64 = gsl(base) 25 26 // S1: ONE sniffer call de-throttles n end-to-end (name-find -> run the site's fn) : "abcdef" -> "dcba" 27 let r1: i64 = vs_solve_n(base, bl, "abcdef" as *u8, 6, out, 4096) 28 ttl=ttl+1; pass=pass+grow("S1 vs_solve_n('abcdef') = 'dcba' (sniffer composes name-find + last-mile run)\x00" as *u8, ((r1 == 4)) as i64 * (streq(out, r1, "dcba" as *u8))) 29 30 // S2: a different n -> different correct n' (real per-value compute) : "12345" -> reverse 54321, splice(0,2) 321 31 let r2: i64 = vs_solve_n(base, bl, "12345" as *u8, 5, out, 4096) 32 ttl=ttl+1; pass=pass+grow("S2 vs_solve_n('12345') = '321' (per-value real transform)\x00" as *u8, ((r2 == 3)) as i64 * (streq(out, r2, "321" as *u8))) 33 34 // S3: base.js with no n-anchor -> 0 (graceful; a self-heal LEARN signal, no crash) 35 let r3: i64 = vs_solve_n("var x=1;function f(){return 2}" as *u8, gsl("var x=1;function f(){return 2}" as *u8), "abc" as *u8, 3, out, 4096) 36 ttl=ttl+1; pass=pass+grow("S3 no n-fn in player -> 0 (graceful learn signal)\x00" as *u8, (r3 == 0) as i64) 37 38 gw("pass=" as *u8); gn(pass); gw("/" as *u8); gn(ttl); gw("\n" as *u8) 39 if pass == ttl { gw("verdict=GREEN (n-solving relocated into the browser sniffer; JS confined to the browser layer, native core untouched)\n" as *u8); sys_exit(0); return 0 } 40 gw("verdict=RED\n" as *u8); sys_exit(1); return 1 41}