Decision Records Map
The repository keeps two document families under docs/architecture/.
ADRs
Architecture Decision Records capture durable decisions and tradeoffs.
Key ADR themes in this repository:
- vertical slices and type-driven design
- module boundary rules and
mod.rspolicy - static dispatch and performance layout
- testing and fuzzing requirements
- transaction SDK routing model
- always-on relay and shred-cache mesh
- runtime extension capability model
- plugin config and lifecycle hooks
- derived-state replay contracts
- runtime-owned observability endpoints
Use ADRs when you need to understand why a decision exists and what tradeoff was accepted.
ARDs
Architecture Requirements Documents capture the current engineering rules the repository expects contributors to follow.
Key ARD themes:
- project structure and code goals
- testing strategy and quality gates
- slice dependency contracts
- error taxonomy
- newtype and value-object guidance
- hot-path performance discipline
- observability and operability standards
- ADR process and governance
Use ARDs when you are making changes and need to know the non-negotiable constraints.
When To Add A New ADR
Add an ADR when a change affects:
- slice boundaries or dependency direction
- orchestration patterns
- error-model or type-system policy
- meaningful latency or throughput tradeoffs
If the change is only clarifying current expected behavior, it often belongs in an ARD or regular documentation update instead.