Pre-flight Checklist
📝 Bug Description
Gentle AI's model-assignment flow does not preserve the full capability metadata advertised by the installed runtimes.
Codex CLI exposes model-specific reasoning levels, speed tiers, and service tiers, but the Codex Custom picker cannot reliably present all valid choices. OpenCode may expose an OpenAI -fast variant while the canonical catalog contains only the base model, causing the variant to be missing from the picker or configuration path.
This is a capability propagation bug. fast is a speed/service selection, not a reasoning effort. Pi is out of scope because it owns its runtime model selector.
🔄 Steps to Reproduce
- Run
codex debug models using Codex CLI 0.146.0.
- Note that
gpt-5.6-sol and gpt-5.6-terra advertise ultra, fast, and service-tier metadata, while gpt-5.6-luna advertises max, fast, and service-tier metadata but not ultra.
- Open Gentle AI and navigate to Configure Models → Configure Codex models → Custom.
- Select the GPT-5.6 models and compare the available choices with the runtime metadata.
- Configure an OpenAI model through OpenCode and compare the canonical model ID with its available
-fast variant.
- Observe that model-specific capabilities, service tiers, or the
-fast variant are missing or not persisted separately.
✅ Expected Behavior
The Custom picker should:
- Use runtime-discovered selectable model IDs while retaining a curated fallback.
- Show reasoning choices per model.
- Show
max and ultra only when the runtime advertises them.
- Treat
fast as a separate speed/service selection, not as a reasoning effort.
- Persist the selected Codex
service_tier.
- Materialize an OpenCode
-fast alias only when an explicit same-provider canonical model exists.
- Preserve existing configuration behavior when no service tier is selected.
❌ Actual Behavior
The picker and configuration flow use incomplete or static capability information.
Model-specific reasoning levels such as max and ultra are not reliably exposed according to the installed runtime metadata. The fast capability is not represented as a separate speed/service selection, and an OpenCode -fast variant may be unavailable when only the canonical model exists.
As a result, users cannot select or persist the complete set of capabilities advertised by Codex CLI and OpenCode.
🖥️ Environment
- Gentle AI:
gga v2.10.1; installed gentle-ai binary reports 2.2.4
- Operating System: CachyOS Linux, x86_64, kernel 7.1.5-1-cachyos
- AI Agent / Client: Codex CLI 0.146.0 + OpenCode 1.18.8
- Affected Area: TUI (terminal UI)
💡 Logs / Error Output
Sanitized runtime capability evidence:
codex-cli 0.146.0
OpenCode 1.18.8
gpt-5.6-sol:
multi_agent_version: v2
reasoning: low, medium, high, xhigh, max, ultra
additional_speed_tiers: ["fast"]
service_tiers: ["priority"]
gpt-5.6-terra:
multi_agent_version: v2
reasoning: low, medium, high, xhigh, max, ultra
additional_speed_tiers: ["fast"]
service_tiers: ["priority"]
gpt-5.6-luna:
multi_agent_version: v1
reasoning: low, medium, high, xhigh, max
additional_speed_tiers: ["fast"]
service_tiers: ["priority"]
Additional Context
Related work:
- #1087 covers runtime Codex model-ID discovery.
- #2080 covers Codex model discovery, visibility, and API support.
- #2134 covers asynchronous Codex discovery in the TUI.
- #1648 and #1695 cover OpenCode provider-ID fallback for variants.
- #1066 and #1067 introduced the GPT-5.6 defaults but explicitly deferred
max/ultra.
A local candidate was implemented with bounded runtime discovery, model-specific effort choices, separate speed/service-tier persistence, safe same-provider OpenCode fast aliases, and asynchronous TUI discovery.
Focused tests, go vet, gofmt, git diff --check, and go build ./cmd/gentle-ai pass. The full repository suite has one unrelated environment-sensitive failure in internal/cli:TestEngramPathGuidanceDefault, which expects a go/bin path fragment while the active Go installation uses a mise-managed path.
No PR will be opened until this issue receives status:approved.
Pre-flight Checklist
status:approved.📝 Bug Description
Gentle AI's model-assignment flow does not preserve the full capability metadata advertised by the installed runtimes.
Codex CLI exposes model-specific reasoning levels, speed tiers, and service tiers, but the Codex Custom picker cannot reliably present all valid choices. OpenCode may expose an OpenAI
-fastvariant while the canonical catalog contains only the base model, causing the variant to be missing from the picker or configuration path.This is a capability propagation bug.
fastis a speed/service selection, not a reasoning effort. Pi is out of scope because it owns its runtime model selector.🔄 Steps to Reproduce
codex debug modelsusing Codex CLI 0.146.0.gpt-5.6-solandgpt-5.6-terraadvertiseultra,fast, and service-tier metadata, whilegpt-5.6-lunaadvertisesmax,fast, and service-tier metadata but notultra.-fastvariant.-fastvariant are missing or not persisted separately.✅ Expected Behavior
The Custom picker should:
maxandultraonly when the runtime advertises them.fastas a separate speed/service selection, not as a reasoning effort.service_tier.-fastalias only when an explicit same-provider canonical model exists.❌ Actual Behavior
The picker and configuration flow use incomplete or static capability information.
Model-specific reasoning levels such as
maxandultraare not reliably exposed according to the installed runtime metadata. Thefastcapability is not represented as a separate speed/service selection, and an OpenCode-fastvariant may be unavailable when only the canonical model exists.As a result, users cannot select or persist the complete set of capabilities advertised by Codex CLI and OpenCode.
🖥️ Environment
gga v2.10.1; installedgentle-aibinary reports2.2.4💡 Logs / Error Output
Sanitized runtime capability evidence:
Additional Context
Related work:
max/ultra.A local candidate was implemented with bounded runtime discovery, model-specific effort choices, separate speed/service-tier persistence, safe same-provider OpenCode fast aliases, and asynchronous TUI discovery.
Focused tests,
go vet,gofmt,git diff --check, andgo build ./cmd/gentle-aipass. The full repository suite has one unrelated environment-sensitive failure ininternal/cli:TestEngramPathGuidanceDefault, which expects ago/binpath fragment while the active Go installation uses a mise-managed path.No PR will be opened until this issue receives
status:approved.