# task-1468.1: 옵시디언 메모리 미팅 결과 검토 — 2사이클 재검토

**팀**: dev1-team (헤르메스)
**일시**: 2026-04-05
**검증 레벨**: critical

---

## SCQA

**S**: 아누(오케스트레이터)의 반복 실수 문제 해결을 위해 "옵시디언 스타일 지식 그래프 접목" 미팅이 진행되었고, graph.json + memory_loader.py + feedback_validator.py + 3계층 구조 합의안이 도출되었다.

**C**: 그러나 이전에도 whisper 리마인더(~400토큰 주입), MC 확인번호, dispatch 라우팅 검증 등 3회의 주입형 해결책이 모두 실패했다. 합의안의 핵심인 memory_loader.py(200토큰 주입)가 4번째 주입 레이어에 불과할 위험이 있다.

**Q**: 합의안이 근본 문제를 실제로 해결하는가, 더 효과적인 대안은 없는가?

**A**: graph.json과 memory_loader.py는 과설계로 삭제 권고. feedback_validator.py만 유지하되, known_failure 기반 post-execution gate + mistakes_test.md 조합으로 대체하여 "주입이 아닌 차단" 아키텍처로 전환해야 한다.

---

## 2사이클 미팅 결과

### 미팅 구성
- **모드**: independent (Cycle 1 독립, Cycle 2 교차검토)
- **깊이**: thorough
- **참석자**: 보리스(시스템 아키텍트), 미미르(행동 분석가), 로키(DA)

### Cycle 1: 독립 검토

**보리스 (시스템 아키텍트) — 조건부 반대**
- graph.json + memory_loader.py는 과설계. 유지보수 부패 확실
- feedback_validator.py만 즉시 구현 가치
- dispatch.py에 의무 체크리스트 10줄 삽입이 memory_loader 대체 가능
- 대안: mistakes_test.md (실수 Q&A를 프롬프트에 직접 삽입)

**미미르 (행동 분석가) — 조건부 찬성**
- 근본 원인: 행동 문제 50%, 기술 문제 30%, 적용 문제 20%
- whisper 실패 이유: 반복 패턴화 → 노이즈. memory_loader 차이: 맥락 특이적
- AI에는 gate보다 nudge 적합 (오탐 비용 치명적)
- 행동 변화 확률 55-70% (선별 알고리즘 정확도에 의존)
- 대안: 최소 메모리 원칙 (반복 실수만 MEMORY.md에 직접 통합)

**로키 (DA) — 조건부 반대**
- 핵심 공격: "더 나은 인덱싱 = 더 나은 읽기" 가정 자체가 오류
- 1M 컨텍스트에서 200토큰 주입의 어텐션 희석 미검증
- graph.json 업데이트 주체 논리적 모순
- 대안: 사후 차단(post-execution gate) — known_failure 대조 후 실행 차단
- 조건: 실패 원인 진단서 + 차단 메커니즘 명시 필요

### Cycle 2: 교차 검토 합의

**만장일치 채택**
- feedback_validator.py

**만장일치 폐기**
- graph.json (유지보수 비용 > 효용)
- memory_loader.py (4번째 주입 레이어, 효과 미검증)

**충돌 해결**
- nudge vs gate: 조건부 병행. known_failure는 gate, 신규 패턴은 nudge

---

## 검토 포인트별 결론

### 1. 합의안이 근본 문제를 실제로 해결하나?
**부분적으로만.** feedback_validator.py의 반복 실수 대조는 효과적이나, graph.json + memory_loader.py는 이미 3회 실패한 "주입형" 접근의 반복. 근본 원인(아누가 주입된 컨텍스트를 행동에 반영 안 함)을 해결하지 못함.

### 2. 더 단순하거나 효과적인 대안은?
**있음.**
- **Phase 1**: feedback_validator.py (반복 실수 대조/경고)
- **Phase 2**: known_failure 목록 기반 post-execution gate (실행 차단)
- **Phase 3**: mistakes_test.md (과거 실수 Q&A를 dispatch 프롬프트에 삽입)
- graph.json 없이 dispatch.py 체크리스트 10줄 삽입으로 대체

### 3. 구현 복잡도 대비 효과?
**원안**: 3컴포넌트(graph.json + memory_loader + feedback_validator) = 높은 복잡도, 검증 안 된 효과
**수정안**: 1컴포넌트(feedback_validator) + dispatch.py 수정(10줄) = 낮은 복잡도, 즉시 검증 가능

### 4. 옵시디언 MCP 서버 활용?
**여전히 미채택이 적절.** Claude Code의 auto-memory 시스템이 MEMORY.md만 자동 로딩하는 구조이므로, 외부 도구 연동보다 dispatch 파이프라인 내 강제 메커니즘이 더 직접적.

---

## 최종 개선안 (수정 합의안)

### 유지
- feedback_validator.py (피드백 대조 + 반복 실수 경고)
- 3계층 구조 (MEMORY.md → 서브인덱스 → 상세파일) — 인간 관리 목적으로만

### 삭제
- graph.json (유지보수 부패 위험, 업데이트 주체 논리적 모순)
- memory_loader.py (4번째 주입 레이어, 어텐션 희석 미검증)

### 추가
- **Phase 1**: known_failure 패턴 목록(append-only log) + post-execution gate
- **Phase 2**: mistakes_test.md (실수 Q&A, dispatch 프롬프트 삽입)
- **Phase 3**: whisper/MC/dispatch 실패 원인 진단서 작성 후 재평가

### 성공 기준 (4주 후 측정)
- 동일 실수 재발률 50% 이하 감소
- feedback_validator 오탐률 10% 미만
- gate 차단 정확도 80% 이상

---

## 발견 이슈 및 해결

### 자체 해결 (3건)
1. **원안의 "주입 반복" 패턴 문제** — 수정안에서 "주입→차단" 아키텍처 전환으로 해결
2. **graph.json 업데이트 주체 미정** — graph.json 자체를 삭제하여 해결
3. **whisper와 memory_loader 기능 중복** — memory_loader 삭제로 해결

### 범위 외 미해결 (1건)
1. **whisper/MC/dispatch 3회 실패의 정밀 원인 진단** — 별도 작업으로 진단서 작성 필요 (Phase 3)

---

## 산출물

- `/home/jay/workspace/memory/reports/task-1468.1.md`

## 마아트 독립 검증 결과

**판정**: PASS

**발견 사항 (3건)**:
1. 요구사항 충족 — 완전. 2사이클/DA/4검토포인트 전부 커버.
2. 분석 품질 — 미미르의 행동/기술/적용 비율(50/30/20)은 근거 없는 추정치. (주: 행동 분석 관점의 경험적 추정으로, 정밀 데이터 아님 명시 필요)
3. SCQA 형식 — 적절하나 기존 3회 실패의 정량적 실패율 데이터 부재.

**개선 권고**:
- 미미르의 비율 분해는 "경험적 추정" 표기 추가
- Phase 3 담당자/기한 미지정 → 아누에게 판단 위임 권고

---

## 모델 사용 기록

- 보리스(시스템 아키텍트) / 독립 검토 / sonnet
- 미미르(행동 분석가) / 독립 검토 / sonnet
- 로키(DA) / 적대적 검토 / sonnet
- 종합 사회자 / 교차 검토 합성 / sonnet
