[Revert] Router lookup gate and Gemini routing default (#716) - #726
Merged
Conversation
Contributor
daniel-lxs
added a commit
that referenced
this pull request
Jul 24, 2026
#728) * Reapply "[Improve] Gate the linked-issue fetch on the routing precheck; default routing to Gemini 3.6 Flash (#716)" (#726) This reverts commit 15c4f69. * [Improve] Re-land the router lookup gate with no hardcoded model id Re-lands #716's two-step gate (precheck without tools; fetch linked-issue context only on needsExternalLookup=true) after the #726 revert. The routing model is now resolved as context.routingModel -> R_ROUTER_MODEL -> undefined, deferring to the deployment small-model resolution. No model id is hardcoded: the correct id depends on the deployment's provider configuration (openrouter/google/... via OpenRouter vs google/... direct), which is what broke routing in production — google/gemini-3.6-flash resolved to the unauthenticated direct Google provider and every routing call fell back to the manual picker. The routing decision's model field reports the resolved id when an override is set and the roomote-small-model label otherwise. Verified through the real routeTask against the production provider path (scripts/verify-reland.ts): default -> routed on the deployment small model; R_ROUTER_MODEL=openrouter/google/gemini-3.6-flash -> routed on Gemini with the id in debug output; the incident's message routes to the right environment in both. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com> * Format types.ts per prettier Co-Authored-By: Claude Fable 5 <noreply@anthropic.com> * Strip all model-resolution changes — gate only Per review: the router model stays exactly as on develop (context.routingModel -> deployment small model). types.ts and router-service.ts are now zero-diff against develop; the PR touches only mcp-gather.ts (the two-step gate), its tests, and the verify-reland script. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com> --------- Co-authored-by: Claude Fable 5 <noreply@anthropic.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Reverts #716 (squash a3d7978) after routing degraded in production: a plain "Review the README in the Roomote repo" request fell through to the manual environment picker instead of routing confidently.
Restores the pre-#716 behavior: unconditional issue fetch from #693 and routing on the deployment small model (
R_SMALL_MODEL). #718's registry refactor is untouched (no file overlap) and #722 stays unmerged.Leading theory (debugging in parallel): the
google/gemini-3.6-flashdefault doesn't resolve through the deployment's OpenCode provider config (splitOpenCodeModelId→ providergoogle, which may not be registered — the eval validated the model via OpenRouter directly, not through the production provider path). If confirmed, the model call throws,routeTaskcatches, and every route degrades tofallback→ manual picker, which matches the screenshot.🤖 Generated with Claude Code