# task-1641.1 완료 보고서

## SCQA

**S**: InsuWiki(Next.js+Firestore+Cloud Functions)의 협업 검토 시스템+신뢰도 UX 설계(task-1639.1)가 완료되어 Phase 1~3 구현 계획이 확정된 상태이다. 별도로 Andrej Karpathy의 LLM Wiki(마크다운 기반 지식 관리 패러다임)에 대한 기초 리서치(task-1482.1, 마르둑)가 존재한다.

**C**: 제이회장님이 "LLM Wiki와 현행 Firestore+Next.js 중 어떤 방안이 더 고도화된 방안인지, 비용/확장/SaaS화까지 고려한 심층적 검토"를 지시하셨다. 아키텍처 수준의 결정이 필요하며, 잘못된 선택은 수개월의 개발 방향을 오도할 수 있다.

**Q**: 5개 축(비용/확장성/SaaS화/지식 품질/검색 발견)에서 어떤 아키텍처가 최적이며, 어떤 요소를 흡수해야 하는가?

**A**: Agent Meeting 2 사이클(5명, opus, hybrid/thorough)을 통해 **방향 A(현행 Firestore 유지 + LLM Wiki 3가지 기능 흡수)를 전원합의로 확정**했다. B(LLM Wiki 전환)는 5개 축 모두에서 열세로 전원 기각. 3가지 흡수 기능(엔티티 추출/lint/query 종합)의 구체적 Firestore 스키마, 파이프라인, 보안 요구사항을 설계하고, 로키 DA 도전 6건(PII 유출, SPOF, Prompt Injection 등)에 대한 설계 수정 5건을 반영했다. Phase 3에 통합, 총 추가 22일. 핵심 원칙: "LLM은 기능 레이어, 인프라는 Firestore. 자동 추출은 초안, 사람이 확정, PII는 전송 전 마스킹."

## 작업 내용

### Agent Meeting 수행
- 사이클 수: 2 (Cycle 1: Independent, Cycle 2: Sequential)
- 참여자: 오딘(아키텍처), 토르(백엔드/스케일링), 미미르(IA/UX), 로키(레드팀, DA), 야누스(DevOps/인프라)
- 모델: 전원 opus
- 모드: hybrid, 깊이: thorough

### 합의 사항 (10건)
1. 방향 A 전원합의 (현행 Firestore + 3가지 흡수)
2. B(LLM Wiki 전환) 전원 기각
3. C는 A의 구현 세부사항으로 흡수
4. 엔티티 추출: suggestedEntities → 사용자 확인 → entities 승격
5. lint: 중복/고아/최신성은 규칙 기반, 모순만 LLM(confidence score)
6. query 종합: 엔티티 기반 확장 검색 + "종합 정리 보기" 버튼
7. Phase 3에 통합 (총 추가 22일)
8. Phase 1 Week 3에 스키마 필드 예약 추가
9. 보안 전제조건: PII 마스킹, Prompt Injection 방어, Claude API 비동기 큐
10. 핵심 원칙 확정

### 3문서 작성
- 계획서, 맥락노트, 체크리스트 신규 생성

## 산출물 파일

- `/home/jay/workspace/memory/meetings/2026-04-11-insuwiki-llm-wiki-architecture-comparison.md`
- `/home/jay/workspace/memory/plans/insuwiki/llm-wiki-absorption/plan.md`
- `/home/jay/workspace/memory/plans/insuwiki/llm-wiki-absorption/context-notes.md`
- `/home/jay/workspace/memory/plans/insuwiki/llm-wiki-absorption/checklist.md`
- `/home/jay/workspace/memory/reports/task-1641.1.md`

## 발견 이슈 및 해결

### 자체 해결 (3건)
1. **PII 유출 리스크** — CF 자동 트리거 제거, 명시적 버튼 + PII 마스킹 레이어로 설계 변경
   - 상세: 로키 DA 도전 #4. 원래 설계(CF onDocumentWritten 자동 트리거)에서 고객 개인정보가 Claude API에 자동 전송되는 보안 취약점 발견 → 사용자 명시적 "엔티티 추출" 버튼 트리거 + 전송 전 정규식 기반 PII 마스킹으로 수정
