# codex_gate_check 테스트 workspace_root 잠재적 취약점 분석 + 개선

## 배경
task-1899에서 TestGetCallersContext::test_returns_context_on_success의 AST 경로 문제를 수정.
하지만 TestCallersContext::test_callers_context_included_in_prompt도 동일 패턴(workspace_root=str(tmp_path))을 사용.
현재는 통과하지만 잠재적 취약점으로 식별됨.

## 작업 내용

### 1. 취약점 분석
- test_codex_gate_check.py에서 workspace_root=str(tmp_path) 패턴을 사용하는 모든 테스트 식별
- 각 테스트가 AST 스크립트 경로를 어떻게 해결하는지 분석
- 테스트 환경에서 AST 스크립트가 존재하지 않을 때의 동작 확인
- 실패 시나리오: tmp_path에 scripts/ast_dependency_map.py가 없으면?

### 2. 개선 방안 설계
가능한 방안 비교:
A) codex_gate_check.py에 AST_SCRIPT_PATH 환경변수/설정 주입 가능하게 리팩토링
B) 테스트에서 tmp_path/scripts/ast_dependency_map.py를 항상 mock/stub으로 생성
C) _get_callers_context()에 ast_script_path 파라미터 추가 (DI 패턴)
D) conftest.py에 공통 fixture로 AST 경로 설정

### 3. 구현
선택한 방안 구현 + 관련 테스트 전체 수정

### 4. 회귀 테스트
- test_codex_gate_check.py 전체 PASS
- 기존 AST 테스트 47건 회귀 없음
- codex_gate_check.py 본체 동작 회귀 없음

## 영향 파일
- `/home/jay/workspace/scripts/codex_gate_check.py` — 수정 가능
- `/home/jay/workspace/tests/test_codex_gate_check.py` — 수정

## 검증 시나리오
1. workspace_root 패턴 사용 테스트 전부 PASS
2. AST 스크립트 경로가 잘못될 때 graceful fallback 확인
3. 기존 테스트 회귀 없음
