-
v0.17.0 Stable
released this
2026-05-24 20:53:11 +00:00 | 313 commits to main since this release변경사항 (since v0.16.0)
- #161 feat: v0.17.0 PR-C — code_lang_chunk_breakdown additive wire field
- #160 feat: v0.17.0 PR-B — C typedef-wrapped struct/enum/union → typedef alias unit
- #159 feat: v0.17.0 한국어 trigram FTS tokenizer + lexical builder + hint surface
- #158 fix(dogfood): k8s multi-resource YAML chunk_id collision
- #157 chore(p10-1d-followup): reviewer nit cleanup — C extractor tests + HOTFIXES + cpp snapshot
v0.17.0 — Korean trigram + C typedef alias + chunk-count stats
P10 종합 도그푸딩 round 2 (2026-05-22) 의 세 follow-up 동시 cut.
PR-A (한국어 trigram) 가 본체, PR-B (C typedef) + PR-C (additive wire) 가 sister.Breaking — release 트리거
-
FTS5 tokenizer
unicode61→trigram(V007 migration, 자동 backfill).- 한국어
--mode lexical가 3자 이상 substring 매칭으로 정상 동작 (이전엔 0 hit). 해시 충돌같은 multi-token Korean query 가lexical.rs::build_match_stringtrigram-aware 재설계로 whole-phrase 후보로 hit.- 영어 lexical 도 substring 매칭 (
token이tokenizer도 hit) — recall ↑, 단어 경계 ↓. - 2자 이하 query 는 0-hit + CLI stderr
[hint] 3자 이상 키워드 권장 (trigram tokenizer 제약)+ TUI status bar + wiresearch_response.v1.hint필드. raw FTS5 single-quote mode ('...') 는 사용자 명시 의도이므로 hint 안 나옴. kebab.sqlite파일 크기 ~2-5배 또는 수백 MB 증가 (trigram index).- 사용자 작업 불필요 — v0.17.0 binary 가 기존 KB 를 열면 V007 자동 적용 (re-ingest 없음).
- 한국어
-
C parser_version
code-c-v1→code-c-v2(typedef alias cascade).typedef struct {...} Foo;/typedef enum {...} Bar;/typedef union {...} Baz;의 alias 가Citation::Code.symbol으로 search 노출.- 같은 file 의 옛 doc/chunks/LanceDB vector 는 신규
same-workspace_path orphan purgecascade 가 자동 정리 (stale_chunk_ids_for_workspace_path_except_doc_id+purge_document_at_workspace_path_except_doc_idhelper). - 사용자 작업 불필요 — 다음
kebab ingest가 자동 재처리.
Additive — wire breaking 아님
search_response.v1.hint: Option<String>— 위 한국어 안내가 wire 위에 라이드. MCP / agent 가 같은 query 재시도 대신 사용자에게 surface 가능.schema.v1.stats.code_lang_chunk_breakdown: { <lang>: <chunk_count> }— 기존code_lang_breakdown(doc count) 와 sister. indexing 압력 metric (한 PDF spec → 200 chunks vs 한 Rust file → 5 chunks).- 기존
code_lang_breakdown/repo_breakdownJSON schema description 의 "code chunk count" 오기재 → "doc count" 로 정정 (실제 구현은 처음부터 doc count).
Doc surface
- README 검색 명령 행: trigram 동작 + hint + 디스크 용량 1 줄.
- HANDOFF 머지 후 발견 deviation 절: 2026-05-24 entry 3개 (trigram / typedef / additive).
- HOTFIXES 2026-05-22 / 2026-05-21 typedef 항목 closure.
- docs/SMOKE.md "한국어 trigram 검색 (v0.17.0)" 새 절.
- integrations/claude-code/kebab/SKILL.md search 절에 hint 필드 안내 한 줄.
Verification
- workspace test (-j 1, 모든 18 crate) + clippy (-D warnings) green.
- 격리 도그푸딩 (6 fixture / Korean MD ×2 + English MD ×1 + C/Rust/Python ×1 each) 에서 12 시나리오 0 오류 — 한국어 trigram 7 case + C typedef 8 block 분포 + schema additive + incremental ingest skip.
Closes HOTFIXES 2026-05-22 (한국어 lexical) + 2026-05-22 (code_lang_breakdown chunk granularity) + 2026-05-21 (C typedef-wrapped struct).
Downloads