f1a448d6dc
refactor(rename): kb → kebab — binary, env vars, XDG paths, file renames
...
두 번째 commit. 사용자 facing surface (CLI binary, env vars, XDG paths)
+ 코드 안 single-letter token (`KB_`, `kb.sqlite`, `/kb/`, tracing
target) 일괄 rename. 그리고 3 개 file rename:
- 디자인 doc `2026-04-27-kb-final-form-design.md` →
`2026-04-27-kebab-final-form-design.md`
- 최초 보고서 `kb_local_rust_report.md` → `kebab_local_rust_report.md`
- workspace ignore `.kbignore` → `.kebabignore`
## 변경
- `crates/kebab-cli/Cargo.toml`: `[[bin]] name = "kb"` → `"kebab"`.
- `crates/kebab-cli/src/main.rs`: `#[command(name = "kb", …)]` →
`name = "kebab"`.
- 모든 `KB_*` env var (코드 + doc + 테스트) → `KEBAB_*`. apply_env
prefix 매칭 + 30+ 개 setting 키 모두.
- XDG paths: `~/.config/kb` / `~/.local/share/kb` / `~/.cache/kb` /
`~/.local/state/kb` → `~/.config/kebab` 등. config defaults +
expand_path tests + paths.rs 의 hardcode 모두.
- SQLite filename: `kb.sqlite` → `kebab.sqlite` (`SQLITE_FILE` const
+ 테스트 hardcode 모두).
- tracing target: `target: "kb-*"` → `"kebab-*"` (10+ 곳).
- snapshot fixture: `.kbignore` → `.kebabignore` (`fixtures/source-fs/
tree-1.snapshot.json` 갱신).
## 검증
- `cargo test --workspace -j 1` clean (linker OOM 회피 위해 직렬).
- `cargo clippy --workspace --all-targets -- -D warnings` clean.
다음 commit 에서 docs sweep.
🤖 Generated with [Claude Code](https://claude.com/claude-code )
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com >
2026-05-02 04:01:35 +00:00
0699220d5d
p1-1: tree-1 fixture + snapshot/determinism tests
...
fixtures/source-fs/tree-1/:
README.md
notes/alpha.md
notes/beta.md
ignored/skip.tmp (excluded by .kbignore *.tmp)
.kbignore ("*.tmp")
.DS_Store (implicitly excluded by FsSourceConnector)
The committed baseline (tree-1.snapshot.json) has discovered_at,
source_uri.value, and stored.path replaced with "<stripped>" so the
JSON is portable across checkout locations and CI runs. The test
applies the same stripping to scan output before comparing.
The determinism test runs scan twice and asserts byte-identical
serialized JSON (post-strip) — same filesystem state must yield the
same Vec<RawAsset>.
Regenerate baseline with `KB_REGEN_SNAPSHOT=1 cargo test -p kb-source-fs
--test snapshot_tree1 -- tree_1_snapshot_matches_baseline`.
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com >
2026-04-30 12:28:00 +00:00
a166b7051c
p0-1: wire-schema stubs, doc/spec stubs, V001 migration, fixtures
...
- docs/wire-schema/v1/ ships 7 schema stubs (citation, search_hit,
answer, ingest_report, doc_summary, chunk_inspection, doctor) that
pin schema_version + required fields per design §2. Full property
validation lands in later phases.
- docs/spec/ ships 7 markdown stubs each linking to the canonical
frozen design (domain-model, ids, canonical-document, chunk-policy,
citation-policy, module-boundaries, ai-generation-guidelines).
- migrations/V001__init.sql contains only schema_meta + migrations
tables per design §5.1; data tables ship in P1-6/P2-1/P3-3.
- fixtures/ has the 11 subdirectories every downstream task references
(markdown, source-fs, search/{lexical,hybrid}, embed, vector, rag,
eval, image, pdf, audio). Empty subdirs use .gitkeep so they track.
fixtures/markdown/ ships the 3 phase-0 fixtures: simple-note.md,
nested-headings.md, code-and-table.md.
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com >
2026-04-30 05:17:32 +00:00