Files
OmniRoute/changelog.d/features/effort-tiers-loop-learned-sets.md
Dizzle 00c80fd14a feat(models): surface learned reasoning_effort sets in catalog, variants, and dispatch (#11252)
Validated on the combined 12-PR batch board + the resolved merge against the post-#11232 tip: focused suites 73/73 (learned-reasoning-effort-caps, synced-capabilities-learned-effort-override, synced-effort-suffix-learned-validation, effort-tiers-loop-catalog-e2e, reasoning-effort-clamp-and-retry, reasoning-effort-learned-capability) + opencode-plugin effort-tier-variants 4/4, typecheck:core clean, gates within baseline. The stacked-branch conflict after #11232 squash-landed was resolved by hand (the learned-caps module keeps both the Set API and the new model-scoped lookup). The effort_tiers loop is closed end-to-end: catalog advertises exactly what the upstream accepts, and -<tier> suffix variants resolve against the learned set. Thank you @maxmad64bis!
2026-08-23 14:38:57 -03:00

638 B

  • feat(catalog): surface runtime-learned reasoning_effort tiers in /v1/models capabilities.effort_tiers (learned set replaces synced metadata when present), map them to OpenCode ModelV2.variants in the OmniRoute plugin, and align dispatch -<tier> suffix validation to the effective (learned ?? synced) set — so the UI offers exactly the tiers the upstream accepts (e.g. {low, high, max} for oc/x-preview-f-free) and each advertised variant completes. Excludes codex/glm/kimi, which keep their own dedicated -{effort} suffix mechanism and never gain effort_tiers from this path (related to #7694, builds on #11232)