---
task_id: task-1941
type: plan
scope: task
created: 2026-04-18
updated: 2026-04-18
status: completed
---

# 계획서: task-1941

**task**: task-1941
**목표**: codex_gate_check.py를 Codex CC 플러그인(codex-companion.mjs) 연동으로 전환
**승인**: 헤르메스 2026-04-18 "3단계 캐스케이드 + 마아트 폴백 강화"
**근거**: task 파일 분석 + codex exec/companion 실환경 테스트

---

## 목표

codex_gate_check.py가 raw `codex exec` 직접 호출 대신 codex-companion.mjs�� 1차 호출하고, codex exec를 2차 폴백으로 사용하며, 마아트 폴백을 강화하여 실질적 검증 수행.

## 범위

### 포함
- codex-companion.mjs task 호출 함수 추가
- codex exec 올바른 옵션 추가 (--skip-git-repo-check, -C, --json, stdin 전달)
- 3단계 캐스케이드 (companion → exec → maat)
- 마아트 폴백 강화 (변경 범위 경고, AST 의존성 분석, 보안 키워드 감지)
- __main__ 블록 --task-id 인자 추가
- stdin으로 prompt 전달 (Argument list too long 방지)
- 테스트 업데이트 + 신규 테스트 6건

### 제외 (다음 페이즈 이후)
- Codex API 계정 문제 해결 (ChatGPT → API 키 전환)
- AST 스크립트 타임아웃 최적화

## 위임 계획

- 코드 수정: **불칸(백엔드)** — Sonnet
- 테스트: **아르고스(테스터)** — Sonnet
- stdin 버그 수정 + 통합: **헤르메스(팀장)** — Opus (Sonnet 3회 실패 아닌 L1 스모크테스트 발견 버그)

## 검증 기준

- 테스트 48건 PASS: `python3 -m pytest scripts/tests/test_codex_gate_check.py tests/integration/test_codex_gate.py -q` → 48 passed
- L1 스모크테스트: `python3 scripts/codex_gate_check.py --task-id task-1941` → 3단계 캐스케이드 동작 + maat_fallback 정상 반환
