# InsuWiki Sync 문서 포맷 v2 — 작성자/본문 구조 변경

## 제이회장님 피드백 기반 변경

### 1. 작성자명 포맷
- 변경 전: 단톡방 대화자 이름 ("김민/한화/서울")
- 변경 후: `"K챗(단톡방명 약칭)"` 형태
  - "앞서가는 설계사, 스레드 보상스터디" → **"K챗(앞서가는)"**
  - "박준현의 1일1보" → **"K챗(1일1보)"**
  - "강동훈과 운전자-자보" → **"K챗(운전자-자보)"**
  - "보험가득 정보방" → **"K챗(보험가득)"**

### 2. 문서 본문(content) 구조
현재: `## 질문\n{question}\n\n## 답변\n{answer}`

변경 후:
```markdown
- 출처: 카카오톡 오픈챗 "{단톡방 전체명}" ({원글 작성자명})
- 출처 날짜: {source_date}

Q. 질문
{question}

A. 답변
{answer}

(원본)
{raw_thread 전체 — 각 메시지를 [사용자명] 내용 형태로}
```

### 3. 구현 상세

#### authorName 매핑 함수
```python
def _format_kchat_author(source_chat: str) -> str:
    """단톡방명을 K챗(약칭) 형태로 변환"""
    abbreviations = {
        "앞서가는 설계사": "앞서가는",
        "스레드 보상스터디": "앞서가는",
        "앞서가는 설계사, 스레드 보상스터디": "앞서가는",
        "박준현의 1일1보": "1일1보",
        "강동훈과 운전자-자보": "운전자-자보",
        "보험가득 정보방": "보험가득",
    }
    for full, short in abbreviations.items():
        if full in source_chat:
            return f"K챗({short})"
    # 매칭 없으면 첫 4글자 사용
    clean = source_chat.split(",")[0].strip()[:4]
    return f"K챗({clean})"
```

#### content 생성 함수
```python
def _build_wiki_content(entry: dict) -> str:
    source_chat = entry.get("source_chat", "")
    expert = entry.get("expert", "")
    source_date = entry.get("source_date", "")
    question = entry.get("question", "")
    answer = entry.get("answer", "")
    raw_thread = entry.get("raw_thread", [])
    
    # 원본 대화 포맷
    raw_text = "\n".join(raw_thread) if raw_thread else ""
    
    content = f"""- 출처: 카카오톡 오픈챗 "{source_chat}" ({expert})
- 출처 날짜: {source_date}

Q. 질문
{question}

A. 답변
{answer}

(원본)
{raw_text}"""
    return content
```

## 수정 위치
- `/home/jay/workspace/dashboard/server.py` — sync-firestore 핸들러의 doc_data 구성 부분
- `authorName` 필드: `_format_kchat_author(source_chat)` 호출
- `content` 필드: `_build_wiki_content(entry)` 호출

## 기존 sync 데이터 업데이트
- insight-001이 이미 sync 되어 있으므로, sync-status를 리셋하거나 다시 sync 시 merge=True로 덮어씀
- wiki-sync-status.json에서 insight-001을 false로 변경하여 재sync 가능하게

## 테스트
1. insight-001 재sync → 인슈위키에서 확인
   - 작성자: "K챗(앞서가는)"
   - 본문: 출처 + Q/A + 원본 구조
2. 다른 항목 승인 + sync → 동일 포맷 확인
3. 인슈위키 앱에서 글 클릭 시 본문 구조가 깔끔한지 확인

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