**task-1010.1 완료 보고** (dev4-team) **완료 보고서: 대시보드 바차트 최신화 + 기간필터 + 위스퍼 팀상태 실시간화** (9분 26초) **핵심 결과** 3건 모두 수정 완료. (1) token-tracker.py scan 재실행으로 763→779개 task 반영 (task-1010.1까지), (2) `/api/token-usage?period=1d|3d|7d|all` 기간 필터 추가 + TokenView.js에 선택 UI 구현, (3) `/api/whisper-status`에서 briefing_summary를 task-timers.json 기반 실시간 오버라이드. pytest 6건 전체 통과, pyright 에러 0건. ## 수정 내역 ### 항목 1: 바차트 데이터 최신화 - **원인**: token-tracker.py scan이 08:16에 마지막 실행 → 이후 생성된 task-1000번대 JSONL 세션 미반영 - **해결**: `python3 scripts/token-tracker.py scan` 실행으로 1976개 JSONL 스캔, 779개 task 기록 - **결과**: task-1010.1까지 ledger에 반영됨 (task-1000+ 11건 신규 추가) ### 항목 2: 기간별 조회 기능 추가 **백엔드** (`/home/jay/workspace/dashboard/server.py`): - `get_token_usage()` 시그니처에 `period: str = "1d"` 파라미터 추가 - `from datetime import datetime, timedelta` import 확장 - 캐시를 period별 dict로 변경: `_token_cache: Dict[str, Dict[str, Any]]` - 라인 979-992: 기간 필터 생성/수정: 3개 파일, 테스트: 6/6 passed, pyright 0 errors **발견/해결 이슈 4건** 1. **캐시가 period를 구분하지 않아 다른 기간 요청 시 stale 데이터 반환** — `_token_cache`를 period별 dict로 변경 (`Dict[str, Dict[str, Any]]`) 2. **estimated 경로(task-timers.json 기반)에 기간 필터 미적용** — estimated 경로에도 동일한 period_map 기반 cutoff 필터 적용 (라인 1069-1082) 3. **차트 높이가 고정(560px)되어 기간 변경 시 항목 수에 맞지 않음** — `entries.length * 28`로 동적 높이 설정 (최소 300px) 4. **"전체" 기간 선택 시 700+ 항목이 Chart.js 바차트에 로드되어 렌더링 성능 저하 가능** — 미해결: 범위 외 사유: UX 최적화는 별도 작업으로 분리 권장 (가상 스크롤 또는 페이지네이션)