# InsuWiki Sync 완료 리스트 — Firestore 기준 상태 재동기화

## ★★★ 핵심 원칙 ★★★
- "Sync 이전" 114건은 **절대 건드리지 않는다**
- "Sync 완료" 105건만 Firestore 기준으로 상태를 맞춘다
- wiki-sync-status.json에 이미 있는 105건의 status만 Firestore에서 확인하여 갱신

## 배경

현재 데이터:
- wiki-sync-status.json: 105건 (Firestore에 실제 sync된 문서)
- wiki-statuses.json: 16건 (대시보드에서 수동 승인/거절한 항목)
- Firestore documents 컬렉션: 87건 (sourceType=="dashboard_insight")

문제: sync 완료된 105건 중 InsuWiki 서비스에서 승인된 것이 대시보드에 반영 안 됨

## 수정 내용

### 재동기화 스크립트 수정

**파일**: `/home/jay/workspace/dashboard/scripts/sync_firestore_statuses.py`

이 스크립트를 수정하여:
1. wiki-sync-status.json의 기존 105건만 대상으로 함
2. 각 항목의 doc_id로 Firestore documents 컬렉션 조회
3. Firestore의 status (approved/rejected/draft/published)를 가져옴
4. wiki-sync-status.json의 해당 항목 status를 Firestore 값으로 갱신
5. wiki-statuses.json도 동일하게 갱신
6. **wiki-sync-status.json에 새 항목을 추가하지 않는다** (Sync 이전 건드리지 않음)

### Firestore 접근 정보
- Firebase 서비스 계정: `/home/jay/.config/gcloud/service-accounts/insuwiki-j2h-fa603f4f75f5.json`
- Firestore 프로젝트 ID: `.firebaserc` 또는 기존 스크립트에서 확인
- 컬렉션: `documents`
- 조건: doc_id 기반 조회 (wiki-sync-status.json에 저장된 doc_id 사용)

### 주의사항
- doc_id가 없는 sync 항목은 스킵 (Firestore 조회 불가)
- Firestore에서 문서가 삭제된 경우 sync-status에서 제거하지 않고 현재 상태 유지
- 백업 필수: 수정 전 .bak 파일 생성

## 검증 시나리오
1. **Sync 이전 불변**: 수정 전후 unsynced 카운트가 114로 동일하면 성공
2. **Sync 완료 상태 갱신**: Firestore에서 approved인 문서의 대시보드 status도 approved면 성공
3. **데이터 무결성**: wiki-sync-status.json 항목 수가 105건 그대로면 성공
4. **API 정상**: /api/wiki/stats에서 synced=105, unsynced=114 유지되면 성공