Commit History
-
[NOTICKET] IntentRouter + planner + dispatcher + QueryService + AnswerAgent + ChatHandler
Rifqi Hafizuddin +1: Claude Opus 4.7Bundles every Both-PR work item that doesn't require teammate's tabular modules. Phase 1 endpoints and chatbot.py are intentionally NOT touched -- cleanup PR will rewire /chat/stream and rename answer_agent.py -> chatbot.py. - IntentRouter: classify chat / unstructured / structured; history-aware rewritten_query via Pydantic structured output. Prompt with full ruleset + few-shot in config/prompts/intent_router.md. - Planner prompt: build_planner_prompt(question, catalog, previous_error) reuses catalog.enricher.render_source so DB and tabular sources render identically across enricher and planner. System prompt has hard constraints + DB and tabular few-shot in config/prompts/query_planner.md. - QueryPlannerService: Azure OpenAI structured output -> QueryIR. Injectable chain. Supports retry via previous_error arg. - ExecutorDispatcher: pick(ir) routes by source.source_type. Lazy executor imports keep module import-safe. Caches per source_type. Tests inject factories. - Q…f65aee0
-
initial structure
efc0c0a