Contributing
This repository expects contributors to preserve architecture clarity, hot-path discipline, and operational readability.
Standard Workflow
- make a focused change in the owning slice
- add or update tests with the behavior change
- run the local quality gates
- update docs when behavior, configuration, or operations changed
Architecture Rules
- keep slices isolated
- keep
mod.rsfiles to declaration and re-export duties - use typed errors and validated value objects instead of stringly categories
- keep orchestration in app and infra layers, not in leaf slices
Architecture boundary enforcement:
cargo make arch-check
ADR Discipline
Add an ADR when you change:
- slice boundaries or dependency direction
- orchestration patterns
- dispatch strategy
- type-system policy
- meaningful latency or throughput tradeoffs
Do not edit accepted ADRs in place to change history. Add a new ADR that supersedes the old one.
Pull Request Expectations
Good PRs in this repository include:
- a clear description of what changed and why
- scope and impact notes
- testing evidence
- documentation updates when relevant
- ADR references when architecture changed
Commit Style
Supported commit prefixes include:
docsfeatfixrefactortestchoreperf
Keep commit subjects short, imperative, and specific.