Ported flashinfer_trtllm.py (Stage 1) calls prepare_static_weights_for_trtllm_fp4_moe(is_gated=...), but utils.py (which DEFINES it) was not ported → old signature → TypeError at process_weights. utils.py has 0 local edits; wholesale-replace to HEAD. New fn is gated-aware (gemm1_rows), passes is_gated_act_gemm to flashinfer _maybe_get_cached_w3_w1_permute_indices (verified present on 0.6.12). Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>