# task-425.1 완료 보고서

## 작업: 조직뷰 마케팅팀/컨설팅팀 실시간 상태 표시

## 수행 내용

### 변경 파일
- `/home/jay/workspace/dashboard/index.html` — LogicalTeamCard 컴포넌트 수정

### 변경 내용

1. **LogicalTeamCard 컴포넌트에 `runningTasks` prop 추가**
   - `runningTasks = []` 기본값으로 하위 호환성 유지
   - `runningCount` 계산하여 상태 badge 표시

2. **상태 badge 추가 (개발팀 TeamCard와 동일 디자인)**
   - 유휴: `bg-slate-100 text-slate-500` 배경의 "유휴" 텍스트
   - 작업중: `bg-emerald-100 text-emerald-700` 배경의 "진행 N건" 텍스트
   - 작업중일 때 추가로 녹색 pulse-dot + "작업중" + task_id 표시 영역

3. **렌더링 시 running 데이터 전달**
   - `marketing-team` → `running.filter(t => t.team_id === 'marketing' || t.team_id === 'marketing-team')`
   - `consulting-team` → `running.filter(t => t.team_id === 'consulting' || t.team_id === 'consulting-team')`
   - team_id 형식 차이(org: `marketing-team`, task-timers: `marketing`) 양쪽 모두 매칭

### 서버 변경 불필요
- 프론트엔드가 이미 `/api/tasks`에서 모든 태스크 데이터(status, team_id 포함)를 가져오고 있음
- `running = tasksData.filter(t => t.status === 'running' && !t.is_stale)` 기존 로직 재활용
- stale 판단(2시간 초과)도 기존 `is_stale` 필드로 자동 처리됨

## 완료 조건 충족 확인
1. ✅ 마케팅팀 카드에 유휴/작업중 상태 표시
2. ✅ 컨설팅팀 카드에 유휴/작업중 상태 표시
3. ✅ 개발팀 상태 표시와 동일한 디자인 (동일 컬러/badge/pulse-dot)
4. ✅ 기존 기능 변경 없음 (runningTasks 기본값 `[]`로 하위호환)

## 테스트
- 별도 테스트 파일 없음 (단일 HTML 프론트엔드)
- 기존 코드 패턴과 동일한 방식으로 구현

## 버그
- 없음

## QC 결과
- overall: **PASS** (2 PASS, 7 SKIP)
- file_check: PASS
- data_integrity: PASS
- tdd_check: SKIP (Lv.1 HTML 수정, TDD 적용 대상 아님)
- api_health: SKIP (서버 변경 없음)
- pyright_check / style_check: SKIP (Python 파일 변경 없음)
