# 카카오톡 정제 UI — Phase 2: 리뷰 화면 + 이력 테이블 + 중단 복구 + 승인

## Lv.3 작업 (Phase 2 — 한정승인 연속)

## Phase 1 산출물 (반드시 먼저 확인)
- Phase 1 보고서: `/home/jay/workspace/memory/reports/task-1729.1.md`
- 설계 문서: `/home/jay/workspace/memory/brainstorming/kakao-refine-dashboard/brainstorm-20260412.md`

## Phase 1에서 구현된 것
- 파일 업로드 API (`POST /api/wiki/refine/upload`) — 날짜 자동 감지
- 정제 실행 API (`POST /api/wiki/refine/start`) — subprocess 백그라운드
- 상태 polling API (`GET /api/wiki/refine/status`) — 프로그레스바
- 취소 API (`POST /api/wiki/refine/cancel`)
- 동시 정제 방지 (락 + stale lock 정리)
- InsuWikiView.js에 정제 섹션 UI (업로드 + 프로그레스바)

## Phase 2 구현 범위

### 1. 리뷰 화면
정제 완료 후 결과를 확인하는 UI. InsuWikiView.js의 정제 섹션 내에 표시.

- `GET /api/wiki/refine/results` — 정제 결과 목록 반환
  - 각 항목: id, title, type, category, expert, confidence, summary
  - `confidence=low` 또는 `fallback=true` 항목에 ⚠️ 플래그
- 리스트 표시:
  - 이상 항목(⚠️): 상단 고정, 노란 배경
  - 정상 항목: 아래, 클릭하면 상세 내용 펼침
- 개별 항목 액션:
  - "승인" — 해당 항목을 wiki_entries.json에 추가 (Sync 이전 상태)
  - "수정" — title/category/summary 인라인 편집 후 저장
  - "제외" — 해당 항목 정제 결과에서 제거 (삭제는 아님, 숨김)
- "전체 승인" 버튼 — 이상 항목 제외한 전체를 일괄 승인
- 승인된 항목은 기존 InsuWiki 탭의 "Sync 이전" 리스트에 자동 추가

### 2. 정제 이력 테이블
InsuWikiView.js에 "정제 이력" 섹션 추가 (접을 수 있음).

- `GET /api/wiki/refine/history` — 이력 목록
- 각 행: 날짜, 파일명, 선택 기간, 추출 건수, 상태 (완료/취소/진행중/실패)
- 중복 업로드 감지: 같은 파일명+기간이 이미 있으면 ⚠️ 경고 표시
- 이력 데이터 저장: `/home/jay/workspace/dashboard/data/refine-history.json`

### 3. 중단 복구 ("이어서 정제")
Phase 1의 cancel 기능과 연동.

- 취소된 정제가 있으면 "이어서 정제" 버튼 표시
- "이어서 정제" 클릭 → 이전 중간 결과 로드 → 남은 스레드부터 재시작
- pipeline-v2의 `--resume-from` 옵션 활용 (또는 중간 결과 JSON 기반 재개)
- knowledge_extractor_v2.py에 resume 로직이 없으면 추가 (배치 완료된 offset 기록)

### 4. 산출물 관리
정제 완료 시 산출물 3종 생성:
- `insights_v2_{YYYYMMDD}_{HHmm}.json` — 정제 결과 JSON
- `insights_{YYYYMMDD}_{HHmm}/insight-XXX.md` — 마크다운 파일들
- `graph_{YYYYMMDD}_{HHmm}.json` — 지식 그래프

저장 위치: `/home/jay/projects/insuwiki/data/`
기존 파일 덮어쓰기 금지. 타임스탬프로 구분.

## 수정 후
- 대시보드 재시작: `systemctl --user restart dashboard`

## 테스트
- TC1: 정제 완료 → 리뷰 화면에 이상 항목 ⚠️ 표시
- TC2: 개별 승인/수정/제외 동작
- TC3: 전체 승인 → Sync 이전 반영
- TC4: 이력 테이블에 정제 기록 표시
- TC5: 중복 파일+기간 → 경고 표시
- TC6: 취소 후 "이어서 정제" 동작

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