This prompt is designed for Site Reliability Engineers (SREs) and platform operators who need to verify the impact of a recent change, deployment, or incident on their Service Level Objective (SLO) error budget. It takes raw metric data and a defined SLO window, then generates a structured burn rate analysis, a projection for budget exhaustion, and a risk classification. Use this prompt after a deployment, a configuration change, or an incident remediation to close the verification loop. It is not a replacement for your monitoring dashboard; it is a reasoning tool that interprets the data you provide and recommends whether to escalate to a human for a rollback or remediation decision.
Prompt
Error Budget Burn Rate Verification Prompt

When to Use This Prompt
Defines the ideal scenario, user, and required context for using the Error Budget Burn Rate Verification Prompt, and clarifies when it should not be used.
The ideal user provides a specific, bounded context: a target SLO percentage, the length of the compliance window (e.g., 30 days), and a time-series dataset of error counts and total requests. The prompt is most effective when you need a fast, structured interpretation of whether the current burn rate is sustainable. For example, after a canary deployment, you can pipe the canary's error metrics into this prompt to get an immediate read on whether the deployment is consuming the error budget at an acceptable rate, or if it's on a trajectory to exhaust the budget within hours, triggering an automatic escalation recommendation.
Do not use this prompt for real-time alerting or as a substitute for your Service Level Indicator (SLI) metrics pipeline. It is not designed to ingest raw log streams or make sub-second decisions. Avoid using it when the SLO window is undefined, the input data is not pre-aggregated into a time series, or when the decision to roll back requires complex orchestration logic that goes beyond a risk classification. The prompt's output is a reasoned recommendation, not an executable command. In high-severity scenarios, the final decision to roll back or remediate must always remain with a human operator who can weigh factors outside the prompt's context, such as business impact or upcoming peak traffic.
Use Case Fit
Where the Error Budget Burn Rate Verification Prompt works, where it fails, and the operational prerequisites for safe deployment.
Good Fit: Post-Deployment SLO Impact Analysis
Use when: An SRE team needs a structured analysis of how a recent change is consuming the error budget. The prompt excels at calculating burn rate, projecting exhaustion, and classifying risk based on a defined SLO window. Guardrail: Always provide the exact SLO target percentage and the rolling window duration as explicit variables; do not rely on the model to infer them from context.
Bad Fit: Real-Time Alerting or Metric Collection
Avoid when: You need a system to directly scrape Prometheus, ingest streaming metrics, or trigger a PagerDuty alert. This prompt analyzes a pre-collected data snapshot; it cannot replace your observability pipeline. Guardrail: Use this prompt downstream of your monitoring system. Feed it a structured summary of the burn rate data, not a raw metrics endpoint.
Required Input: A Strict Data Contract
Risk: Without a structured input schema, the model may miscalculate the burn rate or use the wrong time window, leading to a false sense of security. Guardrail: The prompt must receive a JSON input with explicit fields for current_burn_rate, slo_target, evaluation_window_minutes, and total_budget_minutes. The application layer should validate these fields before calling the LLM.
Operational Risk: Hallucinated Math on Complex Windows
Risk: For non-trivial SLO windows or multi-service composite budgets, the model can hallucinate a plausible but incorrect exhaustion timestamp. Guardrail: Implement a post-generation validation step that programmatically recalculates the projected time-to-exhaustion using the same input data and flags any discrepancy greater than a 5% tolerance for human review.
Operational Risk: Premature Escalation or False Confidence
Risk: The model's risk classification (
Bad Fit: Unsupervised Rollback Decisions
Avoid when: You want the AI to automatically trigger a rollback based on the burn rate analysis. This prompt provides a risk assessment, not an execution command. Guardrail: The output must be routed to a human approval queue or a deterministic rules engine. The prompt's escalation_trigger field should be treated as a recommendation, not a direct actuator for CI/CD pipelines.
Copy-Ready Prompt Template
A reusable prompt with square-bracket placeholders that generates a structured error budget burn rate verification report.
The following prompt template is designed to be copied directly into your AI harness. It accepts structured inputs for SLO definitions, recent event data, and risk thresholds, then produces a verification report that includes burn rate calculations, projections, and an escalation recommendation. All placeholders use square-bracket notation so you can wire them into your application's variable substitution layer without ambiguity.
textYou are an SRE verification assistant. Your task is to analyze error budget burn after a recent change and produce a structured verification report. ## INPUT DATA - SLO Definition: [SLO_DEFINITION] - Compliance Window: [COMPLIANCE_WINDOW] - Error Budget Policy: [ERROR_BUDGET_POLICY] - Recent Change Details: [CHANGE_DETAILS] - Pre-Change Error Rate (last [PRE_WINDOW]): [PRE_CHANGE_ERROR_RATE] - Post-Change Error Rate (last [POST_WINDOW]): [POST_CHANGE_ERROR_RATE] - Current Error Budget Remaining: [CURRENT_BUDGET_PERCENT] - Alert History (last [ALERT_WINDOW]): [ALERT_HISTORY] ## OUTPUT SCHEMA Return a single JSON object with this exact structure: { "report_id": "string", "generated_at": "ISO8601 timestamp", "change_reference": "string", "burn_rate_analysis": { "pre_change_burn_rate": "number (budget % consumed per hour)", "post_change_burn_rate": "number (budget % consumed per hour)", "burn_rate_multiplier": "number", "calculation_method": "string explaining the formula used" }, "projection": { "time_until_exhaustion_at_current_rate": "string (e.g., '3 days, 4 hours')", "projected_budget_remaining_at_window_end": "number (percentage)", "assumptions": ["string"] }, "risk_classification": "low | medium | high | critical", "escalation_required": true or false, "escalation_reason": "string or null", "verification_passed": true or false, "evidence_summary": ["string"], "recommendations": ["string"] } ## CONSTRAINTS - Use the compliance window from the SLO definition for all projections. - If the post-change burn rate exceeds [BURN_RATE_THRESHOLD]x the pre-change rate, classify risk as "high" or "critical". - If projected budget remaining at window end falls below [BUDGET_EXHAUSTION_THRESHOLD]%, set escalation_required to true. - If any alert in the alert history has severity "critical" and occurred after the change, include it in evidence_summary. - Do not fabricate metric values. If a calculation cannot be performed due to missing data, set the field to null and note the gap in assumptions. - All timestamps must be in ISO8601 format. ## RISK CLASSIFICATION RULES - "low": post-change burn rate <= pre-change burn rate and projection shows >50% budget remaining at window end. - "medium": post-change burn rate > pre-change burn rate but projection shows >[BUDGET_EXHAUSTION_THRESHOLD]% budget remaining. - "high": projection shows <=[BUDGET_EXHAUSTION_THRESHOLD]% budget remaining at window end. - "critical": budget exhaustion projected within [CRITICAL_EXHAUSTION_HOURS] hours. ## ESCALATION RULES - Set escalation_required to true if risk_classification is "high" or "critical". - Set escalation_required to true if any evidence_summary item indicates a critical alert. - When escalation_required is true, escalation_reason must contain a specific, actionable explanation referencing the burn rate, projection, or alert evidence.
To adapt this template, replace each square-bracket placeholder with values from your observability stack. The [SLO_DEFINITION] should include the target SLO percentage and the compliance window duration. Wire [BURN_RATE_THRESHOLD] and [BUDGET_EXHAUSTION_THRESHOLD] to your team's error budget policy—typical starting values are 2x for burn rate threshold and 10% for budget exhaustion threshold. The [CRITICAL_EXHAUSTION_HOURS] field defines your fast-burn emergency boundary; 24 hours is a common default for critical services. Before deploying, validate that your substitution layer handles missing optional fields gracefully and that the output JSON parses correctly against the schema.
After copying the template, pair it with a validation step that checks the output JSON against the declared schema. If the model produces malformed JSON or omits required fields, use a repair prompt from the Output Repair and Validation Prompts pillar rather than retrying blindly. For production deployments, log every verification report with the input parameters that produced it so you can audit burn rate calculations later. If the prompt is used in a regulated environment, require human review for any report where escalation_required is true before the report triggers an automated rollback or paging action.
Prompt Variables
Replace each placeholder with real data before sending the prompt to the model. Validation notes describe how to check that the replacement value is safe, complete, and correctly formatted.
| Placeholder | Purpose | Example | Validation Notes |
|---|---|---|---|
[SLO_TARGET] | The service-level objective threshold (e.g., 99.9% availability) against which burn rate is calculated | 99.9 | Must be a numeric percentage between 0 and 100. Parse as float and confirm it matches the SLO definition in the team's error budget policy document. |
[SLO_WINDOW_DAYS] | The trailing time window in days over which the error budget is measured | 30 | Must be a positive integer. Common values are 7, 14, 28, or 30. Reject if window exceeds the team's defined SLO period or is less than 1. |
[CURRENT_BURN_RATE] | The observed burn rate multiplier (e.g., 2x means consuming budget twice as fast as allowed) | 2.5 | Must be a positive float. Derive from monitoring data using the formula: (error rate / allowed error rate). Reject if null or negative. Source must be a time-series database query result. |
[ERROR_BUDGET_REMAINING_PCT] | The percentage of the error budget still available for the current window | 45.2 | Must be a float between 0 and 100. Pull from the same monitoring system as burn rate. Reject if the value is stale (timestamp older than 5 minutes) or inconsistent with burn rate. |
[INCIDENT_TIMESTAMP] | The UTC timestamp of the change or incident that triggered this verification | 2025-03-15T14:30:00Z | Must be ISO 8601 UTC format. Parse and validate the timestamp is not in the future and falls within the current SLO window. Reject if missing timezone offset. |
[CHANGE_DESCRIPTION] | A brief human-readable description of the change or deployment being verified | Rollout of payment-service v2.3.1 to production | Must be a non-empty string under 500 characters. Should come from the deployment system or change ticket. Reject if it contains only generic text like 'deploy' or 'update'. |
[ESCALATION_POLICY_REF] | A reference to the team's escalation policy document or runbook for when burn rate thresholds are exceeded | escalation/slo-breach-runbook.md | Must be a valid file path, URL, or document ID resolvable by the system. Reject if the reference is unreachable or returns a 404. Confirm the document contains actionable escalation steps. |
Implementation Harness Notes
How to wire the Error Budget Burn Rate Verification Prompt into a production SRE workflow with validation, retries, and escalation gates.
This prompt is designed to be called after a change event (deployment, config push, feature flag toggle) as part of an automated verification pipeline. The application harness should fetch the relevant SLO definitions, error budget status, and time-series metrics from your observability platform (e.g., Datadog, Prometheus, Cloud Monitoring) and inject them into the prompt's [SLO_DEFINITION], [CURRENT_BUDGET], and [METRICS_WINDOW] placeholders. The model is not querying your metrics system directly; the harness is responsible for gathering the raw data and presenting it as structured context. This separation ensures the model reasons over a known, auditable snapshot rather than making live API calls with unbounded scope.
The harness must enforce a strict output contract. Parse the model's JSON response and validate it against the expected schema before any downstream action. Key validation checks include: (1) burn_rate_multiplier is a positive float and matches the math (error_rate / error_budget_rate), (2) projected_exhaustion_hours is calculated correctly from the current budget and burn rate, and (3) escalation_triggered is a boolean that aligns with your organization's burn rate thresholds. If validation fails, log the raw output and schema errors, then retry once with a repair prompt that includes the specific validation failure messages. Do not silently accept malformed risk classifications.
Model choice and temperature: Use a model with strong arithmetic reasoning for this task. Set temperature=0 to minimize variance in burn rate calculations and projections. The prompt includes a [RISK_LEVEL] constraint that should map to your internal severity definitions (e.g., critical when the budget will exhaust within 1 hour, warning when within 24 hours). The harness should compare the model's risk_level output against a deterministic threshold check as a secondary validation gate—if the model says low but your threshold math says critical, escalate the discrepancy for human review rather than trusting either source blindly.
Escalation wiring: When escalation_triggered is true, the harness must route the full verification payload—including the prompt snapshot, model output, and validation results—to your incident management system (e.g., PagerDuty, Opsgenie) with a structured alert. The alert should include the escalation_reason, projected_exhaustion_time, and a link to the relevant SLO dashboard. For high-severity classifications, require a human to acknowledge the alert before any automated rollback or remediation proceeds. This creates a clean audit trail linking the change event, the burn rate analysis, and the human approval decision.
Logging and audit: Persist every invocation as an immutable record: the input context, the raw model response, the validation results, and the escalation decision. This is critical for post-incident review and for demonstrating SLO governance to auditors. The harness should also track the evaluation_criteria from the prompt's companion eval block—specifically, whether the SLO window math was correct and whether the escalation trigger matched the defined policy. Run these evals asynchronously after each invocation and feed failures back into your prompt improvement cycle.
Expected Output Contract
The exact JSON schema, field descriptions, and validation rules the model must follow for the Error Budget Burn Rate Verification Prompt.
| Field or Element | Type or Format | Required | Validation Rule |
|---|---|---|---|
burn_rate_analysis | object | Top-level object must parse as valid JSON. Schema check: contains all required child fields. | |
burn_rate_analysis.current_burn_rate | number (float) | Must be a positive float. Calculated as (error_budget_consumed / slo_window_hours_elapsed). Validate against provided [SLO_TARGET] and [ERROR_BUDGET_CONSUMED] inputs. | |
burn_rate_analysis.projected_exhaustion_time | string (ISO 8601 datetime) | Must be a valid future ISO 8601 datetime string. Validate that the projection uses the correct [SLO_WINDOW_HOURS] and linear extrapolation from current_burn_rate. If burn rate is zero, set to null. | |
burn_rate_analysis.risk_classification | string (enum) | Must be one of: 'critical', 'high', 'elevated', 'normal'. Validate against a lookup table: critical if exhaustion < 24h, high if < 72h, elevated if within window, normal otherwise. | |
burn_rate_analysis.escalation_triggered | boolean | Must be true if risk_classification is 'critical' or 'high', otherwise false. Validate against the risk_classification field. | |
burn_rate_analysis.slo_remaining_percent | number (float) | Must be a float between 0.0 and 100.0. Calculated as (1 - [ERROR_BUDGET_CONSUMED]) * 100. Validate against the input. | |
burn_rate_analysis.verification_checks | array of objects | Each object must have 'check_name' (string), 'passed' (boolean), and 'details' (string). Validate that at least one check exists and that math checks reference correct SLO window. | |
burn_rate_analysis.generated_at | string (ISO 8601 datetime) | Must be a valid ISO 8601 datetime string representing the time of analysis generation. Validate it is not in the future. |
Common Failure Modes
Error budget burn rate verification prompts are mathematically sensitive. Small mistakes in SLO window math, time range scoping, or threshold interpretation produce dangerously wrong risk classifications. These are the most common production failure modes and how to prevent them.
Incorrect SLO Window Math
What to watch: The model calculates burn rate over the wrong time window (e.g., 30-day window instead of the 1-hour alerting window), producing a burn rate that looks safe when the service is actually exhausting its budget rapidly. Guardrail: Provide the exact SLO window in the prompt as a fixed parameter, validate the output window matches the input, and add a pre-computed expected burn rate range as a sanity check in your eval harness.
Silent Time-Range Drift
What to watch: The model uses a default or inferred time range instead of the explicitly requested analysis window, causing it to evaluate the wrong incident period or include irrelevant baseline data. Guardrail: Require the model to echo the exact start and end timestamps it used in the output header, and add a validator that rejects outputs where the echoed timestamps don't match the input parameters within a 60-second tolerance.
Threshold Misclassification
What to watch: The model applies the wrong burn rate threshold (e.g., treating a 2x burn rate as critical when the team's policy defines critical at 5x), leading to either false escalations that fatigue responders or missed escalations that delay intervention. Guardrail: Include the team's exact burn rate threshold table in the prompt as a structured reference, and add an eval assertion that the output risk classification matches the threshold lookup for the computed burn rate value.
Projection Extrapolation Errors
What to watch: The model linearly extrapolates a short spike into a full-window projection without accounting for the spike's duration, producing an alarmist budget exhaustion estimate that doesn't reflect actual burn patterns. Guardrail: Require the prompt to distinguish between instantaneous burn rate and sustained burn rate, and add a validation check that the projection explicitly states the assumption about whether the current rate continues.
Missing Error Budget Remaining Context
What to watch: The model generates a burn rate analysis without knowing the current error budget remaining, so it can't determine whether a 2x burn rate is acceptable (90% budget remaining) or catastrophic (2% budget remaining). Guardrail: Make current error budget remaining a required input field, refuse to generate output if it's absent, and include a pre-computed budget-exhaustion timestamp in the harness for cross-validation against the model's projection.
Escalation Trigger Ambiguity
What to watch: The model produces a risk classification but doesn't clearly state whether an escalation action is required, leaving the on-call engineer to interpret vague language like 'elevated risk' during an incident. Guardrail: Require a binary escalation decision field in the output schema with explicit TRUE/FALSE, map each burn rate threshold to a specific escalation action in the prompt, and add an eval that fails if the escalation decision contradicts the threshold table.
Evaluation Rubric
Run these test cases against the Error Budget Burn Rate Verification Prompt to ensure it correctly calculates burn rates, projects exhaustion windows, and triggers escalation at the right thresholds before shipping to production.
| Criterion | Pass Standard | Failure Signal | Test Method |
|---|---|---|---|
SLO window math accuracy | Burn rate calculation matches manual computation within 1% tolerance for a 30-day rolling window with 99.9% SLO target | Burn rate off by more than 1% or uses wrong window duration (e.g., 7-day instead of 30-day) | Provide [CURRENT_BURN_RATE], [SLO_TARGET], [WINDOW_DAYS] and verify output matches formula: burn_rate = error_rate / (1 - SLO_target) |
Error budget exhaustion projection | Exhaustion date falls within ±1 day of manual projection given steady burn rate and remaining budget | Projection is off by more than 2 days or fails to account for [REMAINING_BUDGET_MINUTES] | Supply [REMAINING_BUDGET_MINUTES] = 120, [CURRENT_BURN_RATE] = 10x and confirm projected exhaustion is 12 minutes from now |
Risk classification threshold | Correctly classifies burn rate as 'critical' when >10x baseline, 'warning' when 2-10x, 'normal' when <2x | Misclassifies a 15x burn rate as 'warning' or a 1.5x burn rate as 'critical' | Test with [CURRENT_BURN_RATE] values of 0.5x, 3x, 12x and verify classification label matches threshold table |
Escalation trigger generation | Outputs escalation recommendation with severity, target audience, and required response time when burn rate exceeds [ESCALATION_THRESHOLD] | No escalation generated when burn rate is 20x or escalation generated when burn rate is 0.1x | Set [ESCALATION_THRESHOLD] = 5x, provide burn rate of 8x, and verify output contains escalation block with severity and audience |
Multi-window comparison | Reports burn rates for all configured windows ([SHORT_WINDOW], [LONG_WINDOW]) and flags divergence | Only reports one window or fails to flag when short-window burn rate is 15x but long-window is 1x | Provide [SHORT_WINDOW] = 1h with 15x burn, [LONG_WINDOW] = 30d with 1x burn, and verify divergence flag is present |
Missing data handling | Returns structured error with missing field names when required inputs are absent, does not hallucinate values | Hallucinates a burn rate of 0 or 1x when [CURRENT_BURN_RATE] is null or missing | Omit [CURRENT_BURN_RATE] from input and verify output contains error block listing the missing field, not a fabricated calculation |
Human approval gate inclusion | Output includes explicit human-approval-required flag and justification when burn rate exceeds [HUMAN_APPROVAL_THRESHOLD] | Approval flag missing when burn rate is above threshold or present when below | Set [HUMAN_APPROVAL_THRESHOLD] = 10x, test with 12x burn rate, and verify output contains approval-gate block with reasoning |
Edge case: zero error budget remaining | Correctly reports budget exhausted, classifies as critical, and recommends immediate freeze on changes | Reports positive remaining budget or suggests continuing deployments when budget is 0 | Set [REMAINING_BUDGET_MINUTES] = 0 and verify output states budget exhausted with freeze recommendation |
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 single SLO window. Use hardcoded burn rate thresholds instead of dynamic lookups. Skip the escalation language block and just ask for a risk classification. Accept plain text output without schema enforcement.
Watch for
- Incorrect burn rate math when the model calculates over custom windows
- Overly confident projections without confidence intervals
- Missing distinction between fast-burn and slow-burn alerts

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