2. **entities 쓰레기 데이터 누적** — suggestedEntities → 사용자 확인 승격 워크플로우로 해결
   - 상세: 로키 DA 도전 #2. LLM 추출의 비결정성으로 중복/불일치 엔티티 누적 문제 → 자동 추출 결과를 임시(suggested) 상태로 저장, 사용자 확인 후에만 확정(entities) 컬렉션으로 승격
3. **lint 모순 감지 false positive** — 모순 감지만 LLM 사용, 나머지 3항목 규칙 기반으로 분리
   - 상세: 로키 DA 도전 #5. 4항목 중 중복/고아/최신성은 메타데이터 기반 규칙으로 처리 가능. LLM이 필요한 것은 모순 감지 1개뿐 → confidence score 포함, 0.8 미만은 "검토 필요" 분류

### 범위 외 미해결 (3건)
1. **Claude API 키 관리 방식** — 범위 외 사유: Phase 3 구현 시 DevOps(야누스)와 협의 필요
2. **엔티티 카테고리 상세 분류** — 범위 외 사유: 보험 도메인 전문가(제이회장님) 피드백 필요
3. **기존 review-trust-system plan.md와의 통합** — 범위 외 사유: Phase 3 구현 시 통합 작업 필요 (현재는 별도 계획서로 분리)

## 모델 사용 기록
- 오딘 / Agent Meeting 참여 (Cycle 1+2) / opus / Lv.4 아키텍처 분석에 opus 필수
- 토르 / Agent Meeting 참여 (Cycle 1) / opus / Lv.4 확장성 분석에 opus 필수
- 미미르 / Agent Meeting 참여 (Cycle 1+2) / opus / Lv.4 정보아키텍처 분석에 opus 필수
- 로키 / Agent Meeting 참여 (Cycle 1+2, DA) / opus / Lv.4 보안 분석 + DA에 opus 필수
- 야누스 / Agent Meeting 참여 (Cycle 1) / opus / Lv.4 인프라 비용 분석에 opus 필수

## QC 결과

### 셀프 QC
- [x] 영향 파일 확인 (기존 plan.md 별도 계획서로 분리)
- [x] 엣지 케이스 식별 (PII 비정형, 엔티티 조합 폭발, LLM 비결정성)
- [x] 작업 지시 일치 확인
- [x] 보안 확인 (PII 마스킹, Prompt Injection 방어 설계)
- [x] 검증 기준 포함 확인
- [x] 이슈 자체 해결 확인 (6건 DA 도전 → 5건 설계 수정)

## 마아트 독립 검증
- **판정**: PASS
- **검증 항목**: SCQA 프레임워크, 합의 근거 충분성, DA 도전 해소, 3문서 일관성, 보안 설계 충분성, Zero Issue Red Flag, Fantasy Approval 탐지 — 전 항목 PASS
- **경미 권고**: PII 패턴 범위(이메일/주소 등) 확장 검토를 Phase 3 시작 전 결정 사항에 추가 → 체크리스트 반영 완료

## 머지 판단
- **머지 필요**: No (분석/기획 작업, 코드 변경 없음)
- **브랜치**: N/A
- **워크트리 경로**: N/A
- **머지 의견**: 코드 변경 없음. 미팅 기록 + 3문서 + 보고서만 생성.

## 세션 통계
- 총 도구 호출: 8회

### 수정 파일 목록
- /home/jay/workspace/memory/plans/insuwiki/llm-wiki-absorption/checklist.md: 2회 (Edit, Write)
- /home/jay/workspace/memory/reports/task-1641.1.md: 2회 (Edit, Write)
- /home/jay/workspace/memory/meetings/2026-04-11-insuwiki-llm-wiki-architecture-comparison.md: 1회 (Write)
- /home/jay/workspace/memory/plans/insuwiki/llm-wiki-absorption/context-notes.md: 1회 (Write)
- /home/jay/workspace/memory/plans/insuwiki/llm-wiki-absorption/plan.md: 1회 (Write)
- /home/jay/workspace/memory/tasks/task-1641.1.md: 1회 (dispatch)

### 도구 사용 현황
- Write: 5회
- Edit: 2회
- dispatch: 1회

