• v0.5.0 cf3acfc136

    v0.5.0 Stable

    altair823 released this 2026-05-10 08:10:06 +00:00 | 548 commits to main since this release

    변경사항 (since v0.3.3)

    • #130 chore: bump version 0.4 → 0.5
    • #129 feat(fb-37): trace + stats — search debug + KB health surface
    • #128 chore: sync Cargo.lock for kebab-mcp time dep (fb-36)
    • #127 feat(fb-36): search filter args (--media / --ingested-after / --doc-id + 4 existing)
    • #126 feat(fb-35): verbatim fetch (chunk / doc / span)
    • #125 feat(fb-34): output budget controls
    • #124 feat(fb-33): streaming ask (ndjson delta)
    • #123 chore: bump version 0.3.3 → 0.4.0
    • #122 feat(fb-32): per-hit + per-citation freshness indicators
    • #121 docs(skill): MCP-first guidance + CLI as fallback
      v0.5.0 은 도그푸딩 피드백 일괄 batch — search/ingest 의 agent 친화 surface 6가지를 한 번에 추가. wire schema 변경은 모두 additive minor (기존 consumer 무영향, schema bump 없음).

    신규 surface

    • --max-tokens N / --snippet-chars N / --cursor (fb-34) — 응답 크기 budget + pagination. 결과는 search_response.v1 envelope (기존 bare search_hit.v1[] 대체, 기존 호환 유지).
    • --media md|pdf|image|audio|other / --ingested-after RFC3339 / --doc-id ID (fb-36) + 기존 4종 노출 (--tag, --lang, --path-glob, --trust-min).
    • --trace (fb-37) — pre-fusion lex/vec list + RRF union + per-stage timing 을 응답의 optional trace 필드로 emit. 캐시 우회 (debug intent — fresh run 보장).
    • search hit 의 stale + indexed_at 필드 (fb-32) — config.search.stale_threshold_days 기준 stale 판정.

    kebab ask

    • --stream (fb-33) — token-by-token answer 를 answer_event.v1 ndjson 으로 stderr emit. 최종 answer 는 기존 answer.v1 로 stdout.

    kebab fetch (신규 명령, fb-35)

    • kebab fetch chunk <chunk_id> [--context N] — chunk verbatim + context.
    • kebab fetch doc <doc_id> — doc 전체 verbatim.
    • kebab fetch span <doc_id> --line-start N --line-end M — 라인 범위 verbatim.
    • 응답 schema fetch_result.v1. PDF/audio span 은 error.v1.code = span_not_supported.

    kebab schema

    • stats 객체 4 신규 필드 (fb-37): media_breakdown (5키 패딩), lang_breakdown (NULL 키는 "null"), index_bytes (sqlite + lancedb 디스크 합), stale_doc_count.
    • 위 search surface 거울: 7 신규 filter 입력 (fb-36), 3 budget 입력 (fb-34), trace: bool 입력 (fb-37).

    TUI Search pane

    • t 키 (fb-37) — TracePopup 모달, lex/vec/rrf 후보 + per-stage timing scroll.

    호환성

    • wire 모든 변경 additive minor — 기존 search_response.v1 / schema.v1 consumer 무영향. *.v2 cascade 없음.
    • pre-1.0 minor convention — 0.x.y 의 minor bump 는 surface 추가 누적, breaking change 없음.
    • SearchOpts / SearchResponse / SearchFilters / IndexStats 도메인 type 의 신��� 필드는 #[serde(default)] 로 옛 JSON deserialize 보존.

    도그푸딩 가이드

    # Trace 디버그
    kebab search "rust async" --trace --json | jq .trace
    
    # KB 건강 점검
    kebab schema --json | jq .stats
    
    # Filter 조합
    kebab search "API" --media md --ingested-after 2026-01-01 --json
    
    # Verbatim fetch
    kebab fetch chunk c-abc123 --context 1
    
    # Streaming ask
    kebab ask "how does X work?" --stream
    

    의존성 추가

    time workspace dep 가 kebab-mcp 로 확장 (fb-36 RFC3339 파싱).

    Downloads