Working
Can explain the concept and its trade-offs.
ADR format — when an architecture decision must be recorded, what an ADR contains, where it lives.
Open
Any editor can update. Vera routes questions to any team member with relevant expertise.
Owner: Ahmed Mahmood Khan
You can read, edit and deprecate this skill.
Working
Can explain the concept and its trade-offs.
Led
Has done it independently and owned outcomes.
An Architecture Decision Record — ADR — is a short document that captures one decision: what we chose, what we considered, why we picked it, and what we expect to give up. ADRs exist so that someone joining the team two years from now can understand why the codebase is shaped the way it is without having to dig through Slack threads.
ADRs are not a replacement for ongoing architecture review. They are a memory aid for the consequences of choices that are otherwise invisible in the code.
Write an ADR when any of the following is true:
When in doubt, write one. Cheap to author, expensive to live without.
Each ADR is a Markdown file in docs/adr/ named NNNN-short-title.md where NNNN is a zero-padded sequence number. The template:
# ADR NNNN — Title
**Status:** Proposed | Accepted | Superseded by ADR XXXX
**Date:** YYYY-MM-DD
**Deciders:** names
## Context
What problem are we solving? What constraints are we working within?
## Decision
What we are doing. One paragraph.
## Alternatives considered
- Option A — rejected because…
- Option B — rejected because…
## Consequences
What we gain. What we give up. What this makes harder later.
The Status field matters. An ADR is Proposed until it's reviewed; Accepted once it's signed off; Superseded when a later ADR overrides it. Superseded ADRs are never deleted — they remain as the historical record. The superseding ADR's number goes in the Status line.
Proposed ADRs are reviewed by Engineering Leadership and any owner whose area is affected. Review is asynchronous: comments on the PR, approval to merge. A single approver is enough for low-stakes decisions; security or AI decisions require the Security Lead and Head of Legal respectively.
A few ADRs already on the Castline backlog:
Not status updates. Not designs. Not RFCs that need refinement. They are the decision, written down at the moment the decision is made, in a place future-you will find it. The hardest part is writing them when the decision still feels obvious. That's exactly when they're most useful.
Engineering Leadership.