code wiki / (root) / nx_recall_rerank_gate.nx

nx_recall_rerank_gate.nx source

↩ module page · 68 lines · 2869 B

1// nx_recall_rerank_gate.nx -- KAT + HONEST BENCH for the sovereign semantic reranker. 2// exit 0 = pass; N = assertion N failed. Sovereign lane (nx_cc->nxasm). 3// 4// Reproduces the live failure: a relevant doc buried by lexical/fusion ranking but 5// semantically parallel to the query -- the sovereign cosine reranker recovers it to 6// rank 1. Kept HONEST: an irrelevant doc with a HIGH cosine (a semantic false- 7// positive) is included, so the reranked nDCG lands ~0.96, NOT a rigged 1.0. The 8// point is the measured LIFT over fusion-alone on the R0 ruler, not perfection. 9 10import "fx.nx" 11import "nx_ir_eval.nx" 12import "nx_recall_rerank.nx" 13import "syscalls.nx" 14 15func main() -> i64 { 16 let dim: i64 = 4 17 let ncand: i64 = 5 18 19 // query embedding 20 let q: *i64 = sys_mmap(4 * 8) as *i64 21 q[0] = 100; q[1] = 0; q[2] = 0; q[3] = 0 22 23 // 5 doc embeddings, flat [ncand*dim] (row c = candidate c). 24 let em: *i64 = sys_mmap(5 * 4 * 8) as *i64 25 em[0] = 80; em[1] = 60; em[2] = 0; em[3] = 0 // doc0 cos~819 (FALSE POSITIVE, gain 0) 26 em[4] = 0; em[5] = 100; em[6] = 0; em[7] = 0 // doc1 cos 0 (gain 0) 27 em[8] = 60; em[9] = 80; em[10] = 0; em[11] = 0 // doc2 cos~614 (gain 1) 28 em[12] = 100; em[13] = 0; em[14] = 0; em[15] = 0 // doc3 cos 1024 (RELEVANT, gain 3) 29 em[16] = 20; em[17] = 40; em[18] = 0; em[19] = 0 // doc4 cos~465 (gain 0) 30 31 // graded relevance per candidate id 32 let g: *i64 = sys_mmap(5 * 8) as *i64 33 g[0] = 0; g[1] = 0; g[2] = 1; g[3] = 3; g[4] = 0 34 35 // sovereign semantic rerank 36 let cs: *i64 = sys_mmap(5 * 8) as *i64 37 rr_semantic_scores(q, dim, em, ncand, cs) 38 let rord: *i64 = sys_mmap(5 * 8) as *i64 39 rr_order_by_cos(cs, ncand, rord) 40 41 // 1: the relevant doc3 (semantic-parallel) is reranked to RANK 1 42 if rord[0] != 3 { return 1 } 43 // 2: doc3's cosine is near the Q10 max (parallel) 44 if cs[3] < 900 { return 2 } 45 // 3: an aligned doc outscores an orthogonal one (cosine actually discriminates) 46 if cs[0] <= cs[1] { return 3 } 47 48 // baseline: a fusion order that BURIES doc3 at rank 4 (lexical miss) 49 let fus: *i64 = sys_mmap(5 * 8) as *i64 50 fus[0] = 0; fus[1] = 2; fus[2] = 1; fus[3] = 3; fus[4] = 4 51 52 // HONEST BENCH on the R0 ruler: nDCG(rerank) vs nDCG(fusion-alone) 53 let gf: *i64 = sys_mmap(5 * 8) as *i64 54 var i: i64 = 0 55 while i < 5 { gf[i] = g[fus[i]]; i = i + 1 } 56 let gr: *i64 = sys_mmap(5 * 8) as *i64 57 i = 0 58 while i < 5 { gr[i] = g[rord[i]]; i = i + 1 } 59 60 let ndcg_fus: i64 = ie_ndcg_at_k(gf, 5, 5) 61 let ndcg_rr: i64 = ie_ndcg_at_k(gr, 5, 5) 62 // 4: the sovereign reranker STRICTLY beats fusion-alone (the measured lift) 63 if ndcg_rr <= ndcg_fus { return 4 } 64 // 5: honest -- NOT claimed perfect (the false-positive costs it), so nDCG_rr < 1.0 65 if ndcg_rr >= fx_from_int(1) { return 5 } 66 67 return 0 68}