Inferensys

Prompt

Missing Evidence Citation Interruption Prompt

A production-ready prompt playbook for detecting uncited claims in AI-generated content and halting workflows with a structured evidence-gap report before release.
Wide-angle shot of a modern WeWork open floor plan with creative walls covered in AI system architecture diagrams, product team collaborating in standing desk area with industrial lighting.
PROMPT PLAYBOOK

When to Use This Prompt

Identifies the specific compliance and audit engineering workflows where the Missing Evidence Citation Interruption Prompt provides a critical pre-release safety gate.

This prompt is designed for compliance and audit engineering teams who need a programmatic, pre-release gate to prevent AI-generated content containing unsubstantiated claims from reaching end-users or downstream systems. Its primary job is to act as a post-generation validation step: you feed it a piece of generated text alongside the evidence that was used to produce it, and the prompt returns a structured report identifying every factual assertion that lacks a direct source citation. Use this when your product or internal workflow must satisfy strict auditability requirements, regulatory evidence standards (such as those in finance or healthcare), or an internal policy that mandates traceable sourcing before any content is published, stored, or acted upon.

This prompt is not a replacement for a robust retrieval or evidence-ranking system. It assumes that a retrieval step has already occurred and that you have a set of candidate evidence chunks. Its sole function is to verify that the final generated output is faithfully grounded in that provided evidence. You should integrate this prompt into a validation harness that runs automatically after content generation but before the content is released. The harness should be capable of receiving the structured interruption report, logging it for audit trails, and either blocking the release, routing the content for human review, or triggering a retry with more targeted evidence retrieval. Do not use this prompt for real-time, low-latency chat applications where a multi-second validation delay is unacceptable, or for purely creative tasks where factual grounding is not a requirement.

Before implementing, ensure your pipeline can clearly separate the 'generated content' from the 'source evidence' as distinct inputs. A common failure mode is providing the model with a single, large block of text that mixes both, which degrades its ability to accurately match claims to sources. Instead, structure your input with a dedicated field for the final draft and a separate list of evidence chunks, each with a unique identifier. The next step is to copy the prompt template into your validation service and define the exact JSON schema you expect as output, which will allow you to programmatically parse the list of uncited statements and enforce a hard block if the list is not empty.

PRACTICAL GUARDRAILS

Use Case Fit

Where the Missing Evidence Citation Interruption Prompt works, where it fails, and what you must provide before deploying it into a compliance or audit workflow.

01

Good Fit: Regulated Output Pipelines

Use when: generated summaries, audit reports, or decision memos must include source citations before human release. Guardrail: wire the prompt as a blocking gate after generation but before any downstream system or reviewer receives the output.

02

Bad Fit: Open-Ended Creative Work

Avoid when: the task is brainstorming, drafting, or stylistic generation where factual grounding is not required. Guardrail: apply this prompt only to pipelines with a defined evidence contract; otherwise it will over-halt on legitimate creative output.

03

Required Input: Claim-to-Evidence Mapping

What to watch: the prompt needs both the generated text and the retrieved or provided evidence set. Guardrail: always pass a structured mapping of claims to candidate sources; without it, the interruption report will be noisy and unactionable.

04

Required Input: Citation Policy Definition

What to watch: the prompt must know what counts as a required citation (e.g., every factual claim, only quantitative claims, only regulatory assertions). Guardrail: define a citation policy schema with claim types and required evidence levels before invoking the prompt.

05

Operational Risk: False-Positive Halts

Risk: the prompt may flag claims that are common knowledge, previously established in-session, or implicitly supported by document structure. Guardrail: include a domain-specific allowlist of claim categories that do not require explicit citation, and log every halt for human review of the policy boundary.

06

Operational Risk: Citation Format Drift

Risk: the model may accept citations in inconsistent formats, making downstream verification impossible. Guardrail: enforce a strict citation schema in the output (e.g., source ID, excerpt, line reference) and validate it programmatically before the interruption report is surfaced.

PROMPT PLAYBOOK

Copy-Ready Prompt Template

A copy-ready system prompt that halts generation when claims lack required source citations and produces a structured report of uncited statements.

This prompt template is designed to be used as a system instruction or a validation step in a compliance-sensitive AI workflow. Its job is to interrupt the model's output when a generated claim, decision, or summary lacks a required source citation. Instead of allowing an ungrounded statement to reach a user or a downstream system, the prompt forces the model to stop and produce a structured report that identifies exactly which statements are uncited and what kind of evidence is needed. This is critical for audit, legal, and clinical review workflows where traceability is non-negotiable.

text
You are an evidence-citation auditor. Your only job is to review the provided [OUTPUT_TEXT] against the [CITATION_REQUIREMENTS] and determine whether every factual claim, decision, or summary statement is properly grounded with a source citation.

[CITATION_REQUIREMENTS]:
- Citation format required: [CITATION_FORMAT, e.g., "[Source: document_id, section]"]
- Minimum citation threshold: [THRESHOLD, e.g., "Every factual claim must have at least one citation"]
- Exemptions: [EXEMPTIONS, e.g., "Common knowledge statements, procedural instructions"]

[OUTPUT_TEXT]:
"""
[INSERT THE TEXT TO AUDIT HERE]
"""

[AVAILABLE_SOURCES]:
[LIST OF SOURCE IDENTIFIERS AND THEIR DESCRIPTIONS]

Your task:
1. Extract every factual claim from the [OUTPUT_TEXT].
2. For each claim, check if it is supported by an explicit citation that matches the [CITATION_FORMAT] and references one of the [AVAILABLE_SOURCES].
3. If ALL claims are properly cited, respond ONLY with: "CITATION_CHECK_PASSED: All claims are grounded."
4. If ANY claim is uncited or has an invalid citation, STOP. Do not proceed. Respond ONLY with a structured interruption report in the following JSON format:

{
  "status": "HALTED_MISSING_CITATIONS",
  "uncited_claims": [
    {
      "claim_text": "The exact uncited statement.",
      "claim_location": "Approximate position in the text (e.g., 'Paragraph 2, Sentence 3').",
      "required_evidence_type": "What kind of source would ground this claim (e.g., 'clinical trial result', 'contract clause', 'financial record')."
    }
  ],
  "invalid_citations": [
    {
      "claim_text": "The statement with the bad citation.",
      "provided_citation": "The citation that was found.",
      "failure_reason": "Why it failed (e.g., 'Source not in AVAILABLE_SOURCES', 'Wrong format')."
    }
  ],
  "instruction": "Generation halted. Please ground the identified claims with valid citations from the available sources before release."
}

[CONSTRAINTS]:
- Do not generate any text outside the JSON report or the single pass message.
- Do not guess or invent citations.
- If the [OUTPUT_TEXT] is empty, respond with {"status": "HALTED_EMPTY_INPUT", "instruction": "No text provided for audit."}

To adapt this template, replace the square-bracket placeholders with your specific values. Define [CITATION_FORMAT] precisely, such as [Source: doc_id, para]. Set the [THRESHOLD] to match your risk tolerance; a strict audit might require every sentence to be cited, while a summary might only need citations for quantitative data. Populate [AVAILABLE_SOURCES] with the identifiers the model is allowed to reference. The [EXEMPTIONS] field is critical for preventing false-positive halts on transitional or instructional language. After pasting this prompt, test it with a mix of fully cited, partially cited, and uncited texts to calibrate the strictness before wiring it into a production harness.

IMPLEMENTATION TABLE

Prompt Variables

Each placeholder the Missing Evidence Citation Interruption Prompt requires, its purpose, an example value, and validation notes for wiring into a production harness.

PlaceholderPurposeExampleValidation Notes

[CLAIM_OR_DECISION_TEXT]

The full text of the generated claim, decision, or summary that must be checked for citation coverage.

"Q3 revenue increased 12% due to the new enterprise pricing tier launched in June."

Must be a non-empty string. Reject if null or whitespace. Token length should be within model context limits; truncate with a warning if over 8000 tokens.

[SOURCE_EVIDENCE_LIST]

The list of source documents, passages, or evidence items that were available to the model during generation.

[{"source_id": "doc-42", "title": "Q3 Earnings Report", "snippet": "Revenue reached $340M, a 12% increase YoY..."}]

Must be a valid JSON array. Each item requires a source_id and at least one content field. Reject if empty array; this indicates a retrieval failure upstream.

[CITATION_REQUIREMENT_LEVEL]

The policy for which statements require citations: 'all_factual', 'quantitative_only', or 'external_claims_only'.

"all_factual"

Must be one of the three enumerated string values. Default to 'all_factual' if not provided. Invalid values should cause a configuration error before the prompt is assembled.

[OUTPUT_SCHEMA]

The expected JSON schema for the interruption report, defining the structure of uncited statements and blocking conditions.

{"type": "object", "properties": {"blocked": {"type": "boolean"}, "uncited_statements": {"type": "array"}}, "required": ["blocked", "uncited_statements"]}

Must be a valid JSON Schema object. Parse and validate before prompt assembly. If invalid, fall back to a default schema and log a warning. The schema must include a 'blocked' boolean and an 'uncited_statements' array.

[CONFIDENCE_THRESHOLD]

The minimum confidence score (0.0-1.0) for a citation match before a statement is considered cited. Statements below this threshold are flagged as uncited.

0.75

Must be a float between 0.0 and 1.0 inclusive. Values outside this range should be clamped with a warning. A threshold of 0.0 disables confidence filtering; 1.0 requires perfect certainty.

[MAX_UNCITED_STATEMENTS]

The maximum number of uncited statements to include in the interruption report before truncation. Prevents oversized reports.

10

Must be a positive integer. Default to 10 if not provided. If the number of detected uncited statements exceeds this value, include the first N and append a truncation notice with the total count.

[ESCALATION_ROUTING_TAG]

A tag or queue identifier for routing the interruption report to the correct human review team or system.

"compliance-review-queue"

Must be a non-empty string matching an allowed routing tag from a predefined list. Validate against the allowed list before prompt assembly. Reject unknown tags to prevent misrouted escalations.

[HALT_ACTION]

The action the system should take when uncited statements are detected: 'block', 'flag_and_continue', or 'draft_only'.

"block"

Must be one of the three enumerated string values. 'block' prevents release entirely; 'flag_and_continue' marks the output but allows downstream processing; 'draft_only' saves as a draft for human review. Invalid values should default to 'block' with a warning.

PROMPT PLAYBOOK

Implementation Harness Notes

How to wire the Missing Evidence Citation Interruption Prompt into an application or agent workflow with validation, retries, and human review.

This prompt is designed to sit between a content-generation step and a publication or release step in a compliance-sensitive pipeline. It should be invoked after the model produces a claim, decision, or summary but before that output reaches an end user, a database, or a downstream system. The harness receives the generated text and the expected citation sources, passes them into the prompt, and then evaluates the structured output to decide whether to proceed, retry, or escalate. The prompt itself is stateless—it does not remember prior runs—so the harness must supply all required context on each invocation.

Implement the harness as a post-generation gate with a strict JSON output contract. After the primary model generates text, call a separate model instance with this prompt, passing the generated text as [GENERATED_OUTPUT] and the available evidence list as [AVAILABLE_SOURCES]. Parse the response into a structured object with fields: status (PASS or FAIL), uncited_claims (array of claim strings), and missing_evidence_types (array of evidence categories needed). If status is FAIL, do not release the output. Instead, log the failure, attach the uncited claims to the review item, and route to a human review queue. Implement a retry loop with a maximum of two attempts: on the first FAIL, feed the uncited claims back to the generation model with a request to either cite or remove them. If the second attempt also fails, escalate to human review without further retries. This prevents infinite loops while giving the system one chance to self-correct.

For model selection, use a model with strong instruction-following and JSON output reliability. GPT-4o, Claude 3.5 Sonnet, or Gemini 1.5 Pro are suitable. Avoid smaller or older models that may hallucinate citations or produce malformed JSON. Set temperature to 0 or near-zero to maximize deterministic behavior. Enable structured output mode if the provider supports it (e.g., OpenAI's response_format with a JSON schema, or Anthropic's tool-use with a defined schema). Validate the response programmatically before acting on it: confirm the status field is exactly PASS or FAIL, that uncited_claims is an array of non-empty strings, and that missing_evidence_types is an array. If validation fails, treat it as a FAIL and escalate to human review with a note that the interruption prompt itself produced an invalid response.

Log every invocation with the input text hash, the source count, the output status, and the timestamp. This creates an audit trail for compliance reviewers. For high-risk domains such as healthcare, legal, or finance, do not allow automatic retry—route all FAIL results directly to human review. In lower-risk domains, you may configure the harness to automatically strip uncited claims from the output and release only the cited portions, but this requires additional post-processing logic to reconstruct a coherent final text. Test the harness with known-good and known-bad inputs before deployment: a fully cited paragraph should return PASS, while a paragraph with fabricated statistics should return FAIL with those statistics listed in uncited_claims.

IMPLEMENTATION TABLE

Expected Output Contract

Defines the exact structure, types, and validation rules for the model's response when the Missing Evidence Citation Interruption Prompt halts generation. Use this contract to parse the output programmatically and decide whether to block, escalate, or request re-generation.

Field or ElementType or FormatRequiredValidation Rule

halt_decision

boolean

Must be exactly true. If false, the prompt failed to interrupt and the entire output should be discarded or escalated to a human reviewer.

halt_reason

string (enum)

Must equal 'uncited_claims_detected'. Any other value indicates a misclassification and should trigger a retry or fallback to a generic human review queue.

uncited_claims

array of objects

Array must not be empty. If empty, the halt_decision is contradictory. Validate that array length is >= 1. Each object must conform to the claim_object schema.

uncited_claims[].claim_text

string

Must be a non-empty string containing the exact verbatim text from the original draft that requires a citation. A null or empty string is a validation failure.

uncited_claims[].claim_location

object

Must contain 'start_index' (integer) and 'end_index' (integer) fields. Validate that start_index < end_index and that the substring matches claim_text in the original draft. Mismatch triggers a retry.

uncited_claims[].required_evidence_type

string (enum)

Must be one of: 'source_document', 'data_point', 'regulatory_clause', 'external_reference'. An unrecognized value should be logged and the claim escalated for manual review.

generated_draft_hash

string

If present, must be a valid SHA-256 hex string (64 characters). Used to verify the draft hasn't been altered between generation and review. Absence is acceptable but should be logged.

review_priority

string (enum)

If present, must be 'standard', 'high', or 'critical'. If the field is missing or null, the system should default to 'standard'. Any other value is a schema violation and should be treated as 'standard' after logging the anomaly.

PRACTICAL GUARDRAILS

Common Failure Modes

When a missing evidence citation prompt fails in production, the system either allows unsupported claims to reach users or blocks legitimate outputs unnecessarily. These are the most common failure modes and how to guard against them.

01

False Negatives on Implicit Claims

What to watch: The prompt misses claims that paraphrase or summarize source material without direct quotation, treating them as uncited when the evidence is present but reworded. This causes excessive halting on valid outputs. Guardrail: Include explicit instruction to match claims to evidence by semantic meaning, not string overlap. Test with paraphrased statements that are factually supported by the provided sources.

02

Citation Drift Across Long Outputs

What to watch: The model correctly cites early claims but loses track of source alignment in later sections, causing false citation-gap flags on trailing paragraphs. Guardrail: Structure the prompt to require per-sentence or per-paragraph citation checks rather than a single end-of-output pass. Break long generations into segments and verify each independently.

03

Over-Indexing on Format Over Substance

What to watch: The prompt rejects outputs because citations use the wrong format, bracket style, or reference numbering, even when the evidence linkage is clear and auditable. Guardrail: Separate format validation from evidence validation. Use a two-pass approach: first verify that each claim has traceable support, then check citation format as a secondary, non-blocking warning.

04

Silent Acceptance of Hallucinated Sources

What to watch: The model fabricates plausible-sounding source references that do not exist in the provided context, and the verification prompt fails to detect them because it only checks whether citations are present, not whether they are real. Guardrail: Require the prompt to extract and verify each cited source identifier against the provided source list. Add a specific check for source existence before accepting any citation as valid.

05

Context Window Truncation Masking Gaps

What to watch: When source documents are truncated due to context limits, the prompt cannot verify claims against missing evidence and either falsely passes them or fails to report the truncation as a blocking condition. Guardrail: Include a pre-check that confirms all required source documents are fully present before running citation verification. If truncation is detected, escalate with a structured missing-evidence report rather than proceeding.

06

Ambiguity in 'Sufficient Evidence' Thresholds

