# task-1149.1 완료 보고서

**S**: dispatch.py의 `--team` 선택지에 dev1~dev8-team, marketing, consulting, publishing 11개 팀이 등록되어 있고, design 팀은 composite_constants.py의 COMPOSITE_ALLOWED_TEAMS에만 존재하여 `dispatch.py --team design` 단독 호출이 불가능한 상태였다.

**C**: 디자인팀에 직접 작업을 위임하려면 `dispatch.py --team design`이 동작해야 하는데, argparse choices에 "design"이 없어 커맨드라인에서 reject되었다. team_prompts.py에도 design용 프롬프트 빌더가 없어 프롬프트 생성도 불가했다.

**Q**: dispatch.py에 design 팀을 등록하여 `dispatch.py --team design`이 올바른 디자인팀 프롬프트를 생성하도록 할 수 있는가?

**A**: 5개 파일을 수정하여 design 팀을 완전히 등록했다. pytest 209건 전체 통과, design 관련 신규 테스트 11건 포함.

## 생성/수정 파일 목록

- `/home/jay/workspace/prompts/team_prompts.py` — TEAM_INFO에 design 항목 추가, `_build_design_prompt()` 함수 추가, `build_prompt()` 내 design 라우팅 추가
- `/home/jay/workspace/dispatch.py` — argparse `--team` choices에 "design" 추가, `DYNAMIC_BOT_TEAMS`에 "design" 추가
- `/home/jay/workspace/memory/specs/bot-team-mapping.md` — 유동 배정 섹션에 디자인팀 항목 추가
- `/home/jay/workspace/tests/test_team_prompts.py` — TestTeamInfo parametrize에 "design" 추가, test_design_type 추가, TestBuildDesignPrompt 클래스(10건) 추가
- `/home/jay/workspace/tests/test_dispatch.py` — TEAM_INFO 개수 검증 11→12 수정

## 테스트 결과

- test_team_prompts.py: 111 passed (0.26s)
- test_dispatch.py: 98 passed (0.70s)
- 전체: 209 passed (0.88s), 0 failed

## 발견 이슈 및 해결

### 자체 해결 (1건)
1. **test_dispatch.py의 TEAM_INFO 개수 하드코딩** — 11에서 12로 업데이트
   - 상세: tests/test_dispatch.py:312 `assert len(dispatch_mod.TEAM_INFO) == 11` → `== 12`

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

## QC 자동 검증 결과

- api_health: SKIP (서버 작업 아님)
- file_check: FAIL (.done 미생성 — finish-task.sh에서 생성 예정)
- data_integrity: PASS
- test_runner: FAIL (pre-existing) — `test_dispatch_success`가 COKACDIR_KEY_ANU 환경변수 미설정으로 실패. 본 작업 범위 외.
- pyright_check: PASS (에러 0건)
- style_check: WARN (black 포맷팅)
- critical_gap: PASS
- spec_compliance: PASS
- duplicate_check: PASS

> ⚠️ 기존 테스트 실패 1건 (본 작업 범위 외): `test_dispatch.py::TestDispatchFunction::test_dispatch_success` — COKACDIR_KEY_ANU 환경변수 의존

## 구현 상세

### design 프롬프트 구조
마케팅/컨설팅/출판팀과 동일한 패턴으로 구현:
- 팀장: 아마테라스 (Amaterasu)
- 팀원: 벤자이텐(satori-cardnews), 이나리(hybrid-image), 카구야(canvas-design), 비너스[위임](gemini-image)
- 라우팅 규칙 4가지 포함
- 비너스 횡단조직 소환 주의사항 포함
- 에이전트 미팅 기록 규칙 포함

### composite_constants.py
이미 `COMPOSITE_ALLOWED_TEAMS`에 "design"이 포함되어 있어 수정 불필요 확인.
