Grounded Q&A over docs, with evals that fail the build
A RAG demo shows one good answer and stops. I wanted to know how often the right passage is retrieved, when the service should refuse, and whether a change made things better or worse.
A C# ingestion pipeline into Azure AI Search, an ASP.NET Core answer API that cites its sources and refuses when they fall short, a React UI, and an MCP server. An eval harness runs in CI against Azure, and the whole stack is defined in Bicep.
Hybrid retrieval put the right doc in the top 3 for 93% of 40 hand-written questions, against 78% for keyword-only. All 3 unanswerable questions were refused in every run. The question set is small, so a few points either way is noise.