# 계정 전환 시스템 재설계

## 현재 문제
계정 관리 시스템(drumband/jonghyuk 전환)이 너무 복잡하고 자주 꼬임.

### 현재 구조의 문제점
1. **credentials 파일 3개 관리** — `.credentials.json`(활성) + `-drumband.json`(백업) + `-jonghyuk.json`(백업)
2. **md5 비교로 활성 계정 식별** — 토큰 갱신되면 md5가 달라져서 식별 실패
3. **Fallback이 3단계** — md5 → refreshToken 비교 → scopes 비교. 그래도 실패 가능
4. **백업 파일 동기화 누락** — 토큰 갱신 시 백업에 반영 안 되면 불일치
5. **switch-account.sh가 단순 파일 복사** — cp만 해서 상태 추적 안 됨
6. **usage-status가 잘못된 계정 사용량 표시** — 실제 drumband인데 jonghyuk으로 표시

### 꼬인 시나리오 (실제 발생)
1. drumband로 로그인 → 활성 토큰 = drumband
2. 시간 경과 → OAuth 자동 갱신 → 새 토큰 발급 → md5 변경
3. usage-status 호출 → md5 불일치 → fallback → refreshToken 비교 → 어쨌든 식별
4. 하지만 표시명이 잘못되거나, 백업 파일과 불일치 발생
5. 제이회장님이 웹에서 drumband 사용량 확인 → 대시보드 jonghyuk과 동일 → 혼란

## 요구사항
- 계정 전환이 **심플하고 확실하게** 동작해야 함
- 어떤 계정이 활성인지 **명확하게** 표시
- 토큰 갱신 후에도 **계정 식별이 깨지지 않아야** 함
- 사용량이 **정확한 계정에 매핑**되어야 함

## 분석 대상 파일
- `/home/jay/workspace/dashboard/server.py` — `_get_usage_status()` 함수 (3653행~)
- `/home/jay/workspace/dashboard/server.py` — `_refresh_oauth_token()` 함수 (3628행~)
- `/home/jay/workspace/dashboard/server.py` — 계정 전환 POST 핸들러 (4760행~)
- `/home/jay/workspace/scripts/switch-account.sh` — 파일 복사 방식 전환
- `/home/jay/workspace/dashboard/account-emails.json` — 계정 이메일 매핑
- `/home/jay/.claude/.credentials*.json` — credential 파일 3개

## 작업 내용
1. **현재 설계의 근본 문제 분석** — 왜 이렇게 복잡해졌는지
2. **개선안 설계** — 심플하고 확실한 계정 관리 방법 제안
3. **구현** — 승인 후 코드 수정

### 개선 방향 힌트 (참고만, 더 나은 방법 있으면 제안)
- 활성 계정을 **별도 상태 파일**로 관리? (`.claude/.active-account` = "drumband" or "jonghyuk")
- `claude auth status` 결과(email)를 직접 사용?
- credentials 백업 파일 대신 **계정별 디렉토리 분리**?
- md5 비교 제거, 상태 파일 기반으로 단순화?

## 주의사항
- 현재 돌아가는 시스템을 깨뜨리지 않도록 주의
- 기존 대시보드 UI(usage-status 표시)와 호환 유지
- switch-account.sh도 같이 개선
