adr.zone

Architecture decision log

An architecture decision log is a chronological index of important software architecture decisions. A single ADR documents one decision; a decision log helps a team browse, audit, and maintain the full set of decisions as the system evolves.

What is an architecture decision log?

It is a durable list of records—usually markdown files in a repository—each of which should answer “what did we decide, and what were we thinking?” for one choice. The log is the set of those files plus whatever index you use (README, generated index, or portal) so people can find decisions by status, area, or time.

The relationship to ADRs is simple: the log is the collection; an ADR document is one entry. Teams often use numbered filenames (0001-…) or a shared prefix so the log sorts predictably in git and in search.

ADR vs architecture decision log

ADRDecision log
One decision, one file (or one record)The index and history of many decisions
Context, decision, consequences in depthDiscovery, status, and traceability across entries

What should a decision log include?

Per entry, teams usually track some combination of the following in the index (and often in the ADR body too):

Example architecture decision log

A minimal index (your real one might be generated or live in a README):

IDStatusDecisionAreaDate
ADR-0001AcceptedUse PostgreSQL for primary relational dataDatabase2026-04-24
ADR-0002ProposedSplit billing from the core applicationArchitecture2026-04-25
ADR-0003DeprecatedUse Redis for long-term event replayInfrastructure2026-05-01

How to maintain a decision log

Start your decision log

Use a format you will actually maintain: templates for Nygard, MADR, Y-Statement, and an ISO 42010–inspired shape, the markdown generator for a working draft, and worked examples for tone and level of detail.