Inferensys

Prompt

Decision Log Entry Formatting Demonstration Prompt

A practical prompt playbook for using a Decision Log Entry Formatting Demonstration Prompt in production AI workflows to generate structured, auditable decision records.
Elegant overhead shot of a polished wooden communal table in a sun-drenched WeWork lounge, laptops and tablets displaying AI workflow dashboards, plants and pendant lights in background.
PROMPT PLAYBOOK

When to Use This Prompt

Learn when to deploy the Decision Log Entry Formatting Demonstration Prompt and when to choose a different approach.

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.

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.

PRACTICAL GUARDRAILS

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.

01

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

02

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.

03

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.

04

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.

05

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.

06

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.

PROMPT PLAYBOOK

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.

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

IMPLEMENTATION TABLE

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.

PlaceholderPurposeExampleValidation 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

  1. PostgreSQL 2. MySQL 3. CockroachDB

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.

PROMPT PLAYBOOK

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.

IMPLEMENTATION TABLE

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

decision_id

string (slug)

Must match pattern DL-[0-9]{4}-[0-9]{3}. Reject if missing or malformed.

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.

PRACTICAL GUARDRAILS

Common Failure Modes

What breaks first when using demonstration prompts for decision log formatting and how to guard against it.

01

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.

02

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.

03

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.

04

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.

05

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.

06

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.

IMPLEMENTATION TABLE

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.

CriterionPass StandardFailure SignalTest 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

ADAPTATION OPTIONS

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.

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