8f7b6ee538
feat(embed): candle 임베딩 provider (NUMA-안전, opt-in) + v0.22.0
...
duo-socket NUMA 서버에서 fastembed(onnxruntime)가 intra-op 스레드를 48개로
하드코딩해 NUMA 힙 손상 → double-free 로 ingest 가 죽는 문제를 회피하기 위해,
같은 multilingual-e5-large 모델을 순수 Rust(candle)로 돌리는 opt-in 임베딩
provider 를 추가한다.
- 신규 crate kebab-embed-candle: CandleEmbedder (kebab_core::Embedder).
hf-hub safetensors → XLMRobertaModel forward → mask mean-pool → L2 → e5
prefix. candle 의존성 트리를 이 crate 에 격리 (core/config 외 kebab-* 의존 0).
- 스레드 캡: [models.embedding].num_threads + env KEBAB_EMBED_THREADS →
글로벌 rayon 풀 1회 캡 (NUMA-안전 레버).
- kebab-app::embedder() 가 provider 분기 (fastembed/onnx/"" → 기존 경로 불변,
candle → CandleEmbedder, 미지값 → 에러).
- Phase 0 스파이크 crate 제거 (production 흡수).
- 버전 0.21.1 → 0.22.0 (신규 config surface, pre-1.0 minor bump).
패리티: cosine_min=1.000000, max abs diff=2.01e-7 (< 1e-5) → embedding_version
유지, 재색인 0. fastembed default 동작/벡터 불변. wire schema 변경 없음.
검증(파일+exit code): clippy -D warnings EXIT=0(warning 0), test EXIT=0
(candle unit 5 + thread_cap rayon=4 + config 68), parity #[ignore] EXIT=0.
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com >
2026-06-01 14:52:25 +00:00
028d9ad4ea
docs(release): v0.20.1 release notes draft + spec/plan dogfood cross-link
...
#1 (사용자 요청): release notes draft 작성 + spec/plan 의 dogfood
evidence cross-link 보강.
docs/release-notes/v0.20.1-draft.md (신규):
- 4 단락 본문 (한국어 2자 query 지원 + 영어 substring 회귀 + V007→V009
자동 backfill + ingest 성능 영향).
- Migration cascade table (lexical_index_version, corpus_revision,
wire schema shape preservation).
- API + dependency 변경 (lindera v3, lindera-ko-dic v3, retired
short_query_hint helper, 새 facade APIs).
- Breaking changes 명시 (영어 substring 회귀, 첫 부팅 latency, DB/
binary 크기 증가).
- Upgrade 절차 + Known limitation + 14 dogfood scenario reference.
spec Appendix B (segmentation evidence):
- "Empirical verification (2026-05-28 dogfood — post-merge update)"
subsection 신규. prior-knowledge 가정 vs 실측 결과 table. Scenario
1-4 모두 verified 표시. ko-dic 의 '서울특별시' → '[서울, 특별시]'
분해 증거 명시.
plan Changelog:
- post-implementation entry: 22 commit on branch, S3 blockers, S7
cascade, S11 sanity regression updates, opus PR review 4 finding
fixes.
- dogfood evidence entry: 14 scenario verify pass, ko-dic 분해
evidence, HOTFIXES + spec Appendix B cross-link.
Spec: …spec…md Appendix B
Plan: …plan…md (post-implementation + dogfood evidence Changelog)
Release notes: docs/release-notes/v0.20.1-draft.md
2026-05-28 13:34:33 +00:00