# 대시보드 조직뷰 작업중/유휴 트래킹 동기화 버그 수정

## 개요
대시보드 조직뷰에서 팀이 task 작업 중인데 "작업중 0, 유휴 81, 가동률 0%"로 표시되는 버그를 수정한다.

## 현상
- task-timers.json에 status=running인 태스크가 존재 (1팀 task-1781, 5팀 task-1782)
- bot-activity.json에도 processing 상태 봇이 있을 수 있음
- 그런데 대시보드 조직뷰에는 "작업중 0, 대기 0, 유휴 81" 표시
- 스크린샷 증거: 2026-04-13 16:13 KST

## 확인할 파일

### 1. 백엔드 API
**파일**: `dashboard/server.py`

조직뷰에 인원 현황을 반환하는 API를 찾아서:
- task-timers.json의 running 태스크와 매칭되는 팀/봇이 "작업중"으로 카운트되는지 확인
- bot-activity.json의 processing 상태가 반영되는지 확인
- API 응답에서 각 봇의 status 필드가 올바른지 확인

### 2. 프론트엔드
**파일**: `dashboard/components/App.js`

인원 현황 렌더링 로직:
- "작업중", "대기", "유휴" 카운트 계산 방식 확인
- API 응답의 status를 올바르게 파싱하고 있는지 확인
- 팀원(81명) 각각의 status가 개별 확인되는지, 아니면 팀장 status만 보고 있는지

### 3. 데이터 소스 확인
```bash
# task-timers.json에서 running 태스크 확인
jq '.tasks | to_entries[] | select(.value.status == "running") | {key, team: .value.team_id}' /home/jay/workspace/memory/task-timers.json

# bot-activity.json 상태 확인  
cat /home/jay/workspace/memory/events/bot-activity.json
```

## 수정 방향
- API가 task-timers.json의 running 상태를 제대로 읽고 있는지 확인
- bot-activity.json과 task-timers.json 중 어느 것이 "작업중" 판정의 소스인지 확인
- 두 데이터 소스 사이의 불일치가 있으면 통합 로직 수정
- 프론트엔드의 카운트 계산이 잘못되었으면 수정

## 검증 시나리오
1. **running 태스크 존재 시**: task-timers.json에 running 태스크가 있을 때 해당 팀이 "작업중"으로 표시되면 성공
2. **유휴 시**: 모든 태스크가 completed일 때 전원 "유휴"로 표시되면 성공
3. **가동률 계산**: 작업중 인원 / 전체 인원 비율이 올바르면 성공
4. **실시간 반영**: 새 태스크 dispatch 후 대시보드 새로고침하면 상태가 바뀌면 성공
5. **회귀**: 기존 조직뷰 기능 정상 동작하면 성공
