Inferensys

Prompt

DNS Record Change Pre-Action Summary Prompt

A practical prompt playbook for generating a human-readable summary of a planned DNS record change, including TTL implications, propagation delay, and service disruption risk, before the change is executed.
Risk analyst performing AI risk assessment on laptop, risk matrices visible, casual office risk session.
PROMPT PLAYBOOK

When to Use This Prompt

Defines the ideal operational context, required inputs, and explicit boundaries for the DNS Record Change Pre-Action Summary Prompt.

This prompt is designed for network and infrastructure teams who need a structured, human-readable checkpoint before modifying DNS records. It is intended to be used inside an agent or automation workflow that can query the current DNS state and the proposed change. The prompt generates a summary that captures the exact record change, TTL implications, propagation timeline, potential service disruption, and a rollback plan. This summary is then presented to a human operator for approval before the change is pushed to the DNS provider. Use this prompt when the cost of a misconfigured DNS record is high and a human-in-the-loop gate is required.

The ideal user is a Site Reliability Engineer (SRE), network administrator, or platform engineer who is building an AI-assisted change management pipeline. The prompt requires the system to provide the current DNS record state, the proposed new state, and the target zone. Without this context, the summary will be incomplete and the approval decision unsafe. The prompt is specifically designed for mutating operations—creating, updating, or deleting records. It is not a general-purpose DNS lookup tool.

Do not use this prompt for read-only DNS queries or for environments where DNS changes are fully automated with no approval step. If your system applies changes immediately upon detection of a drift, this prompt introduces an unnecessary blocking step. Similarly, avoid this prompt for low-risk internal zones where a rollback is trivial and the blast radius is contained to a single development service. The overhead of human approval must be justified by the risk of the change.

PRACTICAL GUARDRAILS

Use Case Fit

Where the DNS Record Change Pre-Action Summary Prompt works and where it introduces unacceptable risk.

01

Good Fit: Planned Maintenance Windows

Use when: A network engineer is preparing a scheduled DNS change with a known TTL, a rollback record, and a maintenance window. Guardrail: The prompt should be embedded in a change management pipeline that blocks execution until the summary is acknowledged by an authorized approver.

02

Bad Fit: Real-Time Incident Response

Avoid when: A production outage requires immediate DNS changes to redirect traffic. The summary generation and approval loop adds latency that conflicts with MTTR objectives. Guardrail: Use a separate emergency runbook prompt that logs a post-action justification instead of blocking execution.

03

Required Inputs: SOA and Rollback Data

Risk: The summary will be dangerously incomplete if the prompt cannot access the current SOA serial, the proposed record values, and a verified rollback record. Guardrail: The harness must validate that all required fields are populated before calling the model, and reject the prompt if rollback records are missing.

04

Operational Risk: Propagation Delay Miscommunication

Risk: A summary that states 'changes will propagate in 300 seconds' can be misinterpreted as a guarantee, leading to premature validation checks. Guardrail: The prompt must instruct the model to explicitly warn that propagation is dependent on external resolvers and to recommend a conservative waiting period based on the previous TTL.

05

Automation Fit: CI/CD Pipeline Gates

Use when: Infrastructure-as-Code (IaC) pipelines automatically generate DNS diffs and require a human-readable summary for approval gates. Guardrail: Integrate the prompt output into a merge request comment or a deployment approval ticket, and block the terraform apply step until the ticket is resolved.

06

Bad Fit: Bulk Registrar Migrations

Avoid when: Migrating thousands of zones between registrars. The per-record summary model is too verbose and obscures systemic risks like auth code expiration or registry TLD lock status. Guardrail: Use a batch operation summary prompt instead, and reserve this prompt for high-risk apex record changes within the migration.

PROMPT PLAYBOOK

Copy-Ready Prompt Template

A copy-ready system prompt that generates a structured pre-action summary for a DNS record change, ready for human review before execution.

