# 📊 InsuWiki 프로젝트 상태 대시보드

> **마지막 업데이트**: 2026-02-18 03:18
> **현재 단계**: ✅ P1 AI 음성 트리거 (6개) + 상담 녹음 (데일리 노트 연동) 완료 — 배포 진행 중 (안정화 단계)

---

## 📈 진행 현황 (Overall Progress)

```mermaid
pie title Project Completion
    "작업 완료" : 100
    "진행 중" : 0
    "대기 중" : 0
```

## 🚥 시스템 상태 (System Health)

| 구분 | 상태 | 비고 |
| :--- | :---: | :--- |
| **Auth (Firebase)** | 🟢 | 정상 작동 (Google/Kakao) |
| **Storage (G-Drive)** | 🟢 | 정상 작동 (OAuth2 적용 완료) |
| **Database (Firestore)** | 🟢 | **Soft Delete & Restore 적용 완료** |
| **Backup (GCS)** | 🟢 | **Cloud Functions (04:00 KST) 자동 백업** |
| **Deployment (Vercel)** | 🟢 | 정상 작동 (master 자동 배포) |
| **음성 인식 (Web Speech API)** | 🟢 | Android Chrome / iOS Safari 14.5+ / PC Chrome·Edge |
| **상담 녹음 (MediaRecorder)** | 🟢 | 데일리 노트 전용, 구글드라이브 자동 업로드 |
| **API 안정성** | 🟢 | **콘솔 에러(405, Loop) 수정 완료** |

---

## 🛠️ 최근 완료된 작업 (Recent Achievements)
- [x] **[FIX]** 콘솔 에러 수정 및 안정화 (260218)
  - `/api/ai/settings` 405 에러 수정 (GET 핸들러 추가)
  - `DocumentClient` 무한 렌더링/API 호출 루프 최적화 (`useEffect` 의존성 수정)
  - Firebase 권한 오류 관련 잠재적 이슈 완화
- [x] **[FEAT]** Soft Delete & Restore 구현 (휴지통 배너, 복원 버튼)
- [x] **[FEAT]** 문서 검색/목록에서 삭제된 문서 필터링 적용
- [x] **[FEAT]** Admin Purge API (영구 삭제 기능)
- [x] **[FEAT]** DB 자동 백업 (Cloud Functions -> GCS)
- [x] **[FEAT]** Wiki Revision History & Restore 구현 (Squash 전략 적용)
- [x] **[FIX]** 개인 공간(My Private Space) 문서의 작성자 삭제 권한 허용
- [x] **[FEAT]** AI 문서 어시스턴트 MVP (요약, 구조화, BYOK)
- [x] **[FEAT]** AI Phase 1: 실시간 WikiMap & 자동 백링크 (Zero-Friction)
- [x] **[DOC]** 인슈위키 AI 마스터 사양서 (INSUWIKI-AI-MASTER-SPEC.md) 집대성
- [x] **[FEAT]** AI Phase 2: AI Whispers 
  - `DocumentClient.tsx` 편집 모드 연결
  - `VoiceCommandProvider` → `layout.tsx` 전역 등록
  - 모바일 최적화: 56px 터치 타겟, safe-area, 전체 너비 패널
- [x] **[FEAT]** 🎙️ P0 음성 명령 확장 (3→25) + 동의 녹취 워크플로우
  - `useVoiceCommand.ts` — 5그룹 25개 명령 (내비/검색/에디터/문서/녹음)
  - `VoiceCommandContext.tsx` — 페이지별 명령 핸들러 등록 Context
  - `RecordingConsentModal.tsx` — 통신비밀보호법 준수 동의 녹취 모달
  - `DocumentClient.tsx` — 16개 에디터/문서/녹음 명령 콜백 연결
- [x] **[FEAT]** 🤖 P1 AI 음성 트리거 (25→31개 명령)
  - `useVoiceCommand.ts` — AI 그룹 6개 명령 추가 ("요약해줘", "정리해줘", "핵심 뽑아줘", "비교해줘", "개인정보 가려", "코칭해줘")
  - `AISidepanel.tsx` — 6 프리셋 + autoAction 음성 자동 실행
  - `route.ts` — compare/mask/coach promptType 추가
  - 커밋 `da4f121` (6 files, +522/-13)
- [x] **[FEAT]** AI 모델 업그레이드 (Gemini 2.5 Flash) 및 안정화
  - `gemini-2.5-flash` 도입으로 429/404 에러 해결 및 속도 개선
  - `AI_ENCRYPTION_KEY` 검증 로직 강화
- [x] **[UI]** AI 기능 버튼 Tooltip 적용 (사용자 가이드 강화)
- [x] **[FEAT]** 🎙️ 상담 녹음 기능 (데일리 노트 연동)
  - `useAudioRecorder.ts` — MediaRecorder API hook (pause/resume, 64kbps WebM/Opus, 2h+)
  - `AudioRecorderButton.tsx` — FAB 녹음 버튼 (idle/recording/paused/uploading)
  - `DocumentClient.tsx` — 녹음→구글드라이브→데일리 노트 자동 삽입
  - 데일리 노트에 `🎙️ 14:00 (1시간 47분) [📥 다운로드](링크)` 자동 삽입
  - API 비용 $0, 커밋 `9303b44` (3 files, +425)
- [x] **[REFACTOR]** 🗣️ 음성 시스템 대통합 (Voice Consolidation)
  - `useSpeechRecognition` 엔진 강화 (중복 단어 방지 로직 이식) 
  - `useVoiceRecorder` 삭제 및 `AIWhispers` 통합 (단일 엔진화)
  - 중복 코드 제거 및 유지보수성 향상 (-184 lines)

## 🚧 진행 중인 작업 (In Progress)
- [ ] 문서 내보내기 (Export) - Phase 3 계획 수립 필요
- [ ] 주간 보고서 자동 생성 기능 도입

## 📅 향후 계획 (Upcoming)
- [ ] 서버사이드 STT (Whisper/Gemini Audio) — 장시간 녹음 자동 텍스트 변환
- [ ] 검색 UI/UX Phase 3: 하이브리드 검색, 자동완성, 대화형 AI 등
- [ ] 사용자 권한 상세 설정 UI 개선
- [ ] Phase 4: 예측 코칭 & 자동 리포트
