# Evidence-First Citations in Chat Responses ## Module AdvisoryAI ## Status IMPLEMENTED ## Description Evidence bundle assembly with citations in chat responses and UI evidence drilldown is implemented. ## Implementation Details - **Modules**: `src/AdvisoryAi/StellaOps.AdvisoryAI/Chat/`, `src/AdvisoryAi/StellaOps.AdvisoryAI/Explanation/` - **Key Classes**: - `EvidenceAnchoredExplanationGenerator` (`src/AdvisoryAi/StellaOps.AdvisoryAI/Explanation/EvidenceAnchoredExplanationGenerator.cs`) - generates explanations anchored to evidence citations - `EvidencePackChatIntegration` (`src/AdvisoryAi/StellaOps.AdvisoryAI/Chat/EvidencePackChatIntegration.cs`) - embeds evidence citations into chat responses - `GroundingValidator` (`src/AdvisoryAi/StellaOps.AdvisoryAI/Chat/GroundingValidator.cs`) - validates that AI claims are grounded in cited evidence - `ExplanationPromptTemplates` (`src/AdvisoryAi/StellaOps.AdvisoryAI/Explanation/ExplanationPromptTemplates.cs`) - prompt templates for citation-rich explanations - `DefaultExplanationPromptService` (`src/AdvisoryAi/StellaOps.AdvisoryAI/Explanation/DefaultExplanationPromptService.cs`) - assembles explanation prompts with citation instructions - `InMemoryExplanationStore` (`src/AdvisoryAi/StellaOps.AdvisoryAI/Explanation/InMemoryExplanationStore.cs`) - stores explanation requests and results - `ActionProposalParser` (`src/AdvisoryAi/StellaOps.AdvisoryAI/Chat/ActionProposalParser.cs`) - parses action proposals from LLM responses with citation references - **Interfaces**: `IExplanationGenerator`, `IExplanationRequestStore`, `IEvidenceRetrievalService` - **Source**: Feature matrix scan ## E2E Test Plan - [ ] Generate an explanation via `EvidenceAnchoredExplanationGenerator` and verify it contains citation references to evidence items - [ ] Verify `GroundingValidator` rejects explanations that make claims without corresponding evidence citations - [ ] Verify `EvidencePackChatIntegration` embeds clickable citation references in chat response markdown - [ ] Verify `ExplanationPromptTemplates` instruct the LLM to cite evidence sources in its output - [ ] Verify `InMemoryExplanationStore` persists explanation requests and results for later retrieval - [ ] Verify `ActionProposalParser` extracts cited evidence IDs from LLM-generated action proposals