code wiki / (root) / nx_research_digest_gate.nx

nx_research_digest_gate.nx source

↩ module page · 104 lines · 4075 B

1// nx_research_digest_gate.nx -- end-to-end digest on a controlled corpus. 2// Proves: sources rank by relevance (irrelevant source last), each claim is 3// graded by INDEPENDENT corroboration, and a 3-mention ECHO claim scores 4// SINGLE while cross-class claims are CONFIRMED (independence > volume). 5 6import "nx_syscalls.nx" 7import "nx_bm25.nx" 8import "nx_research_corroborate.nx" 9import "nx_research_digest.nx" 10 11func _dlen(s: *u8) -> i64 { 12 var n: i64 = 0 13 while s[n] != (0 as u8) { n = n + 1 } 14 return n 15} 16 17func main() -> i64 { 18 let nsrc: i64 = 6 19 let src_ids: *i64 = sys_mmap(nsrc * 8) as *i64 20 let src_classes: *i64 = sys_mmap(nsrc * 8) as *i64 21 let src_texts: **u8 = sys_mmap(nsrc * 8) as **u8 22 let src_lens: *i64 = sys_mmap(nsrc * 8) as *i64 23 24 src_ids[0] = 1 25 src_classes[0] = 1 26 src_texts[0] = "gaussian splatting realtime radiance mesh export" as *u8 27 src_ids[1] = 2 28 src_classes[1] = 2 29 src_texts[1] = "gaussian splatting overtakes nerf speed" as *u8 30 src_ids[2] = 3 31 src_classes[2] = 5 32 src_texts[2] = "nerf gaussian instant ngp blog" as *u8 33 src_ids[3] = 4 34 src_classes[3] = 5 35 src_texts[3] = "nerf gaussian splatting blog" as *u8 36 src_ids[4] = 5 37 src_classes[4] = 3 38 src_texts[4] = "tripo single image mesh license apache" as *u8 39 src_ids[5] = 6 40 src_classes[5] = 5 41 src_texts[5] = "gaussian nerf blog" as *u8 42 var si: i64 = 0 43 while si < nsrc { src_lens[si] = _dlen(src_texts[si] as *u8); si = si + 1 } 44 45 let nclaims: i64 = 6 46 let claim_ids: *i64 = sys_mmap(nclaims * 8) as *i64 47 let claim_terms: **u8 = sys_mmap(nclaims * 8) as **u8 48 let claim_lens: *i64 = sys_mmap(nclaims * 8) as *i64 49 claim_ids[0] = 10 50 claim_terms[0] = "gaussian" as *u8 51 claim_ids[1] = 20 52 claim_terms[1] = "nerf" as *u8 53 claim_ids[2] = 30 54 claim_terms[2] = "tripo" as *u8 55 claim_ids[3] = 40 56 claim_terms[3] = "blog" as *u8 57 claim_ids[4] = 50 58 claim_terms[4] = "license" as *u8 59 claim_ids[5] = 60 60 claim_terms[5] = "deepfake" as *u8 61 var ci: i64 = 0 62 while ci < nclaims { claim_lens[ci] = _dlen(claim_terms[ci] as *u8); ci = ci + 1 } 63 64 let nterms: i64 = 2 65 let q_terms: **u8 = sys_mmap(nterms * 8) as **u8 66 let q_lens: *i64 = sys_mmap(nterms * 8) as *i64 67 q_terms[0] = "splatting" as *u8 68 q_terms[1] = "export" as *u8 69 q_lens[0] = _dlen(q_terms[0] as *u8) 70 q_lens[1] = _dlen(q_terms[1] as *u8) 71 72 let out_order: *i64 = sys_mmap(nsrc * 8) as *i64 73 let out_conf: *i64 = sys_mmap(nclaims * 8) as *i64 74 let corrob: *NxCorrob = nx_corrob_new(64) 75 76 if nx_research_digest(src_ids, src_classes, src_texts, src_lens, nsrc, 77 claim_ids, claim_terms, claim_lens, nclaims, 78 q_terms, q_lens, nterms, 79 out_order, out_conf, corrob) != 0 { return 1 } 80 81 // claim confidences 82 if out_conf[0] != NX_CORR_CONFIRMED { return 2 } // gaussian: classes {1,2,5} 83 if out_conf[1] != NX_CORR_CONFIRMED { return 3 } // nerf: {2,5} 84 if out_conf[2] != NX_CORR_SINGLE { return 4 } // tripo: {3} 85 if out_conf[3] != NX_CORR_SINGLE { return 5 } // blog: {5} only (3 echoes) 86 if out_conf[4] != NX_CORR_SINGLE { return 6 } // license: {3} 87 if out_conf[5] != NX_CORR_NONE { return 7 } // deepfake: none 88 89 // ECHO KILLER: "blog" mentioned 3x but all class 5 -> raw 3, confidence SINGLE, 90 // while cross-class "gaussian" is CONFIRMED. Independence > volume. 91 if nx_corrob_raw_count(corrob, 40) != 3 { return 8 } 92 if nx_corrob_independent_count(corrob, 40) != 1 { return 9 } 93 if nx_corrob_confidence(corrob, 10) <= nx_corrob_confidence(corrob, 40) { return 10 } 94 95 // citations for "blog" = the 3 distinct source ids that mention it 96 let cites: *i64 = sys_mmap(16 * 8) as *i64 97 if nx_corrob_cite(corrob, 40, cites, 16) != 3 { return 11 } 98 99 // ranking: idx 0 uniquely contains the discriminative term "export" 100 // (positive IDF, df=1/6), so it ranks FIRST 101 if out_order[0] != 0 { return 12 } 102 103 return 0 104}