Inferensys

Prompt

Unsupported Statement Audit Trail Generation Prompt Template

A practical prompt playbook for generating traceable, compliance-ready audit records when verification pipelines mark claims as unsupported.
Auditor reviewing AI-generated audit trail on laptop, blockchain-like immutable records visible, home office evening.
PROMPT PLAYBOOK

When to Use This Prompt

Defines the job-to-be-done, ideal user, required context, and clear boundaries for deploying the Unsupported Statement Audit Trail Generation prompt in a production verification pipeline.

This prompt is designed for compliance officers, governance teams, and verification pipeline architects who need a machine-readable, human-reviewable audit trail explaining why a specific claim was classified as UNSUPPORTED. It is not a detection prompt; it is a post-classification documentation tool. Use it after your detection prompt has flagged a claim as lacking sufficient evidence. The primary job-to-be-done is to create an immutable, structured record that can be stored in a verification log, attached to a compliance packet, or surfaced during an external audit. The output must serve downstream traceability, not conversational disclosure to end users.

The ideal user is building or operating an automated fact-checking system where every verification decision must be defensible. Required context includes the original claim text, the evidence search history (queries executed and sources retrieved), the final classification verdict, and any reviewer notes. Do not use this prompt for real-time, user-facing explanations; its output is verbose, structured, and designed for internal systems of record. It is also inappropriate for claims that were successfully verified or contradicted—this prompt is specifically scoped to the UNSUPPORTED state, where the absence of evidence is the critical finding.

Before wiring this into your pipeline, ensure you have a reliable upstream detection step that correctly distinguishes UNSUPPORTED from CONTRADICTED and VERIFIED. A common failure mode is generating audit trails for claims that were simply misclassified due to a retrieval failure. The audit trail will faithfully document a broken process if the input classification is wrong. Always validate the upstream verdict before invoking this prompt, and consider adding a human review step for high-severity unsupported claims before the audit record is finalized and stored.

PRACTICAL GUARDRAILS

Use Case Fit

Where this prompt delivers value and where it breaks down in production verification pipelines.

01

Good Fit: Compliance Audit Trails

Use when: governance or compliance teams require a traceable, structured record of why a claim was marked unsupported, including evidence search history and decision rationale. Guardrail: ensure the audit record includes search scope, sources consulted, and reviewer context before finalizing.

02

Bad Fit: Real-Time Claim Verification

Avoid when: latency budgets are under 500ms or the system must make instant supported/unsupported decisions. Audit trail generation adds reasoning overhead. Guardrail: use a lightweight classification prompt for real-time decisions and generate the audit trail asynchronously post-decision.

03

Required Inputs

Risk: incomplete audit trails when inputs are missing. Guardrail: require the original claim text, the evidence set searched, the search strategy used, the final classification, and the reviewer identity. Validate all fields are present before generating the trail.

04

Operational Risk: Stale Audit Records

What to watch: audit trails generated once and never updated when new evidence emerges or classifications change. Guardrail: implement versioning on audit records with update timestamps and change rationale fields. Link audit records to live claim status.

05

Operational Risk: Incomplete Search Documentation

What to watch: audit trails that claim exhaustive search but omit failed queries, zero-result searches, or sources excluded by policy. Guardrail: require explicit documentation of search scope boundaries, excluded sources with reasons, and queries that returned no results.

06

Scale Limit: High-Volume Claim Batches

What to watch: generating full audit trails for every claim in a batch of 10,000+ creates storage and cost problems. Guardrail: tier audit detail by severity—full trails for high-risk claims, summary trails for low-risk, and aggregate reports for bulk processing with spot-check sampling.

PROMPT PLAYBOOK

Copy-Ready Prompt Template

Paste this prompt into your verification pipeline after a claim has been flagged as unsupported. Replace square-bracket placeholders with live data from your system.

This template generates a structured, audit-ready record explaining why a specific claim was marked as unsupported. It captures the evidence search history, the decision rationale, and the reviewer context required for compliance and governance teams. The output is designed to be stored as an immutable record in your verification log, providing traceability from claim to verdict.

text
You are an audit trail generator for a fact-checking pipeline. Your task is to produce a structured record explaining why a claim was marked UNSUPPORTED. Do not re-evaluate the claim. Document the process that led to the unsupported verdict.

## CLAIM
[CLAIM_TEXT]

## CLAIM ID
[CLAIM_ID]

## VERIFICATION CONTEXT
- Source Document: [SOURCE_DOCUMENT_REFERENCE]
- Extraction Timestamp: [EXTRACTION_TIMESTAMP]
- Pipeline Stage: [PIPELINE_STAGE]

## EVIDENCE SEARCH HISTORY
[EVIDENCE_SEARCH_LOG]

## VERDICT
UNSUPPORTED

## CONSTRAINTS
- Do not invent evidence or sources not present in the search history.
- If the search history is empty or incomplete, state that explicitly.
- Use precise language: distinguish between 'no evidence found' and 'evidence is insufficient.'
- Do not speculate on why evidence is missing.

## OUTPUT SCHEMA
Return a single JSON object with the following fields:
{
  "audit_record_id": "string, unique identifier for this audit entry",
  "claim_id": "string, the provided claim ID",
  "verdict": "UNSUPPORTED",
  "decision_rationale": "string, a concise explanation of why the claim is unsupported based on the evidence search history",
  "evidence_search_summary": {
    "sources_consulted": ["string, list of sources searched"],
    "queries_executed": ["string, list of search queries used"],
    "total_results_reviewed": "number",
    "relevant_results_found": "number",
    "search_timestamp_start": "ISO 8601 string",
    "search_timestamp_end": "ISO 8601 string"
  },
  "evidence_gap_description": "string, specific description of what evidence would be needed to verify this claim",
  "reviewer_context": {
    "pipeline_version": "string",
    "model_version": "string",
    "reviewer_notes": "string or null, any additional context for human reviewers"
  },
  "compliance_checks": {
    "evidence_exhaustion_declared": "boolean, was the search formally declared complete?",
    "human_review_required": "boolean, does this claim require human review?",
    "policy_version_applied": "string, version of the verification policy used"
  },
  "generated_at": "ISO 8601 timestamp"
}

To adapt this template, replace each square-bracket placeholder with live data from your pipeline. The [EVIDENCE_SEARCH_LOG] should contain the raw output of your retrieval system, including queries, sources, and timestamps. If your system uses a structured evidence store, serialize it into the log field. For high-compliance environments, ensure the compliance_checks block is populated by a separate policy engine, not by the model's own judgment. After generation, validate the JSON schema, confirm that no sources were invented by cross-referencing the sources_consulted list against your actual search index, and append the record to your immutable audit log before any human review step.

IMPLEMENTATION TABLE

Prompt Variables

Every placeholder this prompt expects, why it matters, and how to validate it before injection. Use this table to build a safe injection harness that prevents empty fields, malformed evidence, and missing traceability metadata from reaching the model.

PlaceholderPurposeExampleValidation Notes

[CLAIM_TEXT]

The exact claim statement being evaluated for evidence sufficiency

The Q3 revenue increased by 12% year-over-year according to the earnings call

Non-empty string required. Reject null or whitespace-only input. Log original text before any normalization for audit trail fidelity

[EVIDENCE_SET]

Array of retrieved evidence objects with source metadata, content, and retrieval scores

[{"source_id": "doc-451", "content": "Q3 revenue reached $4.2B...", "retrieval_score": 0.89, "source_type": "transcript"}]

Must be valid JSON array. Each object requires source_id, content, and source_type fields. Reject empty arrays with a NO_EVIDENCE_AVAILABLE flag rather than passing to model

[SEARCH_HISTORY]

Ordered list of search queries executed during evidence retrieval with timestamps and result counts

[{"query": "Q3 2024 revenue earnings call", "timestamp": "2025-01-15T14:22:00Z", "results_returned": 24}]

Must be valid JSON array with timestamp in ISO 8601 format. Each entry requires query, timestamp, and results_returned. Missing search history should trigger a retrieval replay before audit generation

[VERIFICATION_POLICY]

Organizational policy document defining evidence sufficiency thresholds and unsupported claim handling rules

Policy v2.3: Claims require minimum 2 corroborating sources from primary documents. Single-source claims marked UNSUPPORTED.

Non-empty string or structured policy object required. Validate policy version and effective date. Reject expired or deprecated policy references. Log policy version in audit trail

[REVIEWER_CONTEXT]

Metadata about the human reviewer or review team assigned to this verification task

{"reviewer_id": "rev-782", "team": "compliance-verification", "expertise_level": "senior", "workload_score": 0.4}

Optional but recommended. If provided, must include reviewer_id. Null allowed when auto-verification is configured. Validate reviewer_id against active directory if human-in-the-loop is required

[TRACE_ID]

Unique identifier linking this audit record to the upstream verification pipeline run

trace-2025-01-15-14-22-00-abc123

Required. Must be non-empty UUID or structured trace identifier. Validate format against pipeline trace ID schema. Reject duplicate trace IDs to prevent audit record collisions

[OUTPUT_SCHEMA]

Expected structure for the audit trail output including required fields and compliance metadata

{"required_fields": ["claim_id", "verdict", "evidence_summary", "decision_rationale", "reviewer_attestation"], "compliance_standard": "SOC2-TypeII"}

Must be valid JSON schema definition. Validate that required_fields array is non-empty. Reject schemas missing decision_rationale or reviewer_attestation when compliance mode is active

[COMPLIANCE_CHECKLIST]

List of regulatory or governance requirements this audit record must satisfy

["Evidence chain must be reproducible", "Decision rationale must cite specific policy sections", "Reviewer attestation required for all UNSUPPORTED verdicts"]

Must be valid JSON array of strings. Each checklist item should be a verifiable requirement. Empty array allowed for non-regulated workflows. Log which checklist items were satisfied vs. deferred in audit output

PROMPT PLAYBOOK

Implementation Harness Notes

How to wire the Unsupported Statement Audit Trail Generation prompt into a production verification pipeline with retry logic, validation, and storage.

The audit trail prompt is a high-stakes component in a compliance pipeline. Its output is not a user-facing answer but a machine-readable record that must be stored, indexed, and potentially reviewed by auditors. The implementation harness must therefore treat the prompt as a record producer, not a conversational agent. The primary integration points are: a claim intake queue, a verification evidence store, the prompt execution service, a structured output validator, a retry/recovery layer, and an audit log database. Each claim that enters the pipeline should carry a unique claim_id and a verification_run_id to ensure every audit trail record is traceable back to its originating workflow.

The harness should enforce a strict validate-then-store contract. After the model returns a response, the first step is schema validation against the expected JSON output shape. Use a JSON Schema validator to confirm the presence and types of required fields: claim_id, verdict, evidence_search_summary, decision_rationale, reviewer_context, and traceability_metadata. If validation fails, do not store a partial record. Instead, route the failure to a retry queue with the original prompt, the validation error message, and a retry_count. Implement a maximum of 3 retries with exponential backoff. If all retries are exhausted, log the failure to a dead-letter queue and create a manual review ticket with the full prompt context and raw model output attached. This prevents silent data loss in the audit trail.

For storage, write each validated audit trail record as an immutable append-only entry in a dedicated audit_trail table or collection. The record should include the full prompt template used, the model version, the timestamp, and the validated output. Never update an audit trail record in place. If a claim is re-verified later, create a new record with a new verification_run_id and a reference to the previous record. This preserves the full decision history. Additionally, the harness should emit a structured log event for every verification attempt, including successful validations, retries, and dead-letter escalations, so that operations teams can monitor pipeline health and audit trail completeness in real time.

Model choice matters for this workflow. Use a model with strong instruction-following and structured output capabilities, such as gpt-4o or claude-3.5-sonnet, and set temperature=0 to maximize determinism. The prompt template includes a [RISK_LEVEL] parameter; when this is set to high, the harness should automatically flag the output for mandatory human review before the audit trail record is finalized. In this case, the record is written with a status: pending_review and a notification is sent to the designated review queue. Only after a human reviewer approves the record does its status change to final. This gating mechanism ensures that high-risk unsupported claims receive appropriate oversight without blocking the entire pipeline.

Finally, integrate the audit trail generation step into your broader verification workflow orchestration. The prompt should fire after evidence retrieval and sufficiency scoring are complete, and only when the claim has been classified as UNSUPPORTED. Do not generate audit trails for VERIFIED or CONTRADICTED claims unless your compliance policy explicitly requires it, as this will bloat storage and create noise. Use the traceability_metadata field to include the evidence search query history, the list of sources consulted, and the timestamp of the evidence exhaustion declaration. This ensures the audit trail is a self-contained record that an auditor can review without accessing external systems.

IMPLEMENTATION TABLE

Expected Output Contract

The exact JSON schema, field types, and pass/fail validation rules your system should enforce for the Unsupported Statement Audit Trail Generation prompt.

Field or ElementType or FormatRequiredValidation Rule

audit_id

string (UUID v4)

Must match UUID v4 regex. Reject if missing or malformed.

claim_text

string

Must be non-empty and exactly match the input claim. Reject on truncation or alteration.

verification_status

enum: UNSUPPORTED | UNVERIFIABLE

Must be one of the allowed enum values. Reject any other status.

evidence_search_history

array of objects

Array must contain at least 1 search attempt. Each object must have query, source, timestamp, and results_count fields.

decision_rationale

string

Must be non-empty, minimum 50 characters. Reject if it contains only generic phrases like 'no evidence found' without specific reasoning.

reviewer_context

object

Must contain reviewer_id, review_timestamp, and review_notes fields. reviewer_id must be non-empty.

compliance_checklist

array of objects

Array must contain at least 3 checklist items. Each item must have item_id, description, and passed (boolean) fields.

traceability_metadata

object

Must contain pipeline_version, model_id, and processing_timestamp fields. pipeline_version must follow semver format.

PRACTICAL GUARDRAILS

Common Failure Modes

What breaks first when generating audit trails for unsupported statements and how to guard against it.

01

Silent Evidence Omission

What to watch: The model generates a clean audit trail but omits key search queries or sources that returned zero results, creating a false impression of thoroughness. Guardrail: Require explicit search_attempts and null_result_sources fields in the output schema. Validate that every declared evidence gap maps to at least one logged search action.

02

Decision-Justification Mismatch

What to watch: The model correctly flags a claim as UNSUPPORTED but provides a rationale that contradicts the evidence log or invents plausible-sounding but false reasons. Guardrail: Implement a post-generation consistency check that verifies every sentence in the decision_rationale field is traceable to a logged search_result or source_absence record. Flag mismatches for human review.

03

Premature Exhaustion Declaration

What to watch: The model declares evidence search complete after only one or two queries, missing obvious alternative search paths and producing an incomplete audit trail. Guardrail: Enforce a minimum search diversity threshold in the harness—require at least N distinct query formulations or source types before accepting an exhaustion declaration. Log violations as incomplete audits.

04

Temporal Context Drift

What to watch: The audit trail references evidence sources without capturing their publication dates or the time window searched, making it impossible to determine if the search was temporally adequate. Guardrail: Require search_time_range and per-source publication_date fields in the audit schema. Validate that the declared search window covers the claim's relevant time period.

05

Confidence Inflation on Thin Evidence

What to watch: The model assigns moderate or high confidence to an UNSUPPORTED verdict despite sparse search activity, misleading downstream systems that rely on confidence scores for routing. Guardrail: Implement a confidence suppression rule: if search_attempts < threshold or sources_consulted < minimum, automatically cap the confidence score and append a low-effort caveat to the audit record.

06

Reviewer Context Starvation

What to watch: The generated audit trail is technically complete but lacks the narrative context a human reviewer needs to understand why specific search paths were chosen or abandoned. Guardrail: Include a required search_strategy_summary field that explains the search logic in plain language. Validate that this summary references the actual queries executed, not generic descriptions.

IMPLEMENTATION TABLE

Evaluation Rubric

Run these checks on a golden dataset of 20-50 known unsupported claims before shipping the audit trail prompt to production. Each criterion targets a specific failure mode observed in audit trail generation.

CriterionPass StandardFailure SignalTest Method

Audit Record Completeness

Every required field in [OUTPUT_SCHEMA] is present and non-null for all 50 test claims

Missing decision_rationale, evidence_search_history, or reviewer_context fields in any record

Schema validation script checks field presence across batch output; flag any record with null required fields

Evidence Search Traceability

evidence_search_history contains at least one search action with timestamp, query, and sources_consulted for every claim

Empty search history array or missing timestamp/query/sources_consulted fields

Parse each audit record; assert evidence_search_history.length >= 1; assert each entry has non-empty timestamp, query, and sources_consulted

Decision Rationale Specificity

decision_rationale references specific evidence gaps, not generic statements like 'insufficient evidence'

Rationale contains only boilerplate phrases without naming specific missing evidence types or sources

Keyword exclusion check for banned phrases: 'insufficient evidence', 'not enough information', 'cannot verify' without further detail; require at least one specific gap named

Reviewer Context Packaging

reviewer_context includes claim text, source document reference, and evidence gap summary for all 50 claims

Missing claim text, source reference, or gap summary in reviewer_context

Field presence check on reviewer_context sub-fields; assert claim_text, source_document, and gap_summary are all present and non-empty

Timestamp and Trace ID Presence

Every audit record has a unique trace_id and ISO 8601 timestamp in audit_metadata

Duplicate trace_ids across records or missing/malformed timestamps

Uniqueness check on trace_id across batch; regex validation on timestamp format against ISO 8601 pattern

Compliance Checklist Completeness

compliance_checklist contains all required items from [COMPLIANCE_REQUIREMENTS] with pass/fail/not_applicable values

Missing checklist items or items left without a status value

Compare compliance_checklist keys against [COMPLIANCE_REQUIREMENTS] schema; assert every required item present with value in [pass, fail, not_applicable]

Unsupported Classification Consistency

All 50 known-unsupported claims receive unsupported classification; no false supported verdicts

Any known-unsupported claim classified as supported or verified

Golden dataset label comparison; assert classification field equals 'unsupported' for all 50 test claims; flag any deviation

Human Review Flag Accuracy

human_review_required is true for claims meeting escalation criteria defined in [ESCALATION_RULES]; false otherwise

Escalation-required claims missing review flag or low-risk claims incorrectly flagged

Apply [ESCALATION_RULES] programmatically to each claim; compare expected human_review_required value against generated value; require exact match

ADAPTATION OPTIONS

Adapt This Prompt

How to adapt

Start with the base prompt and a single compliance framework (e.g., SOC 2). Use a lightweight JSON schema for the audit record but skip strict enum validation. Run against 5-10 known unsupported claims and manually review output shape.

Watch for

  • Missing traceability fields like [SEARCH_QUERIES] or [SOURCES_CONSULTED]
  • Decision rationale that paraphrases the claim instead of explaining the evidence gap
  • Timestamps rendered as prose instead of ISO 8601
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.