# task-1452.1 완료 보고서

**S**: whisper-compile.py가 팀 현황, 완료, 가이던스 등을 브리핑하지만, MEMORY.md의 핵심 규칙(★ 표시)을 매번 상기시키는 메커니즘이 없다.

**C**: 아누가 메모리를 능동적으로 읽지 않으면 핵심 피드백/규칙을 잊고 반복 위반할 수 있다. MEMORY.md에 ★ 표시된 최상위 규칙이 3건 존재하나 whisper에 자동 주입되지 않는다.

**Q**: whisper 브리핑에 MEMORY.md ★ 항목을 자동 추출하여 매번 상기시킬 수 있는가?

**A**: `load_memory_reminders()` 함수를 추가하여 MEMORY.md에서 ★ 포함 라인을 자동 추출, `[메모리 리마인더]` 섹션으로 whisper에 주입. 6개 검증 시나리오 전체 통과. 토큰 증가 약 100토큰 (캐시 히트 시 실질 0).

## 작업 내용

### 수정 파일
- `/home/jay/workspace/scripts/whisper-compile.py`

### 변경 사항

1. **`load_memory_reminders()` 함수 추가** (라인 245~277)
   - `BASE_DIR / "MEMORY.md"` 읽기
   - ★ 포함 라인만 추출
   - 마크다운 서식 제거 (##, **, ~~, 순서목록)
   - 40자 truncate 적용
   - 에러 시 빈 리스트 반환 (best-effort)

2. **`compile_briefing()` 내 `[메모리 리마인더]` 섹션 삽입** (라인 539~545)
   - `lines.insert(-1, ...)` 방식으로 `</whisper-briefing>` 직전에 삽입
   - 결과 없으면 섹션 미삽입

### 출력 결과 (실제 MEMORY.md 기준)
```
[메모리 리마인더] - ★ 아누 가이드 (최상위 업무 기준서) / - InsuWiki ★1순위 — 보험 지식 위키 (Next.js + Fire… / - ★ 고도화 Phase 1~3 ✅ 완료 (2026-03-02)
```

## 검증 결과

| # | 검증 항목 | 결과 |
|---|-----------|------|
| 1 | 실제 MEMORY.md에서 ★ 항목 3건 추출 | PASS |
| 2 | whisper 출력에 [메모리 리마인더] 존재, </whisper-briefing> 앞 위치 | PASS |
| 3 | ★ 없는 MEMORY.md → 빈 리스트 | PASS |
| 4 | ★ 항목 추가 시 자동 반영 (2건 추출) | PASS |
| 5 | MEMORY.md 미존재 → 빈 리스트 | PASS |
| 6 | 기존 섹션([팀], [완료], [가이던스], [질문]) 유지 | PASS |

## 발견 이슈 및 해결

### 자체 해결 (1건)
1. **엔키가 `_build_bot_occupation`에 불필요한 `BotStatusManager` 임포트 추가** — 원래 코드로 복원
   - `utils.bot_status` 모듈이 존재하지 않아 pyright 에러 유발
   - 수정: 추가된 try/except BotStatusManager 블록 + docstring 변경 제거

## 산출물
- `/home/jay/workspace/scripts/whisper-compile.py`

## 모델 사용 기록
- 팀원: 엔키(백엔드) / 작업: whisper-compile.py 수정 / 사용 모델: sonnet / 정당성: -
