Orchestrator of the user conversation — not just RAG.
The turn is led by a chat model chosen by the user; it holds
the search_knowledge tool (when the base is non-empty) and decides
on each message whether to reach into the base. Small talk — it answers from
itself; a knowledge question — it calls search and builds the answer on what it
retrieved, with streaming and citations. Retrieval itself (search and the ACL
pre-filter) belongs to
Knowledge Store; Query Engine does not do it — it invokes it as a tool.
Four pillars of the module
Query Engine is a conversation orchestrator, not just RAG. It holds the state; surfaces are thin clients.
The turn is led by a chat model AI — one tool in hand.
search_knowledgesearch_knowledge
One call — five steps. The ownership boundary runs along the belt.
The answer contract — three promises.
Detailed design decisions for the module.