fix: restore baseline reasoning-effort variants - #38
Conversation
|
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: defaults Review profile: CHILL Plan: Advanced Run ID: 📒 Files selected for processing (7)
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 change adds a reasoning-effort resolver for LiteLLM metadata. Model discovery uses it to determine available effort variants, including explicit lists, supported-parameter checks, inferred levels, and GPT Pro restrictions. Tests and documentation cover the updated behavior. ChangesReasoning Effort Discovery
Priority: ➖ Normal Estimated code review effort: 3 (Moderate) | ~20 minutes Change: Bug fix Suggested reviewers: Merge Risk: ⚪ Minimal · up to The change restores reasoning-effort variants while respecting metadata restrictions. No actionable merge-blocking issue was identified; merge after normal checks pass. Security Architecture ReviewSecurity architecture risk: 🔵 Low · up to The change affects discovered effort options without expanding credential or permission authority. Remaining uncertainty concerns how externally supplied option values are handled downstream. Retained concerns Security review detailsSecurity Blast Radius
Trust Boundaries and Controls
Resilience and Maintainability Implications
🚥 Pre-merge checks | ✅ 4 | ❌ 1❌ Failed checks (1 warning)
✅ Passed checks (4 passed)
Full details: Docstring CoverageExplanation Docstring coverage is 66.67% which is insufficient. The required threshold is 80.00%. Docstring coverage is scoped to functions touched by this diff. Analyzed 3 functions across 5 files. (2 skipped: 2 unsupported.)
✨ Finishing Touches🧪 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 |
## [1.4.2](v1.4.1...v1.4.2) (2026-09-30) ### Bug Fixes * restore baseline reasoning-effort variants ([#38](#38)) ([1d8706e](1d8706e))
Summary
Restore baseline reasoning-effort variants when LiteLLM exposes sparse per-level metadata. With plugin 1.4.1 and OpenCode 2.0.20, GPT-6 Astra currently offers only
maxandxhigh: discovery requires each level's flag to be explicitlytrue, but LiteLLM does not expose standardmedium/highflags and treatslowas opt-out.The shared discovery path now includes
low,medium, andhighunless disabled when per-level flags are present, yieldinglow,medium,high,xhigh, andmaxfor Astra. Both OpenCode entrypoints consume this metadata.Deliberate choices:
reasoning_effort_levels/supports_reasoning_effortslists are authoritative, including empty lists, so restricted models do not gain unsupported baseline levels.model_infovalues win overlitellm_params; missing/null values fall back to params, while explicitfalseis preserved.supports_reasoning: truealone does not justify inventing effort variants. Optionalnone/minimalremain opt-in rather than duplicating LiteLLM's provider-specific opt-out rules.supports_reasoning: falsedisables inferred variants.Reference: LiteLLM's capability resolver documents the sparse flags and baseline semantics.
Type of change
Checklist
npm run typecheckpassesCHANGELOG.mdupdated under## [Unreleased]How was this tested?
npm run typechecknpm test: 7 files, 87 tests passed.git diff --checkreasoningEffortsettings.The Astra fixture reproduces reasoning metadata observed from a live LiteLLM
/v1/model/inforesponse. No generation requests were made to validate the newly selectable levels; this change addresses metadata discovery. Gateway version was not collected.Screenshots / logs (optional)
Minimal relevant metadata:
{ "key": "bedrock_mantle/openai.gpt-6-astra", "supports_reasoning": true, "supports_max_reasoning_effort": true, "supports_xhigh_reasoning_effort": true, "supports_none_reasoning_effort": false, "supports_minimal_reasoning_effort": false, "supports_low_reasoning_effort": null, "reasoning_effort_levels": null }Summary by CodeRabbit