# 맥락노트 — 검증 시나리오 시스템

## 결정 근거

### 왜 LLM 자율 발산을 배제했는가?
- 로키(DA): "LLM이 만든 코드를 LLM이 검증 = 자기참조. 독립 검증 아님"
- Gemini: "LLM 시나리오 발산은 환각 위험. targeted 3개가 발산 50개보다 효과적"
- 타협안: LLM 초안 + 사람 승인 (Phase 3에서 도입)

### 왜 정적 영향 분석(AST)을 선택했는가?
- Gemini: "변경 영향 분석이 시나리오 발산보다 우월. 의존성 그래프 + 기존 테스트 재검증"
- 토르: "grep으로 변수 전파 경로 추적하면 끊김 지점 = 버그"
- 비용: LLM 호출 0회, AST + grep만으로 30초 내 완료

### 왜 기존 pytest를 먼저 활용하는가?
- 로키(DA): "기존 363개 테스트를 변경 파일 기준 필터링하는 것이 80% 커버. 새 시스템 3개 동시 도입이 리스크"
- qc_verify.py의 test_runner가 --check-files 기반 추론 이미 지원

### 기각된 대안
1. **Meticulous AI / Codium AI 도입** — 기록 기반 리플레이 도구, 시나리오 생성이 아님 (ChatGPT)
2. **변이 테스트(mutation testing)** — 효과적이나 실행 시간 과다 (아르고스, 후속 검토)
3. **CSS 린트 규칙** — overflow+relative 조합 경고 (프레이야, Phase 2에서 고려)
4. **subprocess 제거, Python 직접 호출** — 아키텍처 변경 과다 (토르, 별도 프로젝트)

## 주의사항
- [OPEN] Playwright storageState 갱신 주기 (Firebase ID Token 1시간 만료)
- [OPEN] scenarios/ 디렉토리 초기 시드 데이터 범위
- [RESOLVED] 빈 시나리오 허용 금지 → 0건 = FAIL 정책 확정
- [RESOLVED] 시간 예산 5분 Hard limit 확정
