# 조직뷰 인원 카운팅 — 신호등 단일 소스 통합

## Lv.2 작업

## 문제
조직뷰에서 각 팀원의 신호등(초록=작업중, 노란=대기, 회색=유휴)은 실시간으로 정확하게 변하는데, 상단의 "작업중 X명, 대기 X명, 유휴 X명" 카운팅이 불일치.

**근본 원인**: 신호등과 카운팅이 **다른 로직**을 사용.
- 신호등: 프론트엔드에서 bot_activity + 팀 상태를 조합하여 렌더링
- 카운팅: 서버(data_loader.py `get_member_status()`)에서 별도 계산

## 수정 방향
**카운팅을 별도 계산하지 말고, 신호등과 동일한 단일 소스를 사용.**

### 구현 방법
프론트엔드(App.js 또는 조직뷰 컴포넌트)에서:
1. 모든 팀원의 신호등 상태를 렌더링할 때 동시에 카운팅
2. `working`, `standby`, `idle` 각각의 수를 집계
3. 상단 통계에 이 집계 값을 표시
4. **서버의 stats API에 의존하지 않고 프론트엔드에서 직접 집계**

또는 서버 측에서:
1. `get_member_status()` 로직을 신호등 렌더링 로직과 **완전히 동일**하게 통일
2. 두 곳에서 다른 로직을 쓰지 않도록 단일 함수로 통합

### 확인해야 할 파일
- 신호등 렌더링: `/home/jay/workspace/dashboard/components/App.js` 조직뷰 섹션
- 카운팅 로직: `/home/jay/workspace/dashboard/data_loader.py` `get_member_status()` (라인 888 부근)
- stats API: `/home/jay/workspace/dashboard/server.py` `/api/org-view` 또는 `/api/status`

### 테스트
- 2개 팀 작업중 → 상단 "작업중"에 해당 팀원 전체 수 반영
- 신호등 초록인 사람 수 = 상단 "작업중" 수
- 신호등 노란인 사람 수 = 상단 "대기" 수
- 신호등 회색인 사람 수 = 상단 "유휴" 수
- 총합 = 81명

## 수정 후
- 대시보드 재시작: `systemctl --user restart dashboard`

## 보고서
`/home/jay/workspace/memory/reports/task-{TASK_ID}.md`