Repository navigation
fix(config): preserve legacy OpenCode Go configs after native wire pins - #7238
Conversation
Preserve saved providers, accounts and routing when native Gemini/Qwen wire pins invalidate previously supported Chat or Responses overrides. Share the file-read migration across runtime and diagnostics while retaining strict candidate-write validation and the existing Zen migration. Co-authored-by: Georgiy Bukharov <souljorje@gmail.com> Co-authored-by: norths7ar <guicaitiandu@gmail.com>
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. |
|
✅ Deterministic PR hygiene checks passed. |
|
No actionable comments were generated in the recent review. 🎉 ℹ️ Recent review info
📝 Walkthrough
Merge Risk: ⚪ Minimal · up to
|
Summary
modelAdapters["qwen3.7-plus"] = "openai-chat"(or analogous Gemini/Qwen Chat/Responses overrides) fail validation after fix(providers): carry Zed, Qoder, and OpenCode Gemini compatibility #7216 adds native wire pins, causing the entire saved config to fall back to defaults. Normalize these formerly valid overrides before validation in both runtime loading and diagnostics; the native pin wins while providers, accounts and routing survive.git diff 4ae49360b..origin/dev -- src/config src/typesthrough4ed45e9516e4421197d7cb0dd95a3d2f316aa0c9: Zen Gemini is the other hard-pin tightening and already has load/diagnostics migration. Other additions are optional fields, relaxed request-pacing validation, or independently degraded blocks (autoReviewOverride, reasoning retention, native reasoning retention). No additional previously valid configuration rejection requiring a same-class fix was identified.Verification
origin/dev, including fix(gui): restore keep-native-v1 qualifier placement #7237 (050bb444a0), into this branch without conflicts. Current pushed head:e962a91b686b1bcff3e86b1597a756dc3a66b714. The PR diff remains the eight config-migration/test/docs files.lidgepassed at the new head, labelf1-7238-e962a9-1016, viaOCX_LANE_SLOTS=3 ~/bin/ocx-lane-ci2.sh <sha> <label>withtests/config/config-opencode-go-upgrade.test.ts,tests/config/config-opencode-zen-upgrade.test.ts,tests/config/config-commandcode-claude-pin.test.ts,tests/test-layout.test.ts,tests/test-layout-tooling.test.ts, andtests/ci-workflows/file-size-ratchet.test.ts. Result: typecheck exit 0, 87 tests passed, 0 failed across those six files, Bun 1.4.3. Evidence:~/ocx-lane/logs/f1-7238-e962a9-1016.summaryand corresponding.log.bun run structure:checkandbun run privacy:scanpassed. The isolated formerly failing GUI test also passed onlidge: 6 passed, 0 failed (remote system Bun 1.3.14).gatesfailure was four inherited source-placement assertions ingui/tests/models-keep-native-v1-placement.test.ts; the test and both input files had identical Git blobs at its base. The coordinator fixed that issue in fix(gui): restore keep-native-v1 qualifier placement #7237, now included above. The final authority is new-head hosted PR run 38882493759, attempt 1, bound to the current head above; superseded old-head results do not certify this head.source: "fallback"and the native-wire validation error; restoring normalization passes. Initial missing-dependency failure was resolved and was not counted as red evidence.Checklist
Co-authored-by: Georgiy Bukharov souljorje@gmail.com
Co-authored-by: norths7ar guicaitiandu@gmail.com