Inferensys

Prompt

Prompt Output Regression Severity Scoring Prompt

A practical prompt playbook for using Prompt Output Regression Severity Scoring Prompt in production AI workflows.
Developer doing prompt engineering on laptop, prompt variations visible on screen, casual coding session.
PROMPT PLAYBOOK

When to Use This Prompt

Define the job, reader, and constraints for the Prompt Output Regression Severity Scoring Prompt.

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.

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.

PRACTICAL GUARDRAILS

Use Case Fit

Where the Prompt Output Regression Severity Scoring Prompt works and where it introduces risk.

01

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.

02

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.

03

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.

04

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.

05

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.

06

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.

PROMPT PLAYBOOK

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.

text
You 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.

IMPLEMENTATION TABLE

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.

PlaceholderPurposeExampleValidation 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.

PROMPT PLAYBOOK

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.

IMPLEMENTATION TABLE

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 ElementType or FormatRequiredValidation 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.

PRACTICAL GUARDRAILS

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.

01

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.

02

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.

03

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.

04

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.

05

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.

06

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.

IMPLEMENTATION TABLE

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.

CriterionPass StandardFailure SignalTest 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 input_category field. Flag missing or unqualified estimates.

Data Corruption Risk Flag

Output includes a boolean data_corruption_risk field that is true only when the regression mutates stored state, writes malformed records, or deletes data.

Field is missing, null, or set to true for cosmetic or read-only failures. False negatives on corruption risk are critical failures.

Schema check for data_corruption_risk as required boolean. Spot-check 10 known corruption cases and 10 known safe cases. Require 100% recall on corruption detection.

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: Automated, Manual, Irreversible. Validate that Irreversible only appears when data_corruption_risk is true.

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: severity, frequency_range, affected_cohort, data_corruption_risk, reversibility, justification, rank.

Missing required fields, extra fields that violate the contract, or type mismatches (e.g., severity as integer instead of string).

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 Low or None, and the justification explicitly notes no functional effect.

Benign changes are classified as Medium or higher, or the justification invents user impact where none exists.

Include 5 benign regression cases in the test suite. Verify all receive Low or None severity. Flag any false escalation as a precision failure.

ADAPTATION OPTIONS

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
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.