# dispatch.py `--workflow` 옵션 구현

## 레벨: Lv.2
## 한정승인: 끝까지 진행

---

## 배경

task-1245.1에서 이미지 제작 워크플로우 v2 (QC 게이트 시스템)가 설계·코드화 완료됨.
- 계획서: `/home/jay/workspace/memory/specs/image-workflow-v2-plan.md`
- 코드: `/home/jay/workspace/prompts/image_workflow.py`

후속 작업으로 dispatch.py에 `--workflow` 옵션을 추가하여, 이미지 제작 시 QC 게이트 워크플로우를 자동 적용할 수 있도록 해야 함.

---

## 작업 내용

### 1. dispatch.py argparse에 `--workflow` 옵션 추가
- 위치: `parser.add_argument` 블록 (line 1249 부근, `--force` 앞이나 뒤)
- 옵션명: `--workflow`
- choices: `["image-qc-gate"]` (향후 확장 가능하도록 choices 방식)
- default: None
- help: "워크플로우 적용 (image-qc-gate: 이미지 QC 게이트 5Phase 자동 적용)"

### 2. `--workflow image-qc-gate` 사용 시 동작
- `prompts/image_workflow.py`의 `build_image_workflow_prompt()` 함수를 import
- 기존 task_desc에 워크플로우 프롬프트를 **prepend** (워크플로우 지시 → 원래 작업 설명 순서)
- `image_workflow.py`에서 필요한 정보(QC 기준, Phase 설명 등)를 프롬프트에 포함
- 팀 자동 지정: `--workflow image-qc-gate` 사용 시 `--composite marketing,design` 자동 적용 검토 (단, 현재 `--team`과 `--composite`가 mutually exclusive이므로, `--workflow` 사용 시 team/composite 미지정이면 자동으로 composite 설정하는 로직)

### 3. 제약 조건
- 기존 dispatch.py 동작에 영향 없어야 함 (--workflow 미사용 시 100% 동일)
- `--workflow`와 `--team`/`--composite` 동시 사용 가능해야 함 (사용자가 팀을 직접 지정할 수도 있으므로)
- `--workflow image-qc-gate`만 지정하고 `--team`/`--composite` 미지정 시 → 에러 메시지 출력 ("--team 또는 --composite를 함께 지정하세요")

### 4. image_workflow.py 연동
- `build_image_workflow_prompt(phase, task_desc, ...)` 호출 방식 확인
- 현재 image_workflow.py의 public API를 확인하고, dispatch.py에서 호출 가능하도록 연동
- image_workflow.py 자체는 수정 최소화 (이미 task-1245.1에서 검증 완료)

---

## 참고 파일
- dispatch.py: `/home/jay/workspace/dispatch.py` (argparse 블록 line 1185~1255)
- image_workflow.py: `/home/jay/workspace/prompts/image_workflow.py`
- 계획서: `/home/jay/workspace/memory/specs/image-workflow-v2-plan.md`
- 체크리스트: `/home/jay/workspace/memory/specs/image-workflow-v2-checklist.md`

## 검증
- `python3 dispatch.py --help`에서 `--workflow` 옵션 표시 확인
- `--workflow image-qc-gate` 사용 시 프롬프트에 QC 게이트 워크플로우 내용 포함 확인
- `--workflow` 미사용 시 기존 동작 동일 확인
- pyright 에러 0건
