# InsuWiki탭 3건 수정

## 수정 1: 승인 후 정제결과리뷰에서 항목 제거

### 문제
정제 결과 리뷰에서 "승인" 버튼을 누르면 sync이전 영역으로 이동하는데, 정제결과리뷰 리스트에서는 사라지지 않음.

### 수정
**파일**: `dashboard/components/InsuWikiView.js`

승인(approve) API 호출 성공 후, 해당 항목을 `refineResults.results` 배열에서 제거:
```javascript
// approve 성공 후
setRefineResults(prev => ({
    ...prev,
    results: prev.results.filter(item => item.id !== approvedId)
}));
```

제외(exclude)도 마찬가지로 리스트에서 제거.

**백엔드** (`dashboard/server.py`): approve API에서 `refine-results.json`의 해당 항목도 제거하거나 `reviewStatus`를 `approved`로 변경. 프론트엔드에서 `pending`만 필터링하여 표시.

### 검증
승인 클릭 → 정제결과리뷰에서 해당 항목 사라지면 성공.

---

## 수정 2: 날짜(source_date) 비어있는 항목 수정

### 문제
정제 결과 125건 중 34건의 source_date가 빈 문자열. sync이전에서 날짜가 비어있음.

### 원인 분석 필요
**파일**: `/home/jay/projects/insuwiki/scripts/kakao_knowledge/knowledge_extractor_v2.py`

LLM이 source_date를 추출하는 로직에서:
- 스레드의 첫 메시지 날짜를 source_date로 사용해야 하는데, LLM 응답에서 source_date가 빈 문자열로 반환되는 경우가 있음
- 또는 파싱 단계에서 날짜 정보가 누락

### 수정
1. **기존 34건 복구**: 각 항목의 `raw_thread`에서 첫 메시지의 날짜를 파싱하여 source_date 채우기
2. **향후 방지**: LLM 추출 후 source_date가 비어있으면, 스레드의 첫 메시지 날짜로 fallback:
```python
if not insight.get("source_date") and thread.messages:
    insight["source_date"] = thread.messages[0].date
```

### 검증
- 기존 34건의 source_date가 채워지면 성공
- 새 정제 시 source_date가 비어있는 항목이 0건이면 성공

---

## 수정 3: H1/H2 월 분할이 프론트엔드에 미반영

### 문제
task-1780에서 H1/H2 기능 구현 후, 백엔드(extractor, server.py)에는 반영됐지만 프론트엔드(InsuWikiView.js)에 H1/H2 드롭다운이 없음.

### 원인
task-1780 worktree가 이미 정리되어 프론트엔드 변경이 유실됨. server.py의 H1/H2 months 분할 로직은 반영됐지만, InsuWikiView.js의 드롭다운 라벨 변경이 누락.

### 수정
**파일**: `dashboard/components/InsuWikiView.js`

월 선택 드롭다운에서 각 월을 H1/H2로 분할 표시:
```javascript
// 기존: ["2026-03", "2026-04"]
// 변경: ["2026-03-H1", "2026-03-H2", "2026-04-H1", "2026-04-H2"]

// 라벨:
// "2026-03-H1" → "2026-03 상반기 (1~15일)"
// "2026-03-H2" → "2026-03 하반기 (16~말일)"
```

서버 API가 이미 H1/H2로 분할된 months를 반환하므로 (server.py line 6001-6005), 프론트엔드에서 라벨만 변환하면 됨.

### 검증
파일 업로드 후 드롭다운에 "상반기/하반기" 옵션이 표시되면 성공.

---

## 검증 시나리오 종합
1. 승인 → 정제결과리뷰 리스트에서 사라짐
2. 제외 → 정제결과리뷰 리스트에서 사라짐
3. sync이전 항목 날짜가 전부 채워짐
4. 새 정제 시 source_date 빈 항목 0건
5. 파일 업로드 후 H1/H2 드롭다운 표시
6. 회귀: 기존 기능 정상 동작