lore review <category>
synthesize 가 만들어낸 L2 보고서를 D1–D6 깊이 doctrine 기준으로 감사하고, 누락된 코드 발췌·WHY 사유·forensics 행을 보강하는 2차 패스 프롬프트 를 빌드합니다.
lore review auth # 단일 카테고리 감사
lore review subscription --apply # (예정) Anthropic API 호출 + 직접 보강언제 쓰나
lore synthesize 는 표·다이어그램 골격까지는 자동으로 잡아주지만, 코드 발췌·정책 사유 같은 사람이 읽는 깊이 는 LLM 의 호출 1회로는 일관되게 채우기 어렵습니다. lore review 는 보고서를 다시 들여다보면서:
- §2 / §3 / §5 의 핵심 정책 근처에 5–15줄 코드 펜스 발췌 가 있는가
- §7 의 모든 🟡 / 🔴 행에 “왜 검토 필요한지” 사유 한 줄이 있는가
password=Nonedefault ·CORS_ALLOW_ALL_ORIGINS=True· 긴 토큰 TTL 등 forensics 패턴 이 §7 에 행으로 들어와 있는가- cross-cutting 카테고리(
api_infra등)에 수직 레이어 다이어그램 이 있는가
빠진 부분만 골라서 채우는 작업입니다.
9개 검사 항목 (C1–C9)
| # | 항목 | 합격 기준 |
|---|---|---|
| C1 | D1 코드 발췌 | §2 / §3 / §5 의 핵심 정책마다 5–15줄 코드 펜스 + ⭐ 한 줄 해설 |
| C2 | D2 하위 섹션 | §2 · §4 · §5 가 영역 3개 이상이면 ### 2.1, ### 4.1 … 분리됨 |
| C3 | D3 forensics | 비밀번호 default · 와일드카드 보안 설정 · 긴 TTL 등이 §7 에 행으로 존재 |
| C4 | WHY 의무 | §7 의 모든 🟡 / 🔴 행에 사유 한 줄 |
| C5 | D4 TBD 사유 | 🔴 행에 “왜 코드만으로 결정 못 하는지” 명시 |
| C6 | D5 cross-link | 사이드카 docs (docs/, *_OPTIMIZATION.md) 존재 시 §1 / §4 끝에 링크 |
| C7 | D6 레이어 다이어그램 | 클라이언트 / cross-cutting 카테고리에서 수직 레이어 다이어그램 1개 |
| C8 | 메트릭 카드 일치 | §0 카드의 숫자가 실제 §1–§9 와 일치 |
| C9 | 링크 정확도 | [symbol:line](path#Lline) 의 path 와 line 번호가 실재함 |
동작
domains[<category>]검증 +.lore/flows/<category>.md본문 로드 (없으면 에러)- 모든 프로젝트에서 해당 카테고리 어노테이션 추출 → 소스 파일·라인 목록 정리
- existing body + L3 facts + 소스 파일 목록 + L2 doctrine + Review doctrine 을 묶어 프롬프트 생성
출력 형태 — 두 모드
A. 에이전트 모드 (Claude Code 등 — 파일 편집 도구가 있는 환경)
.lore/flows/<category>.md 를 직접 편집합니다:
- 기존 frontmatter (
---블록) 는 그대로 보존 - 본문에서 보강이 필요한 섹션만 수정 (전체 재작성 금지)
- 새로 추가한 코드 발췌 / 위험 행 / 사유 / 다이어그램만 차분히 끼워 넣기
- 편집 후 변경 요약을 stdout 에 출력
B. 프롬프트 모드 (일반 LLM — 파일 편집 도구 없음)
다음 markdown 형식의 review report 를 반환합니다:
# 📝 Review report — `<category>`
## ✅ 통과
- C1, C2 ... (어떤 항목이 이미 충족되었는지)
## ⚠️ 보강 필요
| 항목 | 위치 | 누락된 것 | 권장 패치 |
| ---- | ---- | ------------------------------------------- | ------------------------------------------- |
| C1 | §2.1 | `SIMPLE_JWT` 코드 발췌 없음 | settings.py:88-105 발췌 + ⭐ 10시간 해설 |
| C3 | §7 | `create_user(password=None)` default 미감지 | 🟡 행 추가, 사유: NICE 자동가입 경로 가능성 |
## ✏️ 권장 추가 markdown (그대로 복사하여 §<n> 에 삽입)
(섹션별 markdown 패치 블록)운영 원칙
- 사실 우선 · 추측 금지: 코드를 못 읽었으면 그 항목은
🔴 TBD — 코드 확인 필요로 남기고 임의로 채우지 않습니다. - 변경 최소화: 합격한 항목은 손대지 않습니다. 보강이 필요한 항목만 수정.
- frontmatter 보존:
---블록은 절대 재작성 금지. @History/@Connection텍스트 보존: 의사결정 배경 단어를 유지.
권장 워크플로 (v0)
--apply 가 v0.2 까지 미구현이므로:
lore review auth | pbcopy # macOS — 프롬프트가 클립보드로
# Claude Code 에 붙여넣기 →
# Claude Code 가 §4 의 소스 파일을 직접 열어 보강하고
# .lore/flows/auth.md 를 부분 수정또는 일반 LLM 에 붙여 넣어 review report 를 받고 수동 적용.
D1–D6 깊이 doctrine (요약)
synthesize 와 review 모두 같은 깊이 기준을 공유합니다. 자세한 정의 → CLI: synthesize.