Architecture
Architecture Decision Records capture the “why” behind key technical choices.
| ADR | Decision |
|---|---|
| ADR-0001 | Go backend + TypeScript frontend |
| ADR-0002 | OpenAPI contract-first |
| ADR-0003 | Capability layers (interfaces + config switches) |
| ADR-0004 | Licensing (ELv2 / MIT / CC BY-SA) |
| ADR-0005 | Shared Go module |
| ADR-0006 | i18n (zh-CN / en-US) |
| ADR-0007 | Auth design (opaque tokens, Argon2id) |
| ADR-0008 | Yggdrasil RSA key management |
| ADR-0009 | Codegen workflow (sqlc + oapi) |
| ADR-0010 | OIDC provider + login-methods registry |
| ADR-0011 | Identity: Mirror as sole IdP, other products as OIDC RP + projection table |
The full records (with context and consequences) are available in the Chinese architecture section.

