Skip to content

Commit ccdea3d

Browse files
committed
docs: sync Spanish requirements/functional stories with codebase and naming conventions
1 parent caee241 commit ccdea3d

9 files changed

Lines changed: 64 additions & 42 deletions

docs/governance/requirements-es/functional-stories/fs-03-register-organization.md

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -51,14 +51,14 @@ Si la referencia empresarial ya existe, el sistema evita crear una organización
5151

5252
## 8. Requisitos Técnicos
5353

54-
- Persistir datos de organización en el modelo `TENANT` / `ORGANIZATION`.
55-
- Persistir configuración de proveedor de identidad en `IDP_CONFIGURATION`.
54+
- Persistir datos del tenant en el Agregado Root `Tenant`.
55+
- Persistir configuración de proveedor de identidad en la Entidad hija `IdentityProvider`.
5656
- Aplicar unicidad para referencias externas de compañía.
57-
- Emitir `OrganizationCreatedEvent`.
57+
- Emitir `TenantCreatedEvent`.
5858
- Validar configuración IdP según el tipo de proveedor seleccionado.
5959

6060
## 9. Trazabilidad
6161

62-
- Entidades: `TENANT`, `BRANCH`, `IDP_CONFIGURATION`, `USER_ACCOUNT`
62+
- Entidades: `Tenant` (AR), `Branch` (Entidad Hija), `IdentityProvider` (Entidad Hija), `UserAccount` (AR)
6363
- ADRs: ADR-0031, ADR-0032, ADR-0034, ADR-0010
6464
- Technical Enabler: TE-03

docs/governance/requirements-es/functional-stories/fs-04-register-system-topology.md

Lines changed: 8 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -49,13 +49,16 @@ Si un nodo de topología estáá incompleto, UMS puede guardarlo como borrador p
4949

5050
## 8. Requisitos Técnicos
5151

52-
- Persistir topología usando `SYSTEM_SUITE`, `FUNCTIONAL_MODULE`, `FUNCTIONAL_SUBMODULE`, `FUNCTIONAL_OPTION` y `ACTION`.
53-
- Generar y almacenar credencial segura machine-to-machine para sistemas registrados.
54-
- Emitir `SystemRegisteredEvent`.
55-
- Validar completitud de topología antes de usarla en plantillas.
52+
> [!WARNING]
53+
> **ESTADO DE IMPLEMENTACIÓN: DIFERIDO**
54+
> En la fase actual, la gestión activa de la topología de recursos de sistemas (`SystemSuite`, `FunctionalModule`, etc.) está **diferida** en el dominio principal de C# y se maneja mediante referencias externas a nivel de Value Object ID (`SystemSuiteId`).
55+
56+
- Asegurar la persistencia del identificador y metadatos del sistema.
57+
- Asegurar la unicidad de los códigos de sistema.
58+
- Emitir eventos de dominio cuando se registran metadatos de sistema.
5659

5760
## 9. Trazabilidad
5861

59-
- Entidades: `SYSTEM_SUITE`, `FUNCTIONAL_MODULE`, `FUNCTIONAL_SUBMODULE`, `FUNCTIONAL_OPTION`, `ACTION`
62+
- Entidades: `SystemSuite` (Referencia ID Diferida), `FunctionalModule` (Referencia ID Diferida)
6063
- ADRs: ADR-0032, ADR-0034, ADR-0047
6164
- Historias relacionadas: FS-02, FS-07

docs/governance/requirements-es/functional-stories/fs-06-auto-assign-template.md

Lines changed: 8 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -50,13 +50,16 @@ Si más de una regla coincide, UMS aplica la regla de mayor prioridad y registra
5050

5151
## 8. Requisitos Técnicos
5252

53-
- Evaluar reglas activas durante la creación del perfil.
54-
- Persistir estado de asignación en la relación perfil/plantilla.
55-
- Invalidar caché del grafo de autorización para usuarios afectados.
56-
- Emitir evento de auditoría con `auto: true` y referencia de regla seleccionada.
53+
> [!WARNING]
54+
> **ESTADO DE IMPLEMENTACIÓN: DIFERIDO**
55+
> En la fase actual, la lógica automatizada de reglas de auto-asignación (`TemplateAssignmentRule`) está **diferida** en el dominio principal de C# y se maneja mediante referencias externas o asignaciones directas y manuales en los perfiles.
56+
57+
- Persistir el estado de asignación en la relación perfil/plantilla.
58+
- Invalidar la caché del grafo de autorización para usuarios afectados.
59+
- Emitir eventos de dominio y auditoría para las asignaciones de plantillas.
5760

