---
task_id: task-2076
type: plan
scope: task
created: 2026-04-22
updated: 2026-04-22
status: completed
---

# 계획서: task-2076

**task**: task-2076
**목표**: Codex 게이트가 실제 AI 리뷰를 시도하고, 실패 시 명확한 사유와 함께 폴백하도록 보장
**승인**: 이참나(dev7 팀장) 2026-04-22 "진단 완료 후 구현 진행"
**근거**: task-2076.md 진단 결과 — API 키 무효 + env 전달 누락 + 폴백 사유 미기록

---

## 목표

1. codex_gate_check.py가 OPENAI_API_KEY 없으면 즉시 폴백 (불필요한 companion 호출 방지)
2. subprocess.run에 env 명시적 전달 (봇 세션에서도 환경변수 보장)
3. 결과에 fallback_reason 필드 추가 (폴백 사유 추적 가능)
4. .env.keys 자동 로드 강화 (env_loader 없어도 직접 파싱)

## 범위

### 포함
- scripts/codex_gate_check.py 수정
- 관련 테스트 추가 (TDD)

### 제외 (다음 페이즈 이후)
- OPENAI_API_KEY 갱신 (인프라/운영 이슈)
- codex-companion.mjs 자체 수정

## 위임 계획

- 테스트 선행 작성: **카마소츠(테스터)** — TDD RED
- 구현: **쿠쿨칸(백엔드)** — TDD GREEN

## 검증 기준

- 테스트 54개 PASS: `pytest scripts/tests/test_codex_gate_check.py tests/integration/test_codex_gate.py`
- API 키 미설정 시: `source=maat_fallback, fallback_reason=OPENAI_API_KEY 환경변수 미설정`
- companion 실패 시: `fallback_reason`에 구체적 사유 포함
