46 lines
1.7 KiB
Markdown
46 lines
1.7 KiB
Markdown
# Markdown Architectural Decision Record (MADR) Template
|
|
|
|
Save approved architectural and refactoring decisions to `docs/adr/NNNN-[slug].md`.
|
|
|
|
```markdown
|
|
# ADR-[NNNN]: [Short Title of Architectural Decision]
|
|
|
|
## Status
|
|
[Proposed | Accepted | Superseded | Deprecated]
|
|
|
|
## Context and Problem Statement
|
|
[Describe the context, performance bottleneck, or structural limitation prompting this decision.]
|
|
|
|
## Decision Drivers
|
|
- [Driver 1, e.g. Throughput requirement: sustain >= 25,000 events/sec]
|
|
- [Driver 2, e.g. Latency target: maintain p99 < 15ms]
|
|
- [Driver 3, e.g. Interface stability: zero breaking changes to public API]
|
|
- [Driver 4, e.g. Regression safety: zero test or type check regressions]
|
|
|
|
## Considered Options
|
|
- **Option 1**: [Short description of candidate A]
|
|
- **Option 2**: [Short description of candidate B]
|
|
- **Option 3**: [Short description of candidate C]
|
|
|
|
## Decision Outcome
|
|
Chosen Option: [Option X], because [justification based on empirical benchmark results and complexity balance].
|
|
|
|
## Empirical Benchmark Outcomes
|
|
- **Baseline Execution**:
|
|
$\mu = XX.X\text{ms} \pm X.X\text{ms}$ (Throughput: $XX,\!XXX\text{ ops/sec}$)
|
|
- **Option 1 Benchmark**:
|
|
$\mu = XX.X\text{ms} \pm X.X\text{ms}$ ($+XX\%$ improvement; [reason if rejected])
|
|
- **Option 2 Benchmark**:
|
|
$\mu = XX.X\text{ms} \pm X.X\text{ms}$ ($+XX\%$ improvement, $p < 0.001$; [selected])
|
|
- **Option 3 Benchmark**:
|
|
[Eliminated due to test failure or infrastructure complexity]
|
|
|
|
## Positive Consequences
|
|
- [Positive consequence 1]
|
|
- [Positive consequence 2]
|
|
|
|
## Negative Consequences & Accepted Trade-offs
|
|
- [Negative consequence 1, e.g. Added dependency]
|
|
- [Negative consequence 2, e.g. Increased algorithmic complexity]
|
|
```
|