Architecture Decision Records¶
This directory contains Architecture Decision Records (ADRs) for the Rhiza project.
What is an ADR?¶
An Architecture Decision Record (ADR) is a document that captures an important architectural decision made along with its context and consequences.
ADR Format¶
Each ADR follows a consistent format:
- Title and Number: Sequential numbering with descriptive title
- Date: When the decision was made
- Status: Current state (Proposed, Accepted, Deprecated, Superseded)
- Context: The issue or situation that motivates the decision
- Decision: The change or approach being taken
- Consequences: What becomes easier or harder as a result
ADR Index¶
| Number | Title | Status | Date |
|---|---|---|---|
| 0001 | Use Architecture Decision Records | Accepted | 2026-01-01 |
| 0002 | Use uv for Python Package and Environment Management | Accepted | 2024-09-01 |
| 0003 | Use Ruff for Linting and Formatting | Accepted | 2024-06-01 |
| 0004 | Adopt a Modular Makefile Architecture | Accepted | 2024-03-01 |
| 0005 | Separate rhiza Template Repository from rhiza-cli | Accepted | 2024-05-01 |
| 0006 | Organise Templates into Bundles | Accepted | 2025-01-01 |
| 0007 | Support Dual CI/CD with GitHub Actions and GitLab CI | Accepted | 2024-08-01 |
| 0008 | Use Marimo for Interactive Notebooks | Accepted | 2025-03-01 |
| 0009 | Use Pre-commit Hooks for Automated Code Quality Enforcement | Accepted | 2024-04-01 |
| 0010 | Introduce a Layered Bundle and Profile Model | Accepted | 2026-05-02 |
Creating a New ADR¶
To create an ADR manually:
- Copy an existing ADR in this directory as a starting point
- Use the next available 4-digit number (e.g., 0011, 0012)
- Fill in all sections with relevant information
- Update this README to add your ADR to the index
- Submit via pull request for review