ums

ADR Registry — UMS Architecture Decision Records

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.


Foundation & Cross-Cutting (ADR-0001 – ADR-0029)

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

DDD & Domain Design (ADR-0030 – ADR-0049)

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

Phase 04 — Construction Standards (ADR-0050 – )

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