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}