CLI Referencelore review

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=None default · CORS_ALLOW_ALL_ORIGINS=True · 긴 토큰 TTL 등 forensics 패턴 이 §7 에 행으로 들어와 있는가
  • cross-cutting 카테고리(api_infra 등)에 수직 레이어 다이어그램 이 있는가

빠진 부분만 골라서 채우는 작업입니다.

9개 검사 항목 (C1–C9)

#항목합격 기준
C1D1 코드 발췌§2 / §3 / §5 의 핵심 정책마다 5–15줄 코드 펜스 + ⭐ 한 줄 해설
C2D2 하위 섹션§2 · §4 · §5 가 영역 3개 이상이면 ### 2.1, ### 4.1 … 분리됨
C3D3 forensics비밀번호 default · 와일드카드 보안 설정 · 긴 TTL 등이 §7 에 행으로 존재
C4WHY 의무§7 의 모든 🟡 / 🔴 행에 사유 한 줄
C5D4 TBD 사유🔴 행에 “왜 코드만으로 결정 못 하는지” 명시
C6D5 cross-link사이드카 docs (docs/, *_OPTIMIZATION.md) 존재 시 §1 / §4 끝에 링크
C7D6 레이어 다이어그램클라이언트 / cross-cutting 카테고리에서 수직 레이어 다이어그램 1개
C8메트릭 카드 일치§0 카드의 숫자가 실제 §1–§9 와 일치
C9링크 정확도[symbol:line](path#Lline) 의 path 와 line 번호가 실재함

동작

  1. domains[<category>] 검증 + .lore/flows/<category>.md 본문 로드 (없으면 에러)
  2. 모든 프로젝트에서 해당 카테고리 어노테이션 추출 → 소스 파일·라인 목록 정리
  3. 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 (요약)

synthesizereview 모두 같은 깊이 기준을 공유합니다. 자세한 정의 → CLI: synthesize.