doc-reorg(C) Phase 4a: 둘 다 심하게 stale(HANDOFF "한 줄 요약" v0.18.0 · 이미 ship 된 fb-41 을 "미구현"으로 · v0.20 priorities 장기 closed; INDEX 는 삭제될 task spec 으로 82 markdown 링크 + 옛 버전 스탬프). - HANDOFF 181→45줄: 현재 phase 표(흡수된 crate 반영) + 최근 마일스톤 포인터 (dated 로그는 HOTFIXES/CHANGELOG/git) + 현재 다음-task 후보(P8/P9-5). - INDEX 185→40줄: per-component 상태 표(spec 링크 제거) + HOTFIXES/CHANGELOG/ 설계계약 포인터. 옛 task spec 은 git history 안내. durable 정보 손실 0(전부 HOTFIXES/CHANGELOG/ARCHITECTURE/code/git 에 있음). Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_012Mc6W1fgsrbFKTsqA6P8La
3.7 KiB
HANDOFF — 진척도
"지금 어디까지 됐고 다음에 뭘 할지"의 phase-단위 단일 출처. 사용법 → README.md, 구조 → docs/ARCHITECTURE.md, per-component 진행 → tasks/INDEX.md, 머지 후 deviation(동작 진실) → tasks/HOTFIXES.md, 버전별 변경 → CHANGELOG.md. 전체 문서 지도 → DOCS.md.
한 줄 요약
현재 v0.32.0. P0–P7 + P9(CLI/MCP) + P10 머지 완료, P8(audio)·P9-5(desktop)만 보류. kebab ingest 가 markdown · 이미지(OCR+caption) · PDF(텍스트+page citation+scanned OCR) · 소스코드(Rust/Python/TS/JS/Go/Java/Kotlin/C/C++ AST + Tier2 리소스 + Tier3 fallback) 를 단일 binary 로 색인. kebab search(lexical/vector/hybrid RRF) / kebab ask(RAG + 근거 인용 + NLI groundedness + multi-hop) 가 매체 가로질러 동작. UI 는 CLI + MCP stdio server(TUI 는 v0.31.0 에서 제거).
Phase 로드맵
| Phase | 내용 | 핵심 crate | 상태 |
|---|---|---|---|
| P0 | Workspace 뼈대 + 도메인 계약 + ID recipe | kebab-core/kebab-config/kebab-app/kebab-cli |
✅ |
| P1 | Markdown ingestion (walk→parse→chunk→SQLite) | kebab-source-fs/kebab-parse-md/kebab-chunk/kebab-store-sqlite |
✅ |
| P2 | FTS5 lexical 검색 + citation | kebab-search |
✅ |
| P3 | embedding + LanceDB + hybrid(RRF) | kebab-embed-local/kebab-store-vector/kebab-search |
✅ |
| P4 | LLM + RAG + grounded answer + NLI | kebab-llm-local/kebab-rag/kebab-nli |
✅ |
| P5 | golden query / regression eval | kebab-eval |
✅ |
| P6 | 이미지 ingestion (OCR + caption) | kebab-parse-image |
✅ |
| P7 | PDF text + page citation + scanned OCR | kebab-parse-pdf + kebab-app::pdf_ocr_apply |
✅ |
| P8 | 음성 transcription | kebab-parse-audio |
⏸ 보류 (whisper-rs 시스템 dep brainstorm 필요) |
| P9 | agent surface (CLI/MCP/desktop) | kebab-mcp, kebab-desktop(P9-5) |
🟡 CLI/MCP ✅, desktop ⏸ |
| P10 | code ingest framework | kebab-parse-code/kebab-chunk |
✅ (Rust/Py/TS/JS/Go/Java/Kotlin/C/C++ + Tier2/3) |
trait 전용이던
kebab-embed/kebab-llm/kebab-parse-types/kebab-normalize는 흡수됨(각각 kebab-core mock feature / kebab-parse-md module) — 현재 20 crate. 상세는 docs/ARCHITECTURE.md.
최근 마일스톤
버전별 변경은 CHANGELOG.md, 머지 후 deviation 의 dated 로그는 tasks/HOTFIXES.md(동작이 설계와 다를 때의 진실)에 있다. 굵직한 흐름만:
- v0.32.0 — ponytail-audit over-engineering 정리 (죽은 scaffold 제거, 9 AST chunker→1, shim crate 흡수 22→20).
- v0.31.0 — 척추 단순화(TUI·세션·candle 제거, config v5) + 임베딩/OCR/caption 캐시 전면화.
- v0.27–0.30 — paddle-onnx 네이티브 OCR · provenance 출처 필터 · md-heading-v2 oversize 분할.
- v0.18–0.26 — multi-hop RAG + NLI 검증 · 코드 ingest(P10) · arctic 임베더 · 한국어 형태소 검색.
다음 task 후보
- P9-5 desktop (Tauri) — 마지막 구조적 미완 component.
kebab-desktopcrate + PDF citation rendering UI. 사용자 우선순위(책·PDF) 부합. - P8 audio — whisper-rs 시스템 dep vs 외부 transcription endpoint 결정 필요. 사용자 패턴상 보류.
- 그 외는 도그푸딩 follow-up — 발견 시 HOTFIXES 에 dated entry + 필요 시 ARCHITECTURE 갱신.
검증
릴리스 binary 의 종단 동작은 docs/SMOKE.md(격리 KB 1세션 검증) + docs/DOGFOOD.md(기능별 시나리오). 실 데이터 도그푸딩 evidence 는 HOTFIXES dated entry.