Architecture Decision Records (ADRs)¶
This directory contains Architecture Decision Records for this project.
What is an ADR?¶
An Architecture Decision Record (ADR) captures an important architectural decision made along with its context and consequences.
Format¶
Each ADR follows this structure:
# [Number]. [Title]
**Status:** [Proposed | Accepted | Deprecated | Superseded]
**Date:** YYYY-MM-DD
**Deciders:** [Names/Roles]
## Context
What is the issue we're seeing that is motivating this decision or change?
## Decision
What is the change that we're proposing and/or doing?
## Consequences
What becomes easier or more difficult to do because of this change?
### Positive
- Benefit 1
- Benefit 2
### Negative
- Drawback 1
- Drawback 2
## Alternatives Considered
What other options did we consider?
## References
- Links to related docs, issues, PRs
Index of ADRs¶
| # | Title | Status | Date |
|---|---|---|---|
| 001 | Use Next.js App Router | Accepted | 2024-10 |
| 002 | Select Google Vertex AI | Accepted | 2024-10 |
| 005 | Use In-Memory Rate Limiting | Accepted | 2024-11 |
| 006 | Environment-Based Allowlist | Accepted | 2024-11 |
Creating a New ADR¶
- Copy the template from an existing ADR
- Increment the number
- Fill in all sections
- Update this README index
- Submit as part of your PR
Guidelines¶
- Keep it concise: ADRs should be readable in 5 minutes
- Include context: Explain why the decision matters
- Document alternatives: Show what else was considered
- Update status: Mark as Deprecated/Superseded when replaced
- Link to code: Reference implementations when helpful
When to Create an ADR¶
Create an ADR for decisions that:
- Have long-term impact on the architecture
- Are difficult or expensive to reverse
- Affect multiple components or teams
- Introduce new technologies or patterns
- Change fundamental assumptions
When NOT to Create an ADR¶
Skip ADRs for:
- Routine implementation details
- Temporary workarounds
- Minor refactorings
- Obvious best practices
Last Updated: November 2025 Maintainers: Core Development Team