Fix deployment alias for orchestrated chat - #870
Conversation
|
Warning Review limit reachedNext included review available in 16 minutes. View limit detailsLimit details: You’ve used the included review currently available. You've used all free OSS reviews for now. Wait for the free limit to reset to keep reviewing this public repository. Review configuration: ⚙️ Run configurationConfiguration used: Organization UI Review profile: CHILL Plan: Pro Plus Run ID: 📒 Files selected for processing (2)
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
|
Superseded by #868, which now provides one canonical |
|
Closing as superseded by #868 after preserving this PR’s explicit-conduct acceptance case in the canonical provider-neutral alias contract. |
Pull request was closed
| if model_name == "contextual-orchestrator" and required_capability is None: | ||
| if any(not getattr(agent, "disabled", False) for agent in agents): | ||
| return model_name | ||
| raise RequestError(400, "invalid_model", "no enabled orchestration agent is available") |
There was a problem hiding this comment.
📝 Info: Alias branch correctly scoped to capability-free endpoints
The alias branch at server.py fires only when required_capability is None. Capability endpoints (embeddings server.py:5921, batch embeddings server.py:6034, media/rerank) pass a capability and stay fail-closed. Only /v1/completions and /v1/chat/completions reach it unconditionally; the /v1/responses call at server.py:6296 is gated by an AUTO/FREE check. Scope matches intent.
Was this helpful? React with 👍 or 👎 to provide feedback.
| if model_name in {TaskOrchestrator.AUTO_MODEL, TaskOrchestrator.FREE_MODEL}: | ||
| if required_capability is None: | ||
| if model_name == TaskOrchestrator.AUTO_MODEL or any( |
There was a problem hiding this comment.
📝 Info: Alias requires an enabled agent unlike AUTO_MODEL
The alias branch raises invalid_model when every agent is disabled (server.py), while the AUTO_MODEL path at server.py:2127 returns unconditionally even with an empty enabled pool. The divergence looks deliberate but is asymmetric.
(Refers to this code)
Was this helpful? React with 👍 or 👎 to provide feedback.
|
Superseded by #868, which now covers the same explicit deployment alias on chat and legacy completions plus Responses, capability-specific embedding resolution, and omitted-model gateway-default semantics. #868 exact head |
Summary
contextual-orchestratordeployment alias on provider-neutral text-generation compatibility endpoints (/v1/chat/completionsand/v1/completions)conductover authenticated HTTP and require a multi-step traceVerification
uv run --with pytest --extra test python -m pytest -q tests/test_chat_orchestration_mode_http_honesty.py tests/test_orchestrated_responses_stream.py(18 passed)