What to watch: The prompt lacks a clear definition of what constitutes sufficient evidence, causing inconsistent halting behavior—sometimes blocking claims with weak but real support and other times passing claims with only tangential source alignment. Guardrail: Define explicit evidence-sufficiency criteria in the prompt, such as requiring direct factual overlap, specifying minimum source specificity, and distinguishing between direct support and general topical relevance.

IMPLEMENTATION TABLE

Evaluation Rubric

Criteria for testing the Missing Evidence Citation Interruption Prompt before production deployment. Each row defines a pass standard, a failure signal, and a concrete test method.

CriterionPass StandardFailure SignalTest Method

Uncited claim detection

Prompt identifies all statements in [INPUT_TEXT] that assert a fact, figure, or interpretation without an inline [CITATION] marker

Prompt returns an empty [UNCITED_CLAIMS] array when uncited factual statements exist

Run against a golden set of 20 texts with known uncited claims; require recall >= 0.95

Citation presence check

Prompt correctly distinguishes cited from uncited statements when citations use the format defined in [CITATION_FORMAT]

Prompt flags a cited statement as uncited or vice versa

Inject 10 texts with citations in the expected format and 10 without; require precision >= 0.98

Structured output schema

Output is valid JSON matching the [OUTPUT_SCHEMA] with fields: halt_reason, uncited_claims (array of objects with statement_text, location, severity), and action_required

Output is missing required fields, uses wrong types, or is unparseable

Validate output against JSON Schema using a programmatic validator; 100% of test runs must pass schema validation

Halt signal consistency

Prompt sets halt_reason to a non-null value and action_required to 'block' when uncited claims are detected

Prompt returns halt_reason: null or action_required: 'proceed' when uncited claims exist

Run 50 positive cases (uncited claims present); require halt_reason != null and action_required == 'block' in 100% of cases

False positive rate on fully cited text

Prompt returns an empty uncited_claims array and action_required: 'proceed' when all factual statements have citations

Prompt flags cited statements as uncited or sets action_required to 'block'

Run 30 fully cited texts with varied citation styles; require false positive rate == 0

Location accuracy

Each uncited claim object includes a location field that correctly identifies the paragraph, sentence, or character offset of the uncited statement

Location field is missing, null, or points to the wrong part of the input

Spot-check 15 outputs manually against source text; require location accuracy >= 0.90

Severity classification

Prompt assigns a severity level (e.g., 'high', 'medium', 'low') based on [SEVERITY_RULES] and the claim's regulatory or factual weight

All uncited claims receive the same severity or severity contradicts [SEVERITY_RULES]

Run 10 texts with mixed-severity uncited claims; verify severity distribution matches expected labels from human annotators (agreement >= 0.85)

Empty input handling

Prompt returns a valid output with empty uncited_claims and action_required: 'proceed' when [INPUT_TEXT] is empty or contains no declarative statements

Prompt errors, returns invalid JSON, or hallucinates uncited claims

Send empty string, whitespace-only, and non-declarative text (e.g., questions, greetings); require valid schema-compliant output with no uncited claims in all cases

ADAPTATION OPTIONS

Adapt This Prompt

How to adapt

Add a strict JSON output schema, confidence scoring per claim, and a severity classification. Wire the prompt into a pipeline that blocks release when uncited claims exceed a threshold. Include retry logic for malformed outputs.

code
For each uncited claim, return:
{
  "claim_text": "[EXACT_CLAIM]",
  "surrounding_context": "[SENTENCE_WITH_CLAIM]",
  "claim_type": "factual|statistical|interpretive|comparative",
  "severity": "blocker|warning|advisory",
  "suggested_source_type": "[WHAT_WOULD_GROUND_THIS]"
}

Watch for

  • Silent format drift under high claim density
  • False positives on widely accepted domain facts
  • Missing human review step before blocking publication
  • Schema validation failures causing pipeline stalls
Prasad Kumkar

About the author

Prasad Kumkar

CEO & MD, Inference Systems

Prasad Kumkar is the CEO & MD of Inference Systems and writes about AI systems architecture, LLM infrastructure, model serving, evaluation, and production deployment. Over 5+ years, he has worked across computer vision models, L5 autonomous vehicle systems, and LLM research, with a focus on taking complex AI ideas into real-world engineering systems.

His work and writing cover AI systems, large language models, AI agents, multimodal systems, autonomous systems, inference optimization, RAG, evaluation, and production AI engineering.