• v0.17.0 Stable

    altair823 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 unicode61trigram (V007 migration, 자동 backfill).

      • 한국어 --mode lexical 가 3자 이상 substring 매칭으로 정상 동작 (이전엔 0 hit).
      • 해시 충돌 같은 multi-token Korean query 가 lexical.rs::build_match_string trigram-aware 재설계로 whole-phrase 후보로 hit.
      • 영어 lexical 도 substring 매칭 (tokentokenizer 도 hit) — recall ↑, 단어 경계 ↓.
      • 2자 이하 query 는 0-hit + CLI stderr [hint] 3자 이상 키워드 권장 (trigram tokenizer 제약) + TUI status bar + wire search_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-v1code-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 purge cascade 가 자동 정리 (stale_chunk_ids_for_workspace_path_except_doc_id + purge_document_at_workspace_path_except_doc_id helper).
      • 사용자 작업 불필요 — 다음 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_breakdown JSON 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