# dispatch.py 이미지 QC 게이트 강제 차단 구현

## 배경
dispatch.py 1413~1418줄에서 이미지/광고 작업 감지 시 WARNING만 출력하고 통과시킨다. 아누가 경고를 무시하여 배너 18장이 QC 없이 생성되는 사고 발생.

## 수정 내용

### 1. dispatch.py 수정 (1413~1418줄 영역)

**변경 전**:
```python
# 이미지/광고 작업인데 --workflow 미적용 시 경고 (차단하지 않음, 아누 판단에 맡김)
if args.workflow is None:
    _image_keywords = ["이미지", "광고", "배너", "디자인"]
    if any(kw in task_desc for kw in _image_keywords):
        logger.warning(
            "⚠️ 이미지/광고 작업인데 --workflow image-qc-gate가 미적용됩니다. " "제이회장님 승인 확인 필요."
        )
```

**변경 후**:
```python
# 이미지/광고 작업인데 --workflow 미적용 시 차단 (강제 적용)
if args.workflow is None:
    _image_keywords = ["이미지", "광고", "배너", "디자인", "banner", "image"]
    if any(kw in task_desc for kw in _image_keywords):
        if getattr(args, 'skip_qc_gate', False):
            logger.warning("⚠️ --skip-qc-gate로 이미지 QC 게이트 우회. 제이회장님 승인 필수.")
        else:
            logger.error(
                "❌ 이미지/광고 작업에 --workflow image-qc-gate가 필수입니다. "
                "의도적 스킵 시 --skip-qc-gate 플래그를 추가하세요."
            )
            sys.exit(1)
```

### 2. argparse에 --skip-qc-gate 플래그 추가

parser.add_argument 섹션에 추가:
```python
parser.add_argument(
    "--skip-qc-gate",
    action="store_true",
    default=False,
    help="이미지/광고 작업의 QC 게이트를 의도적으로 스킵 (제이회장님 승인 필수)",
)
```

### 3. 키워드 보강
기존 `["이미지", "광고", "배너", "디자인"]`에 `"banner"`, `"image"` 영문 키워드 추가.

### 4. 테스트
- `cd /home/jay/workspace && python3 -m pytest tests/ -k "dispatch" -v`
- 수동 검증: 이미지 키워드가 포함된 task-file로 dispatch 시도 → 차단 확인
- `--skip-qc-gate` 플래그 추가 시 → 경고 + 통과 확인
- 이미지 키워드 없는 일반 작업 → 영향 없음 확인

## 변경 대상 파일
- 수정: `/home/jay/workspace/dispatch.py` (1413~1418줄 영역 + argparse 섹션)

## 절대 변경 금지
- 다른 dispatch.py 로직
- team_prompts.py
- 기타 모든 파일