This prompt is designed for evaluation leads and AI engineers who need to move beyond binary pass/fail judgments for complex, multi-requirement tasks. Its core job is to detect partial compliance: distinguishing a complete failure from a near-miss that got 4 out of 5 constraints right. You should use this prompt when a single output must satisfy a list of explicit, independently verifiable instructions—such as a generated report that must include specific sections, stay under a word limit, use a particular tone, and cite its sources. The ideal user is someone integrating an automated evaluation gate into a CI/CD pipeline or a data preparation workflow, where understanding the degree of failure is critical for deciding whether to retry, repair, or reject an output.
Prompt
Partial Compliance Detection Prompt for Multi-Requirement Tasks

When to Use This Prompt
Define the job-to-be-done, the ideal user, required context, and when this prompt is the wrong tool.
You need to provide a clear, structured list of requirements as the [REQUIREMENTS] input. This isn't a prompt for grading open-ended creative quality or subjective preference; it's for verifying explicit, constraint-based instructions. The prompt works best when each requirement is atomic and falsifiable (e.g., 'Output must be valid JSON' or 'Must not mention competitors'). You must also configure a [PASS_THRESHOLD], a percentage score below which the output is considered a hard failure. This threshold is your primary gating mechanism, allowing you to accept an output that missed one minor formatting rule while still rejecting a response that ignored a critical safety constraint.
Do not use this prompt for evaluating conversational quality, factual accuracy against an external knowledge base, or the logical soundness of an argument. Those tasks require different evaluators focused on groundedness, reasoning traces, or dialogue coherence. This prompt is also the wrong tool if your requirements are inherently subjective (e.g., 'The tone should be friendly') without a detailed rubric defining what 'friendly' means. For high-risk domains like healthcare or legal review, the compliance matrix this prompt produces should be treated as a diagnostic signal for a human reviewer, not as an automated decision-maker. The next step is to wire this prompt into a validation harness that can parse its structured output and trigger the appropriate action—retry, repair, or escalate.
Use Case Fit
Where the Partial Compliance Detection Prompt delivers value and where it introduces risk. Use these cards to decide if this evaluation pattern fits your workflow before integrating it into a CI/CD pipeline or human review queue.
Good Fit: Multi-Constraint Outputs
Use when: evaluating outputs that must satisfy 3+ independent requirements simultaneously (e.g., format, length, tone, and content inclusion). Guardrail: Define each constraint as a discrete, verifiable check—vague requirements produce unreliable partial-credit scores.
Bad Fit: Single Binary Pass/Fail
Avoid when: you only need a yes/no gate on one dimension. The partial-compliance matrix adds latency and token cost without benefit. Guardrail: Use a simpler pass/fail prompt with a single criterion and threshold for binary decisions.
Required Input: Explicit Constraint Definitions
Risk: The judge hallucinates requirements that were never specified or misses implicit constraints. Guardrail: Provide each constraint as a named, atomic statement with a clear verification method. Never rely on the judge to infer requirements from context alone.
Operational Risk: Score Drift Over Time
Risk: Partial-credit thresholds that pass today may fail tomorrow as the judge model's sensitivity shifts. Guardrail: Pin judge model versions, log per-constraint scores over time, and recalibrate thresholds against a golden dataset of known partial-compliance cases every release cycle.
Bad Fit: Subjective Quality Judgments
Avoid when: compliance is a matter of opinion rather than verifiable presence or absence. Partial-credit scoring on 'creativity' or 'helpfulness' produces noise, not signal. Guardrail: Reserve this prompt for objective, checkable constraints. Use pairwise comparison or rubric prompts for subjective dimensions.
Required Input: Threshold Configuration
Risk: Teams adopt the prompt without defining what overall percentage constitutes a pass, leading to inconsistent gating. Guardrail: Configure and document the pass threshold, per-constraint minimums, and critical-constraint rules before deployment. A 90% overall score with a critical constraint failure should still gate.
Copy-Ready Prompt Template
A reusable prompt template for detecting partial compliance across multiple requirements, producing a per-requirement matrix with partial credit scoring.
This template is designed to be copied directly into your evaluation harness. It instructs the model to act as a compliance auditor, breaking down a multi-requirement task into individual constraints and scoring each one independently. The prompt uses square-bracket placeholders for all variable inputs—replace these with your actual task description, output to evaluate, requirements list, and scoring configuration before use. The template is structured to produce a consistent JSON output that can be parsed by downstream validation and gating logic.
textYou are a compliance auditor evaluating an AI-generated output against a set of explicit requirements. Your job is to detect partial compliance: some requirements may be fully met, partially met, or not met at all. ## INPUT **Task Description:** [TASK_DESCRIPTION] **Output to Evaluate:** [OUTPUT_TO_EVALUATE] **Requirements:** [REQUIREMENTS_LIST] ## SCORING RULES For each requirement, assign a compliance status and score: - **FULLY_MET** (1.0): The output completely satisfies the requirement with no omissions or errors. - **PARTIALLY_MET** (0.5): The output addresses the requirement but has gaps, incomplete coverage, or minor errors. - **NOT_MET** (0.0): The output fails to satisfy the requirement or contradicts it. ## OUTPUT SCHEMA Return a JSON object with this exact structure: { "overall_compliance_percentage": <number 0-100>, "overall_pass": <true if overall_compliance_percentage >= [PASS_THRESHOLD]>, "requirements": [ { "requirement_id": "<string>", "requirement_text": "<string>", "status": "FULLY_MET" | "PARTIALLY_MET" | "NOT_MET", "score": <0.0 | 0.5 | 1.0>, "evidence": "<quote or description from the output that supports this score>", "reasoning": "<brief explanation of why this score was assigned>" } ], "summary": "<one-paragraph summary of overall compliance, highlighting critical failures if any>" } ## CONSTRAINTS [CONSTRAINTS] ## EXAMPLES [EXAMPLES] ## INSTRUCTIONS 1. Evaluate each requirement independently against the output. 2. Provide specific evidence from the output for every score. 3. If a requirement has sub-parts, treat partial satisfaction as PARTIALLY_MET. 4. Calculate overall_compliance_percentage as: (sum of all requirement scores / total number of requirements) * 100. 5. Apply the pass threshold of [PASS_THRESHOLD] percent to determine overall_pass. 6. If [RISK_LEVEL] is "high", flag any NOT_MET requirements in the summary with a warning.
To adapt this template, replace the square-bracket placeholders with your specific context. [TASK_DESCRIPTION] should contain the original instruction given to the model being evaluated. [OUTPUT_TO_EVALUATE] is the generated text or structured output under review. [REQUIREMENTS_LIST] should be a numbered or bulleted list of individual constraints—break compound requirements into separate items so each can be scored independently. [PASS_THRESHOLD] is an integer between 0 and 100 representing the minimum overall compliance percentage required for a pass. Use [CONSTRAINTS] to add domain-specific rules such as "requirements about legal disclaimers are weighted as critical" or "partial credit is not allowed for safety requirements." The [EXAMPLES] placeholder should contain one or two worked examples showing correct scoring for edge cases like near-misses and complete failures. Set [RISK_LEVEL] to "high" when the evaluation gates a production deployment, regulated output, or user-facing system—this activates warning flags in the summary for any NOT_MET requirements.
Before deploying this prompt, validate that your requirements list is exhaustive and non-overlapping. Overlapping requirements cause double-counting and inflate or deflate the compliance percentage. Test the prompt with known outputs that should score at 0%, 50%, and 100% compliance to verify threshold behavior. For high-risk workflows, route outputs scoring below the pass threshold to human review rather than auto-rejecting. The JSON output schema is designed for direct ingestion by a validation function—add a post-processing step that checks field presence, type correctness, and score range before the result gates any downstream action.
Prompt Variables
Required inputs for the Partial Compliance Detection Prompt. Each variable must be populated before evaluation. Missing or malformed inputs will cause the judge to return an error instead of a score.
| Placeholder | Purpose | Example | Validation Notes |
|---|---|---|---|
[ORIGINAL_INSTRUCTIONS] | The complete set of requirements given to the primary model | Generate a 200-word summary of the Q3 report. Include revenue, margin, and headcount. Do not mention competitors. Use a professional tone. | Must be non-empty string. Check for conflicting constraints before passing to judge. Escape nested quotes. |
[MODEL_OUTPUT] | The raw text output from the primary model being evaluated | Revenue reached $12M with 34% margins. Headcount grew to 450. The quarter showed strong performance across all business units. | Must be non-empty string. Truncate to 32k tokens max. Strip trailing whitespace. Do not pre-process or normalize before evaluation. |
[REQUIREMENT_LIST] | JSON array of individual requirements extracted from the instructions | ["Include revenue figure", "Include margin percentage", "Include headcount number", "Do not mention competitors", "Use professional tone", "Stay under 200 words"] | Must be valid JSON array of strings. Each string must be a single testable requirement. Avoid compound requirements. Minimum 2 items. |
[REQUIREMENT_TYPES] | Classification for each requirement to determine scoring method | {"Include revenue figure": "factual", "Include margin percentage": "factual", "Do not mention competitors": "exclusion", "Use professional tone": "stylistic", "Stay under 200 words": "numeric"} | Must be valid JSON object. Keys must exactly match [REQUIREMENT_LIST] entries. Allowed types: factual, exclusion, stylistic, numeric, structural. No missing keys. |
[PARTIAL_CREDIT_THRESHOLD] | Minimum score for a requirement to count as partially met rather than failed | 0.3 | Must be float between 0.0 and 1.0. Default 0.0 means no partial credit. Set higher for strict pass/fail. Validate range before prompt assembly. |
[OVERALL_PASS_THRESHOLD] | Minimum overall compliance percentage required for a passing verdict | 0.85 | Must be float between 0.0 and 1.0. 0.85 means 85% of weighted requirement points must be earned. Validate range. Do not set below 0.5 for production gating. |
[REQUIREMENT_WEIGHTS] | Optional per-requirement weight multipliers for importance | {"Include revenue figure": 2.0, "Do not mention competitors": 3.0} | Must be valid JSON object or null. Keys must match [REQUIREMENT_LIST]. Weights must be positive floats. Default weight is 1.0 for unlisted requirements. Null means equal weighting. |
Implementation Harness Notes
How to wire the Partial Compliance Detection Prompt into an evaluation pipeline with validation, retries, and threshold gating.
This prompt is designed to sit inside an automated evaluation harness, not as a one-off manual check. The typical integration pattern is: a task-under-test produces an output, that output is paired with the original multi-requirement specification, and both are sent to this prompt. The resulting compliance matrix is then parsed and fed into a gating decision. Because the prompt returns structured JSON with per-requirement scores and an overall compliance percentage, the harness can enforce pass/fail thresholds programmatically without human interpretation of free-text commentary.
Wire the prompt into your evaluation loop by constructing a request that includes the full [REQUIREMENTS] list, the [OUTPUT_TO_EVALUATE], and any [THRESHOLD_CONFIG] for partial credit scoring. Validate the response against a strict JSON schema before trusting it: check that requirements is an array, each element has id, description, score, max_score, and evidence fields, and that overall_compliance_percentage is a number between 0 and 100. If validation fails, retry once with an explicit error message appended to the prompt context. Log every compliance matrix alongside the task output and model version for traceability. For high-stakes domains such as healthcare, legal, or finance, route outputs below the threshold to a human review queue rather than auto-rejecting—the partial credit breakdown gives reviewers a precise map of what passed and what didn't.
Choose a model with strong instruction-following and structured output capabilities for this judge role. GPT-4o, Claude 3.5 Sonnet, and Gemini 1.5 Pro are all suitable; avoid smaller models that may collapse partial-credit distinctions into binary pass/fail. Set temperature to 0 to maximize scoring consistency across runs. If you observe score drift over time, implement a calibration step where a subset of evaluations is spot-checked by a human rater and compared against the judge's scores. Store these calibration pairs to detect when the judge needs prompt adjustment or model upgrade. The compliance matrix this prompt produces is also an excellent input for downstream analytics—aggregate per-requirement pass rates to identify which constraints are most frequently violated, and use that data to improve your task prompts or adjust requirement wording.
Expected Output Contract
Fields, format, and validation rules for the partial compliance detection prompt. Use this contract to parse the model output, validate correctness, and wire results into downstream gating logic.
| Field or Element | Type or Format | Required | Validation Rule |
|---|---|---|---|
compliance_matrix | Array of objects | Must be a non-empty array. Each element must match the RequirementResult schema. | |
compliance_matrix[].requirement_id | String | Must match a requirement ID from the input [REQUIREMENTS] list. No missing or extra IDs allowed. | |
compliance_matrix[].status | Enum: FULL, PARTIAL, NONE | Must be one of the three allowed values. Case-sensitive. PARTIAL requires partial_evidence to be non-null. | |
compliance_matrix[].partial_evidence | String or null | Required and non-empty when status is PARTIAL. Must be null when status is FULL or NONE. Must cite specific output text or behavior. | |
compliance_matrix[].score | Number (0.0 to 1.0) | Must be a float between 0.0 and 1.0 inclusive. FULL must be 1.0. NONE must be 0.0. PARTIAL must be between 0.01 and 0.99. | |
overall_compliance_percentage | Number (0.0 to 100.0) | Must equal the mean of all compliance_matrix scores multiplied by 100, rounded to one decimal place. Validate arithmetic. | |
pass_fail_verdict | Enum: PASS, FAIL | PASS when overall_compliance_percentage >= [PASS_THRESHOLD]. FAIL otherwise. Must be consistent with the threshold. | |
failure_summary | String or null | Required and non-empty when pass_fail_verdict is FAIL. Must list the requirement_ids that caused the failure. Null when PASS. |
Common Failure Modes
Partial compliance is a silent killer in production. These are the most common ways multi-requirement prompts fail, why they happen, and how to catch them before your users do.
Silent Constraint Dropping
What to watch: The model satisfies 4 of 5 requirements perfectly but completely ignores the fifth without signaling the omission. This is the most dangerous failure mode because the output looks correct on casual review. Guardrail: Implement a requirement-by-requirement compliance matrix in your evaluation harness. Each constraint must receive an explicit pass/fail/partial judgment. A 100% pass threshold on all required constraints gates deployment.
Constraint Conflict Resolution Drift
What to watch: When two instructions conflict (e.g., 'be concise' vs 'include all details'), the model silently prioritizes one over the other. The resolution choice is inconsistent across runs, causing non-deterministic failures. Guardrail: Pre-deployment conflict scanning. Test prompt pairs for known conflicts. Add explicit priority rules in the system prompt (e.g., 'When constraints conflict, prioritize accuracy over brevity'). Log resolution choices in eval traces.
Format Compliance Without Semantic Correctness
What to watch: The output passes schema validation (valid JSON, correct types, all fields present) but the content is wrong, hallucinated, or misaligned with instructions. Format checkers give false confidence. Guardrail: Never rely on format validation alone. Pair schema checks with content evaluation rubrics. Test for semantic correctness on a golden dataset. Use LLM-as-judge to verify that field values actually satisfy the instruction intent.
Boundary Condition Blindness
What to watch: The model handles typical cases well but fails on edge cases: empty inputs, maximum-length inputs, inputs at constraint boundaries, or inputs that trigger multiple constraints simultaneously. Guardrail: Build a boundary test suite. Include null inputs, max-length strings, conflicting constraint triggers, and adversarial examples. Run these through the compliance matrix on every prompt version change. Flag any regression immediately.
Implicit Assumption Hallucination
What to watch: The model fills gaps in under-specified requirements with plausible but incorrect assumptions. It 'complies' with what it thinks you meant, not what you actually specified. Guardrail: Add explicit negative constraints ('Do not assume X', 'If Y is missing, respond with Z'). Test with deliberately ambiguous inputs. Measure abstention rate—the model should ask for clarification or flag ambiguity rather than guess.
Partial Credit Threshold Gaming
What to watch: When using percentage-based pass/fail thresholds (e.g., '80% compliance = pass'), the model may learn to satisfy easy constraints while ignoring hard ones, still hitting the threshold. The output passes but is functionally broken. Guardrail: Use weighted scoring where critical constraints are gating items. A single critical constraint failure = automatic fail regardless of overall percentage. Define 'must-pass' vs 'nice-to-have' constraints explicitly in your evaluation rubric.
Evaluation Rubric
Criteria for testing the Partial Compliance Detection Prompt's output quality before shipping. Use this rubric to validate that the prompt correctly identifies per-requirement compliance, assigns partial credit, and gates pass/fail decisions.
| Criterion | Pass Standard | Failure Signal | Test Method |
|---|---|---|---|
Requirement Coverage | Every requirement from [REQUIREMENTS_LIST] is represented as a row in the compliance matrix | Missing or extra requirements in the output matrix compared to the input list | Count output rows against input requirement count; check for exact label match |
Binary Pass/Fail Accuracy | Requirements with no partial credit allowed are scored as 1.0 only when fully met, 0.0 otherwise | A binary requirement receives a score between 0.01 and 0.99 | Test with a deliberately incomplete output that violates one binary constraint; assert score is 0.0 for that row |
Partial Credit Granularity | Partial credit scores use the increment specified in [PARTIAL_CREDIT_INCREMENT] (e.g., 0.25 steps) | Scores appear at arbitrary decimal precision not aligned to the configured increment | Parse all partial credit scores; verify each is a multiple of the configured increment |
Overall Compliance Percentage | Overall score equals (sum of per-requirement scores) / (count of requirements) * 100 | Overall percentage does not match manual calculation from per-row scores | Compute expected percentage from output rows; assert match within 0.1% tolerance |
Threshold Gating | Output correctly sets pass/fail verdict based on [PASS_THRESHOLD] comparison against overall percentage | Verdict is pass when overall percentage is below threshold, or fail when above | Test with scores at threshold-1%, threshold, and threshold+1%; assert correct verdict for each |
Near-Miss Flagging | Requirements scored between [NEAR_MISS_LOWER_BOUND] and [NEAR_MISS_UPPER_BOUND] are flagged with a near-miss indicator | A requirement at 0.95 with bounds 0.8-0.99 is not flagged, or a requirement at 0.5 is incorrectly flagged | Provide output with one requirement at 0.9 and bounds 0.8-0.99; assert near-miss flag is true for that row |
Evidence Per Requirement | Each row includes a justification snippet or evidence field explaining the score | Rows are missing justification entirely or justification is generic placeholder text | Assert every row has a non-empty justification field with at least 20 characters referencing the specific requirement |
Output Schema Validity | Output parses as valid JSON matching [OUTPUT_SCHEMA] with all required fields present | JSON parse error, missing required field, or wrong type for any field | Validate output against JSON Schema; assert no validation errors |
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 flat list of requirements. Use a simple JSON output schema with requirement_id, status, and notes fields. Skip the weighted scoring and threshold gating. Run against 10-20 known outputs to calibrate your requirement descriptions before adding complexity.
code[REQUIREMENTS] 1. Output must be valid JSON 2. Response must include a citation 3. Tone must be professional
Watch for
- Vague requirement descriptions producing inconsistent judgments
- The judge accepting near-misses as full passes without partial credit
- No baseline human agreement measurement before trusting results

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