Skip to content

feat(tui): stage model reasoning selection - #2093

Merged
RefinedStone merged 1 commit into
prereleasefrom
codex/model-selection-flow
Aug 6, 2026
Merged

feat(tui): stage model reasoning selection#2093
RefinedStone merged 1 commit into
prereleasefrom
codex/model-selection-flow

Conversation

@RefinedStone

Copy link
Copy Markdown
Owner

Summary

  • replace the two-column model/think overlay with a staged Model → Reasoning picker
  • add compact OpenAI provider context and GPT-5.6 Sol/Terra/Luna entries with per-model recommendations
  • expose max for GPT-5.6 end-to-end while preserving legacy effort compatibility

Validation

  • cargo fmt --all -- --check
  • cargo test --locked --lib model_selection -- --test-threads=1
  • cargo test --locked --lib inline_shell_commands -- --test-threads=1
  • cargo clippy --locked --all-targets --all-features -- -D warnings
  • TestBackend capture for both model and reasoning stages

Known baseline/environment gates

  • bash scripts/check_native_pr.sh stops in a macOS/BSD-tar Node fixture because --transform is unsupported.
  • Full cargo test --locked has the same unrelated admin baseline failure on prerelease: planningRevision is not numeric.

@RefinedStone
RefinedStone force-pushed the codex/model-selection-flow branch from 9d83ff2 to 8ae6189 Compare August 6, 2026 03:12
@RefinedStone
RefinedStone marked this pull request as ready for review August 6, 2026 03:20
@RefinedStone
RefinedStone merged commit 3da07f5 into prerelease Aug 6, 2026
8 checks passed
@RefinedStone
RefinedStone deleted the codex/model-selection-flow branch August 6, 2026 03:21

@chatgpt-codex-connector chatgpt-codex-connector Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit: 8ae6189072

ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".

Some("medium") => Some(Self::Medium),
Some("high") => Some(Self::High),
Some("xhigh") | Some("extra-high") | Some("x-high") => Some(Self::XHigh),
Some("max") => Some(Self::Max),

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

P1 Badge 모델별 지원 범위로 :think 값을 검증하세요

기본 모델은 여전히 GPT-5.5이고 새 카탈로그도 legacy 모델에서 max를 제외하지만, 여기서 max를 전역 지원값으로 파싱하면 handle_think_shell_command가 모델 확인 없이 그대로 저장합니다. 따라서 기본 설정에서 문서화된 :think max를 입력하거나 GPT-5.6에서 :think minimal을 입력하면 피커가 의도적으로 차단한 미지원 조합이 turn 요청으로 전송됩니다. 현재 모델의 supported_efforts에 포함된 값만 적용하도록 검증해야 합니다.

Useful? React with 👍 / 👎.

staged_model_index: usize,
}

const OPENAI_PROVIDER_LABEL: &str = "OpenAI";

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

P1 Badge 실제 app-server provider에서 선택 목록을 구성하세요

활성 thread가 OpenAI가 아닌 provider를 사용하는 경우에도 모든 행이 하드코딩된 OpenAI와 OpenAI 모델 ID를 표시하고 적용합니다. conversation.runtime_envelope.applied.model_provider에는 app-server가 관측한 실제 provider가 보존되지만 이 상태는 피커로 전달되지 않으므로, 사용자는 현재 provider에 존재하지 않는 모델을 선택해 다음 turn을 실패시킬 수 있습니다. 관측된 provider와 공식 app-server 카탈로그를 사용하거나, 이를 확인할 수 없을 때는 provider별 모델을 노출하지 않아야 합니다.

AGENTS.md reference: AGENTS.md:L34-L34

Useful? React with 👍 / 👎.

Comment on lines 140 to +145
ModelSelectionModelOption {
label: "default",
label: "App-server default",
model: None,
detail: "Use the app-server default model.",
provider_label: OPENAI_PROVIDER_LABEL,
detail: "",
supported_efforts: APP_SERVER_DEFAULT_REASONING_EFFORTS,

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

P2 Badge 열 번째 모델의 숫자 선택을 처리하세요

App-server default 행은 10.으로 렌더링되지만 handle_model_selection_overlay_key는 한 자리 19만 처리하고 0을 명시적으로 무시합니다. 사용자가 화면의 10.을 따라 1, 0을 누르면 첫 번째 1에서 즉시 GPT-5.6 Sol의 reasoning 단계로 이동하고 0은 무시되어 전혀 다른 모델을 선택하게 됩니다. 두 자리 shortcut을 지원하거나 이 행에 숫자 shortcut처럼 보이는 번호를 표시하지 않아야 합니다.

Useful? React with 👍 / 👎.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant