-
Notifications
You must be signed in to change notification settings - Fork 2
[routing] Context-aware tool shortlisting with conversation hints #116
Copy link
Copy link
Open
Labels
area/routingRouting engine: catalog, graph, router, cardsRouting engine: catalog, graph, router, cardscomplexity/averageStandard effort, moderate familiarity neededStandard effort, moderate familiarity neededenhancementNew feature or requestNew feature or requestmilestone/v0.3v0.3 — Production readinessv0.3 — Production readinesspriority/mediumMedium priority — production readinessMedium priority — production readiness
Metadata
Metadata
Assignees
Labels
area/routingRouting engine: catalog, graph, router, cardsRouting engine: catalog, graph, router, cardscomplexity/averageStandard effort, moderate familiarity neededStandard effort, moderate familiarity neededenhancementNew feature or requestNew feature or requestmilestone/v0.3v0.3 — Production readinessv0.3 — Production readinesspriority/mediumMedium priority — production readinessMedium priority — production readiness
Problem
Current routing uses only the query text for beam search scoring, ignoring conversation context. Multi-turn routing quality degrades because each query is scored in isolation.
Proposal
Add optional
context_hints: list[str] | Noneparameter toRouter.route():Compute TF-IDF similarity between hints and node descriptions; apply a configurable boost multiplier (default 0.15) with recency weighting. Include
context_boost_appliedinRouteResultfor debuggability.Constraints
Acceptance Criteria
Router.route()accepts optionalcontext_hintsparameterRouteResultincludes context boost metadataFile Paths
src/contextweaver/routing/router.py(edit)tests/test_router.py(edit)References