Skip to content

feat: expose chunk_tier as a search filter - #98

Merged
GoodbyePlanet merged 1 commit into
mainfrom
feat/chunk-tier-search-filter
Jul 25, 2026
Merged

feat: expose chunk_tier as a search filter#98
GoodbyePlanet merged 1 commit into
mainfrom
feat/chunk-tier-search-filter

Conversation

@GoodbyePlanet

Copy link
Copy Markdown
Owner

Summary

  • chunk_tier ("method"/"class") is computed for every symbol and registered as a Qdrant keyword payload index, but no MCP tool or store method actually applied it as a filter — the index was dead weight.
  • Added chunk_tier: str | None to QdrantStore.search() and QdrantStore.find_by_name(), building an additional FieldCondition in the query filter.
  • Exposed chunk_tier on the search_code and find_symbol MCP tools and threaded it through.
  • Updated README.md and docs/retrieval-rrf.md to document the new filter.

Test plan

  • uv run pytest tests/test_store.py tests/tools/test_search.py -q — added filter-passthrough tests for both tools and both store methods
  • uv run pytest -q — 269 passed
  • ruff check clean

Closes #95

🤖 Generated with Claude Code

chunk_tier is computed for every indexed symbol and registered as a
Qdrant keyword payload index, but no code path applied it as a filter,
so clients couldn't scope a query to just classes or just methods.

Adds chunk_tier to QdrantStore.search() / find_by_name() as a
FieldCondition, and threads it through the search_code and find_symbol
MCP tools.

Closes #95

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
@GoodbyePlanet
GoodbyePlanet merged commit d0f192a into main Jul 25, 2026
2 checks passed
@GoodbyePlanet
GoodbyePlanet deleted the feat/chunk-tier-search-filter branch July 25, 2026 20:35
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Expose chunk_tier as a search filter

1 participant