fix(tui/codex): embedded-pane UX 3종 수정 — Enter 1회 실행·한국어 응답·멀티라인 approval#309
Merged
Conversation
codex가 박스 스타일(╭─╮/╰─╯)로 approval을 렌더할 때 verb와 y/n hint가 서로 다른 행에 나타나 단일-행 패턴 매칭이 실패하는 문제 수정. - isDecorativeLine 헬퍼 추가: 순수 박스-드로잉 문자 행 판별 - APPROVAL_STRICT_HINT_PATTERNS 추가: 멀티-행 false positive 방지용 좁은 y/n 패턴 - getInteractionState: 8-행 윈도우 스캔으로 교체 - 데코레이티브 행(╰──╯)은 스캔을 중단하지 않고 skip - 단일-행 매칭 fast path 유지 - verb/hint 누적 후 명시적 break 로직으로 approval 해소 감지 보장 - 테스트 3건 추가: 멀티-행 다이얼로그 감지, 해소 후 배너 소멸, 데코레이티브 전용 행 무시 Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
PR #308에서 embedded-pane을 compressed_prompt만 전달하도록 단순화할 때 responseLanguageInstruction이 빠져서, 한국어로 입력해도 codex가 항상 영어로 응답하는 회귀 발생. presentationMode === "embedded-pane" 분기에 언어 지시를 앞에 prepend하여 한국어 입력 → 한국어 응답 흐름 복원. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
embedded-pane + executionMode=real 에서 첫 Enter가 pending-approval 상태를 만들어 두 번째 Enter에서야 실행되던 2단계 확인 흐름 제거. shouldRequestApproval 분기와 pendingApprovalPrompt 세팅 로직을 삭제하고 executePrompt()를 직접 호출하도록 단순화. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
embedded-pane(
--embedded-cli-ui --execution-mode real) 모드에서 발생하는 세 가지 UX 문제를 수정합니다.Changes
1. Enter 한 번으로 즉시 실행 (
src/cli/tui/index.ts)embedded-pane + executionMode=real조합에서 첫 Enter가pending-approval상태를 만들어 두 번째 Enter에서야 실행되던 2단계 확인 흐름을 제거했습니다.shouldRequestApproval분기와pendingApprovalPrompt세팅 로직 삭제 (−15줄).2. 한국어 입력 시 한국어 응답 복원 (
src/core/pipeline/orchestrator.ts)PR #308에서 embedded-pane 프롬프트를
compressed_prompt(번역된 영어)만 전달하도록 단순화할 때responseLanguageInstruction("Respond entirely in Korean.")이 누락되어 항상 영어로 응답하는 회귀가 발생했습니다.3. 멀티-라인 approval 다이얼로그 감지 (
src/cli/tui/panels/embedded-terminal.ts)codex가 박스 UI(
╭─╮/╰─╯)로 approval을 렌더할 때 verb와[y/N]hint가 서로 다른 행에 있어 단일-행 패턴 매칭이 실패하는 버그 수정.isDecorativeLine()헬퍼 추가 — 순수 박스-드로잉 문자 행 판별APPROVAL_STRICT_HINT_PATTERNS추가 — 멀티-행 false positive 방지getInteractionState→ 8-행 스캔 윈도우 + break-on-non-approval 로직Test plan
npm run typecheck— cleannpx vitest run tests/ts/unit/cli/— 1166 tests passnpx vitest run tests/ts/unit/cli/tui/panels/embedded-terminal.test.ts— 46 tests pass--embedded-cli-ui --execution-mode real에서 한국어 프롬프트 입력 → Enter 1회 → 한국어 응답 확인Related PRs
🤖 Generated with Claude Code