Files
foxhunt/docs
jgrusewski d5e1214f25 fix(sp11): B1a — saboteur GPU multiplication + SimHash state_stride
Per feedback_cpu_is_read_only, saboteur effective scale now computed
on-device:
- saboteur_generate_params kernel signature gains isv ptr +
  saboteur_intensity_mult_slot parameter
- Kernel reads `mult = fmaxf(isv[saboteur_intensity_mult_slot],
  SABOTEUR_MIN)` (sentinel-0 defense for cold-start before A2's
  controller first runs) and applies `effective_scale = base × mult`
  to perturbation generation
- gpu_experience_collector.rs launcher updated; only one call site

SimHash state_stride parameter added to lookup + update kernels —
prepares for B1c replay-time curiosity wiring against trainer.
states_buf which is STATE_DIM_PADDED=128-strided. Kernel inner loop
reads `state[i × state_stride + d]` (was `i × 42 + d`). Proj-init
kernel unchanged (writes projection, doesn't read states).

Pre-requisite for B1c (curiosity wiring) and a small atomic step
toward full SP11 production behavior.

cargo check + build clean; 6/6 SP11 GPU tests + 14/14 contract tests
still pass.
2026-05-04 08:51:23 +02:00
..