# InsuWiki Phase 3 백엔드: reliabilityScores + 운영 기능 + 오류 신고

## 한정승인

## PRD 참조
- 체크리스트: `/home/jay/workspace/memory/plans/insuwiki/review-trust-system/checklist.md` — Phase 3 섹션
- InsuWiki 앱: `/home/jay/projects/insuwiki/`

## 선행 완료
- Phase 1 전체 ✅, Phase 2a ✅, Phase 2b 독립 ✅ — 모두 master 머지 완료

## 작업 범위 (백엔드/CF 중심)

### 1. reliabilityScores 계산
- CF: compositeReliabilityScore 계산 (6가중치: verification 0.30, authority 0.20, source 0.15, review 0.15, freshness 0.10, sourceRef 0.10)
- 결격 조건(knockout) + 가중 평균 하이브리드
- freshness 이산 구간 + 일일 배치 재계산 (Scheduled Function)
- 가중치 설정 파일 외부화

### 2. 운영 기능
- 검토자 적체 모니터링 (6시간 주기 Scheduled Function)
- 3단계 SLA: WARNING(10건/48h), CRITICAL(20건/96h), ESCALATION(168h)
- Push 알림 (FCM 토큰 관리, Service Worker 연동)

### 3. 오류 신고
- documents/{docId}/reports/{reportId} 서브컬렉션
- API: POST /api/wiki/entries/{id}/report (verifyMember)
- 선택형 사유 4개 + 선택적 메모 1줄
- Rate limit: 동일 유저×문서 1회/24h, 전체 10건/일
- 신고 → 자동 상태 변경 없음, admin/reviewer 큐에만 표시
- 신고자 실명 표시 (검토자에게만)

### 4. 버전 관리 (백엔드)
- 규정 변경 시 기존 승인 항목 "재검토 필요" 자동 전환 (CF)
- 버전 보존 정책 (최대 N개 또는 M일)

## 테스트
- reliabilityScores 계산 정확성 (테스트 문서 10건)
- 적체 모니터링 SLA 3단계 동작
- 오류 신고 Rate limit
- 배치 재계산 Scheduled Function

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