feat: v0.20.2 — Ask 응답언어 rag-v3 + 8 dogfood findings + 검색 품질 eval baseline #192
Reference in New Issue
Block a user
Delete Branch "fix/v0-20-2-dogfood-findings"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
요약
v0.20.1 (한국어 형태소 검색) 후속 patch release. 도그푸딩 8-finding 라운드에서 발견된 Ask 응답언어 / wire schema / UX 표면을 정비하고, 검색 품질 정량 검증 인프라(golden suite + eval baseline)를 신규 추가했다. 핵심은 Ask 응답언어 자동매칭(
rag-v3)과 검색 품질 baseline(hybrid hit@3=1.0 / MRR=0.833) 확보.설계: docs/superpowers/specs/2026-05-28-v0.20.2-dogfood-findings-design.md, docs/superpowers/specs/2026-05-29-dogfood-search-quality-eval-design.md
계획: docs/superpowers/plans/2026-05-28-v0.20.2-dogfood-findings-plan.md
변경 (8 findings + 검색 품질)
SYSTEM_PROMPT_RAG_V3신설(rag-v2 7규칙 + "답변=질문 언어"), config defaultrag-v2→rag-v3. O-2: refusal/hedge 문구 언어중립화.bulk_search_input.schema.json(15필드) + error shape hint.doc_id \t title \t doc_path.lang="und"가 source code doc 에서 정상임을 docs 명시.fusion_score/score_kind가retrieval.*nested 임을 docs.index_version(vector store) vs search_hitindex_version(FTS5) 구분.kebab initOllama endpoint hint.--configfacade 패치:kebab eval가--confighonor (검색 품질 eval 의 dogfood KB 평가 enabler)./build/dogfood/golden_queries.yaml10 query) + eval baseline.검증
cargo test --workspace --no-fail-fast -j1) 전체 통과, FAILED 0.Known limitation
시험 항목 (Test Plan)
Assisted-by: Claude Code
회차 1 — docs 신규분 검토. code_lang_breakdown 실재 + eval run --json 의 run_id JSON 출력 둘 다 확인 결과 정확(non-issue). 유일한 actionable: HOTFIXES line 35 의
<REFUSE>marker 표기 오류 — release-notes 정정과 동일 수정 요청.@@ -17,0 +32,4 @@| 8 | Ollama endpoint hint | `kebab init` 에 endpoint config 주석 힌트 추가 | init 출력 확인 ✅ || - | eval `--config` facade | eval run/aggregate/compare 가 `--config` honor | dogfood KB eval 가능 ✅ |**Finding O-2 known limitation**: gemma4:e4b 같은 소형 모델은 refusal 메시지(근거 부족 시)의 언어가 query 언어와 불일치할 수 있음 (영어 query → 한국어 refusal 가능). refusal 판정 자체는 `<REFUSE>` marker 기반이라 정확도 영향 없음. v0.20.2 known limitation 명시.<REFUSE>marker 표기는 사실과 다름 — refusal 판정은 답변의 citation marker([#번호]) 유무 기반이다 (pipeline.rs:463-486;근거가 부족정규식은 grounded/refusal_reason 결정에 no-op, tracing 관찰용).<REFUSE>같은 특수 토큰은 없음. release-notes 에서 정정한 것과 동일하게 citation marker 기반 표현으로 수정 필요.회차 2 — 회차 1 지적(HOTFIXES
<REFUSE>marker → citation marker) 반영 확인(ca8c83b). docs/code 전반 잔여 actionable 없음: code_lang_breakdown 실재·eval run --json·opus code-review(facade/rag-v3/O-2/wire) 모두 검증 완료. 머지 동의.