From 4f3a126f062d1d37b4bda6d74d53c151fe4c2ace Mon Sep 17 00:00:00 2001 From: Devin AI <158243242+devin-ai-integration[bot]@users.noreply.github.com> Date: Fri, 25 Sep 2026 15:42:42 +0000 Subject: [PATCH] docs(complexity_router): document user_turn pin precedence over the context threshold Co-Authored-By: Devin AI <158243242+devin-ai-integration[bot]@users.noreply.github.com> --- litellm/router_strategy/complexity_router/README.md | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/litellm/router_strategy/complexity_router/README.md b/litellm/router_strategy/complexity_router/README.md index eca0f666147..5091f45c0e7 100644 --- a/litellm/router_strategy/complexity_router/README.md +++ b/litellm/router_strategy/complexity_router/README.md @@ -516,6 +516,13 @@ exceeds the limit. The estimate counts all message text at approximately four ch so a short newest nudge in a long agentic session still reaches the classifier. Leave it unset to keep the scorer's tier in control at any conversation size +The context veto only applies on turns that are classified, so it never overrides a held pin. With +`classification_mode: user_turn`, a continuation turn inside a session that already holds a pin +replays that pin (`x-litellm-complexity-router-cause: user_turn_continuation`) with no classifier +call, however large the conversation has grown. The threshold applies again on the next human ask, +which falls through to classification and, when the conversation exceeds the limit, goes to the LLM +classifier. With `session_affinity` on, the pin wins for new asks as well + The signal requirement is what keeps this from quietly routing everything to your cheapest model. A prompt where no dimension fires scores exactly 0.0, which is below `simple_medium`, so the score to tier mapping calls it SIMPLE by default rather than by evidence. Around half of general traffic