Architecture Decision Records (ADRs)¶
This directory contains the Architecture Decision Records (ADRs) for CGMPy.
An ADR captures one significant decision in a short, immutable document. The collection tells the story of how and why the project evolved.
Format¶
Each ADR follows the MADR template:
# ADR NNNN — Short title of the decision
* Status: [Proposed | Accepted | Deprecated | Superseded by NNNN]
* Date: YYYY-MM-DD
* Deciders: @maintainer1, @maintainer2
## Context and Problem Statement
[Describe the context and the problem in 2-3 sentences.]
## Considered Options
* [Option 1]
* [Option 2]
* [Option 3]
## Decision Outcome
Chosen option: "[option 1]", because [justification].
### Consequences
* Good, because [positive consequence].
* Bad, because [negative consequence].
## Pros and Cons of the Options
### Option 1
[...]
### Option 2
[...]
Index¶
| # | Title | Status |
|---|---|---|
| 0001 | Record architecture decisions | Accepted |
| 0002 | Single-source configuration with pyproject.toml | Accepted |
| 0003 | Facade + mixin pattern for the public API | Superseded by 0005 |
| 0004 | Asymmetric agent harness | Accepted |
| 0005 | Pure functions + composition for the public API | Accepted |
How to add a new ADR¶
- Copy an existing ADR (e.g.,
0002-pyproject-toml-config.md) to a new file: - Update the title, status, date, and content.
- Add a row to the Index table above.
- Open a PR with the
architecturelabel.
See also¶
- MADR — the ADR template we follow.
- System overview.