# task-614.1: 코덱스 모델 분기 기능 구현

## 배경
에이전트 미팅 합의 결과(memory/meetings/2026-03-16-codex-model-branching.md):
- 기본값: gpt-5.1-codex-mini (비용 절감)
- `--deep` 플래그 시: gpt-5.2-codex (깊은 추론)
- 모델명 사용자 비노출, "deep" 개념만 전달

## 구현 범위

### 1. engine.py — call_codex에 model 파라미터 추가
- `call_codex(prompt, timeout=600)` → `call_codex(prompt, model="gpt-5.1-codex-mini", timeout=600)`
- cmd 생성 시 하드코딩된 `model="gpt-5.2-codex"` → `model="{model}"` (f-string)
- 기본값은 `gpt-5.1-codex-mini`

### 2. discussion_manager.py — deep_analysis_mode 상태 추가
- `DiscussionState` dataclass에 `codex_model: str = "gpt-5.1-codex-mini"` 필드 추가
- `on_user_message()` 에서 `--deep` 감지:
  - 메시지에 `--deep` 포함 시 `state.codex_model = "gpt-5.2-codex"`
  - `--deep` 플래그는 메시지에서 제거 후 나머지를 토론 주제로 사용
- `get_codex_model(chat_id) -> str` 메서드 추가
- 기존 `code_analysis_mode` 패턴 참고

### 3. main_bot.py — trigger_next_bot_response에서 모델 전달
- `next_bot_username == "codex_view_bot"` 일 때 `dm.get_codex_model(chat_id)` 로 모델 조회
- `call_codex(context_prompt, model=codex_model)` 로 호출
- 기존 `code_analysis_mode` 조건 분기 패턴 참고

### 4. codex_bot.py — handle_message에서도 모델 전달
- `dm`이 있으면 `dm.get_codex_model(chat_id)` 조회
- `call_codex(context_prompt, model=codex_model)` 호출

### 5. UX — 사용자 피드백
- 토론 시작 시 deep 모드이면 토론 시작 메시지에 "🔬 심층 분석 모드" 표시
- 일반 모드이면 별도 표시 없음 (기본이므로)

## 제약 조건
- 모델명(gpt-5.2-codex 등)을 사용자에게 직접 노출하지 않을 것
- `--deep` 플래그만 사용자가 인지하면 됨
- 기존 테스트 깨지지 않을 것

## 테스트 요구사항
- engine.py: call_codex model 파라미터 기본값/오버라이드 테스트
- discussion_manager.py: --deep 파싱, codex_model 상태, get_codex_model 테스트
- main_bot.py: deep 모드 시 call_codex에 올바른 model 전달 확인

## 참고 파일
- 미팅 기록: `/home/jay/workspace/memory/meetings/2026-03-16-codex-model-branching.md`
- 기존 코드 분석 모드 패턴: `code_analysis_mode` 관련 코드 (discussion_manager.py, main_bot.py)
