# 대시보드 인슈위키 탭 — 위키 항목 2섹션 분리 + 양방향 연동

## Lv.3 작업

## 작업 목표
대시보드 인슈위키 탭의 위키 항목 영역을 "InsuWiki Sync 이전" / "Sync 완료" 2개 섹션으로 분리하고, 승인/반려 상태를 대시보드 ↔ InsuWiki 서비스 양방향 연동한다.

## 현재 상태
- wiki_entries.json: 105건 (approved 13 + rejected 2 + draft 90)
- draft 90건: Firestore에 아직 push 안 됨 → InsuWiki Review에 미표시
- 대시보드에서 Sync 이전/완료 구분이 없어 사용자가 어떤 항목이 서비스에 반영됐는지 알 수 없음

## 구현 내용

### 1. 위키 항목 2섹션 분리

**"InsuWiki Sync 이전" 섹션:**
- 단톡방 txt 업로드 → 분석 → 정리된 항목 중 아직 Firestore에 push 안 된 것
- `synced: false` 또는 sync_status가 없는 항목
- 승인/반려 버튼 사용 가능 (대시보드 내부 상태만 변경)
- "InsuWiki Sync" 버튼: 이 섹션의 항목을 Firestore에 push

**"Sync 완료" 섹션:**
- InsuWiki Sync 버튼을 눌러 Firestore에 push된 항목
- `synced: true` 또는 sync_status가 있는 항목
- 승인/반려 상태가 InsuWiki 서비스와 양방향 연동

**Sync 버튼 동작:**
- "Sync 이전" 항목 중 선택된 항목 또는 전체를 Firestore에 push
- push 시: `sourceType: "dashboard_insight"`, `status: "pending"`
- push 완료 후: 해당 항목이 "Sync 완료" 섹션으로 이동
- InsuWiki Review에 자동 표시됨

### 2. 데이터 모델 변경
- wiki-statuses.json 또는 wiki-sync-status.json에 `synced` 필드 추가
  ```json
  {
    "insight-001": {
      "status": "approved",
      "synced": true,
      "synced_at": "2026-04-12T..."
    },
    "insight-050": {
      "status": "draft",
      "synced": false
    }
  }
  ```

### 3. 승인/반려 양방향 연동

**대시보드 → InsuWiki 서비스:**
- 대시보드에서 승인/반려 → Firestore documents의 해당 문서 status 업데이트
- synced=true인 항목만 (Sync 이전 항목은 Firestore에 없으므로 연동 불필요)

**InsuWiki 서비스 → 대시보드:**
- InsuWiki Review에서 승인/반려 → 대시보드 server.py API 호출로 wiki-statuses 업데이트
- task-1692.1에서 구현된 `POST /api/wiki/insights/{id}/review` 활용

### 4. UI 변경
- 대시보드 인슈위키 탭의 위키 항목 영역:
  - 상단: "Sync 이전 (90건)" 섹션 (접기/펼치기)
  - 하단: "Sync 완료 (15건)" 섹션 (접기/펼치기)
  - 각 섹션별 승인/반려/미승인 카운트 표시
  - "InsuWiki Sync" 버튼: "Sync 이전" 섹션 상단에 배치

### 5. 기존 90건 처리
- 현재 draft 90건은 모두 "Sync 이전" 섹션에 표시
- 기존 approved 13 + rejected 2 = 15건은 "Sync 완료" 섹션에 표시

## 참조 파일
- 대시보드 server.py: `/home/jay/workspace/dashboard/server.py` (wiki sync 관련)
- wiki-statuses.json: `/home/jay/workspace/dashboard/data/wiki-statuses.json`
- wiki-sync-status.json: `/home/jay/workspace/dashboard/data/wiki-sync-status.json`
- wiki_entries.json: `/home/jay/projects/insuwiki/scripts/kakao_knowledge/wiki_entries.json`
- InsuWiki insight API: task-1692.1 구현
- 대시보드 컴포넌트: `/home/jay/workspace/dashboard/components/` 인슈위키 관련

## 다크모드 호환

## 테스트
1. 대시보드 위키 항목 → 2섹션 분리 표시 (Sync 이전 90건 / Sync 완료 15건)
2. "InsuWiki Sync" 버튼 → Sync 이전 항목이 Firestore push + Sync 완료로 이동
3. Sync 완료 항목 → InsuWiki Review에 표시
4. 대시보드에서 승인 → InsuWiki 서비스 상태 변경
5. InsuWiki에서 승인 → 대시보드 상태 변경

## 보고서
`/home/jay/workspace/memory/reports/task-{TASK_ID}.md`
