chore: Phase 3.2 wrap-up — project_status + handoff + 다음 세션 프롬프트

This commit is contained in:
윤찬 2026-04-12 18:31:52 +09:00
parent 6e52c18e5b
commit b8cb665264
3 changed files with 349 additions and 143 deletions

View file

@ -1,8 +1,52 @@
# D3RO-VOICE 프로젝트 현황
> 마지막 갱신: 2026-04-11 (빅뱅 Phase 5 Part 7 — Bug 13 전면 해소 + Gemma4 전환)
> 마지막 갱신: 2026-04-12 (Phase 3.2 Premium LLM 완결 — 빅뱅 8/8 달성)
> 규칙 13: 작업 완료 즉시 이 파일 갱신 의무
## Phase 3.2 Premium LLM 완결 (2026-04-12) — 빅뱅 8/8 마지막 성공 기준 ✅
Supabase Edge Function(llm-proxy)을 통해 Anthropic Claude를 호출하는 PremiumLLMService 구현. 사용자가 Settings에서 Local/Premium 백엔드를 선택하면 VoiceModeService가 자동 분기하고, Premium 실패 시 Local로 silent fallback + 상단 중앙 배너 알림.
### 커밋 3개 (이번 세션)
| SHA | 내용 |
|---|---|
| `a744551` | fix: Bug 13 전면 해소 — Conversation 에러 배너 + Dictation 빈 STT 가드 + recording tip 타이머 leak |
| `d397bcb` | feat: LLM 기본 모델 qwen3:4b → gemma4:e4b 전면 전환 + think:false 안전장치 |
| `6e52c18` | feat: Phase 3.2 Premium LLM — Anthropic Claude 파이프라인 + 모델별 쿼터 + SaaS UI |
### 실측 결과
| 경로 | LLM refine 시간 |
|---|---|
| 이전 qwen3:4b (local, reasoning) | 42.9초 |
| gemma4:e4b (local, non-reasoning) | 3.9초 |
| **Claude Haiku (premium)** | **1.6~3.2초** |
### 주요 신규/변경 파일 (23개)
**신규**: `PremiumLLMService.ts`, `llm-prompts.ts`, migration `20260412000001`
**서버**: `quota.ts` (모델별 쿼터), `llm-proxy/index.ts`, `config.toml` (verify_jwt=false)
**데스크톱**: `VoiceModeService` (router+fallback), `CloudSyncService` (invokeFunction, getAccessToken async), `ConfigService` (llmBackend), `LicenseService` (쿼터 250/1500), `llm-handlers` (safeSendToRenderer+premium IPC), `preload` (premium API)
**UI**: `SettingsModal` (backend 드롭다운+conditional), `LicenseModal` (SaaS 전환), `AppLayout` (fallback 배너)
**타입**: `AppConfig.llmBackend`, `SubscriptionTier pro_plus`, `IPC_CHANNELS.LLM.PREMIUM_*`
### 모델별 쿼터 정책
| | Free | Pro ₩9,900 | Pro+ ₩29,900 |
|---|---|---|---|
| 로컬 | ∞ | ∞ | ∞ |
| Haiku | 250/주간 | 1,500/일 | ∞ |
| Sonnet | ❌ | 300/일 | 1,500/일 |
| Opus | ❌ | 50/일 | 300/일 |
### 알려진 이슈 (이월)
1. **세션 만료 시 렌더러 미동기화** — CloudSyncService.init()에서 stored token 없을 때 auth-changed null 미emit → UI 불일치 (memory/feedback_session_expiry_bug.md)
2. **Payple 결제 연동 미완** — 업그레이드 버튼 클릭 시 "결제 연동 준비 중 (Payple)" alert 스텁. Phase 3.2-B에서 실제 연결
3. **대시보드 Premium 상태 표시** — 현재 대시보드에 Premium LLM 쿼터/모델 정보 미노출
4. **Supabase 2026 verify_jwt 비호환** — sb_publishable_ 키와 Gateway JWT 검증 비호환으로 verify_jwt=false 설정. 함수 내부 requireUser()에서 직접 인증 처리 중
## 빅뱅 Phase 5 Part 7 (2026-04-11) — Bug 13 전면 해소 + Gemma4 기본 모델 전환 ✅
Part 6에서 Voice Conversation 몰입 패널까지 가고 남은 숙제였던 **Bug 13 전면 해소**와 사용자 실측에서 발견된 **LLM refine 42.9초 병목**(qwen3 reasoning 모델 strip empty fallback)을 한 사이클에 정리. 받아쓰기 한 바퀴 51초 → 기대 7~10초로 대폭 단축 예상.