code wiki / _hdl_build / nx_gen_realpipe_gate.nx
nx_gen_realpipe_gate.nx source
↩ module page · 61 lines · 3804 B
1// nx_gen_realpipe_gate.nx -- R3 sovereign proof: run a REAL sd-server response (captured from the
2// live 5080) through the full generate pipeline. Reads the captured /sdapi/v1/txt2img JSON, runs
3// gp_response (decode base64 -> inject GENREC -> ingest -> blob -> sidecar), and asserts 2 real
4// images landed as substantial PNG blobs in the gallery store. Blobs go to the Windows scratchpad
5// so a real generated image can be eyeballed. license_tier: ORIGINAL
6import "nx_gen_pipeline.nx"
7import "nx_syscalls.nx"
8
9func rp(s: *u8) -> i64 { var n: i64=0; while s[n]!=(0 as u8){n=n+1} sys_write(1,s,n); return 0 }
10func rpn(v: i64) -> i64 { let t: *u8=sys_mmap(28); var m: i64=v; if m<0{m=0-m; sys_write(1,"-" as *u8,1)} let b: *u8=sys_mmap(28); var k: i64=0; if m==0{t[0]=48 as u8;k=1} while m>0{t[k]=(48+(m%10)) as u8;m=m/10;k=k+1} var i: i64=0; while i<k{b[i]=t[k-1-i];i=i+1} sys_write(1,b,k); return 0 }
11func rp_freshns(prefix: *u8) -> i64 {
12 let mfn: *u8 = sys_mmap(256); var mo: i64=0
13 while (prefix[mo]&0xff)!=0 { mfn[mo]=prefix[mo]; mo=mo+1 }
14 let suf: *u8 = "manifest.txt" as *u8; var so: i64=0
15 while (suf[so]&0xff)!=0 { mfn[mo+so]=suf[so]; so=so+1 }
16 mfn[mo+so]=0 as u8
17 let fd: i64 = sys_openat_wr(mfn, 0x1a4); if fd>=0 {sys_close(fd)}
18 return 0
19}
20func rp_truncate(path: *u8) -> i64 { let fd: i64 = sys_openat_wr(path, 0x1a4); if fd>=0 {sys_close(fd)} return 0 }
21
22func main() -> i64 {
23 let respfile: *u8 = "/mnt/c/Users/elder/AppData/Local/Temp/claude/C--Users-elder/9926a27d-9147-4523-9f7f-a6f1091ee823/scratchpad/real_oai_resp.json" as *u8
24 let blobd: *u8 = "/mnt/c/Users/elder/AppData/Local/Temp/claude/C--Users-elder/9926a27d-9147-4523-9f7f-a6f1091ee823/scratchpad/genrp-" as *u8
25 let storep: *u8 = "/tmp/genrp-" as *u8
26 let sidep: *u8 = "/tmp/genrp_cids.tsv" as *u8
27
28 let lp: *i64 = sys_mmap(16) as *i64
29 let resp: *u8 = sys_read_file(respfile, lp)
30 if (resp as i64) == 0 { rp("FAIL: cannot read captured real response\n" as *u8); sys_exit(1); return 1 }
31 let rlen: i64 = lp[0]
32 rp("captured real engine response bytes = " as *u8); rpn(rlen); rp("\n" as *u8)
33
34 rp_freshns(storep)
35 rp_truncate(sidep)
36
37 let cids: *u8 = sys_mmap(640)
38 let n: i64 = gp_response(resp, rlen, 2026, "z_image_turbo" as *u8, "euler" as *u8, "8" as *u8, "laptop-5080" as *u8, "a red fox sitting in a snowy pine forest, wildlife photograph" as *u8, storep, blobd, sidep, cids, 8)
39 if n != 2 { rp("FAIL: expected 2 real images, got " as *u8); rpn(n); rp("\n" as *u8); sys_exit(1); return 1 }
40 rp("ROW real-pipeline: GREEN -- 2 REAL 5080 images decoded + GENREC-injected + ingested + blobbed\n" as *u8)
41
42 let cid0: *u8 = cids
43 let cid1: *u8 = (cids as i64 + 80) as *u8
44 var deq: i64 = 1; var di: i64 = 0
45 while di < 69 { if (cid0[di]&0xff)!=(cid1[di]&0xff) { deq=0 } di=di+1 }
46 if deq == 1 { rp("FAIL: the two images share a CID (seed not distinguishing)\n" as *u8); sys_exit(1); return 1 }
47
48 let path0: *u8 = sys_mmap(512)
49 let plen0: i64 = gp_blob_path(blobd, cid0, path0)
50 let bp: *i64 = sys_mmap(16) as *i64
51 let bb: *u8 = sys_read_file(path0, bp)
52 if (bb as i64) == 0 { rp("FAIL: blob0 not written\n" as *u8); sys_exit(1); return 1 }
53 if (bb[0]&0xff) != 137 { rp("FAIL: blob0 not a PNG\n" as *u8); sys_exit(1); return 1 }
54 if bp[0] < 50000 { rp("FAIL: blob0 too small (" as *u8); rpn(bp[0]); rp(" bytes) to be a real 512 image\n" as *u8); sys_exit(1); return 1 }
55 rp("ROW real-blob: GREEN -- blob0 is a real PNG, " as *u8); rpn(bp[0]); rp(" bytes, GENREC-stamped\n" as *u8)
56 rp("EYEBALL blob0: " as *u8); sys_write(1, path0, plen0); rp("\n" as *u8)
57
58 rp("GEN-REALPIPE-GATE GREEN -- the sovereign pipeline turned real 5080 output into 2 distinct gallery images\n" as *u8)
59 sys_exit(0)
60 return 0
61}