# Architecture decision records

Decisions that are hard to reverse. Each record says what was decided and why. To change one, write a new record that supersedes it.

| # | Decision | Status |
| --- | --- | --- |
| 0001 | [License: AGPL-3.0-only](https://docs.openkedai.com/adr/0001-license-agpl/) | Accepted |
| 0002 | [Offline-first](https://docs.openkedai.com/adr/0002-offline-first/) | Accepted |
| 0003 | [Money is integer sen](https://docs.openkedai.com/adr/0003-money-integer-sen/) | Accepted |
| 0004 | [The event log is the source of truth](https://docs.openkedai.com/adr/0004-event-log-source-of-truth/) | Accepted |
| 0005 | [Three ways to run, one codebase](https://docs.openkedai.com/adr/0005-three-ways-to-run/) | Accepted |
| 0006 | [Country rules are data](https://docs.openkedai.com/adr/0006-country-rules-are-data/) | Accepted |
| 0007 | [Who is authoritative](https://docs.openkedai.com/adr/0007-authority/) | Accepted |
| 0008 | [Telemetry is opt-in](https://docs.openkedai.com/adr/0008-telemetry-opt-in/) | Accepted |
| 0009 | [Two apps sharing one core](https://docs.openkedai.com/adr/0009-two-apps-shared-core/) | Accepted |
| 0010 | [App-store distribution and the CLA](https://docs.openkedai.com/adr/0010-app-store-distribution-and-cla/) | Accepted |
| 0011 | [Self-hosting is a product feature](https://docs.openkedai.com/adr/0011-self-hosting-is-a-feature/) | Accepted |
| 0012 | [Cheap by design](https://docs.openkedai.com/adr/0012-cheap-by-design/) | Accepted |
| 0013 | [This is the public open-source repository](https://docs.openkedai.com/adr/0013-public-repository/) | Accepted |
| 0014 | [Business rules are configurable](https://docs.openkedai.com/adr/0014-configurable-business-rules/) | Accepted |
| 0015 | [Event ordering and conflicts](https://docs.openkedai.com/adr/0015-event-ordering-and-conflicts/) | Accepted |
| 0016 | [Printing](https://docs.openkedai.com/adr/0016-printing/) | Accepted |
| 0017 | [Shifts and Z-reports](https://docs.openkedai.com/adr/0017-shifts/) | Accepted |
| 0018 | [Plugins and extension points](https://docs.openkedai.com/adr/0018-plugins/) | Accepted |
| 0019 | [Hub sync and pairing](https://docs.openkedai.com/adr/0019-hub-sync-and-pairing/) | Accepted |
| 0020 | [Back office sign-in](https://docs.openkedai.com/adr/0020-back-office-sign-in/) | Accepted |
| 0021 | [Languages and Chinese printing](https://docs.openkedai.com/adr/0021-languages-and-chinese-printing/) | Accepted |
| 0022 | [Finding the hub on the network](https://docs.openkedai.com/adr/0022-finding-the-hub-on-the-network/) | Accepted |
| 0023 | [Shipping the server, and backups](https://docs.openkedai.com/adr/0023-shipping-the-server-and-backups/) | Accepted |
| 0024 | [The website and the docs site](https://docs.openkedai.com/adr/0024-website-and-docs-site/) | Accepted |

New records use the next number and the same sections: Status, Date, Context, Decision, Consequences.
