- Reverted from full-buffer swizzle to per-expert 128-row slots - Scatter into e*128 fixed positions (cudagraph-compatible, fixed shape) - Clamp local_row to 127 for experts with >128 tokens (GEMM uses expert_offsets) - Buffer sized for num_experts*128 rows (not max_tokens*top_k) - Add _warmup_done guard to only run warmup once (not 60x)