Architecture decision records
Each record states one decision and why it was made. ADR 0001 sets the rules: a record is never edited, and a newer one supersedes it. New records start from the template.
| ADR | Decision | Status |
|---|---|---|
| 0001 | Record architecture decisions | Accepted |
| 0002 | The public API is HTTP only | Accepted |
| 0003 | The tenant leads every key | Accepted |
| 0004 | The forge issues its own tokens | Accepted |
| 0005 | The server is a modular monolith | Accepted |
| 0006 | Objects live in SeaweedFS, and vcsd stays stateless | Accepted |
| 0007 | The git bridge comes first | Accepted |
| 0008 | Postgres, not distributed SQL | Accepted |
| 0009 | The CLI is jf, built on jj-cli |
Accepted |
| 0010 | The infra repository runs the backing services | Accepted |
| 0011 | Controllers implement contracts | Accepted |
| 0012 | The web app is split into apps, features, and shared packages | Accepted |
| 0013 | Browser state belongs to a library | Accepted |
| 0014 | Only shared/ui renders markup and styles | Accepted |
| 0015 | Code rules are checked, not reviewed | Accepted |