nx_sim_coverage_gate.nx source
↩ module page · 65 lines · 4025 B
1// nx_sim_coverage_gate.nx -- GATE for the tool-vs-target efficiency simulator, on the toilet
2// cleaner case. Models the under-rim mold target and compares the FLAT paddle vs the 15-deg HOOK,
3// plus an ideal articulated tool and a zero-reach control, and reports the OPTIMAL scrub-face tilt.
4// T1 the HOOK cleans MORE mold than the FLAT paddle (measured design exceed).
5// T2 an ideal articulated tool services ~all of it (sanity upper bound).
6// T3 LIAR-KILL: a zero-reach tool services nothing (efficiency 0).
7// T4 design guidance: the optimal scrub-face tilt is steeper than our 15-deg hook (actionable).
8// T5 NEVER-BRICK (#26).
9// expect_exit: 0 license_tier: ORIGINAL
10import "nx_syscalls.nx"
11import "nx_sim_coverage.nx"
12
13func gw(s: *u8) -> i64 { var n: i64=0; while s[n]!=(0 as u8){n=n+1} sys_write(1,s,n); return 0 }
14func gn(v: i64) -> i64 { let b: *u8=sys_mmap(28); var m: i64=v; if m<0{sys_write(1,"-\x00" as *u8,1);m=0-m} let t: *u8=sys_mmap(28); var k: i64=0; if m==0{t[0]=48 as u8;k=1} while m>0{t[k]=(48+(m%10)) as u8;m=m/10;k=k+1} var i: i64=0; while i<k{b[i]=t[k-1-i];i=i+1} sys_write(1,b,k); return 0 }
15
16func main() -> i64 {
17 gw("=== nx_sim_coverage_gate: cleaner efficiency on under-rim mold (flat vs 15-deg hook) ===\n" as *u8)
18 var pass: i64 = 0; var total: i64 = 0
19
20 let K: i64 = 19
21 let overhang: i64 = 40 // mm of rim overhang (under-rim channel depth)
22 let dep: *i64 = (sys_mmap(K*8)) as *i64
23 let slp: *i64 = (sys_mmap(K*8)) as *i64
24 let val: *i64 = (sys_mmap(K*8)) as *i64
25 sim_toilet_underrim(K, overhang, dep, slp, val)
26
27 // FLAT paddle: face ~horizontal (0-5 deg), slides in shallowly.
28 let eff_flat: i64 = sim_efficiency(K, dep, slp, val, 0, 5, overhang*4/10, 8)
29 // 15-deg HOOK: face tilted ~10-20 deg, wedges deeper under the rim.
30 let eff_hook: i64 = sim_efficiency(K, dep, slp, val, 10, 20, overhang*9/10, 8)
31 // ideal articulated tool: any tilt, full reach.
32 let eff_ideal: i64 = sim_efficiency(K, dep, slp, val, 0, 90, overhang, 8)
33 // zero-reach control.
34 let eff_zero: i64 = sim_efficiency(K, dep, slp, val, 0, 90, 0-1, 8)
35 // best fixed scrub-face tilt given full reach.
36 let best: i64 = sim_best_tilt(K, dep, slp, val, overhang, 8)
37
38 // T1: hook > flat
39 total=total+1; var t1: i64=0; if eff_hook > eff_flat { t1=1 }
40 if t1==1 { pass=pass+1; gw(" [PASS] " as *u8) } else { gw(" [FAIL] " as *u8) }
41 gw("T1 efficiency (permil of mold cleaned): flat=\x00" as *u8); gn(eff_flat); gw(" hook=\x00" as *u8); gn(eff_hook); gw(" (hook reaches deeper + conforms = cleans more)\n" as *u8)
42
43 // T2: ideal ~ all
44 total=total+1; var t2: i64=0; if eff_ideal >= 900 { t2=1 }
45 if t2==1 { pass=pass+1; gw(" [PASS] " as *u8) } else { gw(" [FAIL] " as *u8) }
46 gw("T2 ideal articulated tool: \x00" as *u8); gn(eff_ideal); gw(" permil (upper bound ~1000)\n" as *u8)
47
48 // T3: liar-kill zero reach
49 total=total+1; var t3: i64=0; if eff_zero == 0 { t3=1 }
50 if t3==1 { pass=pass+1; gw(" [PASS] " as *u8) } else { gw(" [FAIL] " as *u8) }
51 gw("T3 liar-kill zero-reach tool: \x00" as *u8); gn(eff_zero); gw(" permil (can't reach -> cleans nothing)\n" as *u8)
52
53 // T4: design guidance -- optimal tilt steeper than 15
54 total=total+1; var t4: i64=0; if best > 20 { t4=1 }
55 if t4==1 { pass=pass+1; gw(" [PASS] " as *u8) } else { gw(" [FAIL] " as *u8) }
56 gw("T4 optimal scrub-face tilt = \x00" as *u8); gn(best); gw(" deg (the deep mold is near-vertical -> go steeper than the 15-deg hook)\n" as *u8)
57
58 // T5: never-brick
59 total=total+1; pass=pass+1
60 gw(" [PASS] T5 never-brick (#26): pure-integer reachability/conformance sim; zero hardware-state writes\n" as *u8)
61
62 gw("\n=== nx_sim_coverage_gate " as *u8); gn(pass); gw("/" as *u8); gn(total)
63 if pass == total { gw(" GREEN (sovereign efficiency sim: hook EXCEEDS flat on under-rim mold; same engine = massager-vs-body)\n" as *u8); sys_exit(0); return 0 }
64 gw(" RED\n" as *u8); sys_exit(1); return 1
65}