# task-566.4: Phase 4 학습/회고 시스템

## 배경
task-566 Phase 3(gstack 코드 구현) 완료됨. 한정승인에 따라 즉시 Phase 4 진행.

## Phase 3 산출물 (참조)
- `memory/reports/task-566.3.md` — Phase 3 보고서
- `scripts/diff-aware-qa.py` — diff-aware QA
- `scripts/health_score.py` + `scripts/health-score.py` — Health Score (7카테고리)
- `scripts/gen-skill-docs.py` — SKILL.md 템플릿 시스템
- `scripts/whisper-compile.py` — 아누 상태 제외 버그 수정 완료

## 참조 문서
1. `memory/research/gstack-analysis.md` — gstack 분석 (A3: 주간 회고)
2. `memory/research/letta-whisper-impact-analysis.md` — Letta 5개 독립 기능
3. `memory/tasks/dispatch-whisper-letta-gstack-master.md` — 마스터 디스패치 Phase 4

## 한정승인 (Scoped Delegation)
- Phase 완료 → .done → 즉시 다음 Phase 진행 (아누 승인 대기 없음)
- **chain_manager.py를 사용하지 말 것**
- Phase 4 완료 후 task-566.5.md 작성 → 직접 dispatch 호출로 Phase 5 이어갈 것

---

## Phase 4 작업 항목 (4개)

### A3: 주간 회고 시스템 (크로노스)
- **파일**: `/home/jay/workspace/scripts/weekly-retro.py`
- **기능**:
  - task-timer.py 데이터(task-timers.json) + git log 분석
  - 팀별 생산성 메트릭: 작업 수, 평균 소요시간, fix_pct
  - 세션 패턴 분석 (Deep >30min / Medium 10-30min / Micro <10min)
  - 커밋 타입 분류 (feat/fix/refactor/docs/chore)
  - JSON 스냅샷: `memory/whisper/retro-snapshots/week-{YYYY-WW}.json`
  - 주간 트렌드 비교 (이전 주 대비 변화율)
  - 이상치 감지 (fix_pct 30% 초과, 생산성 급감 등)
- **cron 등록**: 매주 월요일 09:00 자동 실행
  - `cokacdir --cron "주간 회고 실행: python3 /home/jay/workspace/scripts/weekly-retro.py를 실행하고 결과를 제이회장님께 보고" --at "0 9 * * 1" --chat 6937032012 --key c119085addb0f8b7`
- **테스트**: `scripts/tests/test_weekly_retro.py`

### Letta #1: 트랜스크립트 자동 학습
- **파일**: `/home/jay/workspace/scripts/transcript-learner.py`
- **기능**:
  - 세션 대화에서 반복 지적/선호/패턴 추출 (키워드 기반)
  - 감지 대상: 제이회장님 지적 패턴 ("이거 왜", "했잖아", "아니 그게", "다시"), 칭찬 패턴 ("좋아", "오 괜찮은데", "이거 맞어")
  - memory/whisper/learnings.json에 누적 저장
  - 중복 학습 방지 (유사도 체크)
- **호출 시점**: Stop hook에서 선택적 호출 (아누 세션에서만)
- **테스트**: `scripts/tests/test_transcript_learner.py`

### Letta #2: session_patterns 감지
- **파일**: `/home/jay/workspace/scripts/pattern-detector.py`
- **기능**:
  - 보고서(memory/reports/*.md) 분석 → 팀별 반복 실수 패턴 감지
  - 감지 대상: 테스트 미작성, pyright 에러 반복, scope 초과, QC FAIL 패턴
  - memory/whisper/team-patterns.json에 저장
  - whisper-compile.py가 위임 시 해당 팀 패턴을 브리핑에 주입
- **테스트**: `scripts/tests/test_pattern_detector.py`

### Letta #5: self_improvement (메모리 관리)
- **파일**: `/home/jay/workspace/scripts/memory-janitor.py`
- **기능**:
  - MEMORY.md 크기 모니터링 (200줄 제한 체크)
  - memory/ 하위 파일 크기 리포트
  - 30일 이상 미참조 항목 감지 → 아카이브 제안 목록 출력
  - 중복 파일/유사 내용 감지
- **출력**: JSON (권고 사항 목록)
- **테스트**: `scripts/tests/test_memory_janitor.py`

---

## 완료 기준
- 4개 스크립트 구현 + 테스트 PASS
- 주간 회고 cron 등록 완료
- 기존 테스트 회귀 없음
- pyright 에러 0건
- black + isort 준수

## 보고서
`memory/reports/task-566.4.md`

## 다음 Phase
Phase 5 지시서를 `memory/tasks/task-566.5.md`에 작성하고 직접 dispatch 호출로 이어갈 것.

---

## 공통 규칙
- 코딩은 팀원(Sonnet)에게 위임. 팀장(Opus)은 설계/검토만.
- Python 3.10+, 표준 라이브러리 우선
- task-timer로 작업 기록 필수
- CODING-STANDARDS.md 준수