# dispatch.py Phase 작업 감지 시 --task-id 경고

## 배경
Phase 작업 위임 시 --task-id를 수동 지정하지 않으면 자동 번호가 부여되어 Phase 체이닝이 안 됨.
이후 수동 rename하면 timer/events/reports 불일치 → 좀비 엔트리 발생.
근본 해결: dispatch 시점에 Phase 작업을 감지하고 --task-id 미지정 시 경고.

## 작업 내용

### dispatch.py의 delegate_to_team() 함수에 Phase 감지 추가

task 파일 내용에서 Phase 패턴을 감지:
- "Phase N" (N = 숫자)
- "phase N"
- "Phase N.N"
- 부모 task ID 패턴: "task-NNNN" + Phase

감지 시 `--task-id`가 자동 생성(generate_task_id)인 경우:
1. WARNING 로그 출력: "⚠️ Phase 작업 감지됨. --task-id를 수동 지정하세요. (예: --task-id task-XXXX_N.N)"
2. Telegram 경고도 전송 (아누에게)
3. 작업 자체는 진행 (차단하지 않음 — 경고만)

### 구현 위치
`delegate_to_team()` 함수에서 task_id 생성 직후:

```python
# Phase 작업 감지 경고
if task_id == generated_id:  # 자동 생성된 ID인 경우
    task_content = Path(task_file).read_text() if task_file else ""
    if re.search(r'[Pp]hase\s+\d', task_content):
        logger.warning("⚠️ Phase 작업 감지됨. --task-id를 수동 지정하세요.")
        # Telegram 경고 전송
```

## 영향 파일
- `/home/jay/workspace/dispatch.py` — 수정 (~15줄 추가)

## 검증 시나리오
1. Phase 패턴 있는 task 파일 + --task-id 미지정 → WARNING 출력 확인
2. Phase 패턴 있는 task 파일 + --task-id 지정 → 경고 미출력 확인
3. Phase 패턴 없는 일반 task 파일 → 경고 미출력 확인
4. 기존 dispatch 동작 회귀 없음

## 주의
- dispatch.py 대용량 — offset/limit
- 경고만 (차단하지 않음)
- 수정 후 즉시 커밋