#33329 [Bug]: simple-shuffle ignores weights when the first healthy deployment has none
### Check for existing issues
- [x] I have searched the existing issues and checked that my issue is not a duplicate
### What happened?
The `simple-shuffle` router decides whether a weighted pick is enabled by inspecting only the first healthy deployment on current `litellm_internal_staging` at commit `65ca095d4d15a82372e53a547a2390a69f7e1797`
[`simple_shuffle`](https://github.com/BerriAI/litellm/blob/65ca095d4d15a82372e53a547a2390a69f7e1797/litellm/router_strategy/simple_shuffle.py#L42-L68) does this for `weight`, `rpm`, and `tpm`:
```python weight = healthy_deployments[0].get("litellm_params").get(weight_by, None) if weight is not None: weights = [ m["litellm_params"].get(weight_by, 0) for m in healthy_deployments ] ```
If the first deployment omits `weight` but a later deployment sets it, weighted routing is skipped and the function falls through to uniform `random.choice`
Healthy-deployment order can change after cooldown, filtering, and attempted-deployment exclusion, so the same configured group can switch between weighted and uniform routing based only on list order
The expected behavior is to enable a metric when any healthy candidate has a n…