# task-1589.1 완료 보고서

> **작업**: InsuWiki 출처/신뢰도 체계 설계 + Sync 아키텍처 재설계
> **팀**: dev1-team (헤르메스)
> **레벨**: Lv.4 (5 Cycle Agent Meeting)
> **일시**: 2026-04-10

---

## SCQA

**S**: InsuWiki는 RAG spec v2.1에 따라 4단계 정보 권위 계층(약관→소식지→위키→유튜브)을 운영 중이며, 카카오 단톡방 Q&A 추출 파이프라인(kakao_knowledge)이 구축 완료되었다.

**C**: 그러나 3가지 구조적 문제가 있다. (1) 카카오 Q&A가 권위 계층에 미정의되어 RAG 답변 생성 시 신뢰도 판단 불가, (2) Document 타입에 sourceType/reliability 필드가 없어 출처별 차등 처리 불가, (3) 대시보드 sync가 `wiki` 컬렉션에 저장하지만 앱은 `documents` 컬렉션을 읽어 sync된 데이터가 앱에 표시되지 않는 컬렉션 불일치 존재.

**Q**: 출처/신뢰도 체계를 확장하고 Sync 아키텍처를 재설계하여, 카카오 Q&A를 포함한 다양한 출처의 정보가 권위 등급에 따라 정확히 처리·표시될 수 있는가?

**A**: 5 Cycle Agent Meeting(5명 페르소나 × 5 사이클)을 통해 설계 확정 완료. 핵심 결정사항:
- **권위 계층 6단계 확장**: 기존 4단계 → kakao_expert(3.5순위), kakao_community(4순위) 추가, Phase 2에 금감원/판례 예약
- **Document 스키마**: 7개 optional 필드 추가 (sourceType, verificationStatus, authorityTier, sourceMeta, sourceRef, question, answer), sourceType 9개 값 확정
- **Sync 듀얼 라이트**: wiki(원본 보존) + documents(앱 표시) 동시 기록, ID 프리픽스 `wiki__{type}__{id}`로 충돌 방지
- **UI**: 3단계 배지(공식/검증/참고), 토픽 탭+출처 칩 2축 필터
- **로드맵**: 3 Phase / 총 10일 (병렬화 시 8일)

---

## 산출물

- `/home/jay/workspace/memory/specs/insuwiki/source-authority-design.md` — 설계서 (전체)

---

## 설계 핵심 결정사항

### 1. 권위 계층

| 순위 | sourceType | 인용 규칙 |
|------|-----------|----------|
| 1 | policy_pdf | 최고 권위, 단독 인용 가능 |
| 1.5 | regulation [Phase 2] | 약관과 동급 |
| 2 | newsletter, court_ruling [Phase 2] | 공식 안내 |
| 3 | wiki_editorial (expert_verified) | 내부 검증 지식 |
| 3.5 | kakao_expert, auto_passed 문서 | 단독 인용 가능 + 경고 레이블 |
| 4 | youtube, kakao_community, unverified | 단독 인용 금지 |
| 5 | 비공개 | 검증 실패 |

### 2. 스키마 변경 (7개 필드)

```
sourceType?: SourceType (9개 값)
verificationStatus?: 'unverified' | 'auto_passed' | 'expert_verified'
authorityTier?: number (1~5, 0.5 단위)
sourceMeta?: { channelName, expertName, collectedAt, sourceHash, verifiedBy, verifiedAt }
sourceRef?: { channelId, channelName, collectedAt, messageRef? }
question?: string
answer?: string
```

### 3. Sync 아키텍처

- 듀얼 라이트: wiki(원본) + documents(앱) WriteBatch 400건 단위
- ID: `wiki__{sourceType}__{originalId}`
- authorId: `"system_kakao_qa"` 고정
- rejected → `visibility: "private"`

### 4. 구현 로드맵

- Phase 1 (3일): 타입 확장 + Sync 듀얼 라이트 + 인덱스 + Rules
- Phase 2 (4일): UI 배지 + 출처 필터 칩 + Q&A 렌더러
- Phase 3 (3일): 마이그레이션 + 롤백 스크립트 + 모니터링

---

## 발견 이슈 및 해결

### 자체 해결 (0건)
(설계 작업이므로 코드 이슈 없음)

### 범위 외 미해결 (2건)
1. **auto_passed 자동 검증 룰셋 미정의** — 범위 외 사유: RAG 충돌 감지 로직이 아직 구현되지 않아 Phase 2에서 정의 예정
2. **카카오 채널 공개/비공개 분류** — 범위 외 사유: 운영 정책 결정 필요, 단톡방별 필터 Phase 2 전제조건

---

## Agent Meeting 기록

- **방식**: 5 Cycle × 5 페르소나 (데이터 아키텍트, 도메인 전문가, PM, 보안/무결성, 레드팀)
- **Cycle 1**: 권위 계층 확장 → kakao_expert/community 분리 합의
- **Cycle 2**: Document 스키마 → 9개 sourceType, SourceMeta/SourceRef 구조 확정
- **Cycle 3**: Sync 아키텍처 → 듀얼 라이트 + wiki__ ID 프리픽스 합의
- **Cycle 4**: 앱 UI → 3단계 배지, 탭+칩 2축 필터, 단톡방 필터 이연 합의
- **Cycle 5**: 구현 로드맵 → 3 Phase/10일 확정

---

## 머지 판단

- **머지 필요**: No (설계 문서만 생성, 코드 변경 없음)
- **브랜치**: N/A
- **워크트리 경로**: N/A
- **머지 의견**: 설계 작업이므로 코드 변경 없음. 구현은 후속 task에서 진행.

---

## 모델 사용 기록

- 팀원: Cycle 1 에이전트 / 작업 내용: 권위 계층 확장 회의 / 사용 모델: sonnet
- 팀원: Cycle 2 에이전트 / 작업 내용: Document 스키마 설계 회의 / 사용 모델: sonnet
- 팀원: Cycle 3 에이전트 / 작업 내용: Sync 아키텍처 회의 / 사용 모델: sonnet
- 팀원: Cycle 4 에이전트 / 작업 내용: 앱 UI 설계 회의 / 사용 모델: sonnet
- 팀원: Cycle 5 에이전트 / 작업 내용: 구현 로드맵 회의 / 사용 모델: sonnet
