GPU kernels, bulk-authored

The GPU sweep went from one kernel to seventeen (D131). scripts/gen_shaders.py now emits an OBS_GPU_KERNELS X-macro alongside the embedded SPIR-V, and 160-gpu/kernels expands it to dispatch every shader over a shared edge-value vector - so a new kernel is a .comp file and a regenerate, nothing more. First batch: the unary transcendentals, rounding family, and f16/i32 round-trips. 17 kernels x 16 lanes = 272 observations a run, all carrying the device name. verify: ok, with two new conditional GPU stages (shader-drift check and a GPU=1 compile) so the capability is in the gate rather than left to rot.

Surprises