# 작업: conversation_memory.py 대화 정리 기능 통합 테스트

## 목적
실제 그룹챗 대화 데이터(messages.html)를 사용하여 conversation_memory.py의 `/정리` 기능이 정상 작동하는지 테스트

## 입력 파일
- HTML 대화 내보내기: `/home/jay/.cokacdir/workspace/autoset/messages.html` (277KB)
- 대상 모듈: `/home/jay/workspace/services/multimodel-bot/conversation_memory.py`

## 작업 내용

### Step 1: HTML → JSONL 변환 스크립트 작성
- `messages.html`을 파싱하여 conversation_memory.py가 요구하는 JSONL 포맷으로 변환
- JSONL 스키마:
```json
{
  "sender": "발신자이름",
  "text": "메시지 내용",
  "timestamp": "ISO 8601 형식",
  "is_bot": true/false,
  "chat_id": 99999,
  "topic_tag": "general"
}
```
- 발신자 매핑:
  - "JJongs" → "제이회장님", is_bot=false
  - "잼민이" → "잼민이", is_bot=true
  - "코덱스" → "코덱스", is_bot=true
  - "클로디" → "클로디", is_bot=true
  - "아누(ANU) AI비서" → "아누", is_bot=true
- service 메시지 (invited, removed, created group 등)는 스킵
- chat_id는 테스트용으로 99999 사용 (실제 데이터와 충돌 방지)
- 변환된 JSONL을 `/home/jay/workspace/memory/groupchat/test-import-2026-03-15.jsonl`에 저장
- 스크립트 위치: `/home/jay/workspace/services/multimodel-bot/tools/html_to_jsonl.py`

### Step 2: 테스트 스크립트 작성
`/home/jay/workspace/services/multimodel-bot/tools/test_insight_runner.py` 작성:

```python
"""
conversation_memory.py의 generate_insight() 기능 통합 테스트 러너.
실제 대화 데이터를 로드하고 정리 기능을 실행하여 결과물을 확인한다.
"""
```

이 스크립트가 해야 할 일:
1. Step 1에서 만든 JSONL 파일을 읽어서 ConversationMemory에 메시지 로드
2. `generate_insight(chat_id=99999)` 호출
3. 결과물(insight text)을 파일로 저장: `/home/jay/workspace/memory/groupchat/insights/test-insight-result.md`
4. 자동 요약(auto-summary)도 트리거 테스트: 50개 메시지마다 `_do_generate_summary` 실행 확인
5. 요약 결과물도 `/home/jay/workspace/memory/groupchat/summaries/` 에 저장되는지 확인

### Step 3: 실행 및 결과 수집
1. HTML → JSONL 변환 실행
2. 변환된 JSONL의 메시지 수, 봇/사람 메시지 비율 등 기본 통계 출력
3. insight 생성 실행
4. 결과물 내용을 보고서에 포함

## 주의사항
- `call_claude()` 함수는 실제 LLM 호출이 필요 — engine 모듈 import 경로 확인
  - engine 모듈: `/home/jay/workspace/services/multimodel-bot/engine.py`
  - sys.path에 `/home/jay/workspace/services/multimodel-bot` 추가 필요
- 기존 실제 데이터(2026-03-15.jsonl)를 건드리지 말 것 — 테스트용 별도 파일 사용
- 테스트 chat_id=99999로 격리
- LLM 호출 실패 시 에러 로그를 보고서에 포함

## 산출물
1. `tools/html_to_jsonl.py` — 변환 스크립트
2. `tools/test_insight_runner.py` — 테스트 러너
3. 변환된 JSONL 파일
4. insight 결과물 (마크다운)
5. 보고서: `/home/jay/workspace/memory/reports/task-601.1.md`
