code wiki / _hdl_build / nx_game_depth_gate.nx
nx_game_depth_gate.nx source
↩ module page · 83 lines · 4426 B
1// nx_game_depth_gate.nx -- proves nx_game_depth is a real depth instrument. A SHALLOW outcome table
2// (every strategy wins the same) must score SHALLOW; a DEEP table (strategies diverge, one loses) must
3// score DEEP. The honest audit: the current click-to-sell Frontier funnels every strategy to the same
4// win = SHALLOW by this critic. Mutation: collapse the deep table to all-win-same and it must fall back
5// to SHALLOW. license_tier: ORIGINAL expect_exit: 0
6import "nx_syscalls.nx"
7import "nx_game_depth.nx"
8
9func ww(s: *u8) -> i64 { var n: i64=0; while s[n]!=(0 as u8){n=n+1} sys_write(1,s,n); return 0 }
10func wn(v: i64) -> i64 {
11 if v==0 { sys_write(1,"0" as *u8,1); return 0 }
12 var m: i64=v; if m<0 { sys_write(1,"-" as *u8,1); m=0-m }
13 let t: *u8=sys_mmap(32); var k: i64=0
14 while m>0 { t[k]=(48+(m%10)) as u8; m=m/10; k=k+1 }
15 let o: *u8=sys_mmap(32); var q: i64=k-1; var i: i64=0
16 while q>=0 { o[i]=t[q]; i=i+1; q=q-1 }
17 sys_write(1,o,i); return 0
18}
19
20func main() -> i64 {
21 var pass: i64=0
22 // SHALLOW: 4 strategies, all win, near-identical score (the current always-win click-loop)
23 let ss: *i64 = sys_mmap(4*8) as *i64
24 let sr: *i64 = sys_mmap(4*8) as *i64
25 ss[0]=1000; ss[1]=1010; ss[2]=995; ss[3]=1005
26 sr[0]=1; sr[1]=1; sr[2]=1; sr[3]=1
27 // DEEP: 4 strategies diverge, the careless one LOSES
28 let ds: *i64 = sys_mmap(4*8) as *i64
29 let dr: *i64 = sys_mmap(4*8) as *i64
30 ds[0]=900; ds[1]=520; ds[2]=140; ds[3]=60
31 dr[0]=1; dr[1]=1; dr[2]=0; dr[3]=0
32 let ms: *i64 = sys_mmap(GD_N*8) as *i64
33 let md: *i64 = sys_mmap(GD_N*8) as *i64
34 gd_score(ss, ss, sr, 4, ms) // deterministic tables: run1==run2 (skill, not luck)
35 gd_score(ds, ds, dr, 4, md)
36 let qs: i64 = gd_quality(ms)
37 let qd: i64 = gd_quality(md)
38 ww("=== nx_game_depth_gate (does strategy MATTER?) ===\n")
39 ww("SHALLOW table spread/stakes/diverse = "); wn(ms[0]); ww("/"); wn(ms[1]); ww("/"); wn(ms[2]); ww(" -> "); wn(qs); ww(" = "); ww(gd_verdict(qs)); ww("\n")
40 ww("DEEP table spread/stakes/diverse = "); wn(md[0]); ww("/"); wn(md[1]); ww("/"); wn(md[2]); ww(" -> "); wn(qd); ww(" = "); ww(gd_verdict(qd)); ww("\n")
41
42 var t1: i64=0
43 if qd > qs+250 { t1=1 }
44 if t1==1 { ww("T1 GREEN depth critic separates deep from shallow by "); wn(qd-qs); ww("\n"); pass=pass+1 }
45 if t1==0 { ww("T1 RED margin only "); wn(qd-qs); ww("\n") }
46 var t2: i64=0
47 if qs < GD_SHALLOW { t2=1 }
48 if t2==1 { ww("T2 GREEN honest audit: an always-win table scores "); ww(gd_verdict(qs)); ww(" -- the click-to-sell loop is SHALLOW (you cannot lose, so strategy cannot matter)\n"); pass=pass+1 }
49 if t2==0 { ww("T2 RED shallow table scored "); wn(qs); ww(" ("); ww(gd_verdict(qs)); ww(") -- expected SHALLOW\n") }
50 var t3: i64=0
51 if qd >= GD_BASIC { t3=1 }
52 if t3==1 { ww("T3 GREEN a real win/lose strategy spread scores "); ww(gd_verdict(qd)); ww(" -- the depth target exists\n"); pass=pass+1 }
53 if t3==0 { ww("T3 RED deep table only "); wn(qd); ww("\n") }
54 // T4 determinism
55 let md2: *i64 = sys_mmap(GD_N*8) as *i64
56 gd_score(ds, ds, dr, 4, md2)
57 var t4: i64=0
58 if gd_quality(md2)==qd { t4=1 }
59 if t4==1 { ww("T4 GREEN deterministic\n"); pass=pass+1 }
60 if t4==0 { ww("T4 RED\n") }
61 // T5 mutation: collapse the deep table to all-win-same -> must fall to SHALLOW (stakes gone)
62 let cs: *i64 = sys_mmap(4*8) as *i64
63 let cr: *i64 = sys_mmap(4*8) as *i64
64 cs[0]=900; cs[1]=900; cs[2]=900; cs[3]=900
65 cr[0]=1; cr[1]=1; cr[2]=1; cr[3]=1
66 let mc: *i64 = sys_mmap(GD_N*8) as *i64
67 gd_score(cs, cs, cr, 4, mc)
68 let qc: i64 = gd_quality(mc)
69 var t5: i64=0
70 if qc < GD_SHALLOW { t5=1 }
71 if t5==1 { ww("T5 GREEN mutation: removing the loss + spread collapsed depth to "); wn(qc); ww(" ("); ww(gd_verdict(qc)); ww(")\n"); pass=pass+1 }
72 if t5==0 { ww("T5 RED collapsed table still "); wn(qc); ww("\n") }
73 // T6 anti-vacuity
74 var t6: i64=0
75 if md[GD_M_STAKES]==1000 { if ms[GD_M_STAKES]==300 { t6=1 } }
76 if t6==1 { ww("T6 GREEN anti-vacuity: deep table has win+loss stakes (1000), shallow has all-win (300)\n"); pass=pass+1 }
77 if t6==0 { ww("T6 RED vacuous\n") }
78
79 ww("nx_game_depth_gate: "); wn(pass); ww("/6\n")
80 ww("VERDICT ON THE SHIPPED FRONTIER LOOP: SHALLOW -- you always win; strategy does not matter. That is the real gap.\n")
81 if pass==6 { return 0 }
82 return 1
83}