Platform architects and DevOps engineers use this prompt to document why specific default values, constraints, or design choices were made for configuration parameters. The prompt produces ADR-style entries with context, alternatives considered, decision rationale, and consequences. Use this when you need to capture the reasoning behind a config decision for future maintainers, compliance auditors, or onboarding engineers. The output is a structured decision record that explains not just what the parameter is, but why it exists in its current form—critical context that source code comments and schema definitions rarely capture.
Prompt
Config Decision Record Prompt

When to Use This Prompt
Understand the exact job this prompt performs, who should use it, and when to reach for a different tool.
This prompt assumes you already know the parameter and its chosen value, and you need to document the why. You must supply the parameter name, its current value, the system context where it operates, and any alternatives that were evaluated. The prompt works best when you have a specific decision in mind—such as choosing a 30-second timeout over 10 seconds, or selecting AES-256-GCM over AES-128-CBC—and need to produce a durable record of that reasoning. Do not use this prompt for generating the config schema itself, extracting environment variables from code, or writing migration guides. Those tasks require different prompts in this pillar, such as the Config Schema to Markdown Table prompt or the Config Migration Guide Generator.
Before using this prompt, gather the decision context: what problem the parameter solves, which alternatives were seriously considered, what constraints influenced the choice (performance, security, cost, compatibility), and what consequences the decision creates for operators and downstream systems. The prompt will structure this into a consistent ADR format, but it cannot invent the reasoning—it can only organize and articulate what you provide. For high-risk configuration decisions affecting security posture, data durability, or compliance controls, always have a senior engineer review the generated decision record before it enters your documentation repository. The record becomes institutional memory that future incident responders and auditors will rely on.
Use Case Fit
Where the Config Decision Record prompt delivers reliable architecture documentation and where you should reach for a different tool or add human review.
Good Fit: Documenting Design Rationale
Use when: you need to capture why a specific default value, constraint, or config design choice was made. Guardrail: provide the full context—alternatives considered, team constraints, and downstream consequences—so the prompt produces a complete ADR rather than a shallow justification.
Bad Fit: Discovering Config Values
Avoid when: the task is to extract or inventory existing configuration parameters from source code. Guardrail: use the Config Schema to Markdown Table or Environment Variable Extraction prompts instead. This prompt assumes the config value is already known and focuses on the decision behind it.
Required Input: Alternatives and Trade-offs
Risk: without explicit alternatives considered, the prompt produces a one-sided rationale that skips trade-off analysis. Guardrail: always supply at least two alternatives that were evaluated, even if one is 'do nothing' or 'defer decision.' The eval harness should check for an alternatives section in the output.
Operational Risk: Stale Decisions
Risk: config decisions documented once and never revisited become misleading as systems evolve. Guardrail: include a review date or trigger condition in the ADR template. Pair with a periodic audit prompt that flags decisions older than a threshold or tied to deprecated parameters.
Operational Risk: Missing Consequences
Risk: the prompt may produce a decision record that lists what was chosen but omits the negative consequences and accepted trade-offs. Guardrail: add a dedicated consequences field to the output schema and require at least one negative or accepted-risk consequence. The eval should fail the output if this field is empty or overly optimistic.
When to Escalate: Cross-Team Decisions
Risk: a config decision that affects multiple teams or services requires broader input than a single prompt session can capture. Guardrail: flag decisions with cross-service impact for human review. Use the prompt to draft the ADR, then route through an approval workflow before the decision is considered final.
Copy-Ready Prompt Template
A copy-ready prompt template for generating Architecture Decision Record-style config decision records with structured trade-off analysis.
This prompt template produces a structured Config Decision Record (CDR) that documents why a specific default value, constraint, or design choice was made for a configuration parameter. It follows an ADR-inspired format that captures context, alternatives considered, decision rationale, and consequences. Use this when platform architects, SRE leads, or senior engineers need to create a durable record of config decisions that future maintainers can search and understand.
textYou are a platform architect documenting configuration design decisions for future maintainers. Generate a Config Decision Record (CDR) for the following configuration parameter decision. ## Input - **Parameter Name:** [PARAMETER_NAME] - **Configuration Domain:** [CONFIG_DOMAIN] - **Decision Context:** [DECISION_CONTEXT] - **System Context:** [SYSTEM_CONTEXT] - **Constraints:** [CONSTRAINTS] - **Stakeholders:** [STAKEHOLDERS] - **Decision Date:** [DECISION_DATE] ## Output Schema Produce a Config Decision Record with these sections: ### Title A concise title summarizing the decision. ### Status One of: Proposed, Accepted, Deprecated, Superseded. ### Context Describe the forces at play: technical constraints, operational requirements, security posture, cost sensitivity, team capabilities, and any regulatory or compliance factors that shaped this decision. ### Decision State the exact configuration parameter, its chosen default value or constraint, and the scope where it applies (environment, service, module). Include the parameter type, valid range, and whether it is required or optional. ### Alternatives Considered For each alternative, provide: - **Alternative:** What was considered. - **Pros:** Why it was attractive. - **Cons:** Why it was rejected. - **Rejection Reason:** The decisive factor. Include at least two alternatives. If no alternatives were seriously considered, explain why the chosen value was the only viable option. ### Consequences Describe what becomes easier, harder, or different because of this decision. Cover: - Positive consequences (what improves). - Negative consequences (trade-offs, limitations, new risks). - Mitigations for negative consequences. - Migration or rollout implications if this changes an existing default. ### Related Decisions List related CDRs, ADRs, or design documents by title and link if available. Note dependencies or conflicts. ### Validation How to verify the decision is working as intended in production. Include specific metrics, alerts, or checks. ## Constraints - Use precise technical language. Avoid vague qualifiers like "good enough" or "reasonable." - Quantify trade-offs where possible (e.g., "increases p99 latency by 15ms, reduces memory by 200MB"). - Flag any assumptions that, if invalidated, would require revisiting this decision. - If the decision has security, compliance, or cost implications, call them out explicitly. - Do not invent facts. If context is missing, note what information would be needed to strengthen the record. ## Examples [EXAMPLES] ## Risk Level [RISK_LEVEL]
Adaptation guidance: Replace each square-bracket placeholder with real values before execution. The [EXAMPLES] placeholder should contain one or two well-formed CDR examples that demonstrate the expected depth and tone. The [RISK_LEVEL] placeholder accepts values like low, medium, high, or critical and should influence how thoroughly the model explores alternatives and consequences. For high-risk or critical decisions, add a human review step after generation: have a second engineer verify that all viable alternatives were considered and that consequences are not understated. Wire this prompt into a documentation pipeline that stores CDRs alongside the config schema or in a dedicated decision log repository with version control.
Prompt Variables
Each placeholder required by the Config Decision Record prompt, its purpose, an example value, and actionable validation notes for wiring into an application harness.
| Placeholder | Purpose | Example | Validation Notes |
|---|---|---|---|
[CONFIG_PARAMETER] | The specific configuration key or parameter name being decided | cache.ttl_seconds | Non-empty string; must match a real config key in the target schema; null not allowed |
[DECISION_DATE] | ISO-8601 date when the decision was made or recorded | 2025-03-15 | Must parse as valid ISO-8601 date; not in the future; required for audit trail |
[CONTEXT] | Background information, constraints, and the problem that motivated this config decision | Service latency increased 40% under peak load with current 300s cache TTL | Non-empty string; minimum 50 characters; should reference observable conditions or requirements |
[ALTERNATIVES_CONSIDERED] | List of alternative values or approaches that were evaluated before the decision | ["60s TTL", "900s TTL", "No cache"] | Must be a JSON array of strings; at least 2 alternatives required; each alternative must be a plausible config value |
[DECISION] | The chosen configuration value and its justification | Set cache.ttl_seconds to 120s to balance freshness and load reduction | Non-empty string; must include both the value and the rationale; value must be within valid range for the parameter |
[TRADE_OFFS] | Explicit trade-offs accepted with this decision, including risks and downsides | Accept 2-minute stale data window in exchange for 60% load reduction on origin | Non-empty string; must describe at least one concrete downside or risk; cannot be 'none' or 'no trade-offs' |
[CONSEQUENCES] | Expected operational, performance, cost, or maintenance consequences of the decision | Cache hit ratio expected to increase from 70% to 92%; memory usage increases by 15% | Non-empty string; must include measurable or observable outcomes; avoid vague language like 'better performance' |
[REVIEWERS] | List of individuals or roles who approved or should review this decision record | ["platform-team", "sre-oncall"] | Must be a JSON array of strings; at least one reviewer required; each entry should map to a real team or role identifier |
Implementation Harness Notes
How to wire the Config Decision Record prompt into an application or documentation workflow.
The Config Decision Record prompt is designed to be integrated into a platform engineering workflow where configuration changes are reviewed before merging. The primary integration point is a pull request check or a pre-commit hook that triggers when files in a config schema directory (e.g., config/schema/, infra/terraform/vars/) are modified. The application harness should extract the diff of the configuration change, the existing ADR directory for context, and the proposed new default or constraint, then assemble the prompt with these inputs. This is not a real-time user-facing prompt; it is a batch documentation generation step that runs in CI/CD pipelines or internal developer platforms like Backstage.
The harness must enforce a strict validation contract on the model's output. The expected output is a Markdown ADR document with specific sections: Title, Status, Context, Decision, Alternatives Considered, Consequences. Use a schema validator (e.g., a JSON schema that checks for the presence of all required headings) before writing the ADR file. If validation fails, implement a single retry with the error message injected into the [CONSTRAINTS] field, instructing the model to repair the missing section. After two failures, the check should fail with a clear log message and block the PR merge. For model choice, a capable mid-tier model like claude-3.5-sonnet or gpt-4o is appropriate; this task requires structured reasoning and trade-off analysis, not just text generation. Do not use a lightweight model for this prompt, as it will likely omit the 'Alternatives Considered' section or produce shallow trade-off analysis.
Logging and observability are critical for auditability. Every generated ADR should be logged with the commit SHA, the config parameter name, the model version used, and the validation status. Store these logs in a structured format (JSON) alongside the generated ADR in a dedicated directory (e.g., docs/adr/config/). This creates an audit trail that links every configuration decision back to the code change and the AI-assisted rationale. For high-risk configuration changes—such as those affecting security defaults, data retention, or authentication behavior—the harness should add a [REQUIRES_HUMAN_REVIEW] label to the generated ADR and automatically assign a review task to the platform architecture team. The prompt's [RISK_LEVEL] placeholder should be populated by a pre-classification step that scans the changed parameter name against a risk registry before the prompt is assembled.
Expected Output Contract
The fields, format, and validation rules the generated Config Decision Record must satisfy before it is accepted into the ADR repository.
| Field or Element | Type or Format | Required | Validation Rule |
|---|---|---|---|
title | string | Must match pattern 'ADR-[0-9]{4}: .+'. Must be unique within the target ADR index. | |
status | enum | Must be one of: proposed, accepted, deprecated, superseded. Default is proposed. | |
date | ISO 8601 date string | Must parse as a valid date. Must not be in the future for accepted records. | |
context | string | Must contain at least 3 sentences describing the problem, constraints, and stakeholders. Must reference at least one specific config parameter by name. | |
decision | string | Must state the chosen action explicitly. Must include the exact default value, constraint, or design choice being documented. | |
alternatives_considered | array of objects | Must contain at least 2 alternatives. Each object must have 'option' (string) and 'why_not' (string) fields. No alternative may be empty. | |
consequences | string | Must list at least 2 positive and 1 negative consequence. Each consequence must be a complete sentence. | |
supersedes | string or null | If not null, must reference a valid existing ADR ID. Null allowed for new decisions. |
Common Failure Modes
Config Decision Records fail in predictable ways. Here's what breaks first and how to guard against it.
Missing Alternatives Analysis
What to watch: The prompt produces a decision with a single rationale but skips the required alternatives-considered section. The output reads like a justification, not a trade-off analysis. Guardrail: Add a dedicated [ALTERNATIVES] section in the output schema and use an eval check that counts distinct alternatives. If fewer than two alternatives appear, flag for human review before accepting the record.
Consequence Blindness
What to watch: The model describes the decision and rationale but omits downstream consequences—breaking changes, migration burden, monitoring gaps, or team impact. The record looks complete but is operationally hollow. Guardrail: Require a structured [CONSEQUENCES] block with subfields for positive, negative, and neutral outcomes. Add a validator that rejects records where the negative consequences field is empty or contains only trivial entries.
Default Value Drift
What to watch: The prompt references a default value from source code or schema, but that default has changed since the record was drafted. The ADR becomes a source of misinformation. Guardrail: Never hardcode defaults in the prompt. Pass them as a [CURRENT_DEFAULTS] input variable sourced from the live config schema at generation time. Add a freshness check that compares the record's timestamp against the schema's last-modified date.
Context Window Truncation
What to watch: When multiple config parameters or prior ADRs are passed as context, the model loses earlier context and produces a decision that contradicts an existing constraint or duplicates a prior decision. Guardrail: Limit the [CONTEXT] input to the specific parameter under review plus a concise summary of related prior decisions. Use a deduplication check that searches existing ADRs for similar parameter names before accepting a new record.
Stakeholder Omission
What to watch: The record documents a technical decision but fails to note which team or role owns the parameter, who approved the change, or who is affected. The ADR is orphaned. Guardrail: Include mandatory [OWNER] and [STAKEHOLDERS] fields in the output schema. Add a validation rule that rejects records where the owner field is empty or contains only a generic placeholder like 'TBD'.
Overconfident Rationale Language
What to watch: The model uses absolute language ('must', 'always', 'never') in the rationale section, masking uncertainty about edge cases or future requirements. The record reads as settled truth rather than a reasoned choice under constraints. Guardrail: Add a [CONSTRAINTS] instruction that requires hedging language for untested assumptions. Use a post-generation scan for absolute terms and flag records where the rationale contains more than two unqualified absolutes for human softening.
Evaluation Rubric
Score each ADR draft against these criteria before merging into documentation. Run the rubric as an automated eval step in your CI pipeline or as a manual review checklist.
| Criterion | Pass Standard | Failure Signal | Test Method |
|---|---|---|---|
Context Completeness | All required context fields are populated: date, status, config parameter name, stakeholders, and linked issues | Missing or 'TODO' in any required context field | Schema validation against ADR frontmatter template; parse check for placeholder strings |
Decision Rationale Clarity | The 'Decision' section states exactly what was chosen and why in 1-3 sentences without hedging | Decision section is empty, exceeds 5 sentences, or uses phrases like 'might consider' or 'possibly' | LLM-as-judge with pass/fail rubric; regex check for hedge phrases |
Alternatives Considered | At least 2 alternatives are named with a concrete trade-off for each (performance, cost, complexity, or compatibility) | Fewer than 2 alternatives listed or alternatives lack a stated trade-off | Count check for alternative count; keyword presence check for trade-off dimensions |
Consequences Documented | Positive and negative consequences are listed separately with at least 1 item in each category | Only positive or only negative consequences documented; consequences are vague | Structure check for separate positive/negative sections; minimum item count per section |
Config Parameter Specificity | The exact config key, default value, valid range, and override method are stated | Generic parameter reference without exact key path or missing default value | Regex match for config key pattern; schema check for default value and range fields |
Source Grounding | Every factual claim about system behavior or constraints links to a source file, issue, or prior ADR | Unsupported claims about performance, limits, or dependencies without a citation | Citation link presence check; LLM judge flags unsupported factual assertions |
Migration Impact Assessment | Breaking change status is explicit; migration steps or 'no migration required' is stated | Breaking change status is missing or ambiguous; migration steps absent for breaking changes | Boolean field check for breaking flag; conditional check for migration steps when breaking is true |
Reviewer Approval Gate | At least one designated reviewer is assigned and approval status is tracked | No reviewer assigned or approval field is empty | Non-empty string check for reviewer field; status enum validation |
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 [CONFIG_PARAMETER] and [CONTEXT] block. Skip strict schema validation and accept free-text rationale. Focus on getting one clean ADR entry per config decision.
Prompt modification
Remove the [OUTPUT_SCHEMA] constraint and replace it with: Write a structured decision record with Context, Decision, Alternatives Considered, and Consequences sections.
Watch for
- Missing alternatives section when the model defaults to only one option
- Overly confident language without trade-off discussion
- Skipping the consequences section entirely

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