# task-1925: 시스템3문서 자동화 기능 강제 실행 — 판정C 2건 + 판정B 핵심 4건

## 배경
전수 감사 결과, 12개 자동화 기능 중 실제 작동하는 건 2개뿐.
판정C(구조적 결함) 2건은 실행 명령 자체가 프롬프트에 없고,
판정B(무시됨) 7건은 강제 트리거가 없어서 팀장이 선택적으로 무시 중.
QC 강제 실행은 task-1924에서 별도 진행 중이므로 제외.

## ★★★ 수정 원칙 ★★★
팀장에게 "하세요"라고 텍스트로 말하는 것은 작동하지 않는다.
**스크립트 실행 명령 + 결과 검증 게이트**가 있어야 한다.

## 수정 항목

### [판정C-1] Codex 사전 검증 실행 명령 주입
- 파일: `prompts/team_prompts.py` (_build_verification_section 함수)
- 현재: gate 텍스트에 "Codex 사전 검증 PASS 필요"라고만 적혀있음
- 변경: Lv.3+ (critical/security)일 때, 구체적 실행 명령을 프롬프트에 삽입
  ```
  ## Codex 사전 검증 (Lv.3+ 필수)
  python3 {WORKSPACE_ROOT}/scripts/codex_gate_check.py --task-id {task_id} --task-file {WORKSPACE_ROOT}/memory/tasks/{task_id}.md
  결과가 FAIL이면 설계 수정 후 재실행. PASS 필요.
  ```
- gate_instructions.py의 `get_codex_gate_command()` 함수를 `_build_verification_section()`에서 호출하여 명령어를 프롬프트에 삽입
- ★ codex_gate_check.py가 실제 Codex CLI를 호출하는지 확인 필요. 없으면 마아트 폴백 사용.

### [판정C-2] Sanitize 게이트 실행 명령 주입
- 파일: `prompts/team_prompts.py` (_build_verification_section 함수)
- 현재: gate 텍스트에 "sanitize 게이트 필수"라고만 적혀있음
- 변경: Lv.3+일 때, 구체적 실행 방법을 프롬프트에 삽입
  ```
  ## ⚠️ Sanitize 게이트 (Lv.3+)
  외부 AI(Codex/Gemini) 호출 전 반드시 sanitize 검사를 수행하세요:
  - 대상: affected_files의 코드 + 설계 문서
  - 마스킹 항목: 주민등록번호, 연락처, API 키, 계좌번호, 보험 증권번호
  - 방법: `from utils.sanitize_gate import sanitize_text` 사용
  - PII가 마스킹된 코드만 외부 AI에 전달할 것
  ```
- 이 텍스트를 team_prompts.py의 verification section에 직접 포함

### [판정B-1] G3 독립 검증 강제 실행
- 파일: `prompts/DIRECT-WORKFLOW.md` (Step 5 부분)
- 현재: Lv.3+에서 "G3 독립 검증 필수"라고 gate 텍스트에만 있음
- 변경: DIRECT-WORKFLOW의 Step 5에 구체적 실행 명령을 추가
  ```
  5. G3 독립 검증 (★ .done 생성 전 필수):
     python3 {WORKSPACE_ROOT}/scripts/g3_independent_verifier.py --task-id {task_id}
     → PASS 필요. FAIL이면 .done 생성 금지.
  ```
- 이미 있는지 확인: DIRECT-WORKFLOW 279~286행에 이미 Step 5로 있음. 확인 후 누락 보완.

### [판정B-2] L1 스모크테스트 결과 기록 강제
- 파일: `prompts/team_prompts.py` (L1 스모크 섹션)
- 현재: "★ .done 전 L1 스모크테스트 필수"라고만 있음
- 변경: 보고서에 L1 스모크 결과를 반드시 기록하도록 강제
  ```
  ## ★ L1 스모크테스트 결과 (필수 기록)
  보고서에 아래 형식으로 L1 결과를 반드시 기록하세요:
  - 서버 재시작: [성공/실패/해당없음]
  - API 응답 확인: [curl 결과 또는 해당없음]
  - 스크린샷: [경로 또는 해당없음]
  이 섹션이 없는 보고서는 불완전 처리됩니다.
  ```

### [판정B-3] Micro-commit 검증
- 파일: `scripts/g3_independent_verifier.py` 또는 `teams/shared/qc_verify.py`
- 현재: Micro-commit은 프롬프트에 가이드만 있고 검증 없음
- 변경: 보고서에서 git log로 커밋 수를 확인. 수정 파일이 5개 이상인데 커밋이 1개면 WARN
- 이건 검증 난이도가 높으므로 WARN만 (FAIL은 아님)

### [판정B-4] 3 Step Why 기록 강제 (Lv.3+)
- 파일: `prompts/team_prompts.py` (3문서 활용 지침 섹션)
- 현재: "3 Step Why 자문을 수행하세요"라고만 있음
- 변경: context-notes.md에 3 Step Why 결과가 없으면 planned_check처럼 WARN 처리
- g3 또는 qc_verify에서 context-notes.md 파싱하여 "1st Why"/"2nd Why" 패턴 존재 여부 체크

## 검증 시나리오
1. critical 레벨로 dispatch 시 프롬프트에 Codex 실행 명령이 포함되는지 확인
2. critical 레벨로 dispatch 시 프롬프트에 Sanitize 구체적 방법이 포함되는지 확인
3. DIRECT-WORKFLOW에 G3 실행 명령이 Step 5에 명시되어 있는지 확인
4. L1 스모크 결과 미기록 시 QC에서 WARN 발생하는지 확인
5. `python3 -m pytest tests/ -q` → 0 failed

## 레벨
- critical (시스템 근본 결함 수정)