The following prompt template is designed to be pasted into your AI agent's system instructions or a pre-action step in your DNS management workflow. It forces the model to produce a structured, human-readable summary of a planned DNS change before any record is modified. The template uses square-bracket placeholders that your application must populate with data from your DNS provider's API and internal service catalog. This ensures the summary is grounded in live infrastructure state, not the model's training data.

text
You are a DNS change pre-action reviewer. Your only job is to generate a structured summary of a planned DNS record change for human approval. Do not execute, recommend, or assume the change is safe. Do not invent missing information.

## INPUT DATA
- Planned Change: [CHANGE_DESCRIPTION]
- Target Record: [RECORD_NAME] (Type: [RECORD_TYPE])
- Current Value: [CURRENT_VALUE]
- Proposed Value: [PROPOSED_VALUE]
- TTL (seconds): [TTL]
- Zone: [DNS_ZONE]
- Requested By: [REQUESTER]
- Change Ticket ID: [TICKET_ID]
- Rollback Plan: [ROLLBACK_PLAN]
- Affected Services: [AFFECTED_SERVICES]

## OUTPUT SCHEMA
Generate a JSON object with the following structure. Do not include any text outside the JSON.
{
  "summary": "A one-sentence summary of the change.",
  "change_details": {
    "record": "[RECORD_NAME]",
    "type": "[RECORD_TYPE]",
    "current_value": "[CURRENT_VALUE]",
    "proposed_value": "[PROPOSED_VALUE]",
    "ttl_seconds": [TTL],
    "zone": "[DNS_ZONE]"
  },
  "propagation_analysis": {
    "ttl_implication": "Explain how the current TTL affects propagation delay. If TTL is high, note the worst-case propagation window.",
    "estimated_full_propagation": "A human-readable estimate of when the change will be fully effective."
  },
  "risk_assessment": {
    "risk_level": "low | medium | high | critical",
    "risk_rationale": "A concise explanation of the risk level, considering affected services and the nature of the change.",
    "potential_disruption": "Describe any possible service disruption, including DNS resolution failures, misrouted traffic, or TLS mismatch risks."
  },
  "pre_flight_checks": {
    "rollback_plan_exists": true or false,
    "rollback_plan_summary": "[ROLLBACK_PLAN] if provided, otherwise 'MISSING - Rollback plan is required.'",
    "soa_serial_increment_required": true or false,
    "soa_serial_note": "If the zone uses DNSSEC or strict SOA serial management, note whether the serial must be incremented.",
    "apex_cname_conflict": true or false,
    "apex_cname_note": "Flag if the change creates a CNAME at the zone apex, which violates DNS standards."
  },
  "required_approvals": [
    "List any specific roles or teams that must approve this change based on the affected services and risk level."
  ],
  "next_steps": "Instructions for the human reviewer: what to verify before approving, and what to monitor after the change is applied."
}

## CONSTRAINTS
- If [ROLLBACK_PLAN] is empty or missing, set risk_level to 'high' and state that a rollback plan is required before execution.
- If [AFFECTED_SERVICES] is empty, state that the blast radius is unknown and set risk_level to 'high'.
- Never assume the change is safe. Flag missing information as a blocker.
- If the change involves deleting a record, explicitly warn about irreversibility and service removal.

To adapt this template, replace each square-bracket placeholder with live data from your DNS management system. The [CHANGE_DESCRIPTION] should be a human-authored summary of the intent. The [ROLLBACK_PLAN] must be populated from a pre-defined runbook or left empty to trigger a high-risk flag. The output schema is designed to be parsed by an approval UI, so maintain the JSON structure exactly. Before deploying, test the prompt with several scenarios: a routine A record update, a CNAME at the apex (which should be flagged), a deletion with no rollback plan, and a change with an empty affected services list. Each test should produce a correctly flagged risk level and actionable next steps.

IMPLEMENTATION TABLE

Prompt Variables

Each placeholder must be populated from a trusted source of truth before the prompt is assembled. Variables marked with an approval routing note require a human-in-the-loop gate in the harness.

PlaceholderPurposeExampleValidation Notes

