apply_position_mask() in factored_q_network.rs looped 0..45 against a 5-wide Q-values tensor — would panic at runtime. Changed to 0..5 using ExposureLevel::from_index() directly. Updated stale "45 actions" comments in 5 files (dqn.rs, reward.rs, hyperopt/adapters/dqn.rs, curriculum.rs). Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>