feat(config): accept STRIX_REASONING_EFFORT=max for providers that support it - #956
Conversation
🤖 Devin AI EngineerI'll be helping with this pull request! Here's what you should know: ✅ I will automatically:
Note: I can only respond to comments from users who have write access to this repository. ⚙️ Control Options:
|
Greptile SummaryThe PR adds
Confidence Score: 5/5The PR appears safe to merge with no concrete changed-code failure identified. The new value is translated before reaching SDK enums that reject it, provider-route handling is explicit, subscription models use a complete clamp map, and focused tests cover the principal LiteLLM and OpenAI paths. Important Files Changed
Reviews (1): Last reviewed commit: "feat(config): accept STRIX_REASONING_EFF..." | Re-trigger Greptile |
|
Tested end-to-end on the real LLM request path (
Native
|
|
Re-tested after the simplification (384c5aa — route detection dropped,
|
Summary
STRIX_REASONING_EFFORT=maxfailed config validation, so DeepSeek V4's top reasoning tier was unreachable —ReasoningEffortmirrored the OpenAI SDK's enum, which stops atxhigh.Adding
"max"to the literal is not enough:Reasoning(effort="max")is itself rejected by the OpenAI SDK, and on the nativedeepseek/route LiteLLM's DeepSeek transform popsreasoning_effortand substitutesthinking: {"type": "enabled"}, collapsing every level to the provider default. Somaxskips the SDK field and rides along as a raw body field, passed through verbatim — whether the model supports it is the user's responsibility (unsupported providers reject the request):Verified on the wire:
STRIX_LLMopenrouter/deepseek/deepseek-v4-flashmax"reasoning_effort": "max"(live completion succeeded)deepseek/deepseek-v4-flashmax"reasoning_effort": "max"(was"thinking": {"type": "enabled"})The Codex/ChatGPT-subscription clamp gains a
max→highcase alongside the existingxhigh→highone, since that backend only accepts low/medium/high.Link to Devin session: https://app.devin.ai/sessions/1e2f7b6ab4de438ea9d6e516b57eb96c
Requested by: @0xallam