This prompt is for editorial and verification teams who need to compare an attributed quote against its original source material and produce a structured alignment report. It is designed for workflows where quote integrity is a high-visibility risk—newsrooms, publishing platforms, compliance review, and content moderation. The prompt expects you to provide both the attributed quote and the full original source passage. It returns a fidelity score, a list of discrepancies, and excerpted evidence so a human reviewer can make a final call.
Prompt
Quote-to-Source Comparison Prompt Template

When to Use This Prompt
Defines the precise job-to-be-done for the Quote-to-Source Comparison Prompt, its ideal user, required inputs, and clear boundaries against related but distinct verification tasks.
This is not a prompt for verifying whether a public figure actually said something (use the Attributed Statement Verification Prompt for that). It is also not for checking paraphrases (use the Paraphrase Fidelity Scoring Prompt). This prompt assumes the quote and source are already in hand and focuses on the comparison itself. Do not use it when the source material is unavailable, when the quote is a non-verbatim summary, or when you need to search across multiple sources to find the original—those are separate verification sub-tasks with their own prompts in this pillar.
Before using this prompt, confirm that you have the complete, unredacted source passage and the exact quote as it appears in the draft content. The prompt's value depends on having both sides of the comparison. If the source is a transcript with disfluencies or corrections, consider the Quote-to-Transcript Alignment Prompt instead. For batch processing across many quotes, pair this prompt with the Quote Verification Batch Processing Prompt to manage throughput, cost, and partial-failure recovery.
Use Case Fit
Where this prompt works and where it does not. Understand the operational boundaries before integrating it into a verification pipeline.
Good Fit: Editorial Pre-Publication Review
Use when: A human editor needs to verify an attributed quote against a provided source document before publishing. The prompt excels at structured discrepancy reporting. Guardrail: Always keep a human in the loop for final judgment; the prompt flags issues but does not make publish decisions.
Good Fit: High-Volume Content Audits
Use when: You need to batch-process hundreds of articles to identify potential quote integrity risks for prioritization. Guardrail: Set a low threshold for flagging to avoid false negatives, and route all flagged items to a human review queue rather than auto-rejecting.
Bad Fit: Real-Time Live Transcription
Avoid when: You need to verify a spoken quote against a live audio stream with sub-second latency. This prompt is designed for static text comparison, not streaming audio alignment. Guardrail: Use a dedicated ASR and timestamp-alignment tool for live workflows, and reserve this prompt for post-hoc verification of the transcript.
Bad Fit: Unattributed or Vague Claims
Avoid when: The input text does not contain a clear, attributable quote with a specified source. The prompt cannot verify a claim against a source if either is missing. Guardrail: Pre-process inputs with a claim extraction prompt to isolate attributable statements, and route unattributed claims to a separate evidence-discovery workflow.
Required Inputs
Risk: Garbage-in, garbage-out. The prompt requires the full text of the attributed quote and the complete original source context to function. Guardrail: Validate that both the [QUOTE_TEXT] and [SOURCE_TEXT] inputs are non-empty and meet a minimum length before invoking the model. Log any verification attempts with missing context for pipeline debugging.
Operational Risk: Context-Stripping Blind Spots
Risk: The model may miss subtle meaning distortion if the provided [SOURCE_TEXT] is itself a truncated excerpt. The prompt can only compare what it is given. Guardrail: Always provide more source context than the quote's immediate sentence. If the full source is unavailable, flag the output confidence as 'LOW' and add a 'limited context' caveat to the verification report.
Copy-Ready Prompt Template
Paste this prompt into your system instructions to produce a structured JSON report with fidelity scores, discrepancy flags, and excerpted evidence.
This prompt template is the core instruction set for comparing an attributed quote against its original source material. It instructs the model to act as a meticulous editorial auditor, producing a structured JSON report that captures alignment, discrepancies, and evidence. The output is designed to be machine-readable for downstream routing, logging, or human review queues. Before using this prompt, ensure you have the exact quote text and the full original source passage available as inputs.
textYou are an editorial verification auditor. Your task is to compare an attributed quote against its original source material and produce a structured alignment report. ## INPUT [QUOTE]: The attributed quote to verify. [SOURCE]: The full original source passage from which the quote was allegedly drawn. [CONTEXT]: Optional context about the speaker, publication, or date. ## OUTPUT SCHEMA Return a single JSON object with the following structure: { "verification_id": "string", "quote": "string (the input quote)", "source_excerpt": "string (the relevant excerpt from the source)", "fidelity_score": number (0.0 to 1.0, where 1.0 is a perfect verbatim match), "match_type": "verbatim" | "paraphrase" | "partial" | "fabricated" | "unverifiable", "discrepancies": [ { "type": "substitution" | "omission" | "insertion" | "reordering" | "context_stripping", "quote_fragment": "string", "source_fragment": "string", "severity": "minor" | "moderate" | "major", "explanation": "string" } ], "missing_context": "string or null (context present in the source but absent from the quote that could alter meaning)", "evidence": "string (a direct excerpt from the source supporting the assessment)", "confidence": number (0.0 to 1.0), "recommendation": "publish" | "revise" | "escalate" } ## CONSTRAINTS - If the quote cannot be located in the source, set match_type to "unverifiable" and fidelity_score to 0.0. - Flag any omission of qualifying language (e.g., "but," "however," "in some cases") as a context_stripping discrepancy with a severity of at least "moderate." - Do not hallucinate source text. Only use evidence explicitly present in [SOURCE]. - If the source is insufficient to make a determination, set confidence below 0.5 and recommend "escalate." - For high-stakes domains (legal, medical, financial), always recommend "escalate" if any discrepancy is "major." ## RISK LEVEL [RISK_LEVEL]: "low" | "medium" | "high"
To adapt this template, replace the square-bracket placeholders with your actual data. The [QUOTE] and [SOURCE] fields are required. The [CONTEXT] field is optional but recommended for disambiguating speakers or publications. The [RISK_LEVEL] parameter adjusts the model's conservatism: at "high," the model will recommend escalation for any moderate discrepancy. Integrate this prompt into your application by passing it as the system message, then providing the filled placeholders in the user message. Always validate the output JSON against the schema before acting on the recommendation, and log the raw output for audit trails.
Prompt Variables
Inputs the Quote-to-Source Comparison prompt needs to work reliably. Validate these before sending the prompt to prevent garbage-in-garbage-out failures and ensure the comparison is grounded in actual source material.
| Placeholder | Purpose | Example | Validation Notes |
|---|---|---|---|
[ATTRIBUTED_QUOTE] | The exact quote string as it appears in the content under review, including surrounding punctuation and attribution | "We saw a 40% increase in productivity after the migration," said the CTO | Must be a non-empty string. Strip smart quotes and normalize whitespace. If the quote contains ellipses or brackets indicating edits, flag for omission audit before comparison |
[SOURCE_DOCUMENT] | The full original source text where the quote allegedly originates, provided verbatim for comparison | Full transcript of the CTO's keynote address from the company blog | Must be a non-empty string with sufficient context around the quoted passage. Minimum 500 characters recommended. If source is truncated, set [SOURCE_TRUNCATED] to true and note missing context risk |
[QUOTE_ATTRIBUTION] | The person, document, or entity the quote is attributed to, used to verify the quote belongs to the claimed source | Jane Smith, CTO of Acme Corp | Must be a non-empty string. Check that attribution entity appears in [SOURCE_DOCUMENT] metadata or content. Null allowed only if quote is unattributed and verification is for provenance discovery |
[COMPARISON_MODE] | Controls whether comparison is strict-literal, meaning-preserving, or hybrid, determining how paraphrase and minor wording differences are scored | meaning-preserving | Must be one of: strict-literal, meaning-preserving, hybrid. Strict-literal flags any wording difference. Meaning-preserving allows synonym substitution and grammatical normalization. Hybrid applies strict mode to numerical claims and named entities |
[CONTEXT_WINDOW_SIZE] | Number of characters before and after the quoted passage in the source to include for context-stripping analysis | 500 | Must be a positive integer between 100 and 5000. Larger windows catch more context-stripping but increase token cost. Default 500 if not specified. Validate that [SOURCE_DOCUMENT] length exceeds window size |
[FIDELITY_THRESHOLD] | Minimum fidelity score (0.0 to 1.0) below which the quote is flagged for human review | 0.85 | Must be a float between 0.0 and 1.0. Scores below threshold route to [HUMAN_REVIEW_QUEUE]. Default 0.85 for editorial use, 0.95 for legal or compliance use. Validate threshold is calibrated against your organization's false-positive tolerance |
[OUTPUT_SCHEMA_VERSION] | Schema version identifier for the structured output contract, enabling downstream parsers to handle format changes | v2.1 | Must match a known schema version in your validation registry. Reject unknown versions. Use to gate parser selection and prevent silent format drift when prompt output structure changes |
Implementation Harness Notes
How to wire the Quote-to-Source Comparison prompt into a production verification pipeline with validation, retries, and human review routing.
The Quote-to-Source Comparison prompt is designed to operate as a single step within a larger verification pipeline, not as a standalone chat interaction. In production, you will typically call this prompt after claim extraction has identified an attributed quote and its alleged source, and after retrieval has fetched the original source material. The prompt expects a structured input containing the quote text, the source text, and any relevant metadata such as attribution context, publication dates, and speaker identity. The output is a structured alignment report with fidelity scores, discrepancy flags, and excerpted evidence—designed to be consumed by downstream systems rather than displayed raw to end users.
To wire this into an application, wrap the prompt in a function that accepts a QuoteVerificationRequest object with fields: [QUOTE_TEXT], [SOURCE_TEXT], [ATTRIBUTION_CONTEXT], and optional [METADATA] such as speaker name, date, and document title. The function should inject these into the prompt template, call the model with a low temperature (0.0–0.2) to maximize consistency, and parse the response against a strict JSON schema. The schema must validate: fidelity_score (0.0–1.0 float), discrepancy_flags (array of objects with type, severity, excerpt_quote, excerpt_source, explanation), alignment_evidence (array of matched passages), and recommendation (enum: accept, review, reject). Any response that fails schema validation should trigger a retry with the validation error message appended to the prompt as [PREVIOUS_ERROR]. After two retries, escalate to human review with the raw model output and validation failure log attached.
Model choice matters for this workflow. The comparison task requires strong instruction-following and precise excerpt matching, making Claude 3.5 Sonnet or GPT-4o suitable defaults. For cost-sensitive batch processing, consider using a smaller model with few-shot examples of correct alignment reports, but validate outputs more aggressively—smaller models are more prone to hallucinating source passages that do not exist in the provided text. Always include a post-processing check that verifies every excerpt_source string is a substring of [SOURCE_TEXT] (allowing for minor whitespace normalization). This substring check catches the most common failure mode: the model inventing plausible-sounding source text that is not actually present. Log every verification result with the model version, prompt template version, input hashes, and validation outcome for auditability and regression testing.
For high-stakes editorial or legal workflows, route all review and reject recommendations to a human review queue. Package the verification output alongside the original quote, source, and a diff view highlighting discrepancies. The human reviewer should be able to confirm, override, or add notes to each discrepancy flag. Store these human decisions as labeled data for future model evaluation and potential fine-tuning. Avoid using this prompt for real-time publishing gates without human-in-the-loop confirmation—quote integrity failures carry reputational and legal risk that automated systems alone should not own. For batch processing of large document collections, implement rate limiting, cost tracking per batch, and a dead-letter queue for requests that exhaust retries, ensuring no verification result is silently dropped.
Expected Output Contract
Structured output fields for the Quote-to-Source Comparison Prompt. Each field must be present in the final JSON response. Validation rules are designed for post-processing in an AI harness before the output reaches a downstream system or human reviewer.
| Field or Element | Type or Format | Required | Validation Rule |
|---|---|---|---|
quote_text | string | Must exactly match the [QUOTE] input string. Fail if altered or truncated. | |
source_excerpt | string | Must be a non-empty substring from [SOURCE_DOCUMENT]. Fail if null or empty. | |
alignment_status | enum: exact_match, partial_match, no_match | Must be one of the three enum values. Fail on any other string. | |
fidelity_score | number (0.0 to 1.0) | Must be a float between 0.0 and 1.0 inclusive. Fail if out of range or non-numeric. | |
discrepancy_flags | array of strings | Must be a JSON array. Allowed values: wording_change, context_stripped, meaning_distorted, fabricated, ellipsis_misuse, attribution_error. Fail if any flag is not in the allowed set. | |
discrepancy_description | string or null | Required if discrepancy_flags is non-empty; must be a non-empty string. If no discrepancies, must be null. Fail on mismatch. | |
evidence_citation | object | Must contain source_document_id (string), paragraph_index (integer), and character_range (array of two integers [start, end]). Fail if any sub-field is missing or of wrong type. | |
human_review_recommended | boolean | Must be true if fidelity_score < 0.8 or discrepancy_flags is non-empty. Fail if false when conditions are met. |
Common Failure Modes
When comparing an attributed quote to its original source, these are the most common failure patterns that degrade accuracy and trust. Each card identifies a specific risk and a concrete mitigation to build into your verification harness.
False-Positive Matches on Common Phrases
What to watch: The model declares a match when the quote and source share only generic or high-frequency phrases (e.g., 'we are committed to excellence') rather than distinctive content. This inflates fidelity scores and masks real misquotation. Guardrail: Require the prompt to identify and weight distinctive n-grams, named entities, and unique syntactic structures. Add an eval check that flags matches where overlap is dominated by stopwords or boilerplate.
Context-Stripping Misses
What to watch: The model confirms a verbatim match but fails to detect that surrounding source context has been removed in a way that reverses or distorts meaning. The quote is 'accurate' but the usage is deceptive. Guardrail: Expand the source window beyond the immediate match to include preceding and following paragraphs. Add a specific instruction to compare the quoted statement's implied meaning against the full passage's argument, and flag semantic reversals even when wording is identical.
Paraphrase Drift Normalization
What to watch: The model treats substantial semantic drift as acceptable paraphrase, especially when the paraphrase uses more fluent or simplified language. This produces high fidelity scores for statements that misrepresent the original speaker's position. Guardrail: Calibrate fidelity thresholds with a labeled dataset of acceptable vs. unacceptable paraphrases. Include few-shot examples of meaning-altering drift in the prompt, and route borderline scores to human review rather than auto-accepting.
Ellipsis and Omission Blindness
What to watch: The model ignores ellipsis points or bracketed insertions and treats the visible text as a continuous quote, missing that removed material contained qualifiers, negations, or contradictory claims. Guardrail: Add an explicit ellipsis audit step in the prompt: for each ellipsis or bracket, retrieve the omitted text and assess whether its removal changes the claim's force or meaning. Output a separate omission integrity flag in the structured response.
Source Authority Override
What to watch: The model defers to a quoted source's authority or prestige and suppresses discrepancy flags, especially when the attributed speaker is a recognized expert or institution. This introduces systematic bias in verification outputs. Guardrail: Separate source authority assessment from quote-comparison logic. Instruct the model to evaluate textual alignment independently of speaker credibility, and apply authority weighting only in a downstream confidence-calibration step after the raw comparison is complete.
Temporal Context Collapse
What to watch: The model matches a quote to a source without checking whether the source predates or postdates the attributed statement, leading to anachronistic verification (e.g., 'confirming' a 2019 quote with a 2023 source). Guardrail: Require date extraction for both the quote's claimed context and the source document. Add a temporal consistency check that flags matches where the source cannot have been the origin of the statement, and downgrades confidence accordingly.
Evaluation Rubric
Run these checks against a golden dataset of 50+ quote-source pairs with known discrepancies. Each criterion targets a specific failure mode observed in quote-to-source comparison tasks.
| Criterion | Pass Standard | Failure Signal | Test Method |
|---|---|---|---|
Discrepancy Recall | All known discrepancies in the golden set are flagged with severity >= LOW | A known discrepancy is marked as MATCH or omitted from the output | Compare flagged discrepancy list against golden-set annotations; compute recall |
False-Positive Match Rate | No more than 5% of correct quotes are incorrectly flagged as discrepant | A verbatim, in-context quote is flagged with a discrepancy type and severity | Sample 100 correct quotes from golden set; measure false-positive ratio |
Context-Stripping Detection | All context-stripping cases in the golden set are flagged with distortion severity >= MEDIUM | A context-stripping case is labeled as BENIGN_TRUNCATION or not flagged | Run dedicated context-stripping subset; check severity label and distortion flag |
Fidelity Score Calibration | Fidelity scores correlate with human severity ratings at Spearman rho >= 0.80 | Low-severity human cases receive fidelity scores below 0.5 or high-severity cases score above 0.8 | Compute rank correlation between [FIDELITY_SCORE] and human severity labels across golden set |
Evidence Excerpt Completeness | Every flagged discrepancy includes at least one excerpt from both quote and source with character offsets | A discrepancy entry has null or empty [QUOTE_EXCERPT] or [SOURCE_EXCERPT] | Validate output schema; assert non-null excerpt fields for all discrepancy entries |
Schema Compliance | 100% of outputs parse against the expected JSON schema without repair | Output fails JSON parse, has missing required fields, or uses wrong enum values | Validate every golden-set output against the output contract schema; count parse failures |
Abstention on Ambiguous Cases | Cases marked AMBIGUOUS in golden set produce confidence <= 0.6 and abstention recommendation | An ambiguous case receives confidence > 0.8 or a definitive MATCH/MISMATCH label | Filter golden set for AMBIGUOUS label; assert [CONFIDENCE] <= 0.6 and [RECOMMENDATION] is ESCALATE or REVIEW |
Enabling Efficiency, Speed & Accuracy
Intelligent Analysis, Decision & Execution
We build AI systems for teams that need search across company data, workflow automation across tools, or AI features inside products and internal software.
Talk to Us
Search across company data
Give teams answers from docs, tickets, runbooks, and product data with sources and permissions.
Useful when people spend too long searching or get different answers from different systems.

Automate internal workflows
Use AI to route work, draft outputs, trigger actions, and keep approvals and logs in place.
Useful when repetitive work moves across multiple tools and teams.

Add AI to products and internal tools
Build assistants, guided actions, or decision support into the software your team or customers already use.
Useful when AI needs to be part of the product, not a separate tool.
Adapt This Prompt
How to adapt
Start with the base prompt and a single quote-source pair. Remove strict schema requirements initially. Use plain-text output with labeled sections instead of JSON. Focus on getting the fidelity reasoning right before locking down the output contract.
Watch for
- Overly generous fidelity scores when evidence is thin
- Missing discrepancy flags on subtle context shifts
- Prompt treating partial matches as full matches
- No abstention behavior when source material is insufficient

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.
Partnered with leading AI, data, and software stack.
How We Work
Custom AI workflows for your Business
One-fit-all AI don't work for modern businesses. At Inferensys, we aim to understand your business & custom requirements; which we use to define most efficient agentic workflows, the data, and the tools for your business.
01
Review the use case
We understand the task, the users, and where AI can actually help.
Read more02
Pick the right approach
We define what needs search, automation, or product integration.
Read more03
Build the first useful version
We implement the part that proves the value first.
Read more04
Improve from there
We add the checks and visibility needed to keep it useful.
Read moreThe first call is a practical review of your use case and the right next step.
Talk to Us