fix(agent): route gateway-served qwen models through Veryfront Cloud - #4616
Conversation
Hosted runs on qwen/qwen3.8-27b failed with 'Model provider "qwen" not registered' because the hosted provider list was a hand-kept set that predates Qwen. Derive it from the Veryfront Cloud catalog data (aliases, routing rows, chat model providers) and add qwen, which the gateway serves ahead of the shipped catalog snapshot, on the default OpenAI surface at the vendor-neutral /ai/v1 route.
|
You have reached your Codex usage limits for security reviews. Please try again later. |
There was a problem hiding this comment.
Your trial has ended. Reactivate Greptile to resume code reviews.
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. |
📦 Client bundle boundary
A server module in a client graph aborts hydration in the browser. New leaks fail CI; known leaks are tracked in |
|
Navigate logical layers of code changes, visualize relationships, and explore their blast radius. No actionable comments were generated in the recent review. 🎉 ℹ️ Recent review info⚙️ Run configurationConfiguration used: Repository UI Review profile: CHILL Plan: Advanced Run ID: 📒 Files selected for processing (4)
Included review availability: This review used your included allowance. Your plan provides up to 1 included review per hour; 0 remain after this review. 📝 WalkthroughWalkthroughThe runtime now derives hosted-routing eligibility from the Veryfront Cloud catalog and adds Qwen. Tests cover catalog-provider routing, Qwen routing conditions, and a Qwen request through the Veryfront Cloud provider. ChangesHosted model routing
Priority: ➖ Normal Estimated code review effort: 2 (Simple) | ~10 minutes Change: Bug fix Merge Risk: ⚪ Minimal · up to The routing change adds Qwen without changing eligibility for existing providers. No issue requiring a fix before merge was identified. Security Architecture ReviewSecurity architecture risk: 🔵 Low · up to This expands which hosted models can be reached without evidence that it changes who can authenticate or which credentials are used. Alternate routing configurations and upstream acceptance remain unverified. Retained concerns Security review detailsSecurity Blast Radius
Trust Boundaries and Controls
Hardening Proposals
🚥 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 |
Code review: 90/100 — solid, narrowly-scoped fix that correctly closes the qwen routing gapStrengths:
Minor concerns:
This is a clean, well-tested fix — nothing here blocks merge pending green CI. Generated by Claude Code |
Codecov Report✅ All modified and coverable lines are covered by tests. 📢 Thoughts on this report? Let us know! |
|



Hosted agent runs on
qwen/qwen3.8-27bfailed before inference withModel provider "qwen" not registered.resolveRuntimeModelonly rewrites<provider>/<model>toveryfront-cloud/...for providers inHOSTED_PROVIDER_NAMES, a hand-kept set that predates Qwen, soqwen/...fell through to direct resolution.Change
model-catalog.tsexportsVERYFRONT_CLOUD_CATALOG_PROVIDER_NAMES: every provider name the catalog data routes (alias keys, routing rows, chat model providers). It equals the previous hand-kept set.model-resolution.tsbuildsHOSTED_PROVIDER_NAMESfrom it, plusqwen, which the gateway serves ahead of the catalog snapshot shipped in this package. The entry notes it goes oncedeno task generate:model-catalogadds Qwen. Unlisted providers already route on the default OpenAI surface, so Qwen goes to the vendor-neutral/ai/v1route (the gateway refuses Qwen on the vendor-scoped route).The gateway catalog (
GET /ai/models) serves anthropic, openai, google, mistral, deepseek and qwen. Qwen was the only one missing. Deepseek was already routed.Tests
model-resolution.test.ts: every catalog provider routes through Veryfront Cloud with hosted bootstrap; every vendor the gateway catalog serves (includingqwen/qwen3.8-27b) resolves toveryfront-cloud/...; Qwen stays unrouted without bootstrap.provider.test.ts:agent({ model: "qwen/qwen3.8-27b" })with hosted bootstrap sends tohttps://api.veryfront.com/ai/v1/chat/completionswith body modelqwen/qwen3.8-27b. On the old code this fails with the exact staging error.Local:
deno fmt/lint/checkon the changed files, the affected test files,deno task lint:ci(includeslint:testing-front-doorandlint:test-semantic-dispositions) all pass.Part of veryfront/veryfront-issue-inbox#1859.
Closes veryfront/veryfront-issue-inbox#1913
Summary by CodeRabbit