#35097 feat(router): required-AND tag routing via & prefix
## Problem
Tag routing today supports inclusion-OR (`tag_filtering_match_any`, default `true` — a deployment matches if it carries *any one* of the request's positive tags) and independent negation (`!tag`, #31728). There's no way to express "must match all of these tags" — required-AND — per request. `tag_filtering_match_any` is a single router-wide setting, not overridable per request, so there's no way for one caller to get AND semantics while another gets OR on the same proxy.
This matters for intent/preference-style routing that combines multiple independent dimensions in one request — e.g. "give me a high-reasoning model AND specifically from Anthropic" (`reasoning_type:high` + `provider:anthropic`). Under today's OR semantics, that request instead returns *any* deployment matching either tag — e.g. a low-reasoning Anthropic model, or a high-reasoning non-Anthropic model — silently broader than what was asked for.
Separately: when tag constraints (`!` negation today, or the `&` proposal below) eliminate every candidate deployment on a model group, behavior is currently fixed — fall back to the `"default"`-tagged pool if any deployment has it, otherwise raise `no_deployment…