# 메모리 시스템 강화 Phase 3: Progressive Disclosure 패턴 도입

## 전체 로드맵
- **Phase 1** ✅ 완료 (task-1477.1): claude-diary /diary + /reflect 패턴 도입
- **Phase 2** ✅ 완료 (task-1478.1): SQLite FTS5 인덱싱, 27개 문서 인덱싱, 12 TC PASS
- **Phase 3** (본 작업): claude-mem Progressive Disclosure 패턴 선택 도입 → 토큰 절감

## Phase 2 산출물 (연결 포인트)
- `/home/jay/workspace/utils/memory_indexer.py` — MemoryIndexer 클래스
- `/home/jay/workspace/utils/memory_search.py` — CLI 검색 도구
- `/home/jay/.claude/memory/memory_index.db` — SQLite FTS5 DB
- Phase 2 보고서에서 Phase 3 연결 포인트: `search()` 메서드에 `summary_only` 파라미터 추가 가능

## 참고 자료 (필수 읽기)
- Phase 1~3 전체 스펙: `/home/jay/workspace/memory/specs/memory-enhancement-spec.md`
- 리서치 보고서: `/home/jay/workspace/memory/research/claude-code-memory-enhancement.md` (Section 2.1 claude-mem)
- Phase 2 보고서: `/home/jay/workspace/memory/reports/task-1478.1.md`

## Phase 3 작업 상세

### 배경
claude-mem(45.2K stars)의 핵심 아이디어 — 검색 결과를 한번에 전부 반환하지 않고 3단계로 나눠서 토큰을 절감하는 Progressive Disclosure 패턴.
Phase 2에서 구현한 memory_search.py에 이 패턴을 적용한다.

### 핵심 구현 사항

#### 1. memory_search.py에 3-Layer Progressive Disclosure 적용

**Layer 1 — Index (~50-100 토큰)**
- `python3 memory_search.py query "디자인 위임" --layer index`
- 반환: ID, 제목, 타입, 점수만 (1줄씩)
- 용도: 어떤 메모리가 관련 있는지 빠르게 파악

**Layer 2 — Summary (~200-300 토큰)**
- `python3 memory_search.py query "디자인 위임" --layer summary`
- 반환: ID, 제목, 타입, 점수, snippet (50자)
- 용도: 관련성 확인 후 필요한 것만 선별

**Layer 3 — Full (~500-1000 토큰)**
- `python3 memory_search.py get <id1> <id2> <id3>`
- 반환: 선택한 메모리의 전체 내용
- 용도: 실제 활용할 메모리만 전체 로드

**토큰 절감:** 기존 5건 전체 ~5000토큰 → Layer1(100) → 필요한 것 Layer2(300) → 선택 2건 Layer3(1000) = ~1400토큰. **약 3.5배 절감**.

#### 2. memory_indexer.py MemoryIndexer 클래스 확장
- `search()` 메서드에 `layer` 파라미터 추가: `"index"`, `"summary"`, `"full"` (기본값)
- `get_by_ids(ids: list[int])` 메서드 추가: Layer 3 전용
- 기존 호출 하위 호환 유지

#### 3. dispatch.py 연동
- dispatch.py의 memory_check에서 Layer 1으로 빠른 관련 메모리 확인
- 관련 메모리 존재 시 Layer 2로 snippet 표시

#### 4. whisper-compile.py 연동
- whisper 브리핑에 최근 diary 요약을 Layer 2로 포함 (optional)

### 문서화
- memory-enhancement-spec.md Phase 3 섹션 완성 (최종 상태로 업데이트)
- diary-reflect-usage.md에 검색 CLI Layer 사용법 추가
- Phase 1~3 전체 통합 요약 포함

### 테스트
- Layer 1/2/3 각각 동작 테스트
- get_by_ids 테스트
- 기존 Phase 2 테스트 회귀 없음 확인
- 토큰 절감 측정 테스트 (실제 검색 결과 크기 비교)

### 완료 기준
- 3-Layer Progressive Disclosure 동작
- Layer별 토큰 사용량 측정 및 절감 효과 문서화
- dispatch.py 연동 완료
- 기존 테스트 회귀 없음
- 문서 업데이트 완료
- Phase 1~3 전체 통합 보고서 작성