Fixed CUDA module leak: experience collector loaded EXPERIENCE_KERNELS_CUBIN
4 separate times to extract different kernel functions. Now loads ONCE
and extracts all 4 functions from the single module.
Fixed PPO test: total_experiences assertion updated (PPO doesn't have
counterfactual doubling, unlike DQN).
Test results:
- ml: 893 passed, 2 failed (database only), 17 ignored
- ml-dqn: 359 passed, 0 failed
- Smoke tests: 9/11 passed (2 fail: 50-epoch gradient collapse on
smoketest tiny network with full generalization — config issue,
not code bug. 3-epoch smoke test passes with Sharpe 9.34)
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>