feat(xai): restore Grok Responses default with persistent Chat opt-in - #3670
Conversation
…efault-chat-optin
|
Important Draft PR not reviewedDraft PRs are not automatically reviewed by default.
To automatically review draft PRs, update your CodeRabbit configuration: reviews:
auto_review:
drafts: trueThanks 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 |
|
✅ Deterministic PR hygiene checks passed. |
리뷰 · 우선순위 74 / 80이 PR은 xAI Grok 4.5/4.6 OAuth Responses 트래픽의 기본 와이어를 다시 native Responses로 두고, 예전에 남아 있던 Chat Completions 오버라이드는 업그레이드 때 한 번만 지운 뒤, 그 다음부터 운영자가 GUI/CLI로 고른 Chat 선택을 재시작·재인증·provider edit 뒤에도 지키게 합니다. Chat은 기존 스위치와 지금 주의할 제품 결정은 “업그레이드 전 Chat 설정을 보존하지 않는다”입니다. 본문·plan이 명시했고, version 마커로 이후 Chat opt-in은 지킴니다. GUI 카피가 Responses opt-in에서 Chat Completions 선택으로 뒤집혀 혼동 여지가 있어 로케일 전부가 같이 바뀌는지가 중요합니다. first-output 안내는 OpenAI-operated가 아닌 code-mode 카탈로그에만 걸리게 게이트해야 하고, plan도 그렇게 적혀 있습니다. #3668 직후 큰 기능 PR이라 충돌면은 xAI/registry/oauth 쪽이고 split-train과는 무관합니다.
메인테이너의 판단이 필요한 지점
너의 추천 이 댓글은 grok-bot이 작성했습니다 |
|
The owner explicitly requested immediate admin merge and post-merge dev CI observation. Independent implementation review passed; Linux shards, gates, and packaging checks passed. One macOS shard is still running and the PR policy job was cancelled. Proceeding with the owner-authorized approval/check bypass, without self-approval, then monitoring the exact dev push-event CI. Additional fixes are not authorized by this monitoring request. |
Codex Review SummaryThis comment shows the latest Codex review activity on this pull request.
ℹ️ About Codex in GitHubYour team has set up Codex to review pull requests in this repo. Reviews are triggered when you
Codex reacts with 👀 while any review is running, comments if it has suggestions, and reacts with 👍 once all reviews finish with no findings. |
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: 2e50d26fad
ℹ️ About Codex in GitHub
Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".
| if (!Object.hasOwn(body.provider, "modelAdapters") && latest?.modelAdapters) { | ||
| prov.modelAdapters = { ...latest.modelAdapters }; | ||
| } | ||
| if (latest?.xaiResponsesDefaultVersion !== undefined) { | ||
| prov.xaiResponsesDefaultVersion = latest.xaiResponsesDefaultVersion; |
There was a problem hiding this comment.
Stamp new xAI Chat choices as migration-complete
When an xai provider is created after startup through POST /api/providers with explicit Chat entries in modelAdapters, latest is absent, so this block persists neither an existing nor a new xaiResponsesDefaultVersion. On the next restart, migrateStartupXaiResponses treats that newly written configuration as legacy and deletes both explicit Chat choices. Stamp the current migration version when the submitted xAI provider explicitly selects either owned model wire; the batch provider editor needs the same treatment.
Useful? React with 👍 / 👎.
Summary
ocx provider edit xai --xai-chat on|off; keep API-key/translated-inbound defaults, other models and service-tier boundaries unchanged.Verification
--no-verify.601725c87: GUI build, GUI focused tests (9 pass), typecheck, affected runtime tests (803 pass), privacy scan passed. Follow-up changes and the current dev integration are being verified at exact HEAD.OCX_FIRST_RESULT_7391with no additional tool call. This is one observed live roundtrip, not a guarantee about all future model output.Checklist
Security review: existing destination/authentication/tier boundaries are unchanged. The migration changes only two owned wire overrides and a version marker, rebases persistence under the existing lock, and preserves later intent. Native output guidance is gated away from OpenAI-operated destinations and non-code-mode catalogs; raw input and populated/multimodal results remain unchanged. No credentials or private task payloads are included.