This prompt is for triage engineers, QA leads, and product managers who need to prioritize a growing queue of regression failures after a prompt change or model update. Its job is to grade each regression failure on a structured severity scale, considering user impact, failure frequency, data corruption risk, and reversibility. The output is a prioritized remediation queue with severity justifications, enabling the team to focus on the most damaging regressions first instead of treating every test failure as equally urgent.
Prompt
Prompt Output Regression Severity Scoring Prompt

When to Use This Prompt
Define the job, reader, and constraints for the Prompt Output Regression Severity Scoring Prompt.
Use this prompt when you have a batch of regression test failures from a golden dataset run and need to decide what to fix before a release. It is designed for production prompt pipelines where a change has already been tested, failures have been identified, and the next step is operational triage. The prompt expects a list of failure records as input, each containing the test case ID, the input, the expected output, the actual output, and any existing failure category tags. It works best when paired with the Regression Failure Categorization Prompt Template, which can pre-classify failures before severity scoring.
Do not use this prompt as a real-time production guardrail or for scoring failures in live user traffic—it is designed for offline evaluation suites, not streaming inference. It is also not a substitute for human judgment in safety-critical domains. If a regression involves regulated outputs, financial data, or clinical content, the severity score should be reviewed by a domain expert before remediation actions are taken. The prompt produces a structured JSON output, making it straightforward to wire into a CI/CD pipeline or a triage dashboard.
Use Case Fit
Where the Prompt Output Regression Severity Scoring Prompt works and where it introduces risk.
Good Fit: Triage Queues with Mixed Severity
Use when: A regression test suite produces multiple failures and the team needs a prioritized remediation queue. Why: The prompt grades each failure on user impact, frequency, data corruption risk, and reversibility, producing a ranked list with justification. Guardrail: Always provide the full failure log with context; severity scoring degrades when failures are summarized or aggregated before grading.
Bad Fit: Single-Failure or Trivial Regressions
Avoid when: Only one regression exists or all failures are cosmetic. Why: The prompt adds latency and token cost without meaningful prioritization value. A simple pass/fail gate is sufficient. Guardrail: Gate invocation behind a minimum failure count threshold (e.g., 3+ failures) to avoid unnecessary scoring overhead.
Required Inputs: Structured Failure Records
What to watch: The prompt requires per-failure metadata including test case ID, expected vs. actual output, affected user segment, and whether the failure is deterministic or flaky. Guardrail: Validate input completeness before scoring. Missing fields produce unreliable severity grades. Use a schema validator in the harness to reject incomplete failure records.
Operational Risk: Severity Inflation
What to watch: The model may inflate severity scores when failures involve sensitive-sounding domains (healthcare, finance, legal) even when actual user impact is low. Guardrail: Calibrate against a human-scored severity baseline quarterly. Use few-shot examples with realistic severity distributions to anchor the model's judgment.
Operational Risk: Inconsistent Justifications
What to watch: Severity justifications may vary in detail or contradict the assigned score, making it hard for triage teams to trust the output. Guardrail: Require structured justification fields (impact category, evidence from failure log, reversibility assessment) rather than free-text explanations. Validate that justification fields are populated and internally consistent.
Pipeline Integration: Human Review for Critical Severity
What to watch: High-severity regressions (data corruption, PII exposure, safety violations) should not auto-merge into a remediation queue without human confirmation. Guardrail: Route severity-5 (critical) and severity-4 (high) scores to a human reviewer before the remediation queue is finalized. Log the reviewer's decision for audit.
Copy-Ready Prompt Template
A reusable prompt template for scoring regression failures by severity, producing a prioritized remediation queue with justification.
This prompt template is designed to be dropped into a triage workflow where a regression test suite has already produced a list of failures. It expects each failure to include the input that triggered it, the expected output, the actual output, and any available metadata such as the test case ID or category. The model's job is not to re-evaluate whether the failure is valid—that should already be established—but to assess how urgently each failure needs to be addressed based on user impact, data integrity risk, reversibility, and blast radius.
textYou are a regression severity scorer for an AI product triage team. Your job is to review a list of confirmed regression failures and assign each one a severity score with clear justification. Do not re-judge whether the failure is valid. Assume each listed failure has already been confirmed as a regression. ## INPUT You will receive a list of regression failures. Each failure includes: - test_case_id: unique identifier for the test case - input: the prompt or query that triggered the failure - expected_output: the previously accepted correct output - actual_output: the current output that deviates from expected - category: the failure category (e.g., hallucination, format_drift, over_refusal, instruction_misinterpretation, context_mishandling) - affected_user_segment: who is impacted (e.g., all_users, enterprise_only, free_tier, internal_tools) - frequency_estimate: how often this failure is expected to occur (e.g., rare, occasional, frequent, constant) [FAILURE_LIST] ## SEVERITY SCALE Use this 4-level scale: - **P0 - Critical**: Causes data corruption, irreversible harm, safety violation, or complete system unusability for a broad user segment. Requires immediate rollback or hotfix. - **P1 - High**: Significantly degrades core functionality, produces materially wrong answers that could cause user harm or business loss, or affects a large user segment with no workaround. Fix within 24 hours. - **P2 - Medium**: Noticeable quality degradation, incorrect but not harmful outputs, or impact limited to a narrow user segment or edge case. Fix in the next scheduled release. - **P3 - Low**: Cosmetic issues, minor format deviations, rare edge cases with minimal user impact, or failures that are technically regressions but produce acceptable outputs. Fix when convenient. ## SCORING CRITERIA For each failure, consider: 1. **User Impact**: How severely does this affect the end user's experience or trust? Can they still accomplish their task? 2. **Data Integrity Risk**: Could this failure corrupt stored data, propagate bad information downstream, or cause cascading errors? 3. **Reversibility**: Can the harm be undone? Is the output ephemeral or persisted? 4. **Blast Radius**: How many users, use cases, or downstream systems are affected? 5. **Workaround Availability**: Is there a reasonable alternative path for users? 6. **Category Severity Weight**: Certain failure categories carry higher inherent risk. Hallucination in regulated domains and data corruption should be weighted higher than format drift or cosmetic issues. ## OUTPUT FORMAT Return a JSON object with this exact structure: { "severity_summary": { "total_failures": <number>, "p0_count": <number>, "p1_count": <number>, "p2_count": <number>, "p3_count": <number> }, "prioritized_queue": [ { "rank": <number starting from 1>, "test_case_id": "<string>", "severity": "P0|P1|P2|P3", "justification": "<2-4 sentence explanation referencing specific scoring criteria>", "recommended_action": "<one of: immediate_rollback, hotfix, next_release, backlog>" } ], "triage_notes": "<optional overall assessment of the regression batch, patterns noticed, or escalation recommendations>" } ## CONSTRAINTS - Every failure in the input must appear in the prioritized_queue exactly once. - Rankings must be strict: no ties. If two failures seem equally severe, break the tie by prioritizing the one with broader user impact. - Justifications must reference specific scoring criteria, not generic statements. - If any failure involves potential data corruption, safety risk, or regulated-domain hallucination, flag it in triage_notes for immediate human review regardless of assigned severity. - Do not invent failures or modify the input data. [OUTPUT_SCHEMA] ## EXAMPLES [EXAMPLES]
Adaptation guidance: Replace [FAILURE_LIST] with your actual regression failure data, structured as described in the INPUT section. The [OUTPUT_SCHEMA] placeholder can be removed if your application layer already enforces JSON schema validation—the inline format specification is sufficient for most models. The [EXAMPLES] placeholder should be populated with 2-3 scored examples showing different severity levels, especially edge cases where P1 and P2 are hard to distinguish. If your domain has specific severity definitions (e.g., SOC2 compliance impact, SLA penalties), add those as additional scoring criteria rather than replacing the existing ones. For high-stakes domains like healthcare or finance, add a [RISK_LEVEL] constraint that forces P0 classification for any failure touching protected data or regulated outputs.
Prompt Variables
Required inputs for the Prompt Output Regression Severity Scoring Prompt. Each variable must be populated before the prompt can produce a reliable severity-ranked remediation queue.
| Placeholder | Purpose | Example | Validation Notes |
|---|---|---|---|
[REGRESSION_LIST] | Array of regression failure objects, each containing test case ID, expected output, actual output, and failure category. | [{"test_id":"TC-042","expected":"...","actual":"...","category":"hallucination"}] | Must be valid JSON array with at least one object. Each object requires test_id, expected, actual, and category fields. Empty array should trigger an empty response or no-op guard. |
[USER_IMPACT_CONTEXT] | Description of the product surface, user workflow, and audience affected by the regression failures. | Public-facing checkout flow used by authenticated customers during payment submission. | Must be a non-empty string. Vague descriptions degrade severity accuracy. Include user count or segment if known. Null not allowed. |
[SEVERITY_SCALE] | Ordinal scale defining severity levels with clear criteria for each level. | SEV1: data loss or security impact; SEV2: blocked user workflow; SEV3: degraded experience; SEV4: cosmetic only. | Must define at least 3 levels with distinct, non-overlapping criteria. Each level must have a label and description. Validate that criteria are mutually exclusive. |
[FREQUENCY_DATA] | Optional. Known or estimated frequency of each regression failure in production traffic. | {"TC-042": {"estimated_hits_per_day": 1200, "confidence": "high"}} | If provided, must be valid JSON mapping test_id to frequency object with estimated_hits_per_day and confidence fields. Null allowed when frequency is unknown; prompt should handle missing data gracefully. |
[REVERSIBILITY_RULES] | Rules for determining whether a regression's effects are reversible, partially reversible, or irreversible. | Data written to external payment ledger is irreversible; UI display errors are fully reversible on next page load. | Must be a non-empty string or structured rules object. Ambiguous reversibility rules cause inconsistent severity scoring. Validate that each rule references a concrete system or data boundary. |
[PRIOR_OUTPUT_BASELINE] | Optional. Prior severity scoring run output for trend comparison and escalation detection. | {"run_id":"2025-03-15-001","top_severity":"SEV2","total_regressions":7} | If provided, must include run_id and top_severity fields. Used for detecting severity escalation across runs. Null allowed for first-run scenarios. |
[OUTPUT_SCHEMA] | Expected JSON schema for the severity-scored remediation queue output. | {"regressions":[{"test_id":"...","severity":"...","justification":"...","remediation_priority":1}]} | Must be a valid JSON schema or example structure. Prompt must conform output to this shape. Validate output against this schema post-generation. Required field. |
[CONSTRAINTS] | Operational constraints such as max queue size, required justification length, or mandatory fields. | Maximum 20 regressions in output queue. Justification must cite specific severity scale criteria. Priority integers must be unique. | Must be a non-empty string or list of constraint strings. Each constraint must be testable. Validate output against each constraint after generation. Missing constraints lead to unbounded or inconsistent output. |
Implementation Harness Notes
How to wire the severity scoring prompt into a regression triage pipeline with validation, retries, and human review gates.
This prompt is designed to sit after a regression test suite runner has produced a list of failing test cases. The harness should collect each failure's metadata—input, expected output, actual output, failure category, and any existing severity tags—and feed them into the prompt as structured [FAILURE_RECORDS]. The prompt is not a real-time classifier; it is a batch triage tool meant to run once per test run or per release candidate. Expect latency of several seconds per batch, and design your pipeline to call this prompt asynchronously after the test suite completes.
Input assembly: Build the [FAILURE_RECORDS] array by joining the regression runner's output with any production incident data. Each record must include at minimum: failure_id, test_case_name, expected_behavior, actual_behavior, failure_category, and affected_user_path. If you have production telemetry, add user_impact_estimate and frequency_last_7d fields. The prompt's severity scale depends on these fields being populated; missing data will produce low-confidence scores. Validate the input array before sending—reject records with null actual_behavior or missing failure_category and route them to a manual triage queue.
Output validation: The prompt returns a JSON array of severity assessments. Before accepting the output, validate that every record has a severity_score (integer 1-5), a severity_label matching the defined scale, and a non-empty justification. Reject the entire batch if more than 5% of records fail validation and retry once with a stricter [CONSTRAINTS] block that emphasizes completeness. If the retry also fails, escalate the batch to a human triage lead. Log every validation failure with the raw model output for debugging.
Human review gate: Severity scores of 4 (high) or 5 (critical) should trigger a human review step before the remediation queue is finalized. The harness should post these high-severity failures to a review channel (Slack, Jira, or a custom dashboard) with the prompt's justification and a link to the full failure record. Do not auto-merge critical severity items into a remediation sprint without human sign-off. For lower severities (1-3), the harness can auto-populate the triage backlog with the prompt's remediation_priority field as the initial sort key.
Model choice and retries: Use a model with strong instruction-following and structured output capabilities (GPT-4o, Claude 3.5 Sonnet, or equivalent). Set temperature=0 or very low (0.1) to maximize scoring consistency across runs. Implement a single retry on format validation failure with an explicit error message appended to the [CONSTRAINTS] block. Do not retry on content disagreements—those belong in the human review step. Log the model version, prompt version, and input hash with every run for auditability.
Avoid wiring this prompt directly into an automated rollback decision. Severity scores inform prioritization, not automated release gates. A critical severity finding should pause a rollout and notify the on-call engineer, but the decision to roll back must remain human-driven. The prompt's justification field is designed to accelerate that decision, not replace it.
Expected Output Contract
Fields, types, and validation rules for the regression severity scoring output. Use this contract to validate the LLM response before it enters the triage queue.
| Field or Element | Type or Format | Required | Validation Rule |
|---|---|---|---|
severity_score | integer (1-5) | Must be an integer between 1 and 5 inclusive. Reject if float, string, or out of range. | |
severity_label | enum string | Must match one of: 'Critical', 'High', 'Medium', 'Low', 'Cosmetic'. Case-sensitive exact match required. | |
regression_id | string | Must match the [REGRESSION_ID] input exactly. Reject on mismatch or empty string. | |
impact_summary | string (<=280 chars) | Length must be between 10 and 280 characters. Reject if empty, whitespace-only, or exceeds limit. | |
affected_user_segment | string or null | If null, no validation. If string, must be non-empty and not 'N/A'. Reject placeholder-only values. | |
data_corruption_risk | boolean | Must be strictly true or false. Reject 'yes', 'no', 1, 0, or null. | |
reversibility | enum string | Must match one of: 'Automatic', 'Manual', 'Irreversible'. Case-sensitive exact match required. | |
remediation_priority_rank | integer (>=1) | Must be a positive integer. Reject zero, negative, or non-integer values. Duplicate ranks across regressions in a batch should trigger a warning. |
Common Failure Modes
Severity scoring prompts fail in predictable ways that can undermine triage accuracy and remediation priority. These are the most common failure modes and how to guard against them.
Severity Inflation Under Ambiguity
What to watch: When impact evidence is thin or missing, the model defaults to high-severity scores rather than requesting clarification. This creates false-critical queues that waste triage bandwidth. Guardrail: Require an explicit 'Insufficient Evidence' severity level and instruct the model to downgrade when impact, frequency, or reversibility fields are missing or speculative.
Recency Bias in Frequency Estimation
What to watch: The model overweights recently mentioned failures and underestimates older or less vividly described regressions, skewing the remediation queue toward whatever was described last. Guardrail: Require frequency to be scored from structured input fields only, not narrative order. Add a calibration check that compares frequency scores against explicit count or rate data when available.
Reversibility Blind Spots
What to watch: Data corruption and irreversible actions are underweighted when the failure description focuses on user-facing symptoms rather than downstream effects. A 'wrong output' that corrupts a database is scored the same as a display-only error. Guardrail: Include a mandatory reversibility assessment step before final severity scoring. Require the model to state whether the regression can be undone and what the rollback cost would be.
Inconsistent Severity Boundaries Across Batches
What to watch: When scoring regressions in separate runs, the same failure profile receives different severity levels because the model's internal threshold drifts without anchor examples. Guardrail: Include 2-3 calibrated severity examples in the prompt as few-shot anchors. Run periodic consistency checks by re-scoring a held-out reference case and flagging threshold drift.
Justification-Conclusion Mismatch
What to watch: The model produces a plausible-sounding justification that doesn't actually support the assigned severity score—for example, describing critical impact but assigning medium severity. Guardrail: Add a self-consistency check step where the model must map each justification sentence to a specific severity criterion. Flag outputs where the justification evidence and final score diverge for human review.
User Impact Scope Creep
What to watch: The model assumes worst-case user impact without evidence of actual exposure. A regression affecting an edge-case input is scored as if all users are affected. Guardrail: Require explicit user-impact scope fields: affected user count or percentage, segment, and exposure duration. Instruct the model to default to the narrowest plausible scope when data is missing rather than the widest.
Evaluation Rubric
Use this rubric to grade the severity of each regression failure before shipping a prompt change. Each criterion maps to a pass standard, a concrete failure signal, and a test method that can be automated in a CI/CD evaluation harness.
| Criterion | Pass Standard | Failure Signal | Test Method |
|---|---|---|---|
User Impact Classification | Severity label matches documented impact definitions (e.g., Critical, High, Medium, Low) with no more than one level of disagreement from a second judge. | Severity label is missing, defaults to a generic value, or differs by two or more levels from a calibrated human judge. | Pairwise comparison against a golden set of 20 pre-labeled regression cases with known severity. Measure exact-match accuracy and Cohen's kappa. |
Frequency and Reach Estimate | Frequency estimate includes a bounded range (e.g., 'affects 5-15% of requests') and cites the affected input category from the regression test metadata. | Frequency is stated as a single point without range, omits the affected cohort, or uses unqualified terms like 'rare' or 'common' without evidence. | Parse output for a numeric range and a cohort label. Validate that the cohort label exists in the golden dataset's |
Data Corruption Risk Flag | Output includes a boolean | Field is missing, null, or set to | Schema check for |
Reversibility Assessment | Output states whether the regression effect is reversible (rollback, re-run, manual fix) and estimates the effort tier (e.g., 'Automated rollback', 'Manual per-record fix'). | Reversibility is omitted, assumes rollback is always possible, or fails to note when corrupted data cannot be repaired automatically. | Parse for a reversibility statement and an effort tier from a closed set: |
Severity Justification Chain | Justification links the severity score to at least two of: user impact, frequency, data risk, or reversibility. Reasoning is self-consistent. | Justification is a single sentence, circular ('Severity is High because impact is high'), or contradicts the evidence fields provided in the output. | LLM-as-judge check: another model call grades whether the justification references at least two evidence fields and contains no internal contradictions. Pass threshold: 4/5 on a 1-5 coherence scale. |
Prioritization Rank Consistency | The assigned rank in the remediation queue is monotonic with severity (Critical before High before Medium before Low). Ties are broken by frequency or data risk. | A Low-severity regression appears above a Critical one, or tie-breaking is arbitrary with no documented rationale. | Sort the output queue by severity, then by frequency range midpoint, then by data corruption flag. Verify the resulting order matches the assigned rank. Flag any inversions. |
Output Schema Compliance | Output is valid JSON matching the expected schema: | Missing required fields, extra fields that violate the contract, or type mismatches (e.g., | Validate against a JSON Schema definition. Reject any output that fails structural validation. Measure schema compliance rate across 100 regression cases. |
Edge Case: Benign Regression Handling | For regressions with zero user impact (e.g., whitespace change in an unused field), severity is | Benign changes are classified as | Include 5 benign regression cases in the test suite. Verify all receive |
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
Use the base prompt with a single model and a small set of known regressions. Drop the structured JSON output requirement initially and ask for a plain-text severity assessment with a 1–5 scale and one-line justification. Replace [REGRESSION_LOG] with a hand-curated list of 3–5 failures. Skip the remediation queue ordering and focus on severity classification accuracy.
Watch for
- Inconsistent severity labels across runs (e.g., same failure scored 2 then 4)
- Missing justification when severity is ambiguous
- Over-reliance on user-impact language without evidence from the log

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