Parent standard: Evolith — ADR Registry
All architectural decisions for the User Management System (UMS) are recorded here. Decisions inherit the mandatory baseline from the Evolith reference architecture and extend or specialize it for the UMS product context.
UMS is a satellite repository of evolith_arch32. The parent repository defines the corporate architecture baseline; UMS ADRs must either adopt it by reference or document an explicit SQL Server / .NET adaptation where the parent example is runtime- or database-specific.
Note: ADRs 0001–0049 are inherited from the Evolith parent architecture baseline. Their governance and canonical text lives in the Evolith ADR Registry. Only UMS-specific decisions (ADR-0050 onward) are maintained as physical files in this repository.
Referenced in governance documents. Physical files pending backfill.
| ADR | Title | Status |
|---|---|---|
| ADR-0001 – ADR-0028 | Foundation, infrastructure, runtime, CI/CD | Referenced — files pending |
| ADR-0029 | C# Native DDD Primitives | Clarified by ADR-0054 |
| ADR | Title | Status |
|---|---|---|
| ADR-0030 – ADR-0048 | DDD bounded contexts, multi-tenancy, authorization, compliance | Referenced — files pending |
| ADR-0048 | Closure Table for Hierarchical Multi-Tenancy | Accepted |
| ADR-0049 | Table Partitioning Strategy | Accepted |
| ADR | Title | Status |
|---|---|---|
| ADR-0050 | Naming & Taxonomy Standard — Adoption of Evolith ADR-0056 | Accepted |
| ADR-0051 | Event Bus — Injectable Port Strategy (.NET / MassTransit) | Accepted |
| ADR-0052 | Immutable Audit Trail — SQL Server Enforcement Strategy | Accepted |
| ADR-0053 | OpenTelemetry Observability Strategy | Accepted |
| ADR-0054 | Shell Library Isolation — DDD, Factory, AOP, Bootstrapper | Accepted · Amended 2026-05-24 |
| ADR-0055 | GraphQL/REST Hybrid API Pattern | Accepted |
| ADR-0056 | Clean Architecture Layer Boundaries (Frontend) | Accepted |
| ADR-0057 | Zustand + TanStack Query State Management | Accepted |
| ADR-0058 | API Gateway Evolution — YARP for Multi-Client SaaS | Proposed |
| ADR-0059 | Single API Tier Decision — co-location over split tiers | Accepted |
| ADR-0060 | AOP Cross-Cutting Concern Strategy — DispatchProxy over MediatR Behaviors | Accepted |
| ADR-0061 | Execution Context Accessor Pattern | Accepted · ⬆ Evolith candidate |
| ADR-0062 | PII-Safe Serilog Configuration (HARDENING-04) | Accepted · ⬆ Evolith candidate |
| ADR-0063 | Idempotency Key Middleware (FIX-06 / RISK-05) | Accepted · ⬆ Evolith candidate |
| ADR-0064 | Lean Root Repository Taxonomy | Accepted |
| ADR-0065 | Prohibition of Raw GUIDs in User Interfaces (UX / DDD) | Accepted · ⬆ Evolith candidate |
⬆ Evolith candidate — ADR has zero UMS-specific dependencies and is proposed for extraction to the Evolith parent architecture baseline.
| Architecture Portal | Master Index |