# 신호등 체계 수정 — 팀원 대기(노란) 상태 구현

## 배경
팀에 task가 할당되면 팀장은 작업중(초록)으로 정상 표시되지만, 팀원이 대기(노란)가 아닌 유휴(회색)로 표시되는 버그.
신호등 스펙: `/home/jay/workspace/memory/specs/traffic-light-spec.md`

## 버그 원인 (2곳)

### Bug 1: 백엔드 data_loader.py
- 위치: `get_member_status()` 함수 (line 909 부근)
- 현재: `has_running`이면 전원 `"working"` 반환
- 문제: 팀장/팀원 구분 없이 동일 status 반환
- 수정: `has_running`이면 → 팀장은 `"working"`, 팀원은 `"standby"` 반환
- `is_lead` 파라미터가 이미 존재하지만 사용 안 됨

### Bug 2: 프론트엔드 utils.js  
- 위치: `MemberRow()` 컴포넌트 (line 136-144)
- 현재: `hasRunningTasks && isLead` 조건만 있어서 팀장만 working 처리
- 문제: 팀원은 `hasRunningTasks`일 때 `standby`로 처리하는 분기 없음
- 수정: 
```javascript
} else if (hasRunningTasks) {
    resolvedStatus = isLead ? 'working' : 'standby';
}
```

### StatusDot 매핑 확인
- utils.js의 StatusDot 컴포넌트 (line 91-108)
- working → 초록, standby → 노란, idle → 회색 매핑이 이미 존재하는지 확인
- 없으면 standby → 노란색 매핑 추가

## 수정 파일
1. `/home/jay/workspace/dashboard/data_loader.py` — get_member_status() 수정
2. `/home/jay/workspace/dashboard/components/utils.js` — MemberRow() 수정
3. `/home/jay/workspace/dashboard/test_server.py` — standby 상태 테스트 추가

## 검증 시나리오 (이게 되면 성공)
1. 1팀에 task 있을 때 → 헤르메스(팀장): 초록, 불칸/이리스/아테나/아르고스(팀원): **노란** (대기)
2. task 없는 팀 → 전원 회색(유휴)
3. `/api/member-status` 응답에서 running task 있는 팀의 팀원이 `"standby"` 반환
4. 기존 pytest 전체 PASS 유지 (77건+)
5. 대시보드 http://100.76.130.39:8000 에서 직접 확인 (현재 1팀 작업중)

## 주의사항
- data_loader.py는 대용량(107KB) — offset/limit 분할 읽기 필수
- utils.js도 대용량(60KB) — offset/limit 분할 읽기 필수
- 수정 후 즉시 커밋
- 대시보드 서버 재시작 또는 /api/reload 후 확인
