nx_dr_drbench_gate.nx source
↩ module page · 101 lines · 4414 B
1// nx_dr_drbench_gate.nx -- KAT + neg-control for the DRBench+DEER scorer (DR-0).
2// Proves every metric's integer math (insight-recall, distractor-avoidance, factuality,
3// request-completeness, evidence-validity, overall mean) + empty-guards + the
4// NEG-CONTROL that encodes DRBench's central finding: a report with perfect distractor
5// avoidance but ZERO insight recall must NOT beat a good report -- insight recall (the
6// binding constraint) distinguishes them, so the composite is not gameable by avoidance
7// alone. DRY nx_gate_verdict lib (D001 migrate-on-touch).
8import "nx_dr_drbench.nx"
9import "nx_gate_verdict.nx"
10
11func main() -> i64 {
12 let ctr: *i64 = gv_ctr()
13 gv_head("nx_dr_drbench -- sovereign DRBench+DEER deep-research scorer (DR-0)")
14
15 // T1 insight recall 3 of 5 = 600
16 let ins: *i64 = sys_mmap(5 * 8) as *i64
17 ins[0]=1; ins[1]=1; ins[2]=0; ins[3]=0; ins[4]=1
18 var ok1: i64 = 0
19 if dr_frac(ins, 5) == 600 { ok1 = 1 }
20 gv_check("T1 insight recall 3of5 = 600", ok1, ctr)
21
22 // T2 perfect recall = 1000
23 let ins2: *i64 = sys_mmap(3 * 8) as *i64
24 ins2[0]=1; ins2[1]=1; ins2[2]=1
25 var ok2: i64 = 0
26 if dr_frac(ins2, 3) == 1000 { ok2 = 1 }
27 gv_check("T2 perfect recall = 1000", ok2, ctr)
28
29 // T3 zero recall = 0 (neg-control on the binding metric)
30 let ins3: *i64 = sys_mmap(3 * 8) as *i64
31 ins3[0]=0; ins3[1]=0; ins3[2]=0
32 var ok3: i64 = 0
33 if dr_frac(ins3, 3) == 0 { ok3 = 1 }
34 gv_check("T3 zero recall = 0", ok3, ctr)
35
36 // T4 distractor avoidance: 1 leaked of 4 -> 750
37 let dis: *i64 = sys_mmap(4 * 8) as *i64
38 dis[0]=0; dis[1]=0; dis[2]=1; dis[3]=0
39 var ok4: i64 = 0
40 if dr_avoidance(dis, 4) == 750 { ok4 = 1 }
41 gv_check("T4 distractor avoidance 1of4 leaked = 750", ok4, ctr)
42
43 // T5 avoidance extremes: all leaked -> 0, none -> 1000
44 let dall: *i64 = sys_mmap(3 * 8) as *i64
45 dall[0]=1; dall[1]=1; dall[2]=1
46 let dnone: *i64 = sys_mmap(2 * 8) as *i64
47 dnone[0]=0; dnone[1]=0
48 var ok5: i64 = 0
49 if dr_avoidance(dall, 3) == 0 { if dr_avoidance(dnone, 2) == 1000 { ok5 = 1 } }
50 gv_check("T5 avoidance extremes 0 and 1000", ok5, ctr)
51
52 // T6 factuality 3 of 4 = 750
53 let fac: *i64 = sys_mmap(4 * 8) as *i64
54 fac[0]=1; fac[1]=1; fac[2]=1; fac[3]=0
55 var ok6: i64 = 0
56 if dr_frac(fac, 4) == 750 { ok6 = 1 }
57 gv_check("T6 factuality 3of4 = 750", ok6, ctr)
58
59 // T7 request completeness 4 of 6 = 666 (DEER)
60 let com: *i64 = sys_mmap(6 * 8) as *i64
61 com[0]=1; com[1]=1; com[2]=1; com[3]=1; com[4]=0; com[5]=0
62 var ok7: i64 = 0
63 if dr_frac(com, 6) == 666 { ok7 = 1 }
64 gv_check("T7 request completeness 4of6 = 666", ok7, ctr)
65
66 // T8 evidence validity 2 of 3 = 666 (DEER back-tracking)
67 let evd: *i64 = sys_mmap(3 * 8) as *i64
68 evd[0]=1; evd[1]=0; evd[2]=1
69 var ok8: i64 = 0
70 if dr_frac(evd, 3) == 666 { ok8 = 1 }
71 gv_check("T8 evidence validity 2of3 = 666", ok8, ctr)
72
73 // T9 overall = mean of the 5 metrics = 686; + empty-guards
74 let mv: *i64 = sys_mmap(5 * 8) as *i64
75 mv[0]=dr_frac(ins,5); mv[1]=dr_avoidance(dis,4); mv[2]=dr_frac(fac,4); mv[3]=dr_frac(com,6); mv[4]=dr_frac(evd,3)
76 var ok9: i64 = 0
77 if dr_mean(mv, 5) == 686 { if dr_frac(ins, 0) == 0 { if dr_avoidance(dis, 0) == 1000 { ok9 = 1 } } }
78 gv_check("T9 overall mean = 686 + empty guards", ok9, ctr)
79
80 // T10 NEG-CONTROL: good report beats bad AND insight recall (binding) distinguishes
81 // them -- perfect avoidance cannot mask zero recall.
82 let g_ins: *i64 = sys_mmap(3 * 8) as *i64
83 g_ins[0]=1; g_ins[1]=1; g_ins[2]=1
84 let g_dis: *i64 = sys_mmap(3 * 8) as *i64
85 g_dis[0]=0; g_dis[1]=0; g_dis[2]=0
86 let gm: *i64 = sys_mmap(5 * 8) as *i64
87 gm[0]=dr_frac(g_ins,3); gm[1]=dr_avoidance(g_dis,3); gm[2]=1000; gm[3]=1000; gm[4]=1000
88 let b_ins: *i64 = sys_mmap(3 * 8) as *i64
89 b_ins[0]=0; b_ins[1]=0; b_ins[2]=0
90 let b_dis: *i64 = sys_mmap(3 * 8) as *i64
91 b_dis[0]=1; b_dis[1]=1; b_dis[2]=1
92 let bm: *i64 = sys_mmap(5 * 8) as *i64
93 bm[0]=dr_frac(b_ins,3); bm[1]=dr_avoidance(b_dis,3); bm[2]=0; bm[3]=0; bm[4]=0
94 var ok10: i64 = 0
95 if dr_mean(gm, 5) > dr_mean(bm, 5) { if gm[0] > bm[0] { ok10 = 1 } }
96 gv_check("T10 neg-control good>bad recall distinguishes", ok10, ctr)
97
98 let rc: i64 = gv_verdict("DR-DRBENCH", ctr, "DRBench recall/avoid/fact + DEER complete/validity, neg-control")
99 sys_exit(rc)
100 return rc
101}