Rebuilt clean on release/v3.8.49 (branch forked from an old main and carried
~68 files of base drift). Reconciled with #7237 on the tip: supportsVision
keeps the authoritative getResolvedModelCapabilities() resolution (the PR's
isVisionModelId heuristic predates that fix); the PR's real change lands —
OAuth 'claude' now counts as a direct Anthropic transport for OmniGlyph, and
claude-fable-5 joins the vision model ids. Plumbing test now pins the
'|| provider === "claude"' invariant instead of exact formatting.
Co-authored-by: quanturbo <168349709+quanturbo@users.noreply.github.com>
Co-authored-by: diegosouzapw <8016841+diegosouzapw@users.noreply.github.com>
OmniRoute v3.8.29 — 115 commits since v3.8.28. Full CHANGELOG + 41 i18n mirrors. All content quality gates green (build, unit 8/8, vitest 188/188, PR test policy, quality gates extended, docs sync, quality ratchet). Remaining red CI checks are pre-existing release flakes (coverage-shard/integration/node-compat teardown), a new transitive undici advisory in electron devDeps, and a workflow-level CodeQL fail (0 open alerts). VPS-validated by the operator.