Silent NaN corruption
A near-deterministic policy made the PPO probability ratio overflow
float32 → inf → NaN, permanently
poisoning the weights. Clamping the log-ratio before exp()
fixed it in both the NumPy and PyTorch backends.