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>
This commit is contained in:
@@ -13,7 +13,7 @@ use kebab_store_sqlite::{EvalRunRow, SqliteStore};
|
||||
use time::OffsetDateTime;
|
||||
|
||||
use crate::loader::{load_golden_set, validate_against_db};
|
||||
use crate::metrics::{DEFAULT_GOLDEN_PATH, KB_EVAL_GOLDEN};
|
||||
use crate::metrics::{DEFAULT_GOLDEN_PATH, KEBAB_EVAL_GOLDEN};
|
||||
use crate::types::{EvalRun, EvalRunOpts, GoldenQuery, QueryResult};
|
||||
|
||||
/// Convert a wall-clock duration since `start` into milliseconds clamped
|
||||
@@ -46,7 +46,7 @@ pub fn run_eval_with_config(cfg: &kebab_config::Config, opts: &EvalRunOpts) -> R
|
||||
let golden_path = resolve_golden_path();
|
||||
let queries = load_golden_set(&golden_path).with_context(|| {
|
||||
format!(
|
||||
"load golden set from {} (override via KB_EVAL_GOLDEN)",
|
||||
"load golden set from {} (override via KEBAB_EVAL_GOLDEN)",
|
||||
golden_path.display()
|
||||
)
|
||||
})?;
|
||||
@@ -55,7 +55,7 @@ pub fn run_eval_with_config(cfg: &kebab_config::Config, opts: &EvalRunOpts) -> R
|
||||
// ── 2. Mint identifiers + open store ──────────────────────────────────
|
||||
let run_id = mint_run_id();
|
||||
let created_at = OffsetDateTime::now_utc();
|
||||
let commit_hash = std::env::var("KB_COMMIT_HASH")
|
||||
let commit_hash = std::env::var("KEBAB_COMMIT_HASH")
|
||||
.ok()
|
||||
.filter(|s| !s.is_empty());
|
||||
|
||||
@@ -110,7 +110,7 @@ pub fn run_eval_with_config(cfg: &kebab_config::Config, opts: &EvalRunOpts) -> R
|
||||
|
||||
let duration_ms = elapsed_ms_u32(started);
|
||||
tracing::info!(
|
||||
target: "kb-eval",
|
||||
target: "kebab-eval",
|
||||
run_id = %run_id,
|
||||
suite = %opts.suite,
|
||||
queries = per_query.len(),
|
||||
@@ -136,11 +136,11 @@ fn mint_run_id() -> String {
|
||||
format!("run_{id}")
|
||||
}
|
||||
|
||||
/// Resolve the golden YAML path. Honors the `KB_EVAL_GOLDEN` env
|
||||
/// Resolve the golden YAML path. Honors the `KEBAB_EVAL_GOLDEN` env
|
||||
/// override; otherwise relative to CWD. The path is NOT expanded for
|
||||
/// `~` / `${...}` placeholders — direct file paths only.
|
||||
fn resolve_golden_path() -> PathBuf {
|
||||
match std::env::var(KB_EVAL_GOLDEN) {
|
||||
match std::env::var(KEBAB_EVAL_GOLDEN) {
|
||||
Ok(s) if !s.is_empty() => PathBuf::from(s),
|
||||
_ => PathBuf::from(DEFAULT_GOLDEN_PATH),
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user