Grounded answer citations
Keep older answers inspectable after a source revision
Updating the knowledge base should not silently change what an earlier answer claims to have used. Plan how source versions and saved answers move together.
In this article
Separate current knowledge from historical evidence
A search index usually aims to return current information. A saved answer has a different need: it should identify the evidence used when it was created. Treating both needs as one mutable URL creates ambiguity as soon as a policy changes.
Consider an answer generated before a new approval threshold took effect. If its citation always opens the latest policy, the old answer may now appear unsupported or incorrectly presented as current. Keeping a source version with the answer makes the situation explainable, even if the product does not retain the full document itself.
Decide which historical material can be retained and for how long. Some source systems provide versioned links, while others do not. The design must acknowledge that difference instead of implying permanent inspectability everywhere.
Introduce version-aware records first
Add source version and passage location to new evidence records before replacing the retrieval or citation system. Preserve old identifiers so existing answers continue to resolve during the transition. If older records lack version information, mark that limitation explicitly rather than assigning the current version retrospectively.
Build an inventory of stored answers and source types. Group records by what can be recovered reliably. A document with a stable version history may support backfilling from an existing timestamp. A file overwritten in place may not. Do not infer a historical version unless the source provides enough evidence to establish it.
The migration should be restartable and should record why a reference could not be upgraded. That makes partial failures reviewable without repeatedly rewriting already verified records.
Compare behaviour with real transitions
Use fixtures in which a policy is edited, moved, withdrawn and access-restricted. Check newly generated answers and answers saved before the change. The new system should retrieve appropriate current evidence while keeping historical references honest about their origin.
Test the interface language too. A visible revision date can be useful, but it should not suggest that an old answer has been reviewed against the latest policy. If the product offers revalidation, save its result as a separate event or answer version.
Roll out the citation resolver separately from any model change where practical. Combining both makes it harder to tell whether a changed answer comes from new evidence handling or generation behaviour.
Keep rollback compatible with new records
Before enabling new writes, confirm that the previous application version can tolerate the new evidence fields or that rollback will preserve them. A rollback that discards source versions may restore the page while damaging its audit trail.
Retire legacy resolution only after measuring remaining use and documenting how old answers will behave. Some may need a clear unavailable-evidence state. That is better than maintaining a misleading link indefinitely. The migration is complete when current answers and historical answers both tell the truth about the material behind them.
Primary sources
Microsoft Learn: rebuilding a search indexOWASP: logging guidanceReferences checked 11 September 2026.