Decisions/Records
Decisions
Each ADR records one decision: context, options, decision, reasons, trade-offs and consequences.
- ADRs are never deleted. When a decision changes, a new ADR supersedes the old one and the old ADR's status says so.
- Status values: Proposed, Accepted, Superseded, Rejected.
- Architecture v2 (2026-09-14) is summarised in ../architecture.md.
Index#
| ADR | Title | Status |
|---|---|---|
| 0001 | Framework boundaries | Accepted, amended by 0014, 0019 |
| 0002 | Module architecture | Superseded by 0019, 0021 |
| 0003 | Code generation | Accepted, amended by 0021 |
| 0004 | Dependency injection | Superseded by 0017, 0020 |
| 0005 | Database strategy | Accepted, amended by 0032, 0033 |
| 0006 | Authentication | Superseded by 0024 |
| 0007 | Observability | Accepted, amended by 0019, 0028 |
| 0008 | Configuration | Superseded by 0020 |
| 0009 | Repository strategy | Accepted, amended by 0019 |
| 0010 | Dashboard architecture | Accepted, amended by 0026, 0028 |
| 0011 | GitHub integration | Accepted |
| 0012 | Versioning and upgrades | Superseded by 0015, 0016 |
| 0013 | Multi-tenancy | Superseded by 0023 |
| 0014 | Product shape, presets and creation prompts | Accepted, amended by 0035, 0041, 0050 |
| 0015 | Public API surface and stability tiers | Accepted |
| 0016 | Scaffold compatibility and upgrade path | Accepted, amended by 0050 |
| 0017 | Application lifecycle | Accepted |
| 0018 | Error contract and problem+json | Accepted |
| 0019 | Module dependency rules and core budget | Accepted, amended by 0033 |
| 0020 | Constructors and configuration | Accepted, amended by 0031 |
| 0021 | Generator operation model | Accepted, amended by 0041, 0050 |
| 0022 | Generated application layout | Accepted, amended by 0032 |
| 0023 | Tenancy | Accepted, amended by 0033, 0048 |
| 0024 | Authentication methods | Accepted, amended by 0038, 0043, 0044, 0046 |
| 0025 | Email providers | Accepted, amended by 0033, 0037 |
| 0026 | Operations APIs | Accepted, amended by 0031, 0033, 0034, 0036, 0038 |
| 0027 | API contract and documentation | Accepted |
| 0028 | Local development environment | Accepted |
| 0029 | Threat model: framework, CLI and ecosystem | Accepted, amended by 0036, 0038 |
| 0030 | Context and correlation propagation | Accepted |
| 0031 | Runtime settings | Accepted |
| 0032 | Hand-written SQL in repositories | Accepted |
| 0033 | Background jobs | Accepted |
| 0034 | Interim ops token | Superseded by 0038 |
| 0035 | Interactive CLI with flag parity | Accepted, amended by 0037 |
| 0036 | Audit storage | Accepted |
| 0037 | Email setup and delivery | Accepted |
| 0038 | Authentication in v0.2 | Accepted, amended by 0048 |
| 0039 | Resource module template | Accepted, amended by 0048 |
| 0040 | Release tracking | Accepted |
| 0041 | Full preset generation | Accepted, amended by 0050 |
| 0042 | Development seed data | Accepted |
| 0043 | Two-factor authentication | Accepted, amended by 0044, 0046 |
| 0044 | Passkeys | Accepted |
| 0045 | Sign-in provider setup | Accepted, amended by 0046 |
| 0046 | Google and Apple sign-in | Accepted |
| 0047 | Client templates: docs site, dashboard and mobile apps from separate template repositories | Proposed |
| 0048 | Organisations (v0.4): tables, org roles, requests, invitations, personal workspaces, lifecycle, generation | Accepted, amended by 0050 |
| 0049 | Public website: landing page, framework docs and API reference in the apistock look, built by a Go generator in site/ |
Accepted |
| 0050 | Upgrading apps and adding features to them (v0.5): lock v2, rebuilt merge base, aps upgrade, aps add orgs |
Accepted |
Was this page useful?
Open an issue