# task-1126.1: 디자인팀/출판팀 봇 활동 추적 추가

**팀**: dev5-team (마르둑)
**일시**: 2026-03-27
**레벨**: Lv.1

---

## SCQA

**S**: task-1124.1과 task-1125.1에서 마케팅/컨설팅팀의 봇 활동 추적과 사용 봇 표시를 구현했으며, 대시보드에서 정상 표시 중이다.

**C**: 디자인팀(design)과 출판팀(publishing)은 "운영되지 않는 팀"이라며 범위 외로 처리했으나, 제이회장님이 "디자인팀이 왜 운영되지 않고 있어! 출판팀과 디자인팀까지 모두 바로 반영시켜야 함"이라고 지적.

**Q**: task-1124.1/1125.1에서 구축한 동일 패턴으로 디자인/출판팀도 대시보드 봇 활동 추적에 포함시킬 수 있는가?

**A**: bot-activity.json, server.py(team_to_bot + team_display), App.js(봇 배열 + 라벨), detect-bot.sh 4곳에 design/publishing 엔트리를 추가하여 해결. pytest 9건 전체 통과(기존 5건 + 신규 4건), pyright 에러 0건.

---

## 수정 내용

### 1. bot-activity.json — design/publishing 엔트리 추가
- 파일: `/home/jay/workspace/memory/events/bot-activity.json`
- `consulting` 뒤에 `design`, `publishing` 봇 엔트리 추가 (status: idle)
- 총 봇 수: 12 → 14

### 2. server.py — `_enrich_bot_activity()` team_to_bot 매핑
- 파일: `/home/jay/workspace/dashboard/server.py` (line 547-548)
- `"design": "design"`, `"publishing": "publishing"` 추가

### 3. server.py — `/api/whisper-status` team_display
- 같은 파일 (line 2943-2944)
- `("design", "디자인")`, `("publishing", "출판")` 추가

### 4. App.js — 봇 활동 상태 UI
- 파일: `/home/jay/workspace/dashboard/components/App.js` (line 231, 238)
- 봇 배열에 `'design'`, `'publishing'` 추가
- 라벨 객체에 `design: '디자인'`, `publishing: '출판'` 추가

### 5. detect-bot.sh — 봇 식별 패턴 추가
- 파일: `/home/jay/.claude/hooks/lib/detect-bot.sh` (line 50-55)
- `*/teams/design*|*/.cokacdir/workspace/*design*` → `BOT_ID="design"`
- `*/teams/publishing*|*/.cokacdir/workspace/*publishing*` → `BOT_ID="publishing"`

---

## 생성/수정 파일 목록

- `/home/jay/workspace/memory/events/bot-activity.json` — 수정 (design/publishing 엔트리 추가)
- `/home/jay/workspace/dashboard/server.py` — 수정 (2곳: team_to_bot + team_display)
- `/home/jay/workspace/dashboard/components/App.js` — 수정 (2곳: 봇 배열 + 라벨)
- `/home/jay/.claude/hooks/lib/detect-bot.sh` — 수정 (design/publishing 패턴 추가)
- `/home/jay/workspace/teams/dev5/tests/test_bot_activity_enrichment.py` — 수정 (4건 테스트 추가)

---

## 테스트 결과

pytest 9/9 PASSED (0.06s):
- `test_marketing_has_running_tasks_true_when_running` — PASSED
- `test_marketing_has_running_tasks_false_when_no_tasks` — PASSED
- `test_consulting_has_running_tasks_true_when_running` — PASSED
- `test_consulting_has_running_tasks_false_when_no_tasks` — PASSED
- `test_design_has_running_tasks_true_when_running` — PASSED (신규)
- `test_design_has_running_tasks_false_when_no_tasks` — PASSED (신규)
- `test_publishing_has_running_tasks_true_when_running` — PASSED (신규)
- `test_publishing_has_running_tasks_false_when_no_tasks` — PASSED (신규)
- `test_existing_dev1_team_still_works` — PASSED (회귀 방지)

pyright: 0 errors, 0 warnings (server.py 본 작업 변경분)

detect-bot.sh 패턴 테스트:
- `design` 경로 → `BOT_ID=design` ✓
- `publishing` 경로 → `BOT_ID=publishing` ✓

---

## 발견 이슈 및 해결

### 자체 해결 (4건)
1. **bot-activity.json에 design/publishing 엔트리 누락** — idle 상태로 2개 엔트리 추가
2. **server.py team_to_bot에 design/publishing 매핑 누락** — 2줄 추가하여 running task 감지 가능
3. **App.js 봇 목록/라벨에 design/publishing 누락** — 배열과 객체에 각 2개 항목 추가
4. **detect-bot.sh에 design/publishing 패턴 누락** — case문에 2개 패턴 추가

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

---

## 셀프 QC 체크리스트

- [x] 1. 영향 파일: server.py, App.js, bot-activity.json, detect-bot.sh, 테스트 파일 (5개 파일 모두 수정 완료)
- [x] 2. 엣지 케이스: design/publishing에 running task가 없을 때 idle 표시 확인 (테스트 커버)
- [x] 3. 작업 지시 일치: 4개 수정 대상 모두 완료
- [x] 4. 에러 처리/보안: 기존 패턴과 동일, 추가 입력 없음
- [x] 5. 테스트 커버리지: running/idle 경로 4건 + 회귀 방지 포함 9건
- [x] 6. 이슈 자체 해결: 4건 전부 해결
- [x] 7. 아키텍처 원칙: 기존 매핑에 additive 추가만 (OCP 준수)
- [x] 8. 인터페이스 변경: API 응답에 additive change만 (기존 소비자 영향 없음)

---

## 비고
- task-1124.1에서 "범위 외"로 처리한 design/publishing 팀을 동일 패턴으로 추가
- 기존 테스트 5건 + 신규 4건 = 총 9건 전부 PASS
- 기존 pyright 미사용 변수 경고(server.py line 2054, 3419 등)는 이번 변경과 무관한 기존 코드