[CHANGE_REQUEST_ID]

Unique identifier for the DNS change ticket or automation run

CHG-2025-07-14-0042

Must match ^[A-Z]+-\d{4}-\d{2}-\d{2}-\d{4,6}$ pattern. Null not allowed.

[TARGET_ZONE]

The DNS zone where the record will be modified

api.example.com.

Must be a fully qualified domain name ending with a dot. Validate against zone inventory before assembly.

[RECORD_NAME]

The DNS record name to create, update, or delete

payments.api.example.com.

Must be a subdomain of [TARGET_ZONE] or an apex record. FQDN format required. Null allowed only for zone-level operations.

[RECORD_TYPE]

The DNS resource record type

A

Must be one of: A, AAAA, CNAME, MX, TXT, NS, SRV, CAA, PTR, SOA. Enum check required.

[PROPOSED_VALUE]

The new record value or target

203.0.113.50

Format must match [RECORD_TYPE] spec: IP for A/AAAA, FQDN for CNAME/MX/NS, quoted string for TXT. Schema validation required.

[CURRENT_VALUE]

The existing record value before the change, if any

198.51.100.10

Null allowed for new record creation. When present, format must match [RECORD_TYPE] spec. Source from authoritative DNS query, not cache.

[TTL_SECONDS]

Time-to-live in seconds for the record

300

Integer between 0 and 86400. Values below 60 require explicit justification in harness. Null defaults to zone TTL.

[ROLLBACK_VALUE]

The value to restore if the change must be reversed

198.51.100.10

Must match [CURRENT_VALUE] for updates. Null allowed for new record creation only. Harness must block execution when null for updates or deletes.

PROMPT PLAYBOOK

Implementation Harness Notes

How to wire the DNS Record Change Pre-Action Summary Prompt into an application or agent workflow with validation, retries, logging, and human review gates.

This prompt is designed to sit directly in front of any DNS mutation API call—whether that's a cloud provider SDK, a Terraform apply, or an internal IPAM system. The harness should intercept the planned change set, populate the prompt's [CHANGE_REQUEST] and [ZONE_CONTEXT] placeholders, and block execution until the generated summary passes all validation checks and receives explicit human approval. The prompt is stateless, so the harness must supply all context: the full current zone file or API record dump, the proposed changes, and any relevant monitoring or incident context.

Validation and retry logic: Parse the model's JSON output and validate it against a strict schema before proceeding. Required fields include summary, records_to_change, ttl_implications, propagation_estimate, service_impact, rollback_records, and soa_serial_increment_verified. If the output fails schema validation, retry once with the validation error injected into the [CONSTRAINTS] field. If the second attempt also fails, escalate to a human operator with the raw model output and the validation failure details. Never proceed to the approval step with an invalid summary. Model choice: Use a model with strong JSON mode and instruction-following, such as gpt-4o or claude-3.5-sonnet, with response_format set to json_object and a low temperature (0.1–0.2) to maximize structural reliability.

Human approval gate: After validation, the harness must present the summary to an authorized reviewer through a ticketing system, chat ops channel, or custom approval UI. The approval request should include: the generated summary, a diff view of the DNS changes, the rollback plan, and a time-bound approval window (e.g., 30 minutes). If the window expires without a decision, the harness should automatically reject the change and log the timeout. Logging and audit trail: Log the full prompt, the model's raw response, the validated summary, the approval decision, the approver's identity, and the eventual execution result (success, failure, or rollback triggered). This audit trail is essential for post-incident review and compliance. Tool integration: If your DNS provider supports a dry-run or preview mode, run it before generating the summary and include the dry-run output in [ZONE_CONTEXT]. This gives the model concrete data about what will change rather than relying solely on the change request.

What to avoid: Do not use this prompt for read-only DNS queries or monitoring checks—it is specifically for pre-mutation review. Do not skip the SOA serial increment verification; if the model flags it as unverified, the harness must require manual confirmation before proceeding. Do not allow the approval gate to be bypassed via API or automation unless the change is explicitly classified as low-risk (e.g., a comment-only TXT record update) and that classification is logged. Finally, ensure the harness enforces a maximum batch size—reviewing 200 record changes in a single summary reduces human review quality. If the change set exceeds a configurable threshold (e.g., 20 records), split it into multiple summary-and-approval cycles or escalate for a broader change management process.

IMPLEMENTATION TABLE

Expected Output Contract

The model must return a JSON object matching this schema. Validate in the harness before showing output to a human or proceeding with the DNS change.

Field or ElementType or FormatRequiredValidation Rule

change_id

string

Must match the [CHANGE_REQUEST_ID] provided in the prompt context. Non-null, non-empty.

summary

string

Must be a single paragraph under 300 characters. Must mention the record type, name, and target value. Parse check: no markdown.

record_type

string

Must be one of the allowed enum values: A, AAAA, CNAME, MX, TXT, NS, SOA, SRV, PTR. Enum validation required.

record_name

string

Must be a valid fully qualified domain name (FQDN) or '@' for zone apex. Regex validation: ^(@|([a-zA-Z0-9._-]+.)+[a-zA-Z]{2,})$.

record_value

string

Must be non-empty. For A records, validate IPv4 format. For AAAA, validate IPv6. For CNAME, validate FQDN format. Type-specific regex check.

ttl_current

integer

Must be a positive integer. If TTL is being changed, this is the current value. If not, it is the existing TTL. Must be >= 0.

ttl_proposed

integer or null

Must be a positive integer if TTL is changing. Must be null if TTL is not part of this change. If provided, must be >= 30.

propagation_estimate

string

Must be a human-readable duration string (e.g., 'Up to 3600 seconds (1 hour) based on current TTL'). Must reference the effective TTL. Parse check: contains a time unit.

service_impact

string

Must be one of: 'none', 'low', 'medium', 'high', 'critical'. Must include a one-sentence justification in the 'impact_justification' field if 'medium' or above.

impact_justification

string or null

Required only if service_impact is 'medium', 'high', or 'critical'. Must be a single sentence under 200 characters. If service_impact is 'none' or 'low', must be null.

rollback_record

object

Must contain 'action' (string: 'create' or 'update') and 'record_value' (string: the previous value). If no prior record exists, 'action' must be 'delete' and 'record_value' must be null. Schema check: both keys present.

soa_serial_increment_required

boolean

Must be true if the zone's SOA record needs its serial incremented after this change. Must be false otherwise. If true, the harness must verify the SOA serial was actually incremented post-change.

affected_systems

array of strings

Must be a non-empty array of system names or service identifiers that depend on this DNS record. Each string must be non-empty. Minimum 1 item.

approval_required

boolean

Must be true if service_impact is 'high' or 'critical', or if the record type is SOA or NS. Must be false otherwise. Harness must block execution if true and no human approval is recorded.

PRACTICAL GUARDRAILS

Common Failure Modes

What breaks first when generating DNS change summaries in production and how to guard against it.

01

Missing Rollback Records

What to watch: The summary omits the current record values, making rollback impossible if the change causes an outage. The model focuses on the new state and forgets to capture the previous state. Guardrail: Require a [CURRENT_RECORDS] input variable and include an explicit instruction: 'You must list the current record values before describing the change. If current values are not provided, state that rollback information is missing.'

02

Incorrect SOA Serial Logic

What to watch: The model hallucinates a serial number increment pattern (e.g., YYYYMMDDNN) that doesn't match the organization's actual convention, or it fails to flag that the serial must be incremented. Guardrail: Provide the exact serial format as a [SERIAL_FORMAT] constraint. Add an eval check that parses the output for a serial increment statement and validates it against a regex pattern.

03

Ignoring TTL and Propagation Delay

What to watch: The summary states the change will be 'immediate' or fails to mention the existing TTL value and its impact on propagation delay. This creates a false sense of urgency or safety for the approver. Guardrail: Require the [CURRENT_TTL] as a mandatory input. Instruct the model to calculate the maximum propagation window (TTL seconds) and explicitly warn that negative caching may extend this.

04

Silent Zone Apex Conflicts

What to watch: When changing NS records or glue records, the model fails to detect that the change is at the zone apex, which has different validation rules than subdomain records (e.g., CNAME at apex is illegal). Guardrail: Add a pre-processing validation rule in the harness: if [RECORD_NAME] equals @ or the zone root, enforce a strict schema check that blocks illegal apex record types before the prompt runs.

05

Vague Service Impact Description

What to watch: The model uses generic language like 'may cause disruption' instead of specifying which services depend on the record (e.g., 'This A record change will redirect traffic for api.example.com'). Guardrail: Include a [DEPENDENT_SERVICES] input field. Instruct the model to map the DNS record to the specific service names provided, and if the list is empty, explicitly state that service impact is unknown.

06

Failure to Verify Name Server Consistency

What to watch: The summary doesn't cross-reference whether all authoritative name servers for the zone are returning the same serial number, risking a split-brain scenario during the change. Guardrail: Add a pre-action check in the harness that queries SOA records from multiple public resolvers. If serials differ, the prompt must be blocked and escalated to a human with the inconsistency evidence.

IMPLEMENTATION TABLE

Evaluation Rubric

Run these checks against a golden dataset of known DNS changes before shipping this prompt to production. Each row validates a specific failure mode observed in pre-action summary prompts.

CriterionPass StandardFailure SignalTest Method

Change Scope Completeness

Summary includes record name, type, current value, and proposed value for every record in [CHANGE_REQUEST]

Missing record type or TTL field in output

Schema validation against [OUTPUT_SCHEMA]; count of records in summary matches count in [CHANGE_REQUEST]

TTL and Propagation Disclosure

Summary states TTL value, estimated propagation delay, and caching implications in plain language

TTL omitted or propagation described as instantaneous

Keyword presence check for TTL seconds and propagation window; human review of propagation language

Rollback Record Inclusion

Summary includes explicit rollback record values or states that no rollback record was provided in [ROLLBACK_PLAN]

Rollback section present but contains placeholder text or is empty

Assert rollback field is non-null and contains valid record syntax matching zone format

SOA Serial Increment Verification

Summary confirms SOA serial will increment or explicitly notes when [CHANGE_REQUEST] does not include SOA update

SOA serial mentioned but increment direction is wrong or serial format is invalid

Parse SOA serial field; assert new serial > old serial; validate YYYYMMDDNN format if applicable

Service Disruption Risk Flagging

Summary classifies disruption risk as none, transient, or outage with supporting reasoning

Risk classified as none when TTL is high and record type is A or CNAME

Golden dataset includes known disruptive changes; assert risk level matches expected label with reasoning trace

Zone and View Identification

Summary names the target zone, view, and any split-horizon context from [TARGET_ZONE]

Zone name missing or default zone assumed without confirmation

Exact match of zone name from [TARGET_ZONE]; assert view field populated when [TARGET_ZONE] includes view metadata

Approval Gate Readiness

Summary ends with a clear confirmation question and blocking condition before execution proceeds

Summary reads as a notification rather than a gate; no explicit approval language

Human review of final paragraph for confirmation language; assert output contains explicit yes/no or approve/reject framing

Propagation Verification Instruction

Summary includes post-change verification step such as dig query or monitoring check with expected result

Post-change verification missing or generic

Keyword presence check for verification command or monitoring reference; assert expected result is specific to the record type changed

ADAPTATION OPTIONS

Adapt This Prompt

How to adapt\nStart with the base prompt and a single DNS provider. Replace `[DNS_PROVIDER]` with a hardcoded value like `Route53` or `Cloudflare`. Use a simple JSON schema for the output and skip the SOA serial increment check initially. Run against a test zone with non-critical records.\n\n### Watch for\n- The model omitting TTL implications or propagation estimates\n- Missing rollback record generation\n- Overly verbose summaries that bury the risk signal

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.