ADR
An established software engineering pattern for recording significant technical decisions, proposed by Michael Nygard in 2011. Each record documents the decision context, considered alternatives, rationale for the chosen option, and expected consequences. The pattern was subsequently promoted as a best practice by ThoughtWorks and others.
Core Facts
Architecture Decision Records (ADR) is a practice proposed by Michael Nygard in 2011.
Architecture Decision Records (ADR) is a lightweight documentation practice proposed by Michael Nygard in 2011.
An Architecture Decision Record (ADR) is a lightweight document format used in software engineering to systematically record important technical decisions, typically containing the decision context, alternative options, the final choice, and the rationale behind the trade-offs.
Timeline (last 90 days)
ADRs became popular because they solve two chronic problems of traditional architecture documentation: documentation drifting out of sync with code, and decision context being lost over time.
A typical ADR file usually does not exceed one page, is numbered incrementally, and is stored in the `doc/adr` directory.
The decision timeline is a lightweight practice for recording architectural decisions, which can be seen as an interactive variant of architecture decision records (ADRs), embedding key trade-offs chronologically into visualization documentation and linking them with PRs and code diffs.
SQL Server 2025's Optimized Locking avoids lock escalation through a versioned transaction locking mechanism, and depends on Accelerated Database Recovery (ADR) and Read Committed Snapshot Isolation (RCSI).
Moving the baseline (raising or lowering the average recall@5 threshold) requires an explicit ADR decision, rather than being changed just to make CI green.
In human teams, code review, architecture decision records (ADRs) and a shared mental model within the team together suppress architecture drift.
The positive outcome of ADR 1 (adopting a central model allowlist) is that compliance and permissions have a single source of truth, and the negative outcome is that model deprecation or additions require coordination, and request latency increases slightly due to the lookup.
The way to resolve dual-source data discrepancies is to divide ownership by domain: Joule handles in-transaction help, the custom stack handles cross-system analysis and proprietary policy RAG, and this division is written into an architecture decision record (ADR).
The way to mitigate the risk of tribal knowledge is to externalize it into architecture decision records (ADRs), README comments, or agent instruction files.
Engineering measures to break vendor lock-in include: writing infrastructure as Terraform or Pulumi code and putting it into your own repository, requiring all design discussions to be documented as ADRs, and placing CI/CD pipeline configuration under accounts you control.
8 more timeline events
All Facts (20)
Architecture Decision Records (ADR) is a practice proposed by Michael Nygard in 2011.
75%VerifiedArchitecture Decision Records (ADR) is a lightweight documentation practice proposed by Michael Nygard in 2011.
70%VerifiedAn Architecture Decision Record (ADR) is a lightweight document format used in software engineering to systematically record important technical decisions, typically containing the decision context, alternative options, the final choice, and the rationale behind the trade-offs.
65%UnverifiedADR (Architecture Decision Records) is a software engineering practice of maintaining decision logs that record the reasons for technical choices, alternative options considered, and the rationale for rejecting them.
60%UnverifiedThe goal of the information layer is to give agents a comprehensive understanding of the project, including project-level rule files (such as Cursor's .cursorrules and Windsurf's .windsurfrules), architecture decision records, API contract documents, and dependency graphs.
60%UnverifiedADR (Architecture Decision Record) is a lightweight documentation practice proposed by Michael Nygard, used to record each important architectural decision in a project along with its context, rationale, and consequences.
60%UnverifiedThe practice of maintaining progress note files is highly similar to the Architecture Decision Record (ADR) practice in software engineering, which was systematized by Michael Nygard in 2011
60%UnverifiedADRs became popular because they solve two chronic problems of traditional architecture documentation: documentation drifting out of sync with code, and decision context being lost over time.
50%UnverifiedA typical ADR file usually does not exceed one page, is numbered incrementally, and is stored in the `doc/adr` directory.
50%UnverifiedThe decision timeline is a lightweight practice for recording architectural decisions, which can be seen as an interactive variant of architecture decision records (ADRs), embedding key trade-offs chronologically into visualization documentation and linking them with PRs and code diffs.
50%UnverifiedSQL Server 2025's Optimized Locking avoids lock escalation through a versioned transaction locking mechanism, and depends on Accelerated Database Recovery (ADR) and Read Committed Snapshot Isolation (RCSI).
50%UnverifiedMoving the baseline (raising or lowering the average recall@5 threshold) requires an explicit ADR decision, rather than being changed just to make CI green.
50%UnverifiedIn human teams, code review, architecture decision records (ADRs) and a shared mental model within the team together suppress architecture drift.
50%UnverifiedThe positive outcome of ADR 1 (adopting a central model allowlist) is that compliance and permissions have a single source of truth, and the negative outcome is that model deprecation or additions require coordination, and request latency increases slightly due to the lookup.
50%UnverifiedThe way to resolve dual-source data discrepancies is to divide ownership by domain: Joule handles in-transaction help, the custom stack handles cross-system analysis and proprietary policy RAG, and this division is written into an architecture decision record (ADR).
50%UnverifiedThe way to mitigate the risk of tribal knowledge is to externalize it into architecture decision records (ADRs), README comments, or agent instruction files.
50%UnverifiedEngineering measures to break vendor lock-in include: writing infrastructure as Terraform or Pulumi code and putting it into your own repository, requiring all design discussions to be documented as ADRs, and placing CI/CD pipeline configuration under accounts you control.
50%UnverifiedAI models have no project memory and start each new session in an amnesiac state, so key technical decisions need to be documented in ADR files for the AI to read.
50%UnverifiedAfter initialization, an AGENTS.md instruction file, a context directory, and technical documents such as ADRs are generated in the project root directory.
50%UnverifiedStructural design of the information layer includes project-level rule files (such as Cursor's .cursorrules and Windsurf's .windsurfrules), Architecture Decision Records (ADR), API contract files (such as OpenAPI Spec), and dependency graphs.
50%