Skip to content

Introduce PlannerNode (Tool-Choice Heuristics) in 'github-conversations-research-agent` #31

@jonmagic

Description

@jonmagic

Background

We need a node that decides whether to run semantic search, keyword search, or both.

Tasks

  • Create PlannerNode (in github-conversations-research-agent):
    • Input: shared[:current_query] (string).
    • Output: shared[:next_search] = {tool:, query:, qualifiers: {repo?, author?}}.
  • Simple rule set:
    • If regex /\b(repo|author|label|is|created|updated):/i matches → tool: :keyword
    • Else → tool: :semantic
  • Wire flow: AskClarifyingNode → PlannerNode → RetrieverNode (rename old DeepResearch exec portion).
  • Leave RetrieverNode temporarily hard-coded to semantic to keep compile green; log a TODO for next iteration.
  • Inline docs: explain the heuristic and future extension.
  • README: none yet (tool choice internal).

Acceptance Criteria

  • In dry-run (--verbose) mode the planner logs tool: keyword when user query contains repo:; otherwise semantic.

Metadata

Metadata

Assignees

Labels

No labels
No labels

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions