Files
foxhunt/docs
jgrusewski 8fd9cc0603 docs(dqn): SP1 Phase A — audit citation + accessor precision
Quality-review fixes for the SP1 Phase A audit:

1. nan_flags_buf [i32;24] declaration: quad-cite (field 2659, alloc
   11178, constructor 12563, read_nan_flags signature 14982). Task 2's
   24->48 expansion must touch all four atomically per
   feedback_no_partial_refactor; consumer site in
   trainers/dqn/fused_training.rs and the two name-table sites in
   trainers/dqn/trainer/training_loop.rs are still listed in Task 2's
   plan body.

2. Per-slot Rust buffer-pointer expression added for slots 24-35.
   Already-accessible (no new accessor): slots 26, 32, 33, 34, 35
   (4 via self.ptrs, 1 via existing bn_d_concat_buf accessor). Need
   new accessor on GpuDqnTrainer: slots 24 (d_value_logits), 25
   (d_adv_logits), 30 (aux_dh_s2_nb_buf), and 29 (cql_d_value_logits,
   only if un-deferred). Need new accessor on GpuIqnHead: slot 28
   (d_branch_logits_buf — note: production IQN backward uses
   iqn_quantile_huber_loss, NOT iqn_backward_per_sample which is
   declared but never loaded). Optional: slot 27 (d_h_s2_buf_ptr) —
   can be inlined inside apply_iqn_trunk_gradient instead. Need new
   accessor on FusedDqnTraining: slot 31 (only if un-deferred).
   Becomes input for Task 3.

3. Citation typo: c51_loss_kernel.cu line 274 reference removed —
   line 274 is __syncthreads() in the projection-reduction warp loop;
   the a_std=sqrtf reference belongs to c51_grad_kernel.cu:274.
   Loss-kernel sqrtf sites are 779 and 804.

Verified by reading each cited line; SQLX_OFFLINE=true cargo check
--workspace passes (docs-only).
2026-04-29 23:48:31 +02:00
..