# 메모리 시스템 강화 Phase 1: claude-diary 패턴 도입

## 전체 로드맵 (3 Phase 한정승인)
- **Phase 1** (본 작업): claude-diary의 /diary + /reflect 패턴 도입 → Shell 스크립트 + settings.json 훅
- **Phase 2**: basic-memory 스타일 SQLite FTS5 인덱싱 → 검색 정확도 3-5배 향상
- **Phase 3**: claude-mem Progressive Disclosure 패턴 선택 도입 → 토큰 절감

## Phase 1 작업 상세

### 배경
제이회장님의 핵심 고민: "메모리에 저장해도 안 읽으면 뭐해"
→ 저장이 아닌 **CLAUDE.md 규칙화**가 답. 검색 안 해도 매 세션 자동 로드.

### 참고 자료 (필수 읽기)
- claude-diary 레포: https://github.com/rlancemartin/claude-diary
- 리서치 보고서: `/home/jay/workspace/memory/research/claude-code-memory-enhancement.md` (Section 3.1)
- 현재 hooks 구조: `/home/jay/.claude/settings.json`

### 핵심 구현 사항

#### 1. /diary 커맨드 구현
- 경로: `/home/jay/.claude/commands/diary.md`
- 기능: 세션 내용을 분석하여 diary 엔트리 생성
- 저장 위치: `/home/jay/.claude/memory/diary/YYYY-MM-DD-session-N.md`
- 캡처 항목:
  - 수행한 작업 요약
  - 제이회장님이 준 피드백/수정 지시
  - 설계 결정 및 이유
  - 실수한 사항과 원인
  - 반복된 패턴

#### 2. /reflect 커맨드 구현
- 경로: `/home/jay/.claude/commands/reflect.md`
- 기능: 누적된 diary 엔트리에서 패턴 추출 → CLAUDE.md 업데이트 제안
- 패턴 인식 기준:
  - 2회+ 반복 = 패턴 후보
  - 3회+ 반복 = 강력 패턴 (자동 규칙화 권고)
- 6가지 카테고리:
  1. 위임 실수 패턴 (잘못된 팀 배정 등)
  2. 제이회장님 선호도 (응답 스타일, 보고 형식 등)
  3. 설계 결정 (모듈화, Phase 분리 등)
  4. 안티패턴 (독단 행동, 토큰 낭비 등)
  5. 효율성 교훈
  6. 프로젝트별 패턴
- 중복 방지: `processed.log` 체크
- 규칙 포맷: 1줄 명령형 bullet (장황한 설명 금지)

#### 3. PreCompact 훅 등록
- 경로: `/home/jay/workspace/hooks/pre-compact-diary.sh`
- 기능: 컨텍스트 압축 전 자동으로 diary 생성
- settings.json의 hooks 섹션에 등록
- 기존 훅과 충돌 없도록 주의

#### 4. 우리 시스템 특화 커스터마이징
- claude-diary는 단일 사용자용 → 우리는 **멀티봇 8팀 체제**
- diary 저장 시 `team_id`, `task_id` 메타데이터 포함
- reflect 시 팀별 패턴도 분석 (예: "디자인 작업을 dev팀에 위임하는 패턴 3회 발견")
- 아누(실장)의 CLAUDE.md에만 반영 (팀장 봇에는 영향 없음)
  - 아누 CLAUDE.md 경로: `/home/jay/.cokacdir/workspace/autoset/CLAUDE.md`
  - 또는 자동 메모리: `/home/jay/.claude/projects/-home-jay--cokacdir-workspace-autoset/memory/`

### 문서화 요구사항
- `/home/jay/workspace/memory/specs/memory-enhancement-spec.md` 작성
  - Phase 1~3 전체 로드맵
  - Phase 1 상세 설계
  - 파일 구조
  - 사용법 (커맨드 설명)
- `/home/jay/workspace/memory/specs/diary-reflect-usage.md` 작성
  - /diary, /reflect 사용 가이드
  - 예시 diary 엔트리
  - 예시 reflect 결과

### 코드화/시스템화 체크리스트
- [ ] /diary 커맨드 동작 확인
- [ ] /reflect 커맨드 동작 확인
- [ ] PreCompact 훅 등록 및 동작 확인
- [ ] diary 디렉토리 자동 생성
- [ ] processed.log 중복 방지 동작
- [ ] 기존 훅(strategic-compact.sh 등)과 충돌 없음
- [ ] 문서화 완료 (spec + usage guide)
- [ ] 테스트 작성

### 완료 기준
- /diary, /reflect 커맨드 실제 동작
- PreCompact 훅 자동 diary 생성
- 문서 2개 작성 완료
- 기존 시스템 영향 없음
- Phase 2 연결 포인트 명시 (diary 데이터를 SQLite로 인덱싱할 구조)

### Phase 2 예고 (본 작업에서는 구현하지 않음)
Phase 1 완료 후, diary 파일들을 SQLite FTS5로 인덱싱하여 시맨틱 검색이 가능하도록 확장.
Phase 1에서는 Phase 2와 연결할 수 있는 데이터 구조(frontmatter, 태그 등)를 미리 설계해둘 것.
