# task-1874 방지책 Tier 3: G3 독립 검증 에이전트 설계 + 구현

## 배경
Tier 1 (Edit grep 검증 + planned/verified) 완료. Tier 2 (Large-File + 심볼검증 + File-Touch) 진행 중.
Tier 3: 완료 보고 전 독립 에이전트가 자동 교차검증하는 G3 게이트 구현.

## 목적
팀장이 작업 완료 보고(.done 생성) 전에, 독립 검증 에이전트가 자동으로:
1. 보고서에 명시된 핵심 변경사항이 실제 코드에 존재하는지 확인
2. 테스트가 실제로 PASS인지 독립 실행
3. 심볼 존재 + File-Touch Ratio 검증
4. FAIL 시 .done 생성 차단

## 구현

### 1. 독립 검증 스크립트
파일: `/home/jay/workspace/scripts/g3_independent_verifier.py`

동작:
1. 보고서 파일(memory/reports/{task_id}.md) 파싱
2. 수정 파일 목록 추출
3. 각 파일에서 보고서 핵심 키워드 grep 검증
4. pytest 독립 실행 (해당 task의 테스트 파일)
5. qc_verify.py의 symbol_existence_check + file_touch_ratio_check 실행
6. 결과 종합 → PASS/FAIL 판정
7. FAIL 시 차단 사유를 `memory/events/{task_id}.g3-fail` 파일에 기록

### 2. DIRECT-WORKFLOW에 G3 게이트 추가
.done 생성 직전 단계에:
```
### G3 독립 검증 (Lv.3+ 작업)
.done 생성 전 독립 검증 스크립트를 실행하세요:
python3 /home/jay/workspace/scripts/g3_independent_verifier.py --task-id {task_id}
결과가 FAIL이면 .done 생성 금지. 차단 사유를 확인하고 수정 후 재실행.
```

### 3. team_prompts.py에 G3 게이트 지시 (Lv.3+)
프롬프트에 G3 독립 검증 실행 의무 추가

### 4. 테스트
`tests/test_g3_verifier.py`:
- 정상 보고서 + 정상 코드 → PASS
- 보고서에 있지만 코드에 없는 심볼 → FAIL
- pytest 실패 → FAIL
- Lv.2 작업 → SKIP

## 영향 파일
- `/home/jay/workspace/scripts/g3_independent_verifier.py` — 신규
- `/home/jay/workspace/prompts/DIRECT-WORKFLOW.md` — 수정
- `/home/jay/workspace/prompts/team_prompts.py` — 수정
- `/home/jay/workspace/tests/test_g3_verifier.py` — 신규

## 검증 시나리오
1. 실제 완료 task(task-1881)에 대해 g3_verifier 실행 → PASS 확인
2. 가짜 보고서(존재하지 않는 심볼)에 대해 실행 → FAIL 확인
3. 기존 pytest 회귀 없음
4. 시스템3문서 checklist Tier 3-A 체크

## 주의
- g3_verifier는 독립 실행 가능해야 함 (다른 팀의 코드에 의존하지 않음)
- 실행 시간 30초 이내 (타임아웃)
- FAIL 시 명확한 차단 사유 메시지 (팀장이 바로 수정할 수 있도록)
- 수정 후 즉시 커밋