# InsuWiki Sync 수정 — 작성자 표시 + 카테고리 매핑 정밀화

## 수정 1: 작성자 표시 변경

### 현재
- `authorName: "카카오 Q&A"` — OK이지만, 인슈위키 앱에서 단톡방 대화자 이름이 보일 수 있음
- 문서 content 안에 `[이해철/프라임/부산]` 같은 사용자명이 포함됨

### 변경
- `authorName`을 단톡방 제목으로 변경: `entry.get("source_chat", "카카오 Q&A")`
  - "앞서가는 설계사" → authorName: "앞서가는 설계사"
  - "박준현의 1일1보" → authorName: "박준현의 1일1보"
  - source_chat이 없으면 → "카카오 Q&A" 기본값
- `authorId`는 `"system_kakao_qa"` 유지 (변경 없음)

### 수정 위치
- `/home/jay/workspace/dashboard/server.py` — sync-firestore 핸들러의 doc_data 구성 부분

## 수정 2: 카테고리 매핑 정밀화

### 현재 매핑 문제
```python
if any(k in cat for k in ("보상", "손해")):
    return "casualty"  # ← "보상/장기"도 여기로 빠짐
```

### 인슈위키 4카테고리 정의 (제이회장님 기준)
- **의료(medical)**: 실비, 수술, 진단비, 후유장해 등 건강보험 관련
- **손해(casualty)**: 자동차, 운전자보험, 배상책임 등 손해보험 영역
- **자산(wealth)**: 연금, 사망보험 상속/증여플랜 등 자산 관련
- **실무(practice)**: 위촉, 청구서류, 시스템 등 단순 업무

### 개선된 매핑
```python
def _map_wiki_category(category: str) -> str:
    cat = (category or "").lower()
    
    # 손해: 자동차/운전자/배상책임만
    if any(k in cat for k in ("자동차", "운전자", "배상")):
        return "casualty"
    
    # 의료: 보상 전반(장기/일반), 질병, 의학, 수술, 실비, 진단
    if any(k in cat for k in ("보상", "의료", "질병", "의학", "수술", "실비", "진단", "장기")):
        return "medical"
    
    # 자산: 연금, 상속, 증여, 세금
    if any(k in cat for k in ("자산", "세금", "절세", "투자", "연금", "상속", "증여", "사망보험")):
        return "wealth"
    
    # 실무: 고지의무, 약관, 언더라이팅, 영업, 법률
    if any(k in cat for k in ("실무", "영업", "법률", "고지", "약관", "언더라이팅", "위촉", "청구")):
        return "practice"
    
    # 매핑 불가: 상품비교 등 → practice (실무)로 기본 분류
    if any(k in cat for k in ("상품", "손해사정")):
        return "practice"
    
    return "general"
```

핵심 변경:
- "보상/장기", "보상/일반" → **medical** (의료)
- "보상/자동차" → **casualty** (손해) — "자동차" 키워드 우선 매칭
- "상품비교", "손해사정" → **practice** (실무)

### 주의: 순서 중요
"보상/자동차"가 "자동차" 키워드로 먼저 casualty에 걸리고, 나머지 "보상"은 medical로 가야 함

## 수정 3: 기존 sync 데이터 카테고리 업데이트
이미 sync된 문서(insight-001)의 카테고리도 수정:
```python
# sync 시 기존 문서도 카테고리 재계산
# merge=True이므로 다시 sync하면 자동 업데이트
```
대시보드에서 해당 항목을 다시 sync하면 카테고리가 업데이트됨

## 테스트
1. "보상/장기" 항목 sync → medical로 분류되는지
2. "보상/자동차" 항목 sync → casualty로 분류되는지
3. "고지의무" 항목 sync → practice로 분류되는지
4. authorName이 단톡방 제목으로 표시되는지
5. 서버 재시작 후 대시보드 + 인슈위키 앱 확인

## 보고서
`/home/jay/workspace/memory/reports/task-1601.md`에 작성
