code wiki / _hdl_build / nx_gap_scan_test.nx
nx_gap_scan_test.nx source
↩ module page · 61 lines · 3797 B
1// nx_gap_scan_test.nx -- the team scans itself and names its remaining gaps honestly. Capability map
2// (current standing): fetch/extract/BM25/corroborate = STRONG; semantic-retrieval(PPMI) = WEAK (real
3// upgrade but still a proxy vs learned embeddings); learned-embeddings/prose/novel-module = LLM;
4// SVD-reduction + live-cert-HTTPS = MISSING (named, not built). Scanner must tally and name the most
5// urgent (a MISSING build). Exit 0 on 6/6. license_tier: ORIGINAL
6
7import "nx_gap_scan.nx"
8import "nx_syscalls.nx"
9
10func gt_puts(s: *u8) -> i64 { var n: i64 = 0; while s[n] != (0 as u8) { n = n + 1 } sys_write(1, s, n); return 0 }
11func gt_num(v: i64) -> i64 { let bb: *u8 = sys_mmap(28); var m: i64=v; if m<0 {m=0-m; sys_write(1,"-" as *u8,1)}; let t: *u8 = sys_mmap(28); var k: i64=0; if m==0 {t[0]=48;k=1}; while m>0 {t[k]=48+(m%10); m=m/10; k=k+1}; var i: i64=0; while i<k {bb[i]=t[k-1-i]; i=i+1}; sys_write(1, bb, k); return 0 }
12
13func main() -> i64 {
14 gt_puts("=== GAP SCAN: the team finds its own remaining gaps ===\n" as *u8)
15 let n: i64 = 10
16 let nm: *i64 = sys_mmap(8 * 16) as *i64
17 let st: *i64 = sys_mmap(8 * 16) as *i64
18 nm[0]="fetch" as *u8 as i64; st[0]=GAP_STRONG
19 nm[1]="structured-extract" as *u8 as i64; st[1]=GAP_STRONG
20 nm[2]="ranked-retrieval(BM25)" as *u8 as i64; st[2]=GAP_STRONG
21 nm[3]="corroboration" as *u8 as i64; st[3]=GAP_STRONG
22 nm[4]="semantic-retrieval(PPMI)" as *u8 as i64; st[4]=GAP_WEAK
23 nm[5]="learned-embeddings" as *u8 as i64; st[5]=GAP_LLM
24 nm[6]="prose-authoring" as *u8 as i64; st[6]=GAP_LLM
25 nm[7]="novel-module-authoring" as *u8 as i64; st[7]=GAP_LLM
26 nm[8]="SVD-reduction" as *u8 as i64; st[8]=GAP_MISSING
27 nm[9]="live-cert-HTTPS" as *u8 as i64; st[9]=GAP_MISSING
28
29 var i: i64 = 0
30 while i < n {
31 if gap_is_gap(st[i]) == 1 {
32 gt_puts(" GAP " as *u8)
33 if st[i] == GAP_WEAK { gt_puts("[WEAK] " as *u8) }
34 if st[i] == GAP_LLM { gt_puts("[LLM] " as *u8) }
35 if st[i] == GAP_MISSING { gt_puts("[MISSING] " as *u8) }
36 gt_puts(nm[i] as *u8); gt_puts("\n" as *u8)
37 }
38 i = i + 1
39 }
40 let strong: i64 = gap_count(st, n, GAP_STRONG)
41 let weak: i64 = gap_count(st, n, GAP_WEAK)
42 let llm: i64 = gap_count(st, n, GAP_LLM)
43 let missing: i64 = gap_count(st, n, GAP_MISSING)
44 let total: i64 = gap_total(st, n)
45 let urgent: i64 = gap_most_urgent(st, n)
46 gt_puts(" tally: STRONG=" as *u8); gt_num(strong); gt_puts(" WEAK=" as *u8); gt_num(weak); gt_puts(" LLM=" as *u8); gt_num(llm); gt_puts(" MISSING=" as *u8); gt_num(missing); gt_puts(" total-gaps=" as *u8); gt_num(total); gt_puts("\n" as *u8)
47 gt_puts(" MOST URGENT = #" as *u8); gt_num(urgent); gt_puts(" " as *u8); gt_puts(nm[urgent] as *u8); gt_puts(" (a MISSING build)\n" as *u8)
48
49 let r: *i64 = sys_mmap(8 * 8) as *i64
50 r[0] = 0; if strong == 4 { r[0] = 1 }
51 r[1] = 0; if llm == 3 { r[1] = 1 } // matches the 3 LLM-gaps
52 r[2] = 0; if missing == 2 { r[2] = 1 } // SVD-reduction + live-cert
53 r[3] = 0; if total == 6 { r[3] = 1 } // 6 non-strong areas
54 r[4] = 0; if st[urgent] == GAP_MISSING { r[4] = 1 }// most urgent is a MISSING build
55 r[5] = 0; if gap_is_gap(GAP_STRONG) == 0 { if gap_is_gap(GAP_MISSING) == 1 { r[5] = 1 } }
56 var pass: i64 = 0; i = 0
57 while i < 6 { pass = pass + r[i]; i = i + 1 }
58 gt_puts("----\n passed " as *u8); gt_num(pass); gt_puts("/6\n" as *u8)
59 if pass == 6 { gt_puts(" GAPS NAMED: 4 strong, 1 weak (PPMI), 3 LLM-rung, 2 MISSING builds (SVD-reduction + live-cert-HTTPS). The team knows exactly what to build next.\n" as *u8); sys_exit(0); return 0 }
60 gt_puts(" FAIL\n" as *u8); sys_exit(1); return 1
61}