feat(tui): stage model reasoning selection - #2093
Conversation
9d83ff2 to
8ae6189
Compare
There was a problem hiding this comment.
💡 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), |
There was a problem hiding this comment.
기본 모델은 여전히 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"; |
There was a problem hiding this comment.
실제 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 👍 / 👎.
| 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, |
There was a problem hiding this comment.
새 App-server default 행은 10.으로 렌더링되지만 handle_model_selection_overlay_key는 한 자리 1–9만 처리하고 0을 명시적으로 무시합니다. 사용자가 화면의 10.을 따라 1, 0을 누르면 첫 번째 1에서 즉시 GPT-5.6 Sol의 reasoning 단계로 이동하고 0은 무시되어 전혀 다른 모델을 선택하게 됩니다. 두 자리 shortcut을 지원하거나 이 행에 숫자 shortcut처럼 보이는 번호를 표시하지 않아야 합니다.
Useful? React with 👍 / 👎.
Summary
maxfor GPT-5.6 end-to-end while preserving legacy effort compatibilityValidation
cargo fmt --all -- --checkcargo test --locked --lib model_selection -- --test-threads=1cargo test --locked --lib inline_shell_commands -- --test-threads=1cargo clippy --locked --all-targets --all-features -- -D warningsKnown baseline/environment gates
bash scripts/check_native_pr.shstops in a macOS/BSD-tar Node fixture because--transformis unsupported.cargo test --lockedhas the same unrelated admin baseline failure onprerelease:planningRevisionis not numeric.