Skip to content

Expose chunk_tier as a search filter #95

Description

@GoodbyePlanet

Context

chunk_tier is computed for every indexed symbol in server/indexer/pipeline.py ("method" if the symbol has a parent_name, "class" otherwise) and is registered as a Qdrant keyword payload index in server/store/qdrant.py. It's documented in the README/docs as "usable as a filter", but no code path currently applies one.

Problem

None of the MCP tools in server/tools/search.py (search_code, find_symbol, find_usages, get_code_context) expose a chunk_tier parameter, and QdrantStore.search() / QdrantStore.find_by_name() only build filters on service (and symbol_type/symbol_name for find_by_name). So the index exists but is dead weight — clients can't actually scope a query to just classes or just methods.

Proposal

  • Add an optional chunk_tier: str | None ("method" / "class") parameter to search_code (and possibly find_symbol), threaded through to QdrantStore.search() as an additional FieldCondition in the query filter.
  • Update README/docs examples to show the new filter in use.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions