# Attribution format is consistent across response types

- **Pattern:** `ab-000206` (`ai-response-quality.source-attribution.attribution-format-consistency`)
- **Severity:** low
- **Lifecycle:** active
- **Last modified:** 2026-04-18
- **Canonical URL:** https://auditbuffet.com/patterns/ab-000206
- **License:** CC-BY-4.0 — attribute to AuditBuffet Pattern Catalog (https://auditbuffet.com/patterns/ab-000206)

## Why it matters

Ad-hoc citation language — sometimes `[1]`, sometimes "according to the docs," sometimes nothing — prevents the UI from rendering clickable references, breaks footnote components, and forces users to scroll back and hunt for sources. This degrades the user-experience taxon and undermines the inference-contract: users cannot verify claims when citations are inconsistent or absent. Support teams cannot build tooling on top of an undefined format, and audit trails for regulated industries become unworkable.

## Severity rationale

Low because responses remain usable, but citation inconsistency erodes verifiability and UI polish over time.

## Remediation

Define a single citation format in the system prompt (inline numbered brackets plus a trailing reference list) and add matching UI components to render the markers as clickable footnotes. Update the prompt in `lib/ai/prompts.ts` and the renderer in `components/ai/citations.tsx`.

```ts
const systemPrompt = `Cite inline with [1], [2]. End with: [1] Title — section, [2] Title — section.`
```

## Detection

- **ID:** `attribution-format-consistency`
- **Severity:** `low`
- **What to look for:** Enumerate all relevant files and In applications with RAG or multi-document retrieval, check whether the citation format is defined consistently in the system prompt or output formatting instructions. Look for a defined pattern (e.g., [1], (Source: X), footnotes) versus ad-hoc citation language. Check whether the UI has any rendering support for the citation format (e.g., numbered reference list, footnote component, tooltip on citation markers).
- **Pass criteria:** At least 1 conforming pattern must exist. Citation format is explicitly defined in the system prompt or formatting instructions. The UI has corresponding rendering support for the citation style.
- **Fail criteria:** No citation format is defined, resulting in the AI using inconsistent attribution language (sometimes [1], sometimes "according to", sometimes nothing).
- **Skip (N/A) when:** No RAG or retrieval pipeline detected, or application does not rely on source attribution as a feature.
- **Detail on fail:** `"No citation format defined in system prompt — AI attribution style is inconsistent across responses"` (max 500 chars)
- **Remediation:** Define and enforce a citation style:

  ```ts
  const systemPrompt = `
  When citing sources from the provided context, use inline numbered citations: [1], [2], etc.
  At the end of your response, list the cited sources as:
  [1] Document Title — relevant section
  [2] Document Title — relevant section
  `
  ```

---

Taxons: inference-contract, user-experience

HTML version: https://auditbuffet.com/patterns/ab-000206
