# task-796.1 완료 보고서: 마케팅팀 dispatch 지원 구축

## SCQA

**S**: dispatch 시스템에서 마케팅팀은 `--team marketing`으로 호출 가능하나, 봇D 고정 매핑 없이 동적 봇 할당만 지원하며 `marketing-team` 명명 규칙 미적용 상태였다.

**C**: 개발팀(dev1-team~dev4-team)과 달리 `-team` 접미사 미사용으로 일관성이 없고, dev3-team과의 봇D 공유 충돌 방지 메커니즘이 부재하여 동시 실행 시 문제가 발생할 수 있었다.

**Q**: `dispatch.py --team marketing-team` 명령이 봇D를 통해 아프로디테(마케팅 팀장) 정체성으로 시작하고, dev3-team과의 봇 공유 충돌을 안전하게 방지할 수 있는가?

**A**: `marketing-team` 고정 봇D 매핑 + 봇 공유 충돌 방지 로직을 구현하여 완료. pytest 208건 전체 통과, pyright 에러 0건. 봇 공유 충돌 시 에러 메시지 반환, `--force` 옵션으로 우회 가능.

## 생성/수정 파일 목록

- `/home/jay/workspace/dispatch.py` — TEAM_BOT, TEAM_TO_BOT_ID에 marketing-team 추가, 봇 공유 충돌 방지 로직, argparse choices 수정
- `/home/jay/workspace/prompts/team_prompts.py` — TEAM_INFO/TEAM_MEMBER_ROLES 키 marketing→marketing-team, 역할명 갱신, 마케팅 산출물 문구
- `/home/jay/workspace/dashboard/server.py` — _enrich_bot_activity에 marketing-team 매핑, running_teams 추가, get_teams_info에 shared_bot_info 추가
- `/home/jay/workspace/tests/test_dispatch.py` — marketing-team 봇 매핑 테스트 2건, 봇 공유 충돌 테스트 3건, 기존 marketing 테스트 갱신
- `/home/jay/workspace/tests/test_team_prompts.py` — marketing→marketing-team 키 변경, 역할명/스킬/산출물 테스트 3건 추가

## 테스트 결과

- pytest: **208 passed** (test_dispatch.py 103건 + test_team_prompts.py 99건 + dashboard/tests/test_server.py 6건)
- pyright: **0 errors, 0 warnings, 0 informations**
- black + isort: **PASS** (전체 파일 포맷 준수)

## 발견 이슈 및 해결

### 자체 해결 (3건)
1. **test_dispatch.py black 포매팅 위반** — `python3 -m black tests/test_dispatch.py` 적용으로 해결
2. **봇 공유 체크에서 existing_data 변수 scope 문제** — pyright `reportPossiblyUnboundVariable` 경고 방지를 위해 `shared_check_data` 별도 변수 사용
3. **dashboard _enrich_bot_activity 루프 변수 충돌** — 외부 스코프 `team_id`와 루프 변수 `team_id` 충돌 → `team_id_check`으로 변경

### 범위 외 미해결 (0건)
해당 없음.

## 완료 기준 대조

- [x] `dispatch.py --team marketing-team` 동작 확인 (argparse choices에 추가, TEAM_BOT 매핑 완료)
- [x] 봇D가 "아프로디테, 마케팅 팀장" 정체성으로 시작 확인 (team_prompts.py _build_marketing_prompt)
- [x] 팀원 5명(아폴론/페이토/므네모시네/에이레네/에코) 표시 확인 (TEAM_INFO, TEAM_MEMBER_ROLES, 프롬프트)
- [x] 대시보드에 마케팅팀 카드 표시 (org-structure 기반 동적 렌더링 + shared_bot_info)
- [x] dev3-team과 marketing-team 동시 사용 시 충돌 방지 동작 (봇 공유 충돌 체크 + --force 우회)
- [x] 전체 테스트 PASS (208 passed)
- [x] pyright 0 에러

## QC 자동 검증

```json
{
  "test_runner": "PASS (208 passed)",
  "pyright_check": "PASS (0 errors)",
  "style_check": "PASS (black OK, isort OK)",
  "data_integrity": "PASS"
}
```
