code wiki / (root) / nx_safetensors_gate.nx

nx_safetensors_gate.nx source

↩ module page · 95 lines · 6336 B

1// nx_safetensors_gate.nx -- sovereign SAFETENSORS reader: load real SD model weight METADATA, the next 2// sdcpp-path rung (you cannot race sdcpp without reading its weights). Format: [u64 LE header-length N] 3// [N bytes JSON: {"name":{"dtype":..,"shape":[..],"data_offsets":[start,end]}, ...}] [raw tensor bytes]. 4// BOUNDED read (sys_openat_rd + sys_read of just 8+N bytes -- NEVER the multi-GB body) so it scales to any 5// model. Runs against a REAL diffusion safetensors: enumerates tensors, extracts the first tensor's dtype + 6// data_offsets, and verifies the data region matches the file (8 + N + data == file size). Sovereign parse, 7// no python/no HF libs. No hw writes (Rule 26). expect_exit: 0 license_tier: ORIGINAL 8import "nx_syscalls.nx" 9import "nx_gate_verdict.nx" 10 11func sf_puts(s: *u8) -> i64 { var n: i64=0; while s[n]!=(0 as u8){n=n+1} sys_write(1,s,n); return 0 } 12func sf_num(v: i64) -> i64 { let b: *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 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 } 13func sf_eq(buf: *u8, pos: i64, len: i64, pat: *u8, pl: i64) -> i64 { var j: i64=0; while j<pl { if pos+j>=len { return 0 } if buf[pos+j]!=pat[j] { return 0 } j=j+1 } return 1 } 14func sf_find(buf: *u8, len: i64, start: i64, pat: *u8, pl: i64) -> i64 { var i: i64=start; while i+pl<=len { if sf_eq(buf,i,len,pat,pl)==1 { return i } i=i+1 } return 0-1 } 15func sf_count(buf: *u8, len: i64, pat: *u8, pl: i64) -> i64 { var c: i64=0; var i: i64=0; while i+pl<=len { if sf_eq(buf,i,len,pat,pl)==1 { c=c+1; i=i+pl } else { i=i+1 } } return c } 16func is_dig(c: i64) -> i64 { if c>=48 { if c<=57 { return 1 } } return 0 } 17func is_up(c: i64) -> i64 { if c>=65 { if c<=90 { return 1 } } return 0 } 18func next_digit(buf: *u8, p: i64, len: i64) -> i64 { var q: i64=p; while q<len { if is_dig(buf[q] as i64)==1 { return q } q=q+1 } return len } 19func next_upper(buf: *u8, p: i64, len: i64) -> i64 { var q: i64=p; while q<len { if is_up(buf[q] as i64)==1 { return q } q=q+1 } return len } 20func read_int(buf: *u8, p: i64, len: i64, outv: *i64) -> i64 { var q: i64=p; var v: i64=0; while q<len { let c: i64=buf[q] as i64; if is_dig(c)==1 { v=v*10+(c-48); q=q+1 } else { outv[0]=v; return q } } outv[0]=v; return q } 21 22func main() -> i64 { 23 sf_puts("SOVEREIGN safetensors reader: enumerate real SD weights (bounded header read, no python/HF)\n\n" as *u8) 24 let path: *u8 = "/mnt/c/Users/elder/elder-ai-platform/models/unified/diffusion/Realism_Engine_Klein_V2.safetensors\x00" as *u8 25 let fd: i64 = sys_openat_rd(path) 26 if fd < 0 { sf_puts("RED: cannot open file\n" as *u8); sys_exit(1); return 1 } 27 28 let fsize: i64 = sys_lseek(fd, 0, 2) // SEEK_END 29 sys_lseek(fd, 0, 0) // SEEK_SET 30 31 let hdr8: *u8 = sys_mmap(16) 32 sys_read(fd, hdr8, 8) 33 var N: i64 = 0 34 var i: i64 = 0 35 while i<8 { N = N | ((hdr8[i] as i64) << (8*i)); i=i+1 } 36 37 let json: *u8 = sys_mmap(N+32) 38 var got: i64 = 0 39 var reading: i64 = 1 40 while reading==1 { let r: i64 = sys_read(fd, (json + got) as *u8, N-got); if r<=0 { reading=0 } else { got=got+r; if got>=N { reading=0 } } } 41 sys_close(fd) 42 43 let ntensors: i64 = sf_count(json, N, "dtype" as *u8, 5) 44 45 // first tensor dtype = first UPPERCASE-starting token after the first "dtype" 46 let di: i64 = sf_find(json, N, 0, "dtype" as *u8, 5) 47 let dt: *u8 = sys_mmap(16) 48 var dl: i64 = 0 49 if di>=0 { 50 var q: i64 = next_upper(json, di+5, N) 51 var go: i64 = 1 52 while go==1 { if q>=N { go=0 } else { let c: i64=json[q] as i64; if is_up(c)==1 { dt[dl]=json[q]; dl=dl+1; q=q+1 } else { if is_dig(c)==1 { dt[dl]=json[q]; dl=dl+1; q=q+1 } else { go=0 } } } } 53 } 54 dt[dl]=0 as u8 55 56 // first data_offsets [start,end] 57 let oi: i64 = sf_find(json, N, 0, "data_offsets" as *u8, 12) 58 let ov: *i64 = sys_mmap(16) as *i64 59 var o_start: i64 = 0 60 var o_end: i64 = 0 61 if oi>=0 { 62 let d1: i64 = next_digit(json, oi+12, N) 63 let p1: i64 = read_int(json, d1, N, ov) 64 o_start = ov[0] 65 let d2: i64 = next_digit(json, p1, N) 66 read_int(json, d2, N, ov) 67 o_end = ov[0] 68 } 69 70 let data_size: i64 = fsize - 8 - N 71 72 sf_puts(" file size = "); sf_num(fsize); sf_puts(" bytes ("); sf_num(fsize/1024/1024); sf_puts(" MB)\n"); 73 sf_puts(" JSON header N = "); sf_num(N); sf_puts(" bytes\n"); 74 sf_puts(" tensors enumerated = "); sf_num(ntensors); sf_puts("\n"); 75 sf_puts(" first tensor dtype = "); sf_puts(dt); sf_puts(" data_offsets = ["); sf_num(o_start); sf_puts(", "); sf_num(o_end); sf_puts("]\n"); 76 sf_puts(" raw data region = "); sf_num(data_size); sf_puts(" bytes (file - 8 - N)\n\n"); 77 78 var pass: i64=0 79 var ttl: i64=0 80 ttl=ttl+1; sf_puts(" T1 opened + bounded-read a REAL multi-MB safetensors (fsize>0, N>0): "); if fsize>0 { if N>0 { pass=pass+1; sf_puts("PASS\n") } else { sf_puts("FAIL\n") } } else { sf_puts("FAIL\n") } 81 ttl=ttl+1; sf_puts(" T2 tensors enumerated from the JSON header (>0): "); if ntensors>0 { pass=pass+1; sf_puts("PASS\n") } else { sf_puts("FAIL\n") } 82 ttl=ttl+1; sf_puts(" T3 first tensor metadata parsed (dtype non-empty + end>start): "); if dl>0 { if o_end>o_start { pass=pass+1; sf_puts("PASS\n") } else { sf_puts("FAIL\n") } } else { sf_puts("FAIL\n") } 83 ttl=ttl+1; sf_puts(" T4 INTEGRITY: data region positive + first offsets within it (end <= data_size): "); if data_size>0 { if o_end<=data_size { pass=pass+1; sf_puts("PASS\n") } else { sf_puts("FAIL\n") } } else { sf_puts("FAIL\n") } 84 85 sf_puts("NX-SAFETENSORS-GATE passed "); sf_num(pass); sf_puts("/"); sf_num(ttl) 86 // MIGRATED onto nx_gate_verdict by nx_gate_dry_apply (D001, minimal form): every check 87 // row above is untouched, so the PASS/FAIL vector cannot change; only the hand-rolled 88 // verdict emission is replaced by the ONE shared base class. Proven by nx_gate_migrate verify. 89 let ctr__dry: *i64 = gv_ctr() 90 ctr__dry[0] = pass 91 ctr__dry[1] = ttl 92 let rc__dry: i64 = gv_verdict("SAFETENSORS-GATE" as *u8, ctr__dry, "sovereign safetensors reader works on a REAL SD model -- weights are now loadable)" as *u8) 93 sys_exit(rc__dry) 94 return rc__dry 95}