Architecture Decision Records
Each significant decision is captured as a numbered, immutable ADR. We supersede rather than edit. New engineers should read these first to understand why the system is the way it is.
| # | Decision | Status |
|---|---|---|
| 0001 | Record architecture decisions | Accepted |
| 0002 | Website and portal as two apps, one brand | Accepted |
| 0003 | Kamal multi-app droplet | Accepted |
| 0004 | Postgres per app with a read only bridge | Accepted |
| 0005 | Mailjet HTTP API on one account for all email | Accepted |
| 0006 | Portal auth: Devise, mandatory 2FA, AR encryption | Accepted |
| 0007 | Consent ledger and verified-only sending | Accepted |
| 0008 | BDD/TDD release gate | Accepted |
| 0009 | Docs as code with MkDocs | Accepted |
New ADR? Copy the template.