#30798 [Bug]: /team/info leaks internal model routing keys; /team/update round-trips them back, corrupting team.models
## What happened?
Editing a team or a team-scoped (BYOK) model on a team that has many models can rewrite the team's `models` list with `model_name_{team_id}_{uuid}` routing keys; large lists end up showing UUID-suffixed gibberish names instead of the public model names. Once written, every subsequent fetch of `/team/info` returns those routing keys, and any further save round-trips them back into the row, so the corruption sticks until the database is repaired by hand.
The team `models` column is supposed to hold the public names that get displayed to operators (`gpt-4`, `claude-2`, etc.). The internal routing key `model_name_{team_id}_{uuid}` is meant to live only in the router's deployment row and the `LiteLLM_ProxyModelTable.model_name` column; it should never be visible to a UI form, and it should never be persisted into `team.models`.
The chain is:
1. The proxy returns the routing key in some response (e.g. a model row whose `model_info.team_public_model_name` is unset or whose translation step is bypassed). PR #28382 closed several of these read-path leaks for `/v1/model/info` and `/v2/model/info`, but `/team/info` still returns whatever sits in the team's `models` colum…