# task-243.1 완료 보고서

## 작업 내용
대시보드 인원현황 카운팅과 팀 토글 LIVE 상태 로직 수정

### 수정 내용

**1. 상단 토글 LIVE 상태 수정**
- 팀 토글(1팀/2팀/3팀): `has_running_tasks` 필드(task-timers.json 기반)로 LIVE 판단
- 아누 토글: `bot-activity.json`의 `processing` 상태일 때만 LIVE

**2. 인원현황 카운팅 수정 (아누 포함)**
- `get_member_status()`에서 아누의 상태를 `bot-activity.json`의 processing 상태로 판단하도록 수정
- 기존: `anu-direct` team_id의 running task만 체크 → 항상 idle
- 수정 후: bot-activity에서 anu의 processing 여부 우선 확인

**3. FastAPI 모드 bot-activity 엔드포인트 보완**
- FastAPI 모드의 `/api/bot-activity`에 `has_running_tasks` 필드 추가 로직이 누락되어 있었음
- `_enrich_bot_activity()` 메서드를 추출하여 Simple HTTP/FastAPI 양쪽에서 공통 사용
- 기존 break 버그 수정: anu에 대해 `anu-direct`과 `dev-team` 모두 체크

## 생성/수정 파일 목록
- `/home/jay/workspace/dashboard/server.py` (수정)
  - `import copy` 추가
  - `DataLoader._enrich_bot_activity()` 메서드 신규 추가
  - `DataLoader.get_member_status()` 아누 로직 수정
  - Simple HTTP `/api/bot-activity` 핸들러 간소화
  - FastAPI `/api/bot-activity` 엔드포인트 수정
- `/home/jay/workspace/dashboard/index.html` (수정)
  - 아누 헤더 상태: bot-activity 기반으로 변경
  - 봇 토글 로직: 아누/팀 분리 (아누=processing, 팀=has_running_tasks)

## 테스트 결과
- API 상태 체크: PASS (4개 엔드포인트 모두 200 응답)
- bot-activity API: has_running_tasks 필드 정상 포함
- 인원 카운팅: total=20, working+standby+idle+break=20 (합산 일치)
- teams API와 stats API 카운팅 일관성: PASS
- 조직도 총인원(20명)과 대시보드 표시 일치: PASS
- 데이터 무결성: PASS

## QC 자동 검증 결과
```json
{
  "task_id": "task-243.1",
  "overall": "PASS",
  "checks": {
    "api_health": "PASS",
    "file_check": "PASS",
    "data_integrity": "PASS",
    "test_runner": "SKIP",
    "schema_contract": "SKIP"
  }
}
```

## 버그 유무
- 발견/수정된 버그:
  1. FastAPI 모드에서 `has_running_tasks` 필드 누락 (핵심 버그)
  2. 아누 상태가 bot-activity를 참조하지 않아 항상 idle로 표시
  3. Simple HTTP 모드에서 anu bot의 team 매핑 시 break로 인한 부분 검사 버그
- 잔여 버그: 없음

## 비고
- 대시보드 서버 재시작 완료 (FastAPI 모드, 포트 8000)
- 서버 재시작 후 실제 API 응답으로 검증 완료