5861
## 9. Trazabilidad
5962

60-
- Entidades: `PROFILE`, `PERMISSION_TEMPLATE`, `PROFILE_PERMISSION`
63+
- Entidades: `Profile` (AR), `PermissionTemplate` (AR), `TemplateAssignmentRule` (Diferido)
6164
- ADRs: ADR-0042, ADR-0043, ADR-0035
6265
- Technical Enabler: TE-01

docs/governance/requirements-es/functional-stories/fs-11-user-document-upload.md

Lines changed: 7 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -50,13 +50,16 @@ Si el archivo estáá corrupto, no puede leerse o incumple reglas de carga, el s
5050

5151
## 8. Requisitos Técnicos
5252

53-
- Persistir metadata en `USER_DOCUMENT`.
54-
- Clasificar documentos mediante `DOCUMENT_TYPE`.
53+
> [!NOTE]
54+
> En la implementación real de C# (base de código), los agregados de cumplimiento y aprobación están unificados bajo el espacio de nombres **[Ums.Domain.Approvals](file:///d:/Users/aarroyo/personal/sources/ums/src/apps/app-api-dotnet/Ums.Domain/Approvals/)**.
55+
56+
- Persistir metadatos en el Agregado Root `UserDocument`.
57+
- Clasificar documentos mediante el Agregado Root `DocumentType`.
5558
- Guardar ubicación del archivo y checksum para recuperación e integridad.
56-
- Emitir eventos de auditoría por carga, validación, rechazo y cambios de estado.
59+
- Emitir eventos de dominio y auditoría por carga, validación, rechazo y cambios de estado.
5760

5861
## 9. Trazabilidad
5962

60-
- Entidades: `USER_DOCUMENT`, `DOCUMENT_TYPE`
63+
- Entidades: `UserDocument` (AR), `DocumentType` (AR)
6164
- ADRs: ADR-0045, ADR-0016
6265
- Historias relacionadas: FS-15, FS-16

docs/governance/requirements-es/functional-stories/fs-12-role-promotion-process.md

Lines changed: 10 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -51,13 +51,18 @@ Si el administrador rechaza la promoción, el usuario permanece en el rol actual
5151

5252
## 8. Requisitos Técnicos
5353

