chore(search): PR #219 회차 1 리뷰 반영 — 잔존 dead-cache 주석/help text 정리

리뷰어 지적 6건 + 전체-트리 grep 으로 추가 발견한 동일 부류 4건:
- search --trace help text(CLI main.rs + MCP search tool) "Bypasses cache"
  → "always a fresh retriever run" (없는 캐시 광고 제거)
- corpus_revision 의 실제 소비자는 incremental ingest 가 아니라 cursor
  pagination(stale_cursor) 임을 반영 — HANDOFF 노트 사실 정정 + ingest.rs
  bump 주석/warn 로그 + corpus_revision/search_lexical 테스트 주석 재서술
  (검증: cursor.rs + app.rs:327/333/498 가 유일 소비자, ingest 는 bump 만)
- bulk.rs "LRU cache amortize" → embedder cold-start 만 amortize
- app.rs lexical_index_version "search cache 무효화" 제거
- app-facade README 의 search cache bullet 을 "(제거됨 — 이력)" 표시

잔여 dead-cache 개념 참조 0건(active tree), clippy -D warnings 클린.

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-26 17:25:03 +00:00
parent db9090c87b
commit 8dfeb007e0
8 changed files with 17 additions and 16 deletions

View File

@@ -1,7 +1,7 @@
//! p9-fb-19: `corpus_revision` kv counter — exposed on `SqliteStore`
//! so `kebab-app::ingest` can bump after a successful commit and
//! `App::search`'s LRU cache key can snapshot the current value for
//! invalidation.
//! search pagination cursors can snapshot the current value to detect
//! staleness (`stale_cursor`).
use kebab_config::Config;
use kebab_store_sqlite::SqliteStore;
@@ -21,8 +21,9 @@ fn open_store(tmp: &TempDir) -> SqliteStore {
}
/// Fresh store baseline: V004 seeds `corpus_revision = 0`, then V009,
/// V010, and V011 migrations bump it by one each to invalidate any stale
/// LRU cache — so a fresh store after `run_migrations()` reads back as `3`.
/// V010, and V011 migrations bump it by one each to invalidate any
/// outstanding pagination cursor — so a fresh store after
/// `run_migrations()` reads back as `3`.
/// (V012 derivation_cache + V013 drop-chunk-aliases are structural/additive
/// and do NOT bump corpus_revision.)
#[test]