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 PostgreSQL / .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  
ADR-0066 Actionable User Error Contract and Correlated Diagnostics Accepted, Evolith candidate  
ADR-0068 Feature Flag System Scope — SystemSuite ownership and dynamic criteria model Accepted  
ADR-0069 Domain Layer Inheritance Strategy — AggregateRoot Base Class and MediatR Dependency Accepted  
ADR-0070 Database Schema Per Module Strategy — SQL Server Modular Monolith Schema Ownership Accepted  
ADR-0071 Authorization Graph Engine — Motor Central de Autenticación y Autorización Accepted  
ADR-0072 Dynamic Auth Method Resolution — From Configuration, Not Code Accepted  
ADR-0073 UMS SDK — Multi-Runtime Client Integration Surface (.NET / TypeScript / NestJS) Accepted  
ADR-0074 Auth Graph Schema Versioning Policy Accepted  
ADR-0075 Onboarding Approval Inbox and Scope-Based Authorization Accepted  
ADR-0076 UTC Dates, Timezone and Language Resolution Accepted  
ADR-0077 Tenant Portal Management Authorization Boundary and Scope Policy Accepted  
ADR-0078 DDD Domain Resource Hierarchy — Aggregate, Entity, DomainMethod Accepted  
ADR-0079 Dependency Guard Policy — Blocking Operations on Active Dependencies Accepted  
ADR-0080 Auth Graph Preview — Internal vs External Pipeline Accepted > Evolith candidate - ADR has zero UMS-specific dependencies and is proposed for extraction to the Evolith parent architecture baseline.
ADR-0081 Semantic Auth Graph Client Contract — Code-First, ID-Optional Proposed  
ADR-0082 PostgreSQL Authoritative Persistence Baseline Accepted  

Bilingual Coverage (R-01 Compliance)

All ADRs (0050-0082) now have Spanish translations:

ADR Spanish ADR Spanish  
0050   0061    
0051   0062    
0052   0063    
0053   0064    
0054   0065    
0055   0066    
0056   0068    
0057   0069    
0058   0070    
0059   0071    
0060   0072    
0073    
0074    
0075    
0076    
0077    
0078    
0079    
0080    
0081    
0082  
Architecture Portal Master Index