Enterprise Generative Search — Azure and Open Source  ·  View 19 of 41  ·  Data

Evidence Data Model

Fifteen entities, and the one join that makes an answer auditable.

Editable source SVG draw.io All views
source source_id PK kind m365 | confluence | snow | archive | sql | web freshness_class ranking_policy document document_id PK source_id FK -> source external_id steward_upn classification retired_at document_version version_id PK document_id FK -> document content_hash effective_from superseded_by FK -> document_version indexed_at acl_grant grant_id PK document_id FK -> document principal_oid effect allow | deny synced_at chunk chunk_id PK version_id FK -> document_version ordinal heading_path page_no bbox modality representation rep_id PK chunk_id FK -> chunk model_name model_version kind dense | sparse | image index_alias entity entity_id PK canonical_name type aliases entity_mention mention_id PK chunk_id FK -> chunk entity_id FK -> entity confidence query query_id PK principal_oid acl_fingerprint class asked_at conversation_id query_plan plan_id PK query_id FK -> query sub_queries jsonb backends jsonb budget jsonb retrieval_result evidence_id PK plan_id FK -> query_plan chunk_id FK -> chunk backend raw_score rank_after_fusion reason answer answer_id PK query_id FK -> query model_name tokens_in tokens_out groundedness state answered | abstained | fallback claim claim_id PK answer_id FK -> answer sentence_ordinal verdict supported | unsupported | contradicted nli_score citation citation_id PK claim_id FK -> claim evidence_id FK -> retrieval_result quote_span feedback feedback_id PK answer_id FK -> answer signal useful | wrong | unclear note promoted_to_golden 1 : N 1 : N 1 : N 1 : N 1 : N 1 : N 1 : N 1 : 1 1 : N 1 : N 1 : N 1 : N 1 : N 1 : N 1 : N Evidence Data Model — Provenance as a First-Class Structure A citation joins a claim to a retrieval_result, never straight to a chunk. That single join is what makes an answer replayable and an audit answerable. v 1.0 · owner Data and AI Global Practice

The decision this model encodes

  • A citation joins a claim to a retrieval_result, never straight to a chunk. The retrieval_result records which backend returned it, at what rank and why — so an audit can ask not only what was cited but how it was found.
  • document_version carries effective_from and superseded_by. Version awareness is in the schema, which is what allows the answer to state an as-of rather than implying currency.
  • query stores an acl_fingerprint and never the group names. Enough to prove entitlement at the time, not enough to leak the org chart.

Assumptions

  • Representations are rows, not columns, so two embedding model versions can coexist during a migration and be distinguished by index_alias.
  • acl_grant is a projection of the source's permissions, refreshed by the entitlement sync. It is never edited in the platform.

Retention

  • Audit and provenance are kept 7 years; traces 90 days; conversation state 30 days; feedback indefinitely because it becomes the golden set.
  • An erasure request removes chunks, representations and trace bodies, and keeps the provenance reference without its content — the record that an answer was given survives, the content does not.