Architecture
The design is documented in five validated views in the repository. This page is an entry point for operators and integrators.
| View | Question | Document |
|---|---|---|
| Functional | What / for whom? | docs/architecture/01-functional-architecture.md |
| Logical | Which blocks? | 02-logical-architecture.md |
| Application | Modules & APIs | 03-application-architecture.md |
| Technical | Technologies | 04-technical-architecture.md |
| Physical | Where it runs | 05-physical-architecture.md |
Runtime shape
Non-negotiable rules (summary)
- Contract-first — change OpenAPI/AsyncAPI before code.
- Module boundaries — no cross-module database access.
- Idempotent consumers — deduplicate on
eventId. - Single master — Stripe (or your PSP) owns payment objects.
- Permissive licences — MIT / Apache-2.0 dependencies only.
Full agent/contributor rules: AGENTS.md in the repo (includes upstream process notes).