diff --git a/crates/ml-alpha/src/trainer/integrated.rs b/crates/ml-alpha/src/trainer/integrated.rs index 15a3341e2..31ea1bac3 100644 --- a/crates/ml-alpha/src/trainer/integrated.rs +++ b/crates/ml-alpha/src/trainer/integrated.rs @@ -8631,6 +8631,24 @@ impl IntegratedTrainer { self.dqn_head .forward(h_t_borrow, b_size, &mut self.q_logits_d) .context("step_with_lobsim_gpu: dqn_head.forward(h_t)")?; + // B-10 G1 (2026-06-01): Q-distribution informativeness diagnostic + // on online Q logits — emits ISV slots 730/731/732. Pure + // observability; reads q_logits_d immediately after the forward, + // before any downstream consumer (distill / Thompson / PPO). + // (Sister-launch added at line 6622 in `step_with_lobsim` — the + // GPU path here is the canonical one that the alpha_rl_train + // example actually exercises.) + self.dqn_head + .launch_q_distribution_stats( + &self.isv_dev_ptr, + &self.q_logits_d, + &self.atom_supports_d, + b_size, + &mut self.q_dist_entropy_pb_d, + &mut self.q_dist_range_pb_d, + &mut self.q_dist_abs_max_pb_d, + ) + .context("step_with_lobsim_gpu: dqn_head.launch_q_distribution_stats")?; self.dqn_head .forward_target(h_t_borrow, b_size, &mut self.q_logits_target_st_d) .context("step_with_lobsim_gpu: dqn_head.forward_target(h_t) for distillation")?;