# 체크리스트 — 검증 시나리오 시스템

## Phase 1 — Smart Test Filtering + 시나리오 게이트

### impact_analyzer.py (dev1)
- [ ] Python ast 모듈로 변경 파일의 import 의존성 추출
- [ ] grep 기반 함수/변수 전파 경로 추적
- [ ] 출력: impact.json (affected_files, affected_functions, affected_endpoints)
- [ ] 변경 파일 0개 시 graceful 처리 (SKIP)
- [ ] 실행 시간 30초 이내

### scenario_runner.py (dev2)
- [ ] YAML 스키마 정의 (id, category, target, type, steps, expected, priority, automatable)
- [ ] type별 러너: curl, pytest, subprocess
- [ ] impact.json의 target과 시나리오 target 매칭 필터링
- [ ] pytest parametrize로 YAML 주입
- [ ] 병렬 실행 (ThreadPoolExecutor, max_workers=5)
- [ ] 결과 출력: result.json (passed, failed, skipped, duration)
- [ ] must 시나리오 FAIL → GATE FAIL
- [ ] should 시나리오 FAIL → WARN
- [ ] 실행 시간 4분 이내

### qc_verify.py 통합 (dev2)
- [ ] CHECK_ORDER에 "scenario_gate" 추가
- [ ] run_check()에 scenario_gate 분기 추가
- [ ] --scenarios-dir 파라미터 추가
- [ ] 시나리오 0건 = FAIL (빈 시나리오 차단)

### 초기 시나리오 시드
- [ ] insuwiki/refine.yaml (5개: 월 필터, 취소→재개, progress 업데이트 등)
- [ ] dashboard/insuwiki-tab.yaml (5개: polling, 프로세스 모니터, 통계 등)

## Phase 2 — Playwright E2E

- [ ] storageState 기반 Firebase Auth 세션 저장/갱신
- [ ] globalSetup에서 로그인 → auth.json 생성
- [ ] P0 시나리오 YAML (type: playwright)
- [ ] boundingBox 뷰포트 내 검증
- [ ] overflow 조상 검사
- [ ] Lv.3+ 전용 게이트 조건 분기

## Phase 3 — 운영 안정화

- [ ] LLM 시나리오 초안 생성 프롬프트 설계
- [ ] 아누 승인 워크플로우 (Telegram 승인 요청)
- [ ] 시나리오 축적 목표: 프로젝트당 20~30개
- [ ] 실행 시간 최적화 (캐싱, 병렬화)