54-
- Evaluar criterios desde `ROLE_PROMOTION_CRITERIA`.
55-
- Registrar estado del proceso en `USER_PROMOTION_PROCESS`.
56-
- Usar `APPROVAL_REQUEST` cuando se requiera aprobación manual.
57-
- Persistir eventos de auditoría por elegibilidad, aprobación, rechazo y cierre de promoción.
54+
> [!NOTE]
55+
> En la implementación real de C# (base de código), el motor de promociones está implementado mediante dos agregados independientes en el espacio de nombres **[Ums.Domain.IGA](file:///d:/Users/aarroyo/personal/sources/ums/src/apps/app-api-dotnet/Ums.Domain/IGA/)**:
56+
> 1. **[RoleMaturityStatus](file:///d:/Users/aarroyo/personal/sources/ums/src/apps/app-api-dotnet/Ums.Domain/IGA/RoleMaturityStatus/RoleMaturityStatus.cs)**: Mantiene las capacitaciones, certificaciones, score de desempeño e invariantes de elegibilidad del usuario.
57+
> 2. **[PromotionRequest](file:///d:/Users/aarroyo/personal/sources/ums/src/apps/app-api-dotnet/Ums.Domain/IGA/PromotionRequest/PromotionRequest.cs)**: Orquesta el flujo de aprobación transaccional y realiza análisis de riesgo automatizados.
58+
59+
- Monitorear la elegibilidad y métricas del usuario en el Agregado Root `RoleMaturityStatus`.
60+
- Gestionar las etapas de la transacción de promoción y el análisis de impacto de riesgo en el Agregado Root `PromotionRequest` (con su entidad hija `PromotionImpactAnalysis`).
61+
- Hacer cumplir las invariantes de elegibilidad (antigüedad mínima en nivel: Junior 6 meses, Intermediate 12 meses, Senior 18 meses, Lead 24 meses; score de desempeño >= 3.0; sin bloqueos de cumplimiento) antes del envío.
62+
- Emitir Eventos de Dominio específicos: `PromotionRequestCreated`, `PromotionRequestSubmitted`, `PromotionRequestApproved`, `PromotionRequestExecuted`, `PromotionRequestVerified`.
5863

5964
## 9. Trazabilidad
6065

61-
- Entidades: `ROLE_PROMOTION_CRITERIA`, `USER_PROMOTION_PROCESS`, `ROLE`, `APPROVAL_REQUEST`
66+
- Entidades: `RoleMaturityStatus` (AR), `PromotionRequest` (AR), `PromotionImpactAnalysis` (Entidad Hija)
6267
- ADRs: ADR-0046, ADR-0036
6368
- Historias relacionadas: FS-11, FS-14

docs/governance/requirements-es/functional-stories/fs-13-hierarchical-config.md

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -72,18 +72,18 @@ Si ya existe un parámetro con el mismo identificador en el alcance seleccionado
7272

7373
## 8. Requisitos Técnicos
7474

75-
- Persistir configuraciones en `APP_CONFIGURATION`.
76-
- Campos obligatorios: `Code`, `Value`, `Description`.
77-
- Aplicar unicidad por alcance mediante `UX_APP_CONFIGURATION_CODE_SCOPE`.
78-
- Soportar linaje de versiones, auditoría, eventos de trazabilidad, cacheabilidad e invalidación.
79-
- Los parámetros sensibles deben soportar valores cifrados.
80-
- La configuración efectiva puede cachearse, pero debe invalidarse cuando cambia un parámetro.
75+
> [!WARNING]
76+
> **ESTADO DE IMPLEMENTACIÓN: DIFERIDO / FUERA DE ALCANCE**
77+
> En la fase actual, la gestión activa de parámetros jerárquicos de configuración (`AppConfiguration`) está **diferida** y no está implementada dentro del proyecto principal de dominio de C#.
78+
79+
- Asegurar estructura para parámetros de configuración según su alcance.
80+
- Soportar el rastreo de auditoría en sobrescrituras de configuración.
8181

8282
---
8383

8484
## 9. Trazabilidad
8585

86-
- Entidades: `APP_CONFIGURATION`, `TENANT`, `SYSTEM_SUITE`, `FUNCTIONAL_MODULE`
86+
- Entidades: `AppConfiguration` (AR Diferido)
8787
- ADRs: ADR-0024, ADR-0047
8888
- Technical Enabler: TE-02 Resolve Hierarchical System Configuration
8989
- Estándar: Estándar de Redacción de Historias Funcionales; Estándar de Catálogos Paramétricos

docs/governance/requirements-es/functional-stories/fs-14-delegated-management.md

Lines changed: 7 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -51,13 +51,15 @@ Si la delegación crea una cadena circular de gestión o escalamiento de privile
5151

5252
## 8. Requisitos Técnicos
5353

54-
- Persistir relaciones en `USER_MANAGEMENT_DELEGATION`.
55-
- Validar reglas recursivas de alcance y anti-escalamiento de privilegios.
56-
- Soportar `SuiteId` opcional y alcance temporal.
57-
- Emitir eventos de auditoría por creación, actualización, revocación e intentos de violación.
54+
> [!WARNING]
55+
> **ESTADO DE IMPLEMENTACIÓN: DIFERIDO / FUERA DE ALCANCE**
56+
> En la fase actual, la lógica transaccional de delegación administrativa de usuarios (`UserManagementDelegation`) está **diferida** y no está implementada dentro del proyecto principal de dominio de C#.
57+
58+
- Hacer cumplir la lógica de validación recursiva de alcance a nivel de aplicación.
59+
- Soportar el rastreo de auditoría en eventos del ciclo de vida de la delegación.
5860

5961
## 9. Trazabilidad
6062

61-
- Entidades: `USER_MANAGEMENT_DELEGATION`, `USER_ACCOUNT`, `SYSTEM_SUITE`
63+
- Entidades: `UserManagementDelegation` (AR Diferido), `UserAccount` (AR)
6264
- ADRs: ADR-0038, ADR-0044
6365
- Historias relacionadas: FS-10, FS-12

docs/governance/requirements-es/functional-stories/fs-15-notification-rules.md

Lines changed: 6 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -59,8 +59,11 @@ Si ya existe una regla idéntica para el mismo documento, tenant, anticipación
5959

6060
## 8. Requisitos Técnicos
6161

62-
- Persistir reglas en `NOTIFICATION_RULE`.
63-
- Campos obligatorios: `Code`, `Value`, `Description`.
62+
> [!NOTE]
63+
> En la implementación real de C# (base de código), `NotificationRule` es una Entidad hija encapsulada dentro del Agregado **[DocumentType](file:///d:/Users/aarroyo/personal/sources/ums/src/apps/app-api-dotnet/Ums.Domain/Approvals/DocumentType/DocumentType.cs)**, bajo el espacio de nombres unificado **[Ums.Domain.Approvals](file:///d:/Users/aarroyo/personal/sources/ums/src/apps/app-api-dotnet/Ums.Domain/Approvals/)**.
64+
65+
- Persistir reglas como parte del Agregado Root `DocumentType`.
66+
- Campos obligatorios: `Code`, `Value` (JSON con tiempos y canales), `Description`.
6467
- Aplicar unicidad por `Code`, `TenantId` y `DocumentTypeId`.
6568
- Registrar trazabilidad de entrega de notificaciones.
6669
- Soportar invalidación de caché cuando cambian reglas de notificación.
@@ -69,6 +72,6 @@ Si ya existe una regla idéntica para el mismo documento, tenant, anticipación
6972

7073
## 9. Trazabilidad
7174

72-
- Entidades: `NOTIFICATION_RULE`, `DOCUMENT_TYPE`, `USER_DOCUMENT`
75+
- Entidades: `DocumentType` (AR), `NotificationRule` (Entidad Hija), `UserDocument` (AR)
7376
- ADRs: ADR-0045, ADR-0016
7477
- Historias relacionadas: FS-11, FS-16

docs/governance/requirements-es/functional-stories/fs-16-access-enforcement-policy.md

Lines changed: 7 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -65,16 +65,19 @@ Si el tipo de documento seleccionado no es crítico para acceso, el sistema impi
6565

6666
## 8. Requisitos Técnicos
6767

68-
- Persistir políticas en `ACCESS_ENFORCEMENT_POLICY`.
69-
- Campos obligatorios: `Code`, `Value`, `Description`.
68+
> [!NOTE]
69+
> En la implementación real de C# (base de código), `AccessEnforcementPolicy` es una Entidad hija encapsulada dentro del Agregado **[DocumentType](file:///d:/Users/aarroyo/personal/sources/ums/src/apps/app-api-dotnet/Ums.Domain/Approvals/DocumentType/DocumentType.cs)**, bajo el espacio de nombres unificado **[Ums.Domain.Approvals](file:///d:/Users/aarroyo/personal/sources/ums/src/apps/app-api-dotnet/Ums.Domain/Approvals/)**.
70+
71+
- Persistir políticas como parte del Agregado Root `DocumentType`.
72+
- Campos obligatorios: `Code`, `Value` (JSON con acciones de la política), `Description`.
7073
- Aplicar unicidad por `Code`, alcance de tenant y `DocumentTypeId`.
7174
- Acciones soportadas: `BLOCK_USER`, `RESTRICT_PROFILE` y `LOG_ONLY`.
72-
- Emitir eventos de auditoría cuando se aplican o revierten restricciónes.
75+
- Emitir eventos de dominio y auditoría cuando se aplican o revierten restricciones.
7376

7477
---
7578

7679
## 9. Trazabilidad
7780

78-
- Entidades: `ACCESS_ENFORCEMENT_POLICY`, `DOCUMENT_TYPE`, `USER_ACCOUNT`, `PROFILE`
81+
- Entidades: `DocumentType` (AR), `AccessEnforcementPolicy` (Entidad Hija), `UserAccount` (AR), `Profile` (AR)
7982
- ADRs: ADR-0045, ADR-0035
8083
- Historias relacionadas: FS-11, FS-15

0 commit comments

Comments
 (0)