nx_recall_prox_gate.nx source
↩ module page · 54 lines · 2484 B
1// nx_recall_prox_gate.nx -- KAT for the serve-time proximity signal.
2// exit 0 = pass, N = assertion N failed. Sovereign lane (nx_cc->nxasm).
3import "nx_syscalls.nx"
4import "nx_recall_prox.nx"
5
6func gp_cat(d: *u8, o: i64, s: *u8) -> i64 { var i: i64 = 0; while s[i] != (0 as u8) { d[o] = s[i]; o = o + 1; i = i + 1 } return o }
7func gp_fill(d: *u8, o: i64, ch: i64, n: i64) -> i64 { var i: i64 = 0; while i < n { d[o] = ch as u8; o = o + 1; i = i + 1 } return o }
8
9func main() -> i64 {
10 // query terms: "cross" "encoder" "reranking"
11 let terms: *i64 = sys_mmap(3 * 8) as *i64
12 let tl: *i64 = sys_mmap(3 * 8) as *i64
13 let s0: *u8 = "cross" as *u8
14 let s1: *u8 = "encoder" as *u8
15 let s2: *u8 = "reranking" as *u8
16 terms[0] = s0 as i64; terms[1] = s1 as i64; terms[2] = s2 as i64
17 tl[0] = 5; tl[1] = 7; tl[2] = 9
18
19 // text1: query terms CLUSTERED (the relevant IR doc)
20 let t1: *u8 = sys_mmap(1024)
21 let o1: i64 = gp_cat(t1, 0, "the cross encoder reranking method beats plain bm25 ranking" as *u8)
22 // text2: same terms SCATTERED across ~400-byte gaps (keyword-adjacent, not about it)
23 let t2: *u8 = sys_mmap(2048)
24 var o2: i64 = gp_cat(t2, 0, "cross" as *u8)
25 o2 = gp_fill(t2, o2, 32, 400)
26 o2 = gp_cat(t2, o2, "encoder" as *u8)
27 o2 = gp_fill(t2, o2, 32, 400)
28 o2 = gp_cat(t2, o2, "reranking" as *u8)
29 // text3: only ONE query term present (e.g. a JPEG page mentioning "cross" section)
30 let t3: *u8 = sys_mmap(512)
31 let o3: i64 = gp_cat(t3, 0, "cross section geometry of the image only here" as *u8)
32
33 let p1: i64 = prox_score(t1, o1, terms, tl, 3)
34 let p2: i64 = prox_score(t2, o2, terms, tl, 3)
35 let p3: i64 = prox_score(t3, o3, terms, tl, 3)
36
37 // 1: clustered STRICTLY beats scattered (the ranking lift)
38 if p1 <= p2 { return 1 }
39 // 2: scattered (all present, far apart) still beats single-term
40 if p2 <= p3 { return 2 }
41 // 3: <2 terms present -> ZERO signal (ranking unchanged = the safety property)
42 if p3 != 0 { return 3 }
43 // 4: fully-present + tight window -> strong signal
44 if p1 < 700 { return 4 }
45 // 5: bounded by scale (never a runaway multiplier)
46 if p1 > PROX_SCALE { return 5 }
47 // 6: single-term QUERY (nterms<=1) -> 0 by construction (no proximity on 1-term searches)
48 let one: *i64 = sys_mmap(8) as *i64
49 let onel: *i64 = sys_mmap(8) as *i64
50 one[0] = s0 as i64; onel[0] = 5
51 if prox_score(t1, o1, one, onel, 1) != 0 { return 6 }
52
53 return 0
54}