# task-422.1 보고서: dispatch.py 확장 — 마케팅/컨설팅 팀 타입 추가

## 작업 요약
dispatch.py와 team_prompts.py를 확장하여 `--team marketing`과 `--team consulting`을 지원하도록 구현.
기존 봇(B/C/D)을 재활용하되, 가용 봇 자동 선택 로직으로 동적 할당.

## 변경 파일 목록

### 1. `/home/jay/workspace/dispatch.py`
- **상수 추가**: BOT_TO_KEY, TEAM_TO_BOT_ID, DYNAMIC_BOT_TEAMS
- **`_find_available_bot()`**: task-timers.json에서 running 상태 확인, 우선순위(봇B>봇C>봇D) 기반 가용 봇 반환
- **`_patch_timer_metadata()`**: task-timers.json에 role/bot 메타데이터 패치 (파일 락 사용)
- **`dispatch()` 수정**: marketing/consulting 시 가용 봇 자동 선택 + 메타데이터 패치. dev팀은 기존 로직 유지 + 메타데이터 추가
- **`main()` 수정**: `--team` choices에 marketing, consulting 추가

### 2. `/home/jay/workspace/prompts/team_prompts.py`
- **TEAM_INFO 확장**: marketing, consulting 항목 추가
- **`_build_marketing_prompt()`**: 마케팅 팀장 프롬프트 (아폴론/페이토 팀원, 6종 스킬, 브랜드 정보)
- **`_build_consulting_prompt()`**: 컨설팅 팀장 프롬프트 (아스클레피오스/테미스 팀원, 2종 스킬)
- **`build_prompt()` 라우팅**: direct/marketing/consulting/glm 4-way 분기

### 3. `/home/jay/workspace/memory/task-timer.py`
- **ALLOWED_TEAM_IDS**: "marketing", "consulting" 추가

### 4. `/home/jay/workspace/tests/test_dispatch.py`
- 기존 assertion 수정 (TEAM_INFO 개수 3→5)
- TestFindAvailableBot: 8개 테스트
- TestPatchTimerMetadata: 4개 테스트
- TestMarketingConsultingDispatch: 5개 테스트
- TestMainCLI: marketing/consulting CLI 테스트 2개 추가

### 5. `/home/jay/workspace/tests/test_team_prompts.py`
- TestTeamInfo parametrize 확장 (marketing, consulting 추가)
- TestBuildMarketingPrompt: 9개 테스트
- TestBuildConsultingPrompt: 8개 테스트

## 테스트 결과
- **155 passed, 0 failed** (기존 114 + 신규 41)
- pyright: 기존 reportMissingImports(로컬 모듈 경로) 외 신규 에러 없음
- black/isort: 포매팅 완전 통과

## 완료 조건 충족 여부
1. ✅ `--team marketing` / `--team consulting` 정상 동작
2. ✅ 가용 봇 자동 선택 로직 동작 (우선순위: 봇B > 봇C > 봇D)
3. ✅ 마케팅/컨설팅 프롬프트에 팀원(Haiku) + 스킬 목록 포함
4. ✅ task-timers.json에 role/bot 메타데이터 기록
5. ✅ 기존 기능 호환성 유지 (기존 114 테스트 전체 PASS)
6. ✅ 테스트 전체 PASS (155/155)

## 버그/이슈
- 없음
