Repository navigation
fix(core): stop pruning pinned route leaves on suffixed-catalog providers (#985) - #986
Conversation
…ders (#985) Route expansion pruned any leaf whose pinned or inherited variant was not natively enumerated on the definition-stage model info. Proxy providers (Antigravity, Open Design) carry no variant list at that stage — their catalogs expose effort levels as suffixed model ids (gemini-4-argon-high, claude-sonnet-5-5-high) — so every variant-pinned reference to them silently expanded to zero: workhorse routes never attempted the Argon or Sonnet leaves even though direct pins worked. Two repairs: - expand(): a variant the door's catalog exposes as a suffixed model id counts as producible, like a native variant or a remap. A variant with no native, remapped, or suffixed evidence still prunes. - retargetDefinition(): refresh definition-stage entries from the editor by their own ids, completing the documented definition-ids-union-current semantics for models the editor does not enumerate (it lists the proxy catalog's suffixed ids, not the base models transforms complete later). Regression tests cover the direct pin, the nested-route inheritance, the still-prunes case, and the retarget editor refresh.
|
Warning Review limit reachedYou've used all free OSS reviews for now. Wait for the free limit to reset to keep reviewing this public repository. Next included review available in 28 minutes. View limit details
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 |
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. |
Picks up developing-today-forks/opencode#986: variant-pinned route leaves on suffixed-catalog providers (Antigravity Argon/Sonnet, Open Design doors) no longer expand to zero, so the workhorse routes can finally attempt them. Lock-only change.
The first pass resolved the floating input through a stale fetcher cache and landed on an older rev. Pin to 56321bbd (the merge of developing-today-forks/opencode#986) explicitly. Net diff against main is exactly one node: the root opencode input ffb33f2d -> 56321bbd.
Fixes #985.
What was wrong
Route expansion pruned any leaf whose pinned/inherited variant was not natively enumerated on the definition-stage
Model.Info. The proxy providers (antigravity-agy, antigravity-ls, opendesign) carry no variant list at that stage — their catalogs expose effort levels as suffixed model ids (gemini-4-argon-high,claude-sonnet-5-5-high). Result, verified against the live server's expanded target lists and the route_attempt ledger: workhorse-primary lost its direct Argon leaf and its whole Sonnet contribution; specialist/summit/speed/scout lost the same providers' leaves whenever a variant rode along, while unpinned standalone routes kept them and direct session pins worked.The fix
expand(): a variant the door's catalog exposes as a suffixed model id counts as producible, on par with a native variant or a target remap. A variant with no native, remapped, or suffixed evidence still prunes (existing spec tests unchanged).retargetDefinition(): the merge now also refreshes definition-stage entries from the editor by their own ids. The editor does not enumerate every model it holds (it lists the proxy catalog's suffixed ids, not the base models), so those entries kept their pre-transform shape — no variants — and re-expansion judged targets against them. This completes the documented "definition ids union current model ids" semantics.Tests
New regression tests in
model-routes-expand.test.ts(direct pin, nested inheritance, still-prunes) andmodel-route-transform-models.test.ts(retarget editor refresh). Full route family: 221 pass; governance/session-model: 17 pass;tsgotypecheck clean.Need help on this PR? Tag
@codesmith-botwith what you need.