# do_GET / FastAPI 핸들러 통합 리팩터링

## 태스크 ID: task-875.1

## 배경
`dashboard/server.py`에 **두 개의 API 핸들러**가 공존하는 문제가 발견되었다:
- 구 핸들러 (do_GET, ~1249행): SimpleHTTPRequestHandler 기반
- 신 핸들러 (FastAPI 패턴, ~2415행): task-866.1에서 추가

task-871.1에서 아누가 구 핸들러에 status 필터를 급하게 패치했으나, 근본적으로 **두 핸들러가 같은 엔드포인트를 처리**하는 구조는 위험하다.

## 목표
- 두 핸들러를 **하나로 통합** (구 핸들러 기준 유지, 신 핸들러의 기능 흡수 후 제거)
- 또는 역할을 명확히 분리하여 라우팅 충돌이 없도록 정리

## 작업 범위

### 1. 현황 파악
- `server.py` 내 do_GET 핸들러의 모든 API 엔드포인트 매핑 정리
- FastAPI 패턴 핸들러의 모든 API 엔드포인트 매핑 정리
- 중복 엔드포인트 식별

### 2. 통합 방안 결정
- **우선 접근**: 구 핸들러(do_GET)에 모든 로직 통합, 신 핸들러 코드 제거
- 신 핸들러에만 있는 기능이 있다면 구 핸들러로 이관

### 3. 구현
- 핸들러 통합 코드 작성
- 중복 코드 제거
- 모든 API 엔드포인트 동작 검증 (Playwright 테스트)

### 4. 검증
- 기존 테스트 전체 통과
- `/api/todo`, `/api/todo?status=done`, `/api/todo?status=all` 정상 동작
- 대시보드 전체 기능 (조직뷰, 타임라인, 프로젝트뷰) 정상 동작
- pyright 0 errors

## 참고 파일
- `/home/jay/workspace/dashboard/server.py` (전체)
- `/home/jay/workspace/dashboard/test_server.py`
- `/home/jay/workspace/dashboard/index.html`

## 주의사항
- 대시보드 서버 재시작 후 SW 캐시 버전 반드시 범프 (현재 v6)
- 다른 API 엔드포인트 건드리지 않도록 주의

## 작업 후 처리
- 보고서 저장: `memory/reports/task-875.1.md`
- task-timer end: `python3 /home/jay/workspace/memory/task-timer.py end task-875.1`
- .done 생성: `touch /home/jay/workspace/memory/events/task-875.1.done`
- 아누에게 보고: `cokacdir --sendfile /home/jay/workspace/memory/reports/task-875.1.md --chat 6937032012 --key $COKACDIR_KEY_ANU`
