code wiki / (root) / nx_face_novelty.nx

nx_face_novelty.nx source

↩ module page · 95 lines · 4078 B

1// nx_face_novelty.nx -- MEASURED face-diversity / repetition meter over the 2// sovereign descriptor store (knowledge/status/galx_face_descr.bin). Answers 3// the "FLUX-face" question by MEASUREMENT, not guess: are our GENERATED faces 4// diverse, or is the model emitting the same face repeatedly? 5// 6// Reads the {cid(72)+16384 i64} records, computes pairwise chi-square distances 7// (reusing nx_lbp_core chi2_at), and reports the distance distribution + how 8// many DISTINCT-face clusters survive at a sweep of thresholds. Many near-dup 9// pairs / few clusters = repetition (flag the recurring synthetic face); wide 10// spread / many clusters = healthy generation diversity. 11// 12// IDENTITY-FREE: this only measures self-similarity within OUR OWN content. 13// No naming, no external lookup. Naming is the operator DATA layer 14// (galx_models.tsv), attached separately -- never inferred from a face here. 15// 16// genealogy_id: lbp_chi2_self_similarity + generation_mode_collapse_detection 17// lineage_id: pairwise_chi2_distribution + threshold_sweep_cluster_count 18// Build/run: ./_offc/nx_sov_build_run.elf nx_face_novelty license_tier: ORIGINAL 19import "nx_syscalls.nx" 20import "nx_lbp_core.nx" 21const K_MAGIC_500000: i64 = 500000 22const K_MAGIC_1000000: i64 = 1000000 23const K_MAGIC_2000000: i64 = 2000000 24const K_MAGIC_4000000: i64 = 4000000 25const K_MAGIC_8000000: i64 = 8000000 26const K_MAGIC_16000000: i64 = 16000000 27 28const REC: i64 = 131144 29const D: i64 = 16384 30 31func main() -> i64 { 32 let szp: *i64 = sys_mmap(16) as *i64 33 let store: *u8 = sys_read_file("knowledge/status/galx_face_descr.bin" as *u8, szp) 34 if (store as i64) == 0 { lp("FACE-NOVELTY FAIL: no descr store\n" as *u8); sys_exit(1); return 1 } 35 let M: i64 = szp[0] / REC 36 if M < 2 { lp("FACE-NOVELTY: need >=2 descriptors, have " as *u8); ln(M); lp("\n" as *u8); sys_exit(1); return 1 } 37 38 let descrs: *i64 = sys_mmap(8 * M * D) as *i64 39 var r: i64 = 0 40 while r < M { 41 let dsrc: *i64 = ((store as i64) + r * REC + 72) as *i64 42 var k: i64 = 0 43 while k < D { descrs[r * D + k] = dsrc[k]; k = k + 1 } 44 r = r + 1 45 } 46 47 let scale: i64 = 1000 48 let taus: *i64 = sys_mmap(64) as *i64 49 taus[0] = K_MAGIC_500000; taus[1] = K_MAGIC_1000000; taus[2] = K_MAGIC_2000000; taus[3] = K_MAGIC_4000000; taus[4] = K_MAGIC_8000000; taus[5] = K_MAGIC_16000000 50 let bcnt: *i64 = sys_mmap(64) as *i64 51 var b: i64 = 0 52 while b < 6 { bcnt[b] = 0; b = b + 1 } 53 54 var mn: i64 = 0 - 1 55 var mx: i64 = 0 56 var sum: i64 = 0 57 var cnt: i64 = 0 58 var i: i64 = 0 59 while i < M { 60 var j: i64 = i + 1 61 while j < M { 62 let dd: i64 = chi2_at(descrs, i, j, D, scale) 63 if cnt == 0 { mn = dd; mx = dd } 64 if dd < mn { mn = dd } 65 if dd > mx { mx = dd } 66 sum = sum + dd 67 cnt = cnt + 1 68 var b2: i64 = 0 69 while b2 < 6 { if dd < taus[b2] { bcnt[b2] = bcnt[b2] + 1 } b2 = b2 + 1 } 70 j = j + 1 71 } 72 i = i + 1 73 } 74 75 lp("FACE-NOVELTY M=" as *u8); ln(M); lp(" pairs=" as *u8); ln(cnt); lp("\n" as *u8) 76 lp(" chi2 dist: min=" as *u8); ln(mn); lp(" mean=" as *u8); ln(sum / cnt); lp(" max=" as *u8); ln(mx); lp("\n" as *u8) 77 lp(" near-duplicate pairs under tau (repeated face):\n" as *u8) 78 var b3: i64 = 0 79 while b3 < 6 { 80 lp(" tau=" as *u8); ln(taus[b3]); lp(" -> " as *u8); ln(bcnt[b3]); lp(" pairs (" as *u8); ln(bcnt[b3] * 100 / cnt); lp("%)\n" as *u8) 81 b3 = b3 + 1 82 } 83 let assign: *i64 = sys_mmap(8 * M) as *i64 84 let reps: *i64 = sys_mmap(8 * M) as *i64 85 lp(" distinct-face clusters vs threshold:\n" as *u8) 86 var t: i64 = 0 87 while t < 6 { 88 let nc: i64 = cluster_greedy(descrs, M, D, taus[t], scale, assign, reps) 89 lp(" thresh=" as *u8); ln(taus[t]); lp(" -> " as *u8); ln(nc); lp(" clusters\n" as *u8) 90 t = t + 1 91 } 92 lp("FACE-NOVELTY: low min + many near-dup = model repeats faces (flag); wide spread + many clusters = diverse.\n" as *u8) 93 sys_exit(0) 94 return 0 95}