This prompt is designed for engineering teams that maintain Architecture Decision Records (ADRs) or project decision logs. It uses few-shot examples to teach a model the precise formatting required for a decision entry, including context, options considered, rationale, and consequences. Use this when you need consistent, structured decision documentation from unstructured meeting notes, chat threads, or design discussions. It is not a replacement for human decision-making; it formats and structures the record of a decision that has already been made. The prompt assumes you have a clear decision statement and the raw context in which it was made.
Prompt
Decision Log Entry Formatting Demonstration Prompt

When to Use This Prompt
Learn when to deploy the Decision Log Entry Formatting Demonstration Prompt and when to choose a different approach.
The ideal workflow starts with a human-authored decision title and a collection of raw source material—meeting transcripts, Slack threads, design doc comments, or verbal notes. The prompt transforms that material into a standardized record. Do not use this prompt when the decision itself is still under debate, when you need the model to recommend a course of action, or when the source material contains conflicting accounts that haven't been reconciled by a human. The prompt formats; it does not adjudicate. For high-stakes architectural decisions with compliance or regulatory implications, always require human review of the formatted output before it enters the permanent record.
Before using this prompt, gather your inputs: a concise decision statement, the raw discussion context, and any constraints or principles that guided the outcome. If your team already uses a specific ADR template (such as Michael Nygard's format or a custom variant), adapt the few-shot examples in the prompt to match that schema exactly. The prompt's value comes from example fidelity—the closer the demonstrations match your target format, the more reliable the output. For teams new to decision logging, start with the default template and iterate on the example set as you discover which fields your reviews actually need.
Use Case Fit
Where this prompt works and where it does not. Use these cards to decide if a demonstration-based approach to decision log formatting is the right fit for your architecture decision record (ADR) or project log pipeline.
Good Fit: Structured ADR Pipelines
Use when: you need consistent formatting for architecture decision records with standard fields (context, options, rationale, consequences). Guardrail: Provide at least 3 diverse, well-formatted input-output pairs that cover different decision types (technology choice, pattern selection, deprecation).
Bad Fit: Freeform Brainstorming Sessions
Avoid when: the goal is open-ended exploration without a fixed output schema. Demonstration prompts over-constrain creative thinking. Guardrail: Use a system-prompt-only approach for ideation; switch to demonstration formatting only when decisions need to be recorded.
Required Inputs: Decision Context and Options
What to watch: incomplete inputs produce hallucinated options or missing rationale. Guardrail: Validate that [CONTEXT] includes the problem statement, [OPTIONS] lists at least 2 alternatives, and [CONSTRAINTS] captures non-functional requirements before calling the model.
Operational Risk: Example Drift Over Time
What to watch: demonstration examples become stale as your ADR template evolves, causing schema drift in generated entries. Guardrail: Version your example set alongside your ADR template; run a weekly eval comparing output fields against the current schema definition.
Operational Risk: Rationale Grounding
What to watch: the model produces plausible-sounding but ungrounded rationale that references non-existent benchmarks or internal data. Guardrail: Add an eval check that flags any rationale statement not traceable to the provided [CONTEXT] or [OPTIONS]; require human approval for flagged entries.
Variant: Multi-Turn Decision Capture
What to watch: single-turn prompts miss iterative decision refinement where options are eliminated across multiple rounds. Guardrail: Use a multi-turn demonstration format showing progressive option elimination; include an explicit [DECISION_STATUS] field to track in-progress versus final entries.
Copy-Ready Prompt Template
A reusable prompt template that teaches the model to format architecture decision records through structured input-output demonstrations.
This prompt template uses few-shot demonstrations to teach the model the exact structure, tone, and completeness expected for decision log entries. Instead of relying on verbose formatting instructions, the examples show the model how to extract context, options, rationale, and consequences from unstructured meeting notes or design discussions. The square-bracket placeholders let you swap in your own input, output schema, and domain-specific examples without rewriting the core instruction.
textYou are a technical documentation assistant that formats architecture decision records (ADRs) from meeting notes, design discussions, or proposal documents. Your task is to produce a structured decision log entry following the exact format shown in the examples below. [OUTPUT_SCHEMA] [EXAMPLES] Now, format the following input into a decision log entry matching the structure demonstrated above. [INPUT] Return only the formatted decision log entry. Do not add commentary, explanations, or markdown fences around the output.
Placeholder Guide:
[OUTPUT_SCHEMA]: Define the expected fields. For ADRs, include: Title, Status (Proposed/Accepted/Deprecated/Superseded), Context, Decision, Options Considered (as a list with pros/cons), Consequences, and Related Decisions.[EXAMPLES]: Provide 2-3 complete input-output pairs. Each example should show a raw input (meeting notes, Slack thread, design doc excerpt) and the corresponding formatted ADR. Include at least one example where multiple options were seriously considered and one where the rationale addresses a non-obvious constraint.[INPUT]: The raw source material to format. This could be meeting transcripts, ticket descriptions, or proposal documents.
To adapt this template for your team, replace the example pairs with decisions from your own project history. Choose examples that reflect your team's actual decision complexity—include trade-offs that weren't obvious, options that were rejected for good reasons, and consequences that materialized later. This grounds the model in your domain's real constraints rather than generic software architecture patterns. If your team uses a specific ADR tool or template (such as MADR, Y-statements, or a custom Confluence format), update the [OUTPUT_SCHEMA] to match those field names and structure exactly.
Before deploying this prompt in a production documentation pipeline, validate the output against three criteria: field completeness (all required fields present and non-empty), option coverage (every option mentioned in the input appears in the Options Considered section), and rationale grounding (every claim in the Decision and Consequences sections can be traced to evidence in the input). Run these checks programmatically after generation. If the input contains conflicting information or missing context, the model should flag uncertainty rather than fabricate a clean but inaccurate record. For high-stakes architectural decisions, always require human review before the entry is published to your decision log.
Prompt Variables
Required and optional inputs for the Decision Log Entry Formatting Demonstration Prompt. Validate these before sending the prompt to prevent schema drift and incomplete rationales.
| Placeholder | Purpose | Example | Validation Notes |
|---|---|---|---|
[DECISION_TITLE] | Subject line for the decision record | Adopt PostgreSQL as the primary application database | Required. Non-empty string. Max 120 chars. Reject if null or whitespace only. |
[CONTEXT_SUMMARY] | Background facts and constraints leading to the decision | The team needs a relational database for a multi-tenant SaaS product with strong consistency requirements. | Required. Non-empty string. Min 50 chars. Must contain at least one constraint keyword (must, cannot, required, limited). |
[OPTIONS_CONSIDERED] | List of alternatives evaluated before the decision |
| Required. Must contain at least 2 options. Each option on a new line. Reject if only one option or duplicates detected. |
[DECISION_RATIONALE] | Core reasoning for the chosen option | PostgreSQL was selected for its mature JSONB support, strong transactional guarantees, and existing team expertise. | Required. Non-empty string. Min 30 chars. Must reference at least one option from [OPTIONS_CONSIDERED] by name. |
[CONSEQUENCES] | Expected positive and negative outcomes of the decision | Positive: Faster query development. Negative: Higher operational complexity for replication setup. | Required. Must contain at least one positive and one negative consequence. Reject if only positive or only negative statements. |
[DECISION_DATE] | ISO-8601 date when the decision was made | 2025-03-15 | Required. Must match YYYY-MM-DD format. Reject if future date or unparseable. |
[DECISION_STATUS] | Current state of the decision record | Accepted | Required. Must be one of: Proposed, Accepted, Deprecated, Superseded. Case-sensitive enum check. |
[AUTHOR_IDENTIFIER] | Person or team responsible for the decision | Platform Engineering Team | Required. Non-empty string. No PII validation enforced; use team names or role identifiers in production. |
Implementation Harness Notes
How to wire the decision log formatting prompt into an application with validation, retries, and human review gates.
This prompt is designed to be called programmatically from an application that collects raw decision context—meeting notes, Slack threads, design doc excerpts, or freeform engineer notes—and needs a consistently formatted Architecture Decision Record (ADR) or project decision log entry. The harness should treat the prompt as a structured transformation step in a pipeline, not a standalone chat interaction. The application is responsible for assembling the [CONTEXT] and [EXAMPLES] placeholders before calling the model, and for validating the output against the expected schema before writing it to the decision log repository.
Validation and retry logic is critical because decision logs are often used for compliance reviews, onboarding, and architectural audits. The application should parse the model's output as JSON and validate: (1) all required fields are present (context, options_considered, decision, rationale, consequences), (2) options_considered is a non-empty array with at least two entries, (3) rationale references specific trade-offs rather than generic statements, and (4) consequences includes both positive and negative impacts. If validation fails, the harness should retry once with the validation errors appended to the prompt as [CONSTRAINTS] feedback. After two failures, escalate to a human review queue rather than silently accepting a malformed record. For high-stakes domains (infrastructure, security, compliance), always require human approval before the entry is committed to the canonical log.
Model choice and tool integration depend on your latency and quality requirements. For most teams, a capable mid-tier model (GPT-4o, Claude 3.5 Sonnet) with JSON mode enabled is sufficient. If your decision log is stored in a git repository or wiki, wire the validated output into a file creation or pull request workflow. For teams using RAG, you can optionally retrieve related past decisions and inject them into [CONTEXT] to help the model maintain consistency with prior architectural choices. Avoid using this prompt for real-time decision support where latency is critical—it's designed for asynchronous, post-meeting documentation. Log every invocation with the prompt version, model used, validation pass/fail status, and whether human review was required to build an audit trail for your decision log pipeline.
Expected Output Contract
Validation rules for each field in the generated decision log entry. Use this contract to build a post-processing harness that rejects malformed outputs before they enter the decision log system.
| Field or Element | Type or Format | Required | Validation Rule |
|---|---|---|---|
decision_id | string (slug) | Must match pattern | |
timestamp | ISO-8601 datetime | Must parse as valid UTC datetime. Reject if future-dated beyond 5 minutes of clock skew. | |
context | string (1-3 sentences) | Must be non-empty and between 20 and 500 characters. Reject if only whitespace or placeholder text like 'TODO'. | |
options_considered | array of strings | Must contain at least 2 items. Each item must be a non-empty string under 200 characters. Reject if fewer than 2 options. | |
decision | string (1 sentence) | Must be non-empty, start with a capital letter, and end with a period. Reject if it repeats the context field verbatim. | |
rationale | string (2-5 sentences) | Must be between 50 and 1000 characters. Reject if it contains no reference to at least one option from options_considered. | |
consequences | array of strings | Must contain at least 1 item. Each item must be a non-empty string under 300 characters. Reject if any item is a duplicate of another. | |
confidence | string (enum) | If present, must be one of: 'high', 'medium', 'low', 'uncertain'. Null allowed. Reject on any other value. |
Common Failure Modes
What breaks first when using demonstration prompts for decision log formatting and how to guard against it.
Example Drift from Current Decisions
What to watch: The examples you embedded three months ago reflect old project context, outdated options, or stale team conventions. The model faithfully reproduces the old pattern, but the pattern no longer matches how the team writes decisions today. Guardrail: Version your example blocks alongside your decision log template. Run a monthly drift check by comparing generated outputs against the last five human-written entries.
Option Completeness Collapse
What to watch: The model lists only the options shown in your few-shot examples, even when the current decision context clearly contains additional alternatives. This happens when examples are too narrow and the model treats them as an exhaustive catalog. Guardrail: Include at least one example with four or more options and an explicit 'Other options considered but rejected' section. Add an eval check that counts distinct options and flags outputs with fewer than the input context mentions.
Rationale Grounding Failure
What to watch: The model generates plausible-sounding rationale that echoes the style of your examples but invents trade-offs, constraints, or stakeholder concerns not present in the input context. This is especially dangerous when the prose is fluent and confident. Guardrail: Require each rationale sentence to cite a specific input fact, constraint, or option attribute. Add a post-generation verification step that extracts claims and checks them against the provided context. Flag outputs where more than 20% of rationale sentences lack grounding.
Consequence Fabrication
What to watch: The model extrapolates downstream consequences that sound reasonable but were never discussed. In decision logs, fabricated consequences create false institutional memory and mislead future readers. Guardrail: Separate the 'Expected consequences' section into 'Known consequences (from input)' and 'Inferred risks (model-generated, requires review).' Add a human approval gate before any inferred consequence enters the permanent log.
Format Rigidity Under Varied Input Length
What to watch: Your examples all use medium-length decision contexts. When a real decision has a very short or very long context, the model either pads with fluff or truncates critical details to fit the demonstrated output length. Guardrail: Include at least one short-context example (two-sentence decision) and one long-context example (multi-paragraph with nested constraints) in your demonstration set. Test with inputs at the 10th and 90th percentile of expected length.
Status and Metadata Hallucination
What to watch: The model invents decision statuses (Accepted, Superseded, Deprecated), dates, authors, or ticket references that match the format of your examples but have no basis in the input. Guardrail: Explicitly mark all metadata fields as 'Extract from input only; do not invent' in your prompt instructions. Add a schema validator that rejects any metadata value not found verbatim in the input context. Log every hallucinated field for example set review.
Evaluation Rubric
Use this rubric to test whether the model's decision log output meets production standards before shipping. Each criterion targets a specific failure mode common in demonstration-formatted prompts.
| Criterion | Pass Standard | Failure Signal | Test Method |
|---|---|---|---|
Format Adherence | Output matches the demonstrated log structure exactly: Context, Options Considered, Decision, Rationale, Consequences sections present in order | Missing or reordered sections; extra commentary outside the demonstrated format | Parse output into sections; assert all five headers exist in correct sequence |
Option Completeness | Options Considered section lists at least the number of options shown in the demonstration examples, with each option described in a separate block | Single option presented as the only choice; options merged into one paragraph; fewer options than demonstration minimum | Count distinct option blocks; assert count >= demonstration minimum |
Rationale Grounding | Rationale section references specific constraints, trade-offs, or evidence from the input context, not generic reasoning | Rationale contains unsupported claims, appeals to authority without evidence, or generic statements like 'best practice' without context link | Extract rationale sentences; assert each claim traces to a constraint or fact in [INPUT_CONTEXT] |
Consequence Specificity | Consequences section identifies at least one concrete positive and one concrete negative outcome tied to the decision | Consequences are vague ('may improve performance'), missing negative outcomes, or identical across different inputs | Check for presence of both positive and negative consequence; assert each references a specific system or workflow impact |
Demonstration Pattern Transfer | Output applies the demonstrated pattern to the new input without copying example content verbatim | Example-specific names, dates, or technologies appear in output; output reads like a paraphrased example rather than a new decision | Diff output against demonstration examples; assert no substring match longer than 5 words from example content |
Section Boundary Integrity | Section delimiters are unambiguous and consistent with the demonstration format; no content bleeds between sections | Rationale text appears in Consequences section; Options contain rationale language; delimiter tokens missing or inconsistent | Parse with section-delimiter regex; assert each section contains only its expected content type |
Abstention on Missing Input | When [INPUT_CONTEXT] lacks sufficient information for a decision, output includes an explicit 'Insufficient Information' note rather than fabricating options | Model invents plausible-sounding options or context not present in input; decision presented confidently despite missing data | Provide input with deliberately insufficient context; assert output contains abstention signal or null decision marker |
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 2-3 example decision log entries. Use inline examples rather than external files. Skip strict schema validation initially—focus on getting the rationale and consequences sections right.
codeAdd these examples to [FEW_SHOT_BLOCK]: - A simple technology choice decision (library upgrade) - A trade-off decision with two viable options - A decision where the team chose NOT to act
Watch for
- Examples that all share the same structure (model overfits to one pattern)
- Missing "options considered" section in generated entries
- Rationale that reads like generic advice rather than project-specific reasoning

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