**task-1004.1 완료 보고** (dev3-team) **: 대시보드 토큰 탭 동적 업데이트 + 바 차트 정렬** (8분 16초) **핵심 결과** 백엔드 `get_token_usage()` 메서드에서 ledger 데이터를 enrich(비용 계산, team_id/description 보완, team_breakdown/anomalies 재계산)하여 반환하도록 수정. 프론트엔드에서 `.reverse()` 제거로 최신 작업 상단 표시, 5분 자동 새로고침 + 수동 새로고침 버튼 추가. pyright 0 에러, API 응답 30개 태스크/11개 팀/70개 이상치 정상 반환 확인. ## 수정 파일 목록 - `/home/jay/workspace/dashboard/server.py` — 백엔드 API 수정 - `TOKEN_PRICES` 상수 추가 (모델별 토큰 가격) - `DataLoader.__init__` 캐시 변수 추가 (`_token_cache`, `_token_cache_time`) - `get_token_usage()` 전면 교체: ledger enrich 로직 (cost계산, team_id/description 보완, team_breakdown, anomalies, top_consumers 문자열화) - `/api/token-usage` 핸들러 단순화: `get_token_usage()` 위임 - `/api/token-anomaly` 핸들러 단순화: `get_token_usage()` 위임 - 5분 TTL 인메모리 캐시 적용 - `/home/jay/workspace/dashboard/components/TokenView.js` — 프론트엔드 수정 - 바 차트 `.reverse()` 제거 → 최신 작업 상단 표시 - `fe 테스트: pyright 0 에러 **발견/해결 이슈 4건** 1. **ledger raw 반환으로 필수 필드 누락** — `get_token_usage()`에서 ledger enrich 로직 구현 (cost 계산, team_breakdown/anomalies 재계산) 2. **top_consumers 형식 불일치 (객체 배열 vs 문자열 배열)** — 문자열 배열로 정규화 3. **team_id 빈 문자열 다수** — task-timers.json에서 team_id 보완, 빈 값은 그대로 유지 (소스 데이터 한계) 4. **task-4.4의 team_id가 "str,"로 부정확** — 미해결: token-ledger.json 원본 데이터 품질 이슈. token-tracker.py의 TEAM_RE 파싱 정규식 개선 필요. 본 작업(대시보드 표시) 범위 외.