--- name: route-by-query-shape description: When the agent calls memory_search with a relationship-shaped query ("who did I talk to about X"), redirect to the knowledge_graph backend where it will actually find the answer. tier: executable bitterbot: always: false interceptors: - id: route-by-query-shape:relationship builtin: true activates_on: memory_search with relationship-shaped query intervention: modify (route to knowledge_graph backend) --- # route-by-query-shape When you ask Bitterbot a relationship question — "who did I talk to about Q4?", "who worked with me on Foo?" — the vector-based `memory_search` often misses because the answer lives in entity relationships, not in chunk text. The graph backend gets these right. This interceptor watches `memory_search` calls, detects relationship-shaped queries, extracts the salient entity, and re-routes the call to the graph backend before it executes. ## What you'll see For relationship questions, the agent will hit the knowledge graph rather than searching through unstructured text. Expect noticeably better hit rates on "who did X with Y" style questions. ## Implementation Built-in interceptor `route-by-query-shape:relationship` lives in `src/agents/skills/builtin-interceptors/route-by-query-shape.ts`. Fires up to 12 times per session.