docs: DOCS.md (SoT 지도) + CHANGELOG.md 신설 + README 포인터

doc-reorg(C) Phase 2:
- DOCS.md (root): "알고 싶은 것 → SoT" 표 + 구역(living/계약/증거) 맵 +
  "삭제된 historical = git history, durable 은 living 흡수" 선언 + 재발방지 원칙.
  → 사용자 1순위 pain("뭐가 최신/진실인지") 직접 해소.
- CHANGELOG.md (root): release-notes 9개 역순 인덱스 + gitea 링크,
  미문서화 구간(v0.1~v0.19/v0.21~v0.27)은 Gitea releases 참조 명시.
- README 상단에 DOCS.md 포인터 1줄.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_012Mc6W1fgsrbFKTsqA6P8La
This commit is contained in:
2026-06-27 12:37:29 +00:00
parent 13bb30e9ef
commit 993fae79d0
3 changed files with 56 additions and 0 deletions

19
CHANGELOG.md Normal file
View File

@@ -0,0 +1,19 @@
# Changelog
릴리스 변경 이력 인덱스 (역순). 각 항목의 상세 사용자-영향 설명은 [Gitea release](https://gitea.altair823.xyz/altair823-org/kebab/releases) 와 [docs/release-notes/](docs/release-notes/) 의 per-version 노트에 있다. 버전 bump 규칙은 [CLAUDE.md](CLAUDE.md) §Release.
| 버전 | 요약 | 노트 |
|---|---|---|
| **v0.32.0** | ponytail-audit over-engineering 정리 arc — 죽은 search-cache scaffold 제거, 9 AST chunker→1 통합(byte-identical), shim crate 흡수(crate 22→20), FusionPolicy/YAML/NLI. | [release](https://gitea.altair823.xyz/altair823-org/kebab/releases/tag/v0.32.0) · [notes](docs/release-notes/v0.32.0-draft.md) |
| **v0.31.0** | 척추 단순화 + 캐시 전면화 — tui·multi-turn 세션·candle 제거, config v4→v5, image/pdf/code 임베딩 캐시, OCR/caption derivation 캐시. | [release](https://gitea.altair823.xyz/altair823-org/kebab/releases/tag/v0.31.0) · [notes](docs/release-notes/v0.31.0-draft.md) |
| **v0.30.1** | pdf-page-v1.2 oversize 분할 / rag-v4 provenance 라벨 / config budget floor 검증. | [release](https://gitea.altair823.xyz/altair823-org/kebab/releases/tag/v0.30.1) · [notes](docs/release-notes/v0.30.1-draft.md) |
| **v0.30.0** | md-heading-v2 — 거대 청크가 임베딩 컨텍스트를 깨지 않도록 oversize 후처리 분할. | [release](https://gitea.altair823.xyz/altair823-org/kebab/releases/tag/v0.30.0) · [notes](docs/release-notes/v0.30.0-draft.md) |
| **v0.29.0** | provenance 출처 필터 — `[[workspace.sources]]` 멀티소스 + `--source` / `--source-type`. | [release](https://gitea.altair823.xyz/altair823-org/kebab/releases/tag/v0.29.0) · [notes](docs/release-notes/v0.29.0-draft.md) |
| **v0.28.0** | config 스키마 v2→v3 — 미디어 ingest 설정을 `[ingest]` 우산으로 통합. | [release](https://gitea.altair823.xyz/altair823-org/kebab/releases/tag/v0.28.0) · [notes](docs/release-notes/v0.28.0-draft.md) |
| **v0.22.0** | candle 임베딩 provider (NUMA-안전, opt-in). *(v0.31.0 에서 candle 제거됨.)* | [release](https://gitea.altair823.xyz/altair823-org/kebab/releases/tag/v0.22.0) · [notes](docs/release-notes/v0.22.0-draft.md) |
| **v0.20.2** | Ask 응답언어 자동 매칭 + 검색 품질 eval 인프라. | [release](https://gitea.altair823.xyz/altair823-org/kebab/releases/tag/v0.20.2) · [notes](docs/release-notes/v0.20.2-draft.md) |
| **v0.20.1** | 한국어 형태소 검색(V009) + 영어 substring 회귀 수정. | [notes](docs/release-notes/v0.20.1-draft.md) |
> **v0.1.0 ~ v0.19.0, v0.21.x, v0.23.0 ~ v0.27.x** 등 per-version 노트가 없는 릴리스는 [Gitea releases](https://gitea.altair823.xyz/altair823-org/kebab/releases) 의 태그 목록을 참조. (kebab 은 v0.1.0 부터 태그가 있으나 상세 노트는 v0.20.1 부터 작성.)
새 릴리스 컷 시: `docs/release-notes/vX.Y.Z-draft.md` 작성(gitea 가 긴 한국어 body 를 손상시켜 release 는 짧은 body + 이 파일 링크) → 이 표에 한 줄 추가.

35
DOCS.md Normal file
View File

@@ -0,0 +1,35 @@
# 📍 kebab 문서 지도 (Documentation Map / Source-of-Truth Index)
**현재 코드베이스의 진실 = 코드 + 아래 *living* 문서.** *계약* 은 "무엇을 의도했나"의 동결된 baseline, *증거* 는 과거 검증 기록이다. 그 외 historical 문서(옛 실행계획·task spec·feature spec·handoff)는 **git history 에만** 있다 — 2026-06-27 doc-reorg 에서 압축·삭제했고, durable 한 내용은 전부 아래 living 문서로 흡수했다.
> 처음 보는 사람은 이 표 하나로 "어디를 봐야 현재 진실인지" 알 수 있다. 무엇이 최신인지 헷갈리면 여기부터.
## 알고 싶은 것 → 어느 문서 (Source of Truth)
| 알고 싶은 것 | 봐야 할 문서 | 구역 |
|---|---|---|
| 어떻게 설치·사용하나 (명령·플래그·config) | [README.md](README.md) | living |
| 내부 구조·crate 그래프·기술 결정·구현 불변식 | [docs/ARCHITECTURE.md](docs/ARCHITECTURE.md) | living |
| 지금 어디까지 됐나 (phase 진척·다음 후보) | [HANDOFF.md](HANDOFF.md) + [tasks/INDEX.md](tasks/INDEX.md) | living |
| **동작이 설계와 다를 때 뭐가 맞나** (머지 후 deviation) | [tasks/HOTFIXES.md](tasks/HOTFIXES.md) | living · **최우선 진실** |
| 버전별 변경 이력 | [CHANGELOG.md](CHANGELOG.md) + [docs/release-notes/](docs/release-notes/) | living |
| 컴포넌트(crate 그룹) 상세 구조 | [docs/components/](docs/components/)`<group>/README.md` | living |
| `--json` wire 계약 (외부 통합) | [docs/wire-schema/v1/](docs/wire-schema/v1/) | living (계약) |
| 에이전트/MCP 통합 | [docs/mcp-usage.md](docs/mcp-usage.md) | living |
| 격리 KB 로 직접 돌려보기 (smoke) | [docs/SMOKE.md](docs/SMOKE.md) | living |
| 기능별 도그푸딩 시나리오 | [docs/DOGFOOD.md](docs/DOGFOOD.md) | living |
| AI 코딩 에이전트 작업 규칙 | [CLAUDE.md](CLAUDE.md) | living |
| 설계 원안 (12 섹션 계약) | [docs/superpowers/specs/2026-04-27-kebab-final-form-design.md](docs/superpowers/specs/2026-04-27-kebab-final-form-design.md) | **계약 (frozen)** |
| 설계 기원·근거 (최초 보고서) | [kebab_local_rust_report.md](kebab_local_rust_report.md) | 증거 |
| v0.18.0 NLI 검증 도그푸딩 증거 | [docs/dogfood/v0.18.0/](docs/dogfood/v0.18.0/) | 증거 |
## 구역 (zones)
- **living** — 현재 코드베이스의 진실. 기능/표면 변경 시 동기화 필수 (CLAUDE.md §User-facing docs 가 강제).
- **계약 (frozen)** — `docs/superpowers/specs/2026-04-27-…-design.md` 단 하나. "무엇을 의도했나"의 동결 baseline. 편집 금지. 실제 동작이 이와 다르면 **HOTFIXES.md 가 진실**.
- **증거** — 과거 검증/설계 기록 (rust_report, dogfood/v0.18.0). 갱신 안 함.
- **git history** — 삭제된 historical 문서(plans·handoffs·task specs·feature specs)는 git 에만. `git log --all -- <path>` 로 복구 가능. durable 내용은 이미 living 으로 흡수됨.
## 원칙 (재발 방지)
새 결정·deviation 은 **HOTFIXES.md** 에, 구조·기술결정은 **ARCHITECTURE.md** 에 직접 기록한다. 별도 "실행계획/handoff" 문서를 새로 쌓지 않는다 — 그게 268개로 불어난 원인이었다 (CLAUDE.md §User-facing docs).

View File

@@ -2,6 +2,8 @@
`kebab` 는 개인용 로컬 knowledge base + RAG 도구다. Markdown · PDF · 이미지 · 소스코드를 한 곳에 색인하고, 하이브리드 의미 검색과 근거 인용을 포함한 LLM 답변을 **단일 binary** 로 제공한다. 모든 추론은 로컬 (Ollama + fastembed) 에서 돌아간다.
> 📍 **어느 문서가 현재 진실인지** 한눈에: [DOCS.md](DOCS.md) (문서 지도 / Source-of-Truth 인덱스).
## Quick start
사전 요구는 두 가지뿐이다.