# InsuWiki TODO 리스트

> 최종 업데이트: 2026-03-25

---

## 제이회장님 직접 처리 필요

### Whisper GPU 서비스 연동 (task-932.4 미해결)
- [ ] **Cloudflare named tunnel 설정** — 현재 quick tunnel URL은 재시작 시 변경됨. 영구 URL 필요.
  - 방법 A: Cloudflare 계정 생성 → named tunnel 설정 (무료, 고정 URL)
  - 방법 B: sudo 접근 후 `ufw allow 8200/tcp` 포트 직접 개방 (더 간단)
  - 현재 상태: quick tunnel로 임시 동작 중, 재시작하면 URL 바뀜
- [ ] **Firebase Functions 배포** — `firebase login` 인증 후 deploy 필요
  - 서버에서 `cd /home/jay/projects/insuwiki && firebase login` 실행
  - 인증 완료 후 `firebase deploy --only functions` 실행
  - 이게 완료되어야 InsuWiki Cloud Functions에서 로컬 Whisper GPU 서비스 사용 가능
  - functions/.env 파일은 생성 완료 (LOCAL_WHISPER_URL, WHISPER_API_KEY 포함)

---

## 개발 대기 (위임 가능)

### AI 노드 자동 연결
- [ ] **Phase 2: 아누 서버 Claude 연동**
  - POST /api/v1/insuwiki/recommend 엔드포인트
  - HMAC-SHA256 인증, uid 기반 rate limit
  - 관계 환각 방어 (pending 상태 + 설명 강제)
- [ ] **Phase 3: 지식 그래프 자동 구축**
  - 전체 문서 관계망 시각화 (D3.js / react-force-graph)
  - 고아 노드 감지 + 순환 참조 감지

### 유튜브 3-Layer
- [ ] **youtube_transcripts (Level 3) 컬렉션** — 자막 청크 저장 로직
- [ ] **youtube_summaries 신규 컬렉션 활용**
- [ ] **약관 상충 감지 고도화** (Phase 2)
- [ ] **섹션별 독립 임베딩** — 검색 정밀도 개선

### 기타
- [ ] **autoSaveDrafts TTL 설정** — Google Cloud Console에서 24시간 TTL 정책 설정 (task-745.1)
- [ ] **Recall 측정용 gold standard** — 문서 10~20개 수동 링크 생성 후 recall 측정
- [ ] **BroadcastChannel 다중 탭 지원** — 설계 완료, 구현 대기

---

## 완료

### Whisper GPU 통합 (task-932 시리즈)
- [x] faster-whisper GPU 벤치마크 (medium+int8+cuda 최적, 6.3배) — task-932.2
- [x] Whisper GPU HTTP 서비스 구축 (포트 8200) — task-932.3
- [x] whisperStt.ts 로컬 GPU 우선 호출 + OpenAI fallback — task-932.3
- [x] Cloudflare Tunnel + API 키 인증 — task-932.4
- [x] systemd 사용자 서비스 등록 (자동 시작) — task-932.4

### AI 노드 자동 연결 (task-820~833)
- [x] Phase 0: Firestore Rules 보안 기초 — task-820.1
- [x] Phase 1-A: 정적 매칭 (exact/alias/공백/substring) — task-820.1
- [x] insurance_terms 1,192건 시딩 + config 생성 — task-827.1
- [x] Phase 1-B: 임베딩 유사도 검색 — task-829.1
- [x] 임베딩 모델 마이그레이션 (gemini-embedding-001) — task-832.1/833.1

### 기타
- [x] 자동 임시저장 기능 — task-745.1
