This directory contains the Architecture Decision Records (ADRs) for this project.
Each ADR follows this structure:
# NNNN: Title
**Status**: Proposed | Accepted | Superseded | Deprecated
**Date**: YYYY-MM-DD
## Context — What is the issue motivating this decision?
## Candidates — Options considered with trade-offs
## Decision — What we chose and why
## Consequences — What becomes easier/harder
## Constitution Compliance — Mapping to project principlesADRs are numbered sequentially: 0001, 0002, etc.
Numbers are never reused. If a decision is reversed, the original ADR is marked "Superseded" and a new ADR is created with a reference.
| ADR | Title | Status |
|---|---|---|
| 0001 | Hexagonal Architecture (Ports and Adapters) | Accepted |
| 0002 | Zig Language Choice | Accepted |
| 0003 | System OpenSSL for Server-Side TLS | Accepted |
| 0004 | OpenTelemetry SDK Dependency for Instrumentation | Accepted |
| 0005 | AMQP Runner Design | Accepted |
| 0006 | Redis Runner Design | Accepted |
- Find the next number:
ls docs/ADR/ | grep -oP '^\d+' | sort -n | tail -1+ 1 - Copy the template:
cp docs/ADR/.template.md docs/ADR/NNNN-short-name.md - Fill in all sections
- Update this index
- Submit for review
Before merging any new or modified ADR:
- Cross-references: All
[ADR-NNNN]links resolve to existing files - Supersession: If changing a prior decision, both ADRs have
Supersedes/Superseded bymetadata - Constitution: Compliance section maps to current constitution version
- Candidates: At least 2 alternatives documented with trade-offs