Idioma: Español Read in English
Seguimiento vivo de la brecha entre el catalogo de historias funcionales y la evidencia actual de implementacion en UMS.
Este documento mantiene una vista dinamica de lo que ya esta implementado, lo que sigue parcial y lo que aun permanece diferido. Debe actualizarse cada vez que cambie el backlog, el diseno de dominio o el tracker de implementacion de la API.
| Estado | Cantidad | IDs de historia |
|---|---|---|
| Implementado / utilizable | 25 | FS-01, FS-02, FS-03, FS-04, FS-05, FS-06, FS-07, FS-08, FS-09, FS-10, FS-11, FS-13, FS-14, FS-15, FS-16, FS-17, FS-18, FS-19, FS-20, FS-21, FS-22, FS-24, FS-25, FS-26, FS-27] |
| Parcial | 0 | — |
| Diferido | 9 | FS-12, FS-28, FS-29, FS-30, FS-31, FS-32, FS-33, FS-34, FS-35 |
| Campo | Significado |
|---|---|
| Senal | Green = implementado / utilizable, Amber = parcial, Red = diferido o faltante |
| Prioridad | P1 = maxima prioridad de seguimiento, P2 = seguimiento importante, P3 = diferible |
| Criticidad | Alta, Media, Baja |
| Complejidad | Alta, Media, Baja |
| Objetivo | Objetivo de revision para el siguiente ciclo; usar TBD hasta definir una fecha |
| Orden | Numero de FS ascendente, luego Prioridad descendente, luego Criticidad descendente, luego Complejidad descendente |
| FS | Historia | Senal | Prioridad | Criticidad | Complejidad | Responsable | Objetivo | Estado | Brecha principal | Siguiente accion | |—|—|—|—|—|—|—|—|—|—|—| | FS-12 | Execute Role Promotion Process | Diferido | P3 | Media | Alta | IGA | TBD | Reservado | El flujo de promocion fue retirado del runtime y queda reservado para una repriorizacion futura. | Reintroducir la maquina de estados de promocion solo si el producto reabre esta historia. | | FS-28 | Campanas de Revision de Acceso para Recertificacion de Roles y Permisos | Diferido | P2 | Alta | Alta | IGA / Aprobaciones | TBD | Propuesto | Todavia no existe un agregado de campana, bandeja de revisores ni ciclo de decision. | Definir el modelo de campana, la asignacion de revisores y la politica de cierre. | | FS-29 | Paquetes de Entitlements para Bloques de Acceso Gobernados | Diferido | P2 | Alta | Alta | Autorizacion / IGA | TBD | Propuesto | Todavia no existe un agregado de paquetes ni una asignacion de bloques versionados. | Definir el modelo de paquete y la ruta de asignacion gobernada. | | FS-30 | Conectores de Provisioning y Deprovisioning para Sistemas Descendentes | Diferido | P2 | Alta | Alta | Identidad / Integracion | TBD | Propuesto | Todavia no existe un runtime de conectores ni seguimiento del estado de entrega. | Definir adaptadores de conector, estado de reintento y flujo de deprovisioning. | | FS-31 | Acceso Privilegiado con Elevacion Limitada en el Tiempo | Diferido | P3 | Media | Media | Aprobaciones | TBD | Propuesto | Todavia no existe un modelo de elevacion temporal ni enforcement de expiracion. | Definir la solicitud de elevacion temporal y el comportamiento de retiro automatico. | | FS-32 | Guardrails de Confiabilidad Operativa para Acciones de Gobierno | Diferido | P1 | Alta | Alta | Plataforma | TBD | Propuesto | La deduplicacion, la proteccion de concurrencia y la entrega segura por tenant siguen faltando como guardrails de producto de primera clase. | Definir los guardrails de confiabilidad y exponer el contrato de conflicto/reintento. | | FS-33 | Explorador de Grafo de Autorizacion con Simulacion What-If | Diferido | P2 | Alta | Alta | Autorizacion / Soporte | TBD | Propuesto | Todavia no existe una simulacion ni una vista previa diferencial del grafo. | Definir la simulacion de solo lectura y la salida diff. | | FS-34 | Paquetes de Acceso con Semantica de Negocio y Compositor de Politicas | Diferido | P2 | Alta | Alta | Autorizacion / Producto | TBD | Propuesto | Todavia no existe un compositor de paquetes con semantica de negocio ni un modelo de versionado inmutable. | Definir el compositor de paquetes y el ciclo de vida de publicacion. | | FS-35 | Salud Continua de Acceso y Recomendaciones | Diferido | P2 | Media | Media | IGA / Seguridad | TBD | Propuesto | Todavia no existe un motor continuo de puntuacion de salud ni recomendaciones. | Definir las senales de salud, la puntuacion y las recomendaciones de remediacion. | —
Brechas ordenadas por prioridad y criticidad. Trabajar de arriba hacia abajo. Cada brecha referencia el criterio de aceptacion o regla de negocio que bloquea.
| # | Brecha | Severidad | Bloquea | Que implementar | Archivos clave |
|---|---|---|---|---|---|
| 1 | GetWithPrecedence(code, tenantId, suiteId, moduleId) agregado. Cascada Module → Suite → Tenant → Global implementada. 10 nuevos tests cubriendo todos los caminos de fallback. |
Cerrado | CA-3, RN-1 | — | Ums.Infrastructure/Configuration/InMemoryConfigurationCache.cs, ConfigurationProvider.cs |
| 2 | IsNonOverridable agregado al dominio, record, DTO y comando. Guard en CreateAppConfigurationCommandHandler rechaza sobreescrituras cuando cualquier scope padre tiene IsNonOverridable=true. Migración Fs13AddIsNonOverridableToAppConfiguration generada. 4 nuevos tests del guard. |
Cerrado | CA-2, RN-2 | — | AppConfigurationProps.cs, AppConfigurationRecord.cs, CreateAppConfigurationCommandHandler.cs |
| 3 | ReloadTenantAsync invalida correctamente los buckets Suite/Module antes de repoblar. Helper BucketTenantConfigs filtra solo Published y distribuye por scope. Configs Draft/Archived ya no entran al cache de resolución. 3 nuevos tests para evicción de entradas obsoletas y semántica Published-only. |
Cerrado | CA-1, CA-3 | — | ConfigurationProvider.cs |
| 4 | "***" en DTOs para llamantes no admin. IValueEncryptionService + AesValueEncryptionService agregados. Clave desde AppConfiguration:EncryptionKey (fallback de dev usa clave cero). 9 tests: round-trip, idempotencia, detección de prefijo, fallback dev, guard de longitud de clave. |
Cerrado | RN-5 | — | AesValueEncryptionService.cs, CreateAppConfigurationCommandHandler.cs, ConfigurationProvider.cs, query handlers |
| 5 | /resolve faltanteGET /app-configurations/resolve?code=X&tenantId=Y&suiteId=Z&moduleId=W agregado. ResolveAppConfigurationQuery/Handler conectado a IConfigurationProvider.GetWithPrecedence. Retorna ResolvedAppConfigurationDto con ResolvedScope, SourceConfigId, flag Found. Valores cifrados se redactan para no-admin. 5 nuevos tests. |
Cerrado | CA-3 | — | ResolveAppConfigurationQueryHandler.cs, AppConfigurationQueryEndpoints.cs |
| 6 | Cerrado | CA-1 | — | SqlServerParameterRepositories.cs, ParameterDefinitionCommands.cs, ParameterValueCommands.cs, ParameterEndpoints.cs |
|
| 7 | ParameterScope extendido con SuiteLevel(4) y ModuleLevel(5) que coinciden con los IDs de ConfigurationScope. Helpers SupportsGlobal/Tenant/Suite/Module agregados. AllScopes actualizado. No requiere migración (valores son aditivos). |
Cerrado | RN-1 | — | Ums.Domain/Configuration/Parameter/ValueObjects/ParameterScope.cs |
| 8 | IdpConfiguration sin ciclo de vida ArchiveIdpConfigStatus.Archived(4) agregado. Método de dominio IdpConfiguration.Archive() agregado (bloquea si está Active o ya Archived). ArchiveIdpConfigurationCommand + handler + endpoint POST /idp-configurations/{id}/archive agregados. Update ahora bloquea en estado Archived. |
Cerrado | Completitud del ciclo de vida | — | IdpConfigStatus.cs, IdpConfiguration.cs, ArchiveIdpConfigurationCommand*.cs, IdpConfigurationEndpoints.cs |
2026-06-04 (FS-13, FS-14 y FS-24 completamente implementadas; FS-12 reservado para el futuro; FS-28 a FS-35 agregadas como pendientes de implementacion)