# 아누 가이드 시스템 구축: Phase 2 — QC 자동 트리거

## 참조 문서
- 아누 가이드: /home/jay/workspace/memory/specs/anu-guide.md (Section 3 참조)
- 체크리스트: /home/jay/workspace/memory/plans/anu-guide-system/checklist.md
- Agent 미팅 기록: /home/jay/workspace/memory/meetings/2026-03-02-anu-guide-gap-analysis.md

## 핵심 결정사항 (미팅 합의)
- 마아트 독립 봇 불필요. 팀장이 Task tool 서브에이전트로 QC 실행하면 충분.
- QC 트리거는 즉시 실행 금지. 지연 실행 + 쿨다운 필수 (야누스 경고).
- 위험도별 분기: normal/critical/security 3단계 (아누 가이드 3.1).

## 구현 항목

### A. team_prompts.py에 QC 셀프검증 단계 강화
파일: /home/jay/workspace/prompts/team_prompts.py
현재 critical 레벨에만 마아트 검증 지시가 있음.
변경: 모든 레벨에서 작업 완료 전 셀프 QC 단계를 포함하도록 수정.

QC 수준 차등:
- normal: 팀장 셀프체크 (기본 5항목 확인 후 보고서 작성)
- critical: 팀장 셀프체크 + Task tool로 마아트 역할 서브에이전트 소집하여 독립 재검증
- security: critical과 동일 + 로키 역할 서브에이전트 추가 소집하여 보안 감사

셀프체크 5항목 (아누 가이드 3.4 System 2 Forcing):
1. 이 변경이 다른 파일에 영향을 미치는가?
2. 이 로직의 엣지 케이스는 무엇인가?
3. 이 구현이 작업 지시와 정확히 일치하는가?
4. 에러 처리와 보안은 확인했는가?
5. 테스트가 모든 경로를 커버하는가?

### B. QC 보고서 표준 양식
파일: /home/jay/workspace/memory/specs/qc-report-template.md

표준 섹션:
- A. 검증 범위 (어떤 파일, 어떤 기능)
- B. 테스트 실행 결과 (명령어 + 결과)
- C. 발견된 문제 (심각도 분류)
- D. 검토한 대안과 기각 사유 (아누 가이드 4.2)
- E. 최종 판정 (PASS/FAIL + 사유)

### C. Stop hook으로 QC 리마인더
파일: /home/jay/.claude/settings.json에 Stop hook 추가
파일: /home/jay/.claude/hooks/stop-qc-reminder.sh

기능: 개발팀 봇(dev1/dev2/dev3)이 작업을 마칠 때 자동으로 QC 리마인더 출력.
stdout으로 다음 메시지를 주입: '작업 완료 전 QC 셀프체크 5항목을 확인했는지 점검하세요.'

구현:
1. stdin JSON에서 stop_hook_active 확인 → true면 exit 0 (무한루프 방지!)
2. detect-bot.sh로 봇 식별
3. anu 봇이면 아무것도 안 함 (exit 0)
4. dev 봇이면 QC 리마인더 stdout 출력
5. exit 0

settings.json 추가:
Stop 이벤트 훅 추가 (기존 UserPromptSubmit, PostToolUse 유지):
{
  "Stop": [
    {
      "matcher": "",
      "hooks": [
        {
          "type": "command",
          "command": "bash /home/jay/.claude/hooks/stop-qc-reminder.sh"
        }
      ]
    }
  ]
}

### D. 테스트
1. team_prompts.py 변경 후 각 레벨별 프롬프트 생성 테스트
2. stop-qc-reminder.sh echo 테스트 (dev1 cwd → 리마인더 출력, anu cwd → 무출력)
3. stop_hook_active=true 시 exit 0 확인 (무한루프 방지)
4. QC 보고서 템플릿 형식 확인

## 보고서
/home/jay/workspace/memory/reports/ 에 저장.