Keyboard shortcuts

Press or to navigate between chapters

Press S or / to search in the book

Press ? to show this help

Press Esc to hide this help

ADR006 - Required Consequences Section

Nygard-format ADRs must have a consequences section describing the impact of the decision.

Why This Rule Exists

Consequences help teams:

  • Understand trade-offs made
  • Anticipate challenges
  • Plan for implications
  • Make informed future decisions

Format

This rule only applies to Nygard format ADRs. MADR format uses structured consequences under Decision Outcome (see ADR017).

## Consequences

Positive:
- Memory safety without garbage collection
- High performance

Negative:
- Steeper learning curve
- Longer compile times initially

Examples

Incorrect

# 1. Use Rust

Date: 2024-01-15

## Status

Accepted

## Context

We need a language.

## Decision

We will use Rust.

Missing Consequences section.

Correct

# 1. Use Rust

Date: 2024-01-15

## Status

Accepted

## Context

We need a language for the new service.

## Decision

We will use Rust.

## Consequences

Team members will need Rust training.
Build times may be longer initially.
Memory safety issues will be caught at compile time.

Rule Details

  • Rule ID: ADR006
  • Name: adr-required-consequences
  • Category: Structure
  • Severity: Warning
  • Automatic Fix: Not available
  • Applies to: Nygard format only
  • ADR014 - Consequences should have meaningful content
  • ADR017 - Consequences structure (MADR)