fix(provider): route OpenCode Go Luna through Responses - #1484
Conversation
📝 WalkthroughWalkthroughOpenCode Go now routes ChangesOpenCode Go Luna routing
Estimated code review effort: 3 (Moderate) | ~20 minutes Sequence Diagram(s)sequenceDiagram
participant Client
participant OpenCodeGo
participant ProviderRegistry
participant ResponsesEndpoint
Client->>OpenCodeGo: Request gpt-5.6-luna
OpenCodeGo->>ProviderRegistry: Resolve model wire
ProviderRegistry-->>OpenCodeGo: openai-responses
OpenCodeGo->>ResponsesEndpoint: POST /v1/responses
ResponsesEndpoint-->>Client: Streaming response
Possibly related issues
Possibly related PRs
Suggested labels: Suggested reviewers: 🚥 Pre-merge checks | ✅ 5✅ Passed checks (5 passed)
✨ Finishing Touches📝 Generate docstrings
🧪 Generate unit tests (beta)
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 |
|
✅ Deterministic PR hygiene checks passed. |
Wibias
left a comment
There was a problem hiding this comment.
Reviewed the scoped OpenCode Go Luna wire correction. I did not find an additional blocker in this head: the exact-model registry default uses the existing mixed-wire precedence, explicit modelAdapters still wins, and sibling models remain on their existing wire.
The separate terminal-delivery problem described in #1482 is intentionally not solved here, so #1482 should remain open for that work. I am not approving this head because it is currently not mergeable against the latest dev; rebase/resolve conflicts and request re-review.
7109ed4 to
7964c0d
Compare
|
Thanks @Ingwannu for the focused fix. This is useful because GPT-5.6 Luna on OpenCode Go now reaches its correct Responses endpoint without changing the wire for sibling models or overriding explicit user configuration. Keeping the endpoint correction separate from the still-unproven streaming workaround also avoids baking in unnecessary compatibility behavior. Merged, thank you! |
Summary
opencode-go/gpt-5.6-lunamodel through the OpenAI Responses adaptermodelAdaptersprecedence and keep sibling OpenCode Go models on their existing wiresRoot cause
OpenCode Go documents GPT 5.6 Luna at
/zen/go/v1/responses, but the built-in provider had only the provider-wideopenai-chatadapter. Without an explicit user override, Luna therefore reached/chat/completions.The registry now supplies one exact-model default:
An explicit allowed
modelAdaptersentry still wins. No provider-wide adapter or sibling model behavior changes.Streaming scope
This PR deliberately does not set
modelResponsesUpstreamStreaming: false. The endpoint mismatch is proven on currentdevand in OpenCode Go's published endpoint matrix. The conditional terminal-delivery report in #1482 does not include a current-devlive canary, so a built-in bounded-JSON policy should remain a separate evidence-backed change.Validation
/zen/go/v1/responsesbun run typecheck: passedbun run privacy:scan: passedcodex-shimtoken-path failurecodex-shimtest remains host-specific: it reads this host's persisted service-token path instead of the test's temporaryOPENCODEX_HOME; none of this PR's files overlap that subsystemDocumentation
The transport SOT records why the exact-model registry default was chosen over a provider-wide switch or an unproven streaming workaround. The public provider configuration reference now names the OpenCode Go Luna default and the explicit override boundary.
Addresses #1482.
Summary by CodeRabbit
New Features
Documentation
Tests