code wiki / _hdl_build / nx_yt_basejs_gate.nx

nx_yt_basejs_gate.nx source

↩ module page · 55 lines · 3705 B

1import "nx_gate_gn.nx" 2import "nx_gate_base.nx" 3// nx_yt_basejs_gate.nx -- proves the NATIVE base.js name-finder + the full LIVE-SHAPE pipeline: locate the 4// n-function name from real base.js shape (array-indexed `Wma[0]` resolved through `var Wma=[...]`, and the 5// direct `c=lha(c)` form) -> hand the name to nx_yt_nsolve -> run the function on our engine -> transformed n. 6// This is the "robust name-find in real base.js" rung, gated on realistic minified structure (no live YT). 7// license_tier: ORIGINAL expect_exit: 0 8import "nx_syscalls.nx" 9import "nx_media_signal.nx" 10import "nx_yt_basejs.nx" 11import "nx_yt_nsolve.nx" 12 13func grow(name: *u8, ok: i64) -> i64 { if ok==1 { gw(" PASS " as *u8) } else { gw(" FAIL " as *u8) } gw(name); gw(" 14" as *u8); return ok } 15func gsl(s: *u8) -> i64 { var n: i64=0; while s[n]!=(0 as u8){n=n+1} return n } 16func 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 } 17 18func main() -> i64 { 19 gw("yt-basejs SOVEREIGN gate (native n-fn name-find incl array-indexed -> hand to solver -> transformed n)\n" as *u8) 20 var pass: i64 = 0 21 var ttl: i64 = 0 22 let out: *u8 = sys_mmap(256) 23 24 // base.js-shape fixture: array-indexed ref `b=Wma[0](b)`, the array `var Wma=[Qzx,Yaa]`, and the real fn defs. 25 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(\"\")};Yaa=function(a){var b=a.split(\"\");b.reverse();return b.join(\"\")};more=9" as *u8 26 let bl: i64 = gsl(base) 27 28 // B1: array-indexed name resolves Wma[0] -> Qzx 29 let l1: i64 = bjs_find_nfunc_name(base, bl, out, 256) 30 ttl=ttl+1; pass=pass+grow("B1 name-find resolves Wma[0] -> 'Qzx'\x00" as *u8, ((l1 == 3)) as i64 * (streq(out, l1, "Qzx" as *u8))) 31 32 // B2: DIRECT-form ref `c=lha(c)` -> lha 33 let base2: *u8 = "z;q.get(\"n\"))&&(c=lha(c));lha=function(a){var b=a.split(\"\");b.reverse();return b.join(\"\")};end" as *u8 34 let l2: i64 = bjs_find_nfunc_name(base2, gsl(base2), out, 256) 35 ttl=ttl+1; pass=pass+grow("B2 direct-form name-find -> 'lha'\x00" as *u8, ((l2 == 3)) as i64 * (streq(out, l2, "lha" as *u8))) 36 37 // B3: array element index 1 resolves correctly (resolution isn't hardcoded to 0) 38 let l3: i64 = bjs_resolve_array_elem(base, bl, "Wma" as *u8, 3, 1, out, 256) 39 ttl=ttl+1; pass=pass+grow("B3 Wma[1] -> 'Yaa' (index resolution correct)\x00" as *u8, ((l3 == 3)) as i64 * (streq(out, l3, "Yaa" as *u8))) 40 41 // B4: END-TO-END -- find the name in base.js, then SOLVE (run the fn) on our engine 42 let nm: i64 = bjs_find_nfunc_name(base, bl, out, 256) // -> "Qzx" 43 let res: *u8 = sys_mmap(4096) 44 let r4: i64 = ns_solve(base, bl, out, nm, "abcdef" as *u8, 6, res, 4096) 45 // Qzx('abcdef'): reverse->fedcba, splice(0,2)->dcba, join->"dcba" 46 ttl=ttl+1; pass=pass+grow("B4 END-TO-END base.js -> name -> solve('abcdef') = 'dcba'\x00" as *u8, ((r4 == 4)) as i64 * (streq(res, r4, "dcba" as *u8))) 47 48 // B5: no n-param anchor -> 0 (a MISS = a self-heal learn signal, graceful not crash) 49 let l5: i64 = bjs_find_nfunc_name("var x=1;function f(){return 2}" as *u8, gsl("var x=1;function f(){return 2}" as *u8), out, 256) 50 ttl=ttl+1; pass=pass+grow("B5 no .get(\"n\") anchor -> 0 (graceful miss)\x00" as *u8, (l5 == 0) as i64) 51 52 gw("pass=" as *u8); gn(pass); gw("/" as *u8); gn(ttl); gw("\n" as *u8) 53 if pass == ttl { gw("verdict=GREEN (native base.js name-finder resolves the n-fn incl array-indexed form + drives the solver end-to-end)\n" as *u8); sys_exit(0); return 0 } 54 gw("verdict=RED\n" as *u8); sys_exit(1); return 1 55}