code wiki / _hdl_build / nx_research_pipeline_test.nx
nx_research_pipeline_test.nx source
↩ module page · 54 lines · 4208 B
1// nx_research_pipeline_test.nx -- the full governed loop: findings -> Researcher gate -> Critic
2// gate -> tasks -> backlog dispatch. The headline proof: a finding the Researcher CONFIRMED but a
3// counter-theory REFUTES (PSNR-as-quality) is caught by the deeper Critic gate and REJECTED -- the
4// layered defence works. Blind spots are flagged for red-team, not built. Surviving tasks feed the
5// layered backlog and the deepest layer dispatches first. Exit 0 if all hold. license_tier: ORIGINAL
6
7import "nx_research_pipeline.nx"
8import "nx_syscalls.nx"
9
10func pt_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 pt_num(v: i64) -> i64 { let bb: *u8 = sys_mmap(28); var m: i64=v; if m<0 {m=0-m}; 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 pt_puts("=== GOVERNED LOOP: finding -> Researcher gate -> CRITIC gate -> task -> backlog ===\n" as *u8)
15 // cv,rv (researcher votes) ; repro,counters,redteamed (critic) ; actionable ; layer
16 let N: i64 = 5
17 let cv: *i64 = sys_mmap(8*8) as *i64; let rv: *i64 = sys_mmap(8*8) as *i64
18 let rp: *i64 = sys_mmap(8*8) as *i64; let co: *i64 = sys_mmap(8*8) as *i64; let rt: *i64 = sys_mmap(8*8) as *i64
19 let ac: *i64 = sys_mmap(8*8) as *i64; let ly: *i64 = sys_mmap(8*8) as *i64
20 // f0 imatrix: researcher-confirmed + critic-LAW + actionable, layer 2 -> TASK
21 cv[0]=3; rv[0]=0; rp[0]=2; co[0]=0; rt[0]=1; ac[0]=1; ly[0]=2
22 // f1 PSNR=quality: researcher-CONFIRMED (everyone uses it) but critic-REFUTED (counter-theory) -> REJECT
23 cv[1]=3; rv[1]=0; rp[1]=3; co[1]=1; rt[1]=1; ac[1]=1; ly[1]=4
24 // f2 an un-red-teamed belief: researcher-confirmed, critic blind-spot -> FLAG_REDTEAM (not built)
25 cv[2]=3; rv[2]=0; rp[2]=1; co[2]=0; rt[2]=0; ac[2]=1; ly[2]=3
26 // f3 researcher-refuted -> REJECT
27 cv[3]=0; rv[3]=3; rp[3]=0; co[3]=0; rt[3]=0; ac[3]=0; ly[3]=4
28 // f4 adapter-swap: confirmed + LAW + actionable, layer 4 -> TASK (deepest -> dispatched first)
29 cv[4]=3; rv[4]=0; rp[4]=2; co[4]=0; rt[4]=1; ac[4]=1; ly[4]=4
30
31 let tl: *i64 = sys_mmap(8*8) as *i64; let counts: *i64 = sys_mmap(8*8) as *i64
32 let nt: i64 = rp_run(N, cv, rv, rp, co, rt, ac, ly, tl, counts)
33 pt_puts(" dispositions: TASK=" as *u8); pt_num(counts[0]); pt_puts(" FLAG_REDTEAM=" as *u8); pt_num(counts[1]); pt_puts(" REJECT=" as *u8); pt_num(counts[2]); pt_puts("\n" as *u8)
34 pt_puts(" PSNR finding (researcher-confirmed) -> disposition " as *u8); pt_num(rp_disposition(cv[1],rv[1],rp[1],co[1],rt[1],ac[1])); pt_puts(" (3=REJECT: Critic caught it)\n" as *u8)
35
36 // feed surviving task layers to the backlog -> the deepest layer dispatches first (parallel batch)
37 let done: *i64 = sys_mmap(8*8) as *i64
38 var z: i64 = 0; while z < nt { done[z] = 0; z = z + 1 }
39 let frontier: i64 = bl_frontier(nt, tl, done)
40 let batch: *i64 = sys_mmap(8*8) as *i64
41 let bc: i64 = bl_parallel_batch(nt, tl, done, batch)
42 pt_puts(" backlog: " as *u8); pt_num(nt); pt_puts(" tasks; dispatch frontier layer=" as *u8); pt_num(frontier); pt_puts(" batch size=" as *u8); pt_num(bc); pt_puts("\n" as *u8)
43
44 let r: *i64 = sys_mmap(8*8) as *i64
45 r[0] = 0; if rp_disposition(cv[1],rv[1],rp[1],co[1],rt[1],ac[1]) == RP_REJECT { r[0] = 1 } // Critic caught PSNR
46 r[1] = 0; if rp_disposition(cv[2],rv[2],rp[2],co[2],rt[2],ac[2]) == RP_FLAG_REDTEAM { r[1] = 1 } // blind spot flagged
47 r[2] = 0; if counts[0] == 2 { r[2] = 1 } // exactly 2 survivors -> tasks
48 r[3] = 0; if frontier == 4 { r[3] = 1 } // deepest task layer dispatches first
49 var pass: i64 = 0; var i: i64 = 0
50 while i < 4 { pass = pass + r[i]; i = i + 1 }
51 pt_puts("----\n passed " as *u8); pt_num(pass); pt_puts("/4\n" as *u8)
52 if pass == 4 { pt_puts(" LOOP CLOSED: Researcher + CRITIC layered defence (PSNR rejected by the deeper gate), survivors -> backlog -> deepest-first dispatch. Self-governing.\n" as *u8); sys_exit(0); return 0 }
53 pt_puts(" FAIL\n" as *u8); sys_exit(1); return 1
54}