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.
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 |
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 |