Adds top-of-step temporal-localization scans BEFORE snap_assemble /
forward kernels to find the FIRST step on which any persistent
weight first observes a NaN:
- 38 step_entry_window_tensor (stale from prior step — upstream probe)
- 39 step_entry_vsn_W
- 40 step_entry_vsn_b
- 41 step_entry_mamba2_l1_w_a
- 42 step_entry_mamba2_l2_w_a
The integrated trainer bumps ISV[548] before calling
dispatch_train_step_inner, so the printed step=N matches the step
about to execute. Persistent weights (39-42) carry NaN across steps,
so a hit at step N means step N-1's backward + AdamW path produced
the NaN (AdamW NaN-passthrough class). A hit on label 38 (stale
window_tensor_d) points upstream to snap_feature_assemble_batched
or the SoA data path.
Per feedback_no_partial_refactor, host scan calls + kernel switch
arms land in the same commit.