# Architecture Decision Records
This directory documents the key design decisions made during the development of rustebra.
Each record explains the context, the decision, and the rationale.
| [0001](0001-hybrid-memory-allocation.md) | Hybrid Memory Allocation Strategy via Feature Flags | Accepted (Revised) |
| [0002](0002-single-crate-with-feature-flags.md) | Single Crate with Incremental Feature Flags | Accepted |
| [0003](0003-separated-static-dynamic-traits.md) | Minimal Shared Storage Trait Between Static and Dynamic Types | Accepted (Revised) |
| [0004](0004-per-module-error-handling.md) | Per-Module Error Handling with Result | Accepted |
| [0005](0005-generic-scalar-type.md) | Generic Scalar Type | Accepted |
| [0006](0006-trait-based-generic-architecture.md) | Trait-Based Generic Layered Architecture | Accepted |
| [0007](0007-public-elementary-scalar-functions.md) | Public Elementary Scalar Functions, Scoped to Internal Needs | Accepted |
| [0008](0008-two-level-public-api.md) | Two-Level Public API for Matrix Operations | Accepted |
---
*New decisions are added here as the project evolves. See [CONTRIBUTING.md](../CONTRIBUTING.md) if you want to propose a change that warrants a new record.*