# task-1125.1 완료 보고서: 논리적 팀 카드에 사용 중인 봇 표시

**팀**: dev6-team (페룬)
**일시**: 2026-03-27

---

## SCQA

**S**: 대시보드 조직뷰의 논리적 팀(마케팅/컨설팅/출판/디자인) 카드에는 "진행 N건" 또는 "대기중"만 표시된다. 논리적 팀은 전용 봇이 없이 개발팀 봇을 빌려 사용한다.

**C**: 어떤 개발팀 봇으로 작업 중인지가 핵심 정보인데, 카드에서 이를 확인할 수 없어 관리자가 task-timers.json을 직접 조회해야 한다.

**Q**: 논리적 팀 카드에서 사용 중인 봇을 한눈에 확인할 수 있도록 UI를 개선할 수 있는가?

**A**: server.py의 `get_running_tasks_by_team()`에 `bot` 필드를 추가하고, LogicalTeamCard에서 이를 읽어 "N팀봇 작업중" 형태로 표시하도록 구현 완료. pytest 7건 전체 통과, pyright 에러 0건.

---

## 변경 파일

- `/home/jay/workspace/dashboard/server.py` (446행, 466행)
  - `get_running_tasks_by_team()` 반환 데이터에 `"bot": task.get("bot")` 필드 추가 (일반 + composite 분기 모두)
- `/home/jay/workspace/dashboard/components/utils.js` (285-302행, 338-344행)
  - `botToLabel` 매핑 추가 (bot-b~bot-i → 1팀봇~8팀봇)
  - `usedBots` 추출 로직 추가 (runningTasks에서 bot 필드 → 라벨 변환 → 중복 제거)
  - 상태 뱃지: "진행 N건" → "N팀봇 작업중" (봇 정보 없으면 기존 fallback 유지)
- `/home/jay/workspace/dashboard/tests/test_server.py`
  - `test_get_running_tasks_by_team_includes_bot_field` 테스트 추가

## 테스트 결과

- pytest: 7/7 PASSED (기존 6건 + 신규 1건)
- pyright: 0 errors, 0 warnings
- TDD 순서 준수: 테스트 작성(RED) → 구현(GREEN)

## 발견 이슈 및 해결

### 자체 해결 (3건)

1. **bot 필드 null 안전성** — `task.get("bot")` 사용으로 None 반환, 프론트엔드에서 `filter(Boolean)`로 제거
2. **composite task에도 bot 필드 누락** — composite 분기(460-468행)에도 동일하게 bot 필드 추가
3. **복수 봇 사용 시 표시 방식** — `usedBots.join('+')` 패턴으로 "1팀봇+3팀봇 작업중" 형태 표시

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

없음

## 비고

- 5팀(task-1124.1) 작업 범위와 겹치지 않도록 `get_running_tasks_by_team()` 메서드만 수정 (`_enrich_bot_activity` 미수정)
- 개발팀 카드(DevTeamCard)는 수정하지 않음
- 하위호환 변경: 기존 API 응답에 optional `bot` 필드만 추가
- test_server.py의 `Import "server" could not be resolved` pyright 경고는 기존 이슈 (pytest 실행 시 path 자동 추가로 동작 정상)
