code wiki / (root) / nx_selected_cast_gate_t55.nx

nx_selected_cast_gate_t55.nx source

↩ module page · 23 lines · 2068 B

1import "nx_game_shader_backend_selected_t55.nx" 2import "nx_gate_verdict.nx" 3const T55_PRODUCER:*u8="/volume1/homes/elderwesto/nishihost/buildroot/_build/nx_wgsl_authored_t55.sov.elf" 4const T55_SHA:*u8="1ffb6e17ee0adf7a805935c1e43fd65ad3d190fd10e5fe6a676eb159ebe2a319" 5const T55_BYTES:i64=1250592 6func main()->i64 { 7 let c:*i64=gv_ctr();let out:*u8=sys_mmap(524288);let n:*i64=sys_mmap(16) as *i64 8 gsb_failed=0 9 gv_check("actual private producer identity verified" as *u8,gsb_artifact_matches(T55_PRODUCER,T55_SHA,T55_BYTES)==1,c) 10 gv_check("actual selected cast capture succeeds" as *u8,gsb_capture_selected(T55_PRODUCER,T55_SHA,T55_BYTES,"cast" as *u8,out,524288,n,30000)==0&&n[0]>0,c) 11 let captured:i64=n[0];let digest:*u8=sys_mmap(65);gpa_sha(out,captured,digest);gv_puts("cast_capture_sha256=" as *u8);gv_puts(digest);gv_puts("\n" as *u8);gv_values_head();gv_kv("capture_bytes" as *u8,captured) 12 gsb_failed=0 13 gv_check("wrong hash refuses and clears output" as *u8,gsb_capture_selected(T55_PRODUCER,"0000000000000000000000000000000000000000000000000000000000000000" as *u8,T55_BYTES,"cast" as *u8,out,524288,n,30000)<0&&n[0]==0&&gsb_failed==1,c) 14 gv_check("wrong selection cannot fall back through live capture" as *u8,gsb_capture("cast" as *u8,out,524288,n,30000)<0&&n[0]==0,c) 15 gsb_failed=0 16 gv_check("missing producer refuses" as *u8,gsb_capture_selected("/tmp/missing-producer-t55.elf" as *u8,T55_SHA,T55_BYTES,"cast" as *u8,out,524288,n,30000)<0&&n[0]==0,c) 17 gsb_failed=0 18 gv_check("wrong extent refuses" as *u8,gsb_capture_selected(T55_PRODUCER,T55_SHA,T55_BYTES-1,"cast" as *u8,out,524288,n,30000)<0&&n[0]==0,c) 19 gsb_failed=0 20 gv_check("truncated cast refuses and clears output" as *u8,gsb_capture_selected(T55_PRODUCER,T55_SHA,T55_BYTES,"cast" as *u8,out,64,n,30000)<0&&n[0]==0&&gsb_failed==1,c) 21 gv_check("truncation cannot fall back through live capture" as *u8,gsb_capture("cast" as *u8,out,524288,n,30000)<0&&n[0]==0,c) 22 return gv_verdict("SELECTED-CAST-PRODUCER" as *u8,c,"Private capture identity and refusal; no GPU or visual acceptance" as *u8) 23}