fix(providers): align Bailian reasoning capabilities - #672
Conversation
Codex ReviewVerdict: needs changes [P1] Bailian cannot be added during Codex onboardingsrc/shared/provider-registry.ts:233 Impact: Bailian now advertises only Anthropic and Chat Completions at the vendor level, while its Responses-capable Qwen models are listed separately. Provider onboarding checks this vendor-level endpoint list, so Codex rejects Bailian—even though the default qwen3.8 model supports Responses. The picker also treats all models of an inactive Bailian provider as Responses-capable based on the default model. Recommendation: Make onboarding and renderer model compatibility resolve endpoints for the specific selected/default model using Summary: Per-model Responses support is added to the registry, but onboarding and model selection still consume vendor-level endpoints. This makes supported Bailian models unusable in some Codex flows and can expose unsupported models as selectable. |
Codex ReviewVerdict: mergeable No actionable findings. Summary: No concrete merge-blocking defects found in the requested changes. Branch and pull-request title prechecks are valid. |
Problem
The merged Bailian providers hid documented reasoning controls and treated Responses support too broadly for standard Bailian. Bailian for Plan must remain on its documented Anthropic and OpenAI-compatible Chat surfaces rather than being advertised as Responses-compatible. Qwen 3.8 also used the rounded 1M context value instead of the 983,616-token Codex integration limit.
Proposed change
low / medium / xhighreasoning preset for Qwen 3.8 Max and Preview.high / maxfor the documented GLM 5.2 and DeepSeek V4 Chat models.Official references:
Scope and non-goals
This is a provider capability metadata correction. It does not change architecture, persistence schemas, data relationships, or endpoint construction. Qwen 3.7/3.6 remain conservative in the cross-protocol reasoning selector because their documented Chat controls are protocol-specific and do not fit the current model-wide effort seam.
Acceptance criteria and validation
All commands below ran after the final edit:
npm test -- src/shared/provider-registry.test.ts src/shared/reasoning-effort.test.ts-> 69 passed.npm run typecheck-> passed.npm run lint-> passed with 18 pre-existing warnings outside the changed files; changed files are clean.npm test-> 697 files and 10,211 tests passed; 15 files and 184 tests skipped by the existing suite.Uncovered risk: validation is based on the current official documentation and project-owned tests; no production API-key smoke test was performed, so future provider-side capability changes remain external risk.
Review focus
Please verify the Responses boundary between standard Bailian and Bailian for Plan, plus the distinction between Qwen 3.8's
low / medium / xhighvocabulary and GLM/DeepSeek'shigh / maxvocabulary.