Files
kebab/tasks/p9/p9-fb-37-trace-and-stats.md

2.2 KiB

phase, component, task_id, title, status, target_version, depends_on, unblocks, contract_source, contract_sections, source_feedback
phase component task_id title status target_version depends_on unblocks contract_source contract_sections source_feedback
P9 kebab-cli + kebab-search + kebab-rag p9-fb-37 Trace (--trace) + stats — pipeline 가시성 completed 0.4.0
p9-fb-27
../../docs/superpowers/specs/2026-04-27-kebab-final-form-design.md
§4 search
§7 RAG
§10 UX
사용자 도그푸딩 2026-05-06 — agent / 사용자가 "왜 이 결과가 나왔는지" debug 필요. retrieval pipeline 의 각 stage 결과 + KB 건강 점검 surface 부재.

p9-fb-37 — Trace + stats

구현 완료. 본 spec 은 구현 시점의 frozen 상태.

증상 / 동기

  • search 결과 의문 — lexical / vector / RRF / rerank 각 stage 가 무엇 반환했는지 모름.
  • KB 건강 — doc count / chunk count / last ingest / index size / model versions — 단일 surface 없음.
  • agent 가 stale 판단 / 사용자가 디버깅 시 둘 다 필요.

Goal (skeleton)

  • kebab search Q --trace 또는 --explain — 응답에 trace 필드:
    • lexical_hits: [{doc_id, score, …}]
    • vector_hits: [...]
    • rrf_combined: [...]
    • reranked: [...] (reranker 도입 시)
    • timing: {lexical_ms, vector_ms, fusion_ms, total_ms}
  • kebab stats --json — KB 통계 (fb-27 의 schema 와 별도 명령 또는 통합).
  • TUI inspect 에 trace view — 1 hit 클릭 시 stage breakdown.

후속 작업 — brainstorm 필요 항목

  • trace 의 verbosity — 모든 stage default vs flag opt-in (응답 size 우려).
  • stats 명령의 위치 — kebab stats 또는 kebab schema --include-stats.
  • timing 정확도 — async stage 는 wall-clock 부정확.

Risks / notes

  • trace 응답 size 큼 — agent budget (fb-34) 와 충돌 가능, 기본 OFF 권장.
  • fb-27 introspection 의 stats 와 중복 — brainstorm 단계 통합 결정.
  • 우선순위 낮음 — 핵심 기능 (fb-26 ~ 36) 후순위.