# task-1924: QC 강제 실행 파이프라인 수정 — 팀장 봇 QC 우회 차단

## 배경
심층 분석 결과, 시스템3문서의 QC 기능이 팀장 봇에서 실제로 작동하지 않는 3가지 구조적 결함 발견.
최근 10건 task 중 6건에서 QC가 미실행 또는 부분 실행.

## ★★★ 이 작업은 QC 파이프라인의 근본 결함 수정입니다. 신중하게 작업하세요 ★★★

## 수정 항목

### 1. team_short placeholder 추가 (team_prompts.py)
- 파일: `prompts/team_prompts.py`
- 현재 placeholder_lines (775~781행):
  ```python
  placeholder_lines = (
      f"- task_id: {task_id}\n"
      f"- team_id: {team_id}\n"
      f"- WORKSPACE_ROOT: {WORKSPACE_ROOT}\n"
      f"- CHAT_ID: {CHAT_ID}\n"
      f"- ANU_KEY: {_get_anu_key()}\n"
  )
  ```
- 변경: `team_short` 추가. team_id에서 추출 (예: "dev1-team" → "dev1")
  ```python
  team_short = team_id.replace("-team", "")
  placeholder_lines = (
      f"- task_id: {task_id}\n"
      f"- team_id: {team_id}\n"
      f"- team_short: {team_short}\n"
      f"- WORKSPACE_ROOT: {WORKSPACE_ROOT}\n"
      f"- CHAT_ID: {CHAT_ID}\n"
      f"- ANU_KEY: {_get_anu_key()}\n"
  )
  ```
- ★ 다른 placeholder_lines 블록도 전수 확인 (362, 400, 434, 468, 506, 836, 897행)
- 논리적 팀(marketing, design 등)은 team_short = team_id 그대로 사용

### 2. 하위호환 수동 .done 경로 제거 (DIRECT-WORKFLOW.md)
- 파일: `prompts/DIRECT-WORKFLOW.md`
- 295~298행의 "하위호환" 수동 .done 생성 코드 제거
- 현재:
  ```
  - `--gate` 미사용 시 (하위호환): 기존 방식대로 수동 .done 생성
  ```
- 변경: 이 섹션 삭제. `--gate` 사용을 필수로 강제
- 대신 명시적 경고 추가: "★ qc_verify.py --gate 없이 수동 .done 생성 절대 금지"

### 3. finish-task.sh에 QC 실행 여부 검증 추가
- 파일: `scripts/finish-task.sh`
- .done 파일 생성 전에 QC 실행 흔적 확인:
  - `memory/events/{task_id}.qc-result` 파일 존재 여부 체크 (qc_verify.py --gate가 생성)
  - 없으면 "⚠️ QC 미실행 상태에서 .done 생성 시도" 경고 + .done 생성 차단
  - qc_verify.py --gate가 이미 .done을 생성한 경우에만 finish-task.sh가 나머지(timer end, notify) 수행
- ★ qc_verify.py --gate 모드에서 .qc-result 파일도 함께 생성하도록 수정 필요
  - 파일: `teams/shared/qc_verify.py` (--gate 모드 .done 생성 부분)
  - .done 생성 시 동시에 `memory/events/{task_id}.qc-result` 생성 (QC 결과 요약 JSON)

## 검증 시나리오
1. dispatch.py로 위임된 프롬프트에 `team_short: devN` 값이 포함되는지 확인
2. DIRECT-WORKFLOW.md에서 수동 .done 생성 코드가 제거되었는지 확인
3. qc_verify.py --gate 미실행 상태에서 finish-task.sh 실행 → .done 생성 차단 확인
4. qc_verify.py --gate PASS → .done + .qc-result 모두 생성 확인
5. `python3 -m pytest tests/ -q` → 0 failed

## 레벨
- critical
