feat(rag): fb-41 PR-9d — dogfood retest + HOTFIXES closure + corpus 보존 #180
Reference in New Issue
Block a user
Delete Branch "feat/fb-41-pr-9d-dogfood-retest"
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?
요약
PR-1~PR-9c-2 머지 후 same dogfood corpus (
/build/cache/dogfood-v018/) 의 S7/S1/S3/S10 multi-hop retest. 핵심: S7 caffeine hallucination root cause 해결 확정.설계: docs/superpowers/specs/2026-05-25-p9-fb-41-finalize-spec.md (§3 PR-9d, §7 PASS criteria)
계획: docs/superpowers/plans/2026-05-25-p9-fb-41-finalize-plan.md (§6)
★ S7 결과
groundedrefusal_reasonnli_verification_failedanswerverification.nli_scoreverification.nli_thresholdPR-8 의 LLM-self-judge 가 caffeine 사실 부재에도 Adam gradient 식을 답변으로 emit 후 self-judge 가 reject 못함 (silent hallucination). PR-9c-2 의 NLI hook 가 entailment 0.0035 로 검출 → graceful refusal. LLM-self-judge 의 probabilistic ceiling 을 NLI 의 deterministic external verifier 가 극복.
전체 4 case 결과
nli_verification_failed, 0.0035llm_self_judgenli_verification_failed, 0.058llm_self_judgenli_model_unavailable(313s)llm_self_judgenli_verification_failed, 0.0028S3 의
nli_model_unavailableconsistent fail 은 v0.18.1 follow-up (HOTFIXES.md 의 fb-41 closure entry 의 follow-up subsection 참조). PR-9 의 NLI infrastructure 자체는 작동 (S1/S7/S10 의 entailment 측정 정상) — S3 만 특정 input 의존 fail. tracing log emit 안 됨 (debug env 이름 issue) → 진단 어려움.변경 사항
docs/dogfood/v0.18.0/
SUMMARY.md: sanitized 보고서 — PR-8 vs PR-9 비교 표 + S7 hallucination 해결 분석 + S3 follow-up + RAM/Disk 측정값 + threshold tuning iteration trigger 판단.s7-multihop-post-pr9.json+s1-...+s3-...+s10-...: 4 sample wire output (additive minor 의answer.v1.verificationfield +refusal_reason의 새 두 값 검증).tasks/HOTFIXES.md
측정값
~/.local/share/kebab/models/nli/) 또는 configstorage.model_dir.NLI threshold tuning iteration trigger 판단
없음 — 모든 PASS 케이스 (S7/S1/S10) 가 명백히 ungrounded 답변에서 entailment < 0.1. 0.5 threshold 가 과도하게 엄격하지 않음. 모든 retest 가 PR-8 baseline 의
llm_self_judgerefuse 와 일치 (false positive 없음).비범위
nli_model_unavailableroot cause 진단 (HOTFIXES follow-up subsection — v0.18.1 candidate).검증
/build/out/cargo-target/target/release/kebab, 274 MB, PR-9c-2 머지 후 build), Ollama gemma3:4b, fastembed multilingual-e5-small, mDeBERTa-v3-base-xnli-multilingual ONNX (1.1 GB cache).[rag] nli_threshold = 0.5,score_gate = 0.3./build/cache/dogfood-v018/(PR-1~PR-8 와 동일, 33 assets / 205 chunks)./build/cache/dogfood-v018/results/*.json) 와 한 줄 한 줄 비교.시험 항목 (Test Plan)
refusal_reason=nli_verification_failed, nli_score < 0.5 검증 (PR-8 의grounded=true + Adam hallucination회귀 fix).llm_self_judge와 PR-9 의nli_verification_failed양쪽 reject (no false positive).Assisted-by: Claude Code
회차 1 — PR-9d 측정 + 문서 PR 검토.
self-catch fix: SUMMARY.md 의 PR-8 baseline latency 표 정정 (
results/s1-multihop.json등은 PR-8 시점 아닌 더 이전 timeline — 614s/589s. S7 만results/post-pr8/보존되어 의미 있는 비교 158s → 241s). chore commita8fd699추가.칭찬 (산문):
S7 hallucination 해결 결정적 evidence — PR-8 의
grounded=true, refusal_reason=null, answer="...Adam gradient 공식..."(silent hallucination 명백) 와 PR-9 의refusal_reason=nli_verification_failed, nli_score=0.0035가 동일 query + corpus + LLM 환경에서 측정 — PR-9 의 NLI 개입 효과가 명확.S3 의
nli_model_unavailablegraceful refuse — S3 가 fail 했지만 crash 아닌 user-facing graceful refusal + 사용자 우회 path ([rag] nli_threshold = 0) 명시. fail-closed 정책 + recovery hint 가 production usability 확보.HOTFIXES PR-9 entry 의 closure 의 complete audit trail — sub-PR 머지 시퀀스 (PR #176-179 + PR-9d) + 비교 표 + RAM/Disk 측정값 + S3 follow-up subsection (symptom/diagnosis/hypothesis/next step 5 fields). 미래 작업자가 PR-9 history 추적 + S3 진단 시작 가능.
threshold tuning iteration trigger 판단의 evidence-based 결정 — "없음" 라는 결론에 PASS 케이스 entailment < 0.1 측정값 + false positive 없음 (PR-8 baseline 의 llm_self_judge 와 일치) 라는 두 evidence pillar. arbitrary 결정 아닌 측정 기반.
dogfood corpus 보존 결정 —
docs/dogfood/v0.18.0/의 4 sample JSON 이 wire schema 회귀 핀 역할. v0.18.1+ 에서 어떤 변경이 wire shape break 했는지 비교 가능.SUMMARY 의 한계 명시 — happy-path NLI 통과 sample 부재 (dogfood corpus 가 부정 위주) + gemma3:4b 외 모델 미측정 — what's missing 의 정직한 acknowledgement.
추가 actionable 없음 (latency self-catch 외). 핵심 목표 (S7 hallucination root cause 해결) ✅ 측정 evidence 로 확정. v0.18.0 cut PR 진행 가능 baseline.
머지 OK. 머지 후 cut PR (PR-9 의 closure) 가 final step.