Inferensys

Prompt

Evidence Package Assembly Prompt for Human Review

A practical prompt playbook for assembling complete adjudication packets from automated guardrail detection systems, designed for operations teams building human review queues.
Engineers overseeing intelligent automation equipment in a clean production environment.
PROMPT PLAYBOOK

When to Use This Prompt

Defines the operational context for assembling an adjudication packet, including the ideal user, required inputs, and scenarios where this prompt should not be used.

This prompt is designed for the handoff point between an automated guardrail detection system and a human review queue. Its job is to eliminate the 'context hunt' that slows down human adjudicators. When a detection system flags a violation, the raw signal is often just a score and a snippet. A reviewer needs the full conversation history, the specific policy clause that was violated, the severity classification, and a structured recommendation to make a fast, consistent decision. This prompt assembles those disparate pieces into a single, reviewer-ready evidence package, ensuring the human can adjudicate the violation without opening five other systems.

The ideal user is a trust and safety engineer, compliance officer, or operations lead who is building a human-in-the-loop (HITL) escalation pipeline. The required inputs are a structured violation detection record (containing the violating excerpt and severity), the full conversation context, and the relevant policy library. The prompt enforces a completeness validation step, refusing to produce a package if critical evidence is missing. This prevents 'under-evidenced' escalations that waste reviewer time and erode trust in the automation. It is designed to be wired into a middleware layer that fetches context from your database and policy store before calling the LLM.

Do not use this prompt for real-time blocking decisions where latency is measured in milliseconds. Evidence assembly adds a non-trivial delay and is meant for asynchronous review queues. Similarly, do not use it when the violation is pre-authorized for automated remediation (e.g., a hard block on known malicious patterns). If you skip the human review step, you are generating a structured packet that no one will read, wasting compute. Finally, avoid using this prompt if your detection system does not reliably capture the violating excerpt; the prompt's completeness check will cause it to fail closed, which is safe but will stall your pipeline.

PRACTICAL GUARDRAILS

Use Case Fit

Where the Evidence Package Assembly Prompt works and where it introduces risk. Use this to decide if the prompt fits your review queue workflow.

01

Good Fit: Automated Detection to Human Review Pipelines

Use when: You have an automated guardrail or detection system that flags content and you need a structured, auditable packet for a human reviewer to adjudicate. Guardrail: Ensure the detection system provides a stable identifier, violation type, and raw excerpt before calling this prompt.

02

Bad Fit: Real-Time User-Facing Interventions

Avoid when: The system must block or warn a user synchronously. This prompt is designed for asynchronous review queues, not for generating instant user-facing explanations. Guardrail: Use a lightweight classification prompt for real-time blocks and reserve this for the post-event review packet.

03

Required Inputs: Source Excerpts and Policy References

What to watch: The prompt will hallucinate or produce a vague package if given only a violation label without the raw conversation or document excerpt. Guardrail: Always provide the full, unredacted source text and the specific policy clause that was violated as input variables.

04

Operational Risk: Under-Evidenced Escalations

What to watch: The model may assemble a package that looks complete but lacks a direct quote or misattributes the policy. This trains reviewers to trust low-quality evidence. Guardrail: Implement a post-generation completeness validator that checks for the presence of a direct quote and a policy citation before the case enters the queue.

05

Operational Risk: Normalization of Deviance in Review Scores

What to watch: If the prompt always suggests a "Medium" severity for ambiguous cases, reviewers may stop applying independent judgment. Guardrail: The prompt must instruct the model to explicitly separate the evidence summary from the suggested remediation, and the UI should ask the reviewer to confirm or override the severity, not just the action.

06

Variant: Remediation-First Assembly

Use when: The review queue is owned by a content moderation team that needs to act, not just adjudicate. Guardrail: Modify the prompt template to prioritize the "Suggested Remediation" section, generating the specific content removal, user warning, or appeal instructions before the full policy analysis.

PROMPT PLAYBOOK

Copy-Ready Prompt Template

A production-ready prompt that assembles a complete, validated evidence package for human review of a guardrail violation.

This prompt template is the core instruction set for an AI system that must transition from detection to adjudication. It takes raw violation data and transforms it into a structured, reviewer-ready case file. The template is designed to be pasted directly into your system prompt or a dedicated API call, with square-bracket placeholders representing the dynamic data your application must inject at runtime. The strict JSON output contract ensures the resulting evidence package can be parsed and routed into a review queue without manual reformatting.

text
You are a precise evidence package assembler for a trust and safety review queue. Your task is to compile a complete, structured adjudication packet from the provided violation data. You must not add, assume, or infer any information not present in the input. If required evidence is missing, you must flag it explicitly rather than fabricate it.

## INPUT DATA
- Violation Record: [VIOLATION_JSON]
- Conversation/Event Log: [FULL_CONTEXT_LOG]
- Relevant Policy Document: [POLICY_TEXT]
- User/Account Metadata: [USER_METADATA_JSON]

## OUTPUT SCHEMA
You must output a single, valid JSON object conforming to this exact schema:
{
  "case_id": "string (from Violation Record)",
  "status": "ready_for_review",
  "violation_summary": {
    "policy_violated": "string (exact policy name)",
    "severity": "string (CRITICAL | HIGH | MEDIUM | LOW)",
    "detection_timestamp": "string (ISO 8601)",
    "violation_type": "string (e.g., 'toxic_output', 'prompt_injection')"
  },
  "evidence_package": {
    "conversation_excerpt": {
      "pre_context": ["string (3-5 messages before violation)"],
      "violating_content": "string (the exact message or action)",
      "post_context": ["string (2-3 messages after violation)"]
    },
    "policy_citation": {
      "relevant_clause": "string (verbatim text from policy)",
      "clause_reference": "string (e.g., 'Section 3.2 - Harmful Content')"
    },
    "key_entities": [
      {
        "entity_type": "string (e.g., 'user_id', 'session_id')",
        "entity_value": "string"
      }
    ]
  },
  "suggested_remediation": "string (one clear, actionable next step based on policy)",
  "completeness_check": {
    "all_required_fields_present": true,
    "missing_evidence": ["string (list any missing items, empty if complete)"]
  }
}

## CONSTRAINTS
- Do not include any text outside the JSON object.
- The `violating_content` must be a verbatim copy from the log.
- If the policy text does not contain a clear citation, set `relevant_clause` to "No exact match found in provided policy" and flag this in `missing_evidence`.
- If the severity in the input is not one of the four allowed values, default to "HIGH" and note the discrepancy in `missing_evidence`.

To adapt this template, replace the placeholders with your system's live data. The [VIOLATION_JSON] should be the structured output from your upstream detection prompt. The [FULL_CONTEXT_LOG] is the raw, unedited interaction that triggered the detection. The [POLICY_TEXT] must be the canonical policy document, not a summary, to enable accurate citation. The [USER_METADATA_JSON] provides reviewer context like account standing. After the model returns the JSON, your application harness must validate it against the schema before posting it to the review queue. If the completeness_check.missing_evidence array is not empty, the case should be flagged for pre-review enrichment, not sent directly to a human adjudicator.

IMPLEMENTATION TABLE

Prompt Variables

Every placeholder the Evidence Package Assembly Prompt expects, with its purpose, a concrete example, and actionable validation rules to prevent under-evidenced escalations.

PlaceholderPurposeExampleValidation Notes

[VIOLATION_RECORD]

Structured output from the upstream guardrail detection prompt, containing the violation type, severity, and raw evidence.

{ "type": "POLICY_VIOLATION", "severity": "HIGH", "evidence": "...", "policy_id": "PII-003" }

Schema check: must contain type, severity, evidence fields. evidence must be a non-empty string. Reject if null or missing required fields.

[CONVERSATION_EXCERPT]

The specific user and assistant message turns immediately surrounding the violation, with timestamps.

USER [2024-01-01T00:00:00Z]: What is John's SSN? ASSISTANT [2024-01-01T00:00:01Z]: It is 123-45-6789.

Parse check: must contain at least one USER and one ASSISTANT turn. Timestamps must be ISO 8601. Null allowed only if the violation occurred outside a conversation context.

[POLICY_CITATION]

The exact text of the internal policy, safety guideline, or regulatory requirement that was violated.

Section 4.2: PII Redaction. All outputs containing Social Security Numbers must be blocked before reaching the user.

Citation check: must be a non-empty string. If the policy source is a document, include the document ID and section number. Reject if the citation is a hallucinated or generic statement.

[REMEDIATION_SUGGESTION]

A proposed corrective action generated by the AI to resolve the violation or prevent recurrence.

Redact the SSN from the response and re-prompt the model with a stricter PII filter instruction.

Content check: must be a non-empty string. Must not be a generic placeholder like 'fix the issue'. Human review required before execution if the remediation involves a write operation.

[ADJUDICATION_OPTIONS]

A predefined list of decision paths available to the human reviewer, formatted as an array of strings.

["Uphold violation and apply remediation", "Dismiss as false positive", "Escalate to legal review"]

Schema check: must be a non-empty array of strings. Each option must be a complete sentence describing an action. Reject if the array is empty or contains only generic labels like 'Yes' or 'No'.

[COMPLETENESS_CHECKLIST]

A list of boolean flags confirming that each required component of the evidence package is present and valid.

{ "violation_record": true, "excerpt": true, "citation": true, "remediation": false }

Schema check: must be a JSON object with boolean values. All keys must correspond to the required evidence components. Escalate for human review if any value is false.

[CONFIDENCE_SCORE]

The model's self-assessed confidence (0.0 to 1.0) that the evidence package is complete and correctly maps to the cited policy.

0.92

Threshold check: must be a float between 0.0 and 1.0. If below 0.85, flag the package for a secondary review before sending to the human adjudication queue.

[ESCALATION_TIMESTAMP]

The UTC timestamp when the evidence package was assembled and escalated.

2024-01-01T12:00:00Z

Format check: must be ISO 8601 UTC. Reject if the timestamp is in the future or older than the violation record's timestamp.

PROMPT PLAYBOOK

Implementation Harness Notes

How to wire the Evidence Package Assembly prompt into a production review queue with validation, retry, logging, and human-review routing.

The Evidence Package Assembly prompt is not a standalone artifact; it is a critical component in a human-in-the-loop adjudication pipeline. Its output must be treated as a structured data payload that feeds directly into a review queue system. The primary goal of the harness is to guarantee that every escalation presented to a human reviewer is complete, well-formed, and actionable, preventing the waste of reviewer time on under-evidenced or malformed packets. This means the application code wrapping the prompt is responsible for input sanitization, output validation, and state management, not the prompt itself.

Validation and the Retry Loop: Before an evidence package ever reaches a human, the application must validate the model's output against a strict schema. Use a library like jsonschema in Python or zod in TypeScript to enforce the presence of required fields: violation_id, policy_citation, conversation_excerpt, severity_classification, and suggested_remediation. If validation fails, do not immediately escalate. Instead, implement a retry loop with error forwarding. Re-invoke the model, appending the raw output and the specific validation error (e.g., 'Missing required field: policy_citation') to the prompt as a correction instruction. Limit this loop to a maximum of 2 retries to control latency and cost. If validation still fails after retries, log the raw output as a malformed_escalation event and create a minimal manual-review ticket for an on-call engineer, as this indicates a systemic prompt or model failure.

Logging, Auditing, and Human Routing: Every step of this process must be logged for governance and debugging. Capture the input guardrail trigger, the model's raw response, the validation result, and the final adjudication outcome in an immutable audit log. When the package is valid, the harness should push it to a human review queue with a structured payload that includes the validated evidence package and a set of decision options (e.g., OVERRIDE_AND_CONTINUE, SUSPEND_ACTION, FALSE_POSITIVE). The routing logic can use the severity_classification field to assign priority. For high-severity violations, the harness should trigger an immediate notification (e.g., PagerDuty alert) in addition to the queue entry. Avoid the temptation to let the model make the final decision; the harness's job is to prepare the perfect packet for a human judge, not to automate the verdict.

IMPLEMENTATION TABLE

Expected Output Contract

The fields, types, and validation rules the assembled evidence packet must satisfy before entering the human review queue. Use this contract to build a server-side validator that rejects incomplete or malformed packets before they reach a reviewer.

Field or ElementType or FormatRequiredValidation Rule

packet_id

string (UUID v4)

Must parse as valid UUID v4. Reject on mismatch.

violation_type

enum from [VIOLATION_TYPE_CATALOG]

Must match an allowed enum value exactly. Case-sensitive check.

severity

enum: CRITICAL | HIGH | MEDIUM | LOW

Must be one of the four allowed values. Reject unknown severities.

policy_reference

string (policy_id:section)

Must match pattern ^[A-Z]+-[0-9]+:[0-9]+.[0-9]+$. Reject on format mismatch.

conversation_excerpt

array of {role: string, content: string}

Array length >= 1 and <= 10. Each role must be 'user', 'assistant', or 'tool'. Content must be non-empty string.

violation_evidence

string (plain text)

Length >= 50 characters and <= 2000 characters. Must contain the quoted text that triggered detection.

suggested_remediation

string (plain text)

Length >= 20 characters and <= 1000 characters. Null not allowed. Empty string rejected.

detection_confidence

number (float 0.0-1.0)

Must be a float between 0.0 and 1.0 inclusive. Values below [CONFIDENCE_THRESHOLD] should trigger a separate low-confidence path.

detector_version

string (semver)

Must match semver pattern ^[0-9]+.[0-9]+.[0-9]+$. Reject on missing or malformed version.

timestamp_utc

string (ISO 8601)

Must parse as valid ISO 8601 UTC datetime. Reject non-UTC or unparseable timestamps.

PRACTICAL GUARDRAILS

Common Failure Modes

Evidence packages fail when they are incomplete, biased, or impossible to adjudicate. These are the most common production failure modes and how to prevent them.

01

Missing Evidence Gaps

What to watch: The prompt assembles a package that references a policy violation but omits the specific conversation excerpt or tool log that proves it. The reviewer sees a conclusion with no supporting data. Guardrail: Add a completeness validator that checks for required fields (excerpt, timestamp, policy ID) and rejects the package back to the assembly prompt with a structured retry request before it reaches the human queue.

02

Confirmation Bias in Assembly

What to watch: The prompt cherry-picks evidence that supports the detection signal while ignoring exculpatory context from the same conversation. The package looks damning but is materially incomplete. Guardrail: Require the prompt to explicitly include a 'Contrary Evidence' section. If none is found, it must state that explicitly. A second-pass review prompt can audit the package for balance before routing.

03

Policy-Context Mismatch

What to watch: The prompt cites a policy that is outdated, deprecated, or applies to a different jurisdiction than the user's context. The reviewer makes a decision based on the wrong rule. Guardrail: Bind the prompt to a specific policy version and jurisdiction tag at runtime. Include the policy's effective date and scope in the evidence package header so the reviewer can immediately spot a mismatch.

04

Over-Assembly and Reviewer Fatigue

What to watch: The prompt dumps the entire conversation history, every tool log, and multiple policy documents into the package to be 'thorough.' The reviewer is overwhelmed and misses the critical signal. Guardrail: Enforce a strict context budget. The prompt must include a 'Summary for Reviewer' section limited to three sentences, with the full excerpt capped at the last N turns. A pre-flight check should truncate and warn if the package exceeds a token limit.

05

Unscoped Remediation Suggestions

What to watch: The prompt suggests a remediation action (e.g., 'suspend account') that the reviewer is not authorized to take or that violates a separate operational policy. The suggestion creates confusion or liability. Guardrail: Provide the prompt with a closed list of allowed remediation actions mapped to the reviewer's role. The prompt must only suggest from that list and must not invent actions. A post-assembly validator can strip unauthorized suggestions.

06

Stale or Hallucinated Citations

What to watch: The prompt generates a plausible-sounding policy citation or evidence reference that does not exist in the provided source material. The reviewer trusts the citation and makes an ungrounded decision. Guardrail: Require the prompt to quote the policy text verbatim and include a source pointer (e.g., section header, document ID). A grounding check prompt should verify that every citation string appears in the supplied policy documents before the package is sent.

IMPLEMENTATION TABLE

Evaluation Rubric

Run these checks against a golden dataset of 50+ labeled violation records before shipping the Evidence Package Assembly Prompt to production. Each criterion validates a specific failure mode observed in under-evidenced escalations.

CriterionPass StandardFailure SignalTest Method

Completeness: Required Fields

All required fields in [OUTPUT_SCHEMA] are present and non-null for every record

Missing [violation_excerpt], [policy_citation], or [severity_classification] in output

Schema validation script checks field presence across all 50+ golden records; fail if any required field is null or absent

Evidence Sufficiency

Output contains at least one verbatim excerpt from [CONVERSATION_LOG] that directly supports the violation claim

Excerpt is paraphrased, truncated mid-sentence, or references a turn that does not exist in the input

Manual review of 20 sampled outputs verifies excerpt exists verbatim in source; automated substring match against [CONVERSATION_LOG]

Policy Citation Accuracy

Cited policy ID matches the correct policy from [POLICY_LIBRARY] for the violation type in the golden label

Policy citation references a non-existent policy ID or a policy unrelated to the actual violation

Compare [policy_id] in output to golden label's expected policy; measure exact-match accuracy across all records

Severity Classification Consistency

Severity level matches golden label within ±1 level on the defined severity scale

Severity is off by 2+ levels or defaults to a single severity for all inputs regardless of content

Cohen's kappa between output severity and golden label severity across 50+ records; target kappa > 0.8

Remediation Suggestion Relevance

Suggested remediation addresses the specific violation type and policy cited, not a generic action

Remediation is identical across all outputs or suggests an action that contradicts the cited policy

LLM-as-judge pairwise comparison: output remediation vs. golden remediation rated on relevance scale 1-5; mean score > 4.0

No Hallucinated Evidence

All claims in the evidence summary are directly supported by [CONVERSATION_LOG] or [POLICY_LIBRARY]

Output invents user messages, policy clauses, or timestamps not present in input

Human annotator flags any unsupported claim in 30 sampled outputs; hallucination rate must be < 2%

Handoff Readiness

Output contains all fields required for a human reviewer to make a decision without re-reading the full conversation log

Reviewer survey indicates they needed to consult original source material for > 20% of decisions

Timed decision task with 3 reviewers on 10 outputs; measure time-to-decision and self-reported need to consult source; target < 15% source consultation rate

Output Format Compliance

Output is valid JSON matching [OUTPUT_SCHEMA] with correct types, enums, and no extra fields

Output is malformed JSON, uses wrong enum values, or includes fields not defined in schema

JSON Schema validator run against all 50+ outputs; 100% parse success and schema conformance required

ADAPTATION OPTIONS

Adapt This Prompt

How to adapt

Start with the base prompt and a simple checklist validator. Focus on getting the structure right before adding strict schema enforcement. Use a single policy reference and a flat severity scale (Low/Medium/High).

code
You are assembling an evidence package for human review. Include:
- [VIOLATION_TYPE]
- [SEVERITY]
- [EXCERPT]
- [POLICY_REFERENCE]
- [SUGGESTED_REMEDIATION]

Output as markdown with these headings.

Watch for

  • Missing fields in the output because the prompt doesn't enforce completeness
  • Overly broad excerpts that dump entire conversations instead of relevant snippets
  • No validation step, so malformed packages reach the review queue
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.