Version: 2.0
Fecha: 06 de Abril, 2026
Arquitecto: Carlos Alberto Torres Camargo
Clasificacion: Interno — Arquitectura
Documento tecnico de referencia: REQUERIMIENTOS_LIBRERIAS_NEBULA_PARA_VAULT
Este cronograma reemplaza el plan original PLAN_MIGRACION_DATAVAULT_NEBULA.md (16-Mar), que fue elaborado con suposiciones. Esta version esta basada en el codigo fuente real de nebula-erp y nebula-ui-kit, en el estado completado del backend, y cubre el proyecto de principio a fin: desde los cimientos del frontend hasta el despliegue en DEV.
| Aspecto | Plan Original (16-Mar) | Realidad (06-Abr) |
|---|---|---|
| Track B (Backend) | S1-S4 planificado | 100% completado — Docker corriendo en nodo-01 |
| Track A (Frontend) | S1-S3 planificado | No iniciado — Bloqueado por dependencias de nebula-erp |
| nebula-ui-kit | No existia | v0.2.1 funcional — 22 componentes, commits hoy (06-Abr) |
| nebula-erp shared | No existia | Implementado — AuthService, HttpService, interceptors, guards |
| nebula-erp features | No existia | 3 modulos — accounting, budget, tesoreria con tabs |
| Stack | PrimeNG + Tailwind + NgRx | Angular Material + SCSS M3 + Signals + Services |
| Publicacion en Nexus | Asumida | No existe — ni ui-kit ni shared estan publicados |
| Track | Estado | % | Pendiente |
|---|---|---|---|
| B — Backend Core | JWT Simappe, Eureka, Gateway, DB-per-tenant, Docker en nodo-01 | 85% | ConfigServer, hardening permisos, Swagger, dashboard sin HR |
| C — Infra/QA | Docker operativo, pipeline CI/CD backend | 50% | Pipeline frontend, tests E2E, revision seguridad, UAT |
| A — Frontend | No iniciado | 0% | Todo — bloqueado por disponibilidad de librerias |
S1-S3 (16 Mar - 4 Abr) S4-S8 (7 Abr - 9 May) S9-S11 (12 May - 30 May)
COMPLETADO DESARROLLO FRONTEND ESTABILIZACION + DESPLIEGUE
═══════════════════ ═══════════════════════ ═══════════════════════════
Track B: Backend 100% Track A: Frontend Track A: Correcciones UAT
JWT Simappe ✓ S4: Cimientos Track B: Hardening backend
Eureka/Gateway ✓ S5: Ingesta Track C: QA + UAT + Deploy
DB-per-tenant ✓ S6: Repositorio+Preservacion
Docker nodo-01 ✓ S7: Retencion+LegalHold+Cloud ▼
S8: Complementarios+@nebula/vault GO-LIVE DEV
30 May 2026
Nebula Vault es un workspace Nx independiente. Para iniciar necesita instalar nebula-ui-kit y consumir @nebula/shared. Ninguno esta publicado en Nexus.
┌────────────────────────────────────────────────────────────────┐
│ BLOQUEANTE: nebula-vault NO puede arrancar hasta que │
│ nebula-ui-kit y @nebula/shared esten disponibles como │
│ dependencias instalables (Nexus, git dep, o submodule) │
└──────────────────────────────┬─────────────────────────────────┘
│
┌────────────┼────────────┐
│ │ │
▼ ▼ ▼
Opcion A Opcion B Opcion C
Nexus npm Git dep Submodule
(ideal) (rapido) (acoplado)
Recomendacion: Opcion B como arranque inmediato, migrar a A cuando este listo.
| Recurso | Estado | Ubicacion |
|---|---|---|
| Backend FastAPI completo | Operativo | nodo-01 Docker (5 contenedores) |
| 159+ endpoints via Gateway | Funcionales | https://gateway/api/vault/** |
| DataVault React v1 (referencia) | Entregado | /code/centrica/datavault/ |
| nebula-ui-kit v0.2.1 (codigo) | Funcional, no publicado | /code/centrica/frontend/nebula-ui-kit/ |
| nebula-erp shared libs (codigo) | Implementadas | /code/centrica/frontend/nebula-erp/libs/shared/ |
| Schemas Pydantic (contratos API) | Completos | /code/centrica/vault/datavault-backend/app/schemas/ |
| Documento tecnico de requerimientos | Completado | wiki zona-interna/12-nebula-vault/migracion-frontend/ |
Las semanas S1-S3 del plan original se consumieron en el backend (completado) y en esperar la v1 del frontend. El proyecto arranca efectivamente en S4.
| Semana | Fechas | Track A (Frontend) | Track B (Backend) | Track C (Infra/QA) | Hito |
|---|---|---|---|---|---|
| S4 | 7-11 Abr | Workspace Nx + Domain + Shell | — | Resolver consumo librerias | Workspace compilando |
| S5 | 14-18 Abr | Modulo Ingesta | — | Pipeline CI/CD frontend | Primer modulo E2E |
| S6 | 21-25 Abr | Repositorio + Preservacion | ConfigServer integracion | Tests unitarios acumulados | Navegacion + preservacion |
| S7 | 28 Abr - 2 May | Retencion + Legal Hold + Cloud | Dashboard stats sin HR | Tests unitarios acumulados | 6 dominios completos |
| S8 | 5-9 May | Complementarios + Publicacion @nebula/vault | Hardening permisos todos los endpoints | Tests E2E Playwright | App completa + libreria |
| S9 | 12-16 May | Correcciones de QA | Estabilizacion JWT E2E + Swagger | Regression E2E + Seguridad OWASP | QA completo |
| S10 | 19-23 May | Correcciones de UAT | Documentacion API | UAT usuarios piloto | Aceptacion usuario |
| S11 | 26-30 May | Deuda tecnica + performance | Configuracion ambiente DEV Nebula | Despliegue DEV + Guia despliegue | GO-LIVE DEV |
Objetivo: Tener el workspace Nx funcional, consumiendo nebula-ui-kit y @nebula/shared, con domain models y shell basico.
Prerequisito: Definir mecanismo de consumo de librerias (Nexus, git dep, o submodule).
| # | Tarea | Peso | Entregable | Dependencia |
|---|---|---|---|---|
| A4.1 | Resolver disponibilidad de nebula-ui-kit y @nebula/shared | 2 | Mecanismo definido y funcional (git dep o Nexus) | Equipo frontend primario |
| A4.2 | Crear workspace Nx nebula-vault (Angular 21.1, Nx 22.5) |
3 | Workspace con vault-shell app compilando | A4.1 |
| A4.3 | Configurar consumo de nebula-ui-kit 0.2.1 y @nebula/shared | 3 | import { TableComponent } from 'nebula-ui-kit' compila |
A4.1, A4.2 |
| A4.4 | Crear libs/shared-vault/domain/ — interfaces TypeScript |
3 | Interfaces: Project, Ingest, VaultFile, Upload, Folder, Notification, AuditLog extraidas de schemas Pydantic | A4.2 |
| A4.5 | Crear libs/shared-vault/data-access/ — VaultHttpService |
3 | Service base apuntando a Gateway /api/vault/*, usando HttpService de shared |
A4.3, A4.4 |
| A4.6 | Crear libs/vault/domain/ + libs/vault/data-access/ |
2 | ProjectService, IngestService, FileService con endpoints reales | A4.5 |
| A4.7 | Crear shell app — layout con SidebarComponent + HeaderComponent + router-outlet | 3 | vault-shell con navegacion funcional: sidebar, header, breadcrumb, dark mode | A4.3 |
| A4.8 | Configurar rutas lazy-loaded para cada modulo | 1 | Routes: /vault, /preservation, /retention, /legal-hold, /cloud, /dashboard |
A4.7 |
Total peso S4: 20
Criterio de exito: nx serve vault-shell muestra la app con sidebar, header, y navegacion entre rutas vacias usando componentes reales de nebula-ui-kit.
Objetivo: Primer modulo migrado de extremo a extremo, conectado al backend real.
| # | Tarea | Peso | Entregable | Dependencia |
|---|---|---|---|---|
| A5.1 | vault/feature-projects — list (TableComponent), new, edit |
4 | CRUD de proyectos de digitalizacion con paginacion, busqueda, sort | S4-A4.6 |
| A5.2 | vault/feature-upload — upload dialog, progress, batch |
5 | FileUploadComponent integrado, progreso por archivo, carga masiva, validacion de tipo/tamano | S4-A4.6 |
| A5.3 | vault/feature-files — file browser, subfolder navigation |
3 | FolderTreeComponent (custom), lista de archivos por carpeta, navegacion jerarquica | S4-A4.6 |
| A5.4 | vault/shell — rutas de ingesta |
1 | /vault/projects, /vault/projects/:id, /vault/upload, /vault/files |
A5.1, A5.2, A5.3 |
| A5.5 | Componente custom: UploadProgressTracker |
2 | Progreso detallado multi-archivo con estados (pendiente, subiendo, completado, error) | A5.2 |
| A5.6 | Tests unitarios feature-projects + feature-upload | 2 | Vitest, cobertura minima 70% | A5.1, A5.2 |
Total peso S5: 17
Criterio de exito: Flujo completo E2E: crear proyecto → subir archivos → verificar estado en lista, conectado al backend real en nodo-01.
Objetivo: Navegacion documental completa y monitoreo de preservacion.
| # | Tarea | Peso | Entregable | Dependencia |
|---|---|---|---|---|
| A6.1 | vault/feature-repository — FileBrowser, Search, Preview, Download |
4 | Busqueda global, preview de documentos (PDF, imagen), descarga individual y ZIP | S4-A4.6 |
| A6.2 | Componente custom: VaultFilePreviewComponent |
3 | Preview de PDF (ng2-pdf-viewer), imagenes, texto plano dentro de modal | A6.1 |
| A6.3 | preservation/domain/ + preservation/data-access/ |
2 | PreservationService con endpoints reales | S4-A4.5 |
| A6.4 | preservation/feature-dashboard — status, metricas, lista critica |
4 | GridCardComponent para stats, TableComponent para archivos criticos, BadgeComponent para estados (optimo/atencion/critico) | A6.3 |
| A6.5 | preservation/feature-diagnostic — diagnostico y reparacion |
3 | DiagnosticPanel, DialogComponent para reparacion, AlertComponent para resultados | A6.3 |
| A6.6 | Componente custom: PreservationStatusBadge + OaisStatusIndicator |
2 | Indicadores visuales semanticos de preservacion y pipeline OAIS | A6.4 |
Total peso S6: 18
Criterio de exito: Navegar repositorio → buscar archivo → preview → descargar. Dashboard de preservacion mostrando datos reales del backend.
Objetivo: Completar los 3 modulos restantes de dominio.
| # | Tarea | Peso | Entregable | Dependencia |
|---|---|---|---|---|
| A7.1 | retention/domain/ + retention/data-access/ |
2 | RetentionPolicyService, DocumentRetentionService | S4-A4.5 |
| A7.2 | retention/feature-policies — CRUD politicas |
3 | TableComponent + formulario con DatepickerComponent para fechas de retencion | A7.1 |
| A7.3 | retention/feature-documents — documentos bajo retencion, calendario, suspension |
4 | Lista con filtros, RetentionCalendarComponent (custom), ConfirmDialogComponent para suspension | A7.1 |
| A7.4 | legal-hold/domain/ + legal-hold/data-access/ |
2 | LegalHoldService | S4-A4.5 |
| A7.5 | legal-hold/feature-cases — CRUD casos, asignacion documentos |
4 | Casos con TableComponent, asignacion via SearchComponent + DialogComponent, historial | A7.4 |
| A7.6 | cloud/domain/ + cloud/data-access/ + cloud/feature-status |
3 | Estado daemon, logs de sincronizacion, estadisticas con BadgeComponent | S4-A4.5 |
| A7.7 | Tests unitarios retencion + legal-hold | 2 | Vitest, cobertura minima 70% | A7.3, A7.5 |
Total peso S7: 20
Criterio de exito: Los 6 dominios core (vault, preservation, retention, legal-hold, cloud, shared-vault) funcionales con datos reales.
Objetivo: Completar modulos complementarios, pulir UX y publicar @nebula/vault.
| # | Tarea | Peso | Entregable | Dependencia |
|---|---|---|---|---|
| A8.1 | shared-vault/feature-dashboard — dashboard principal |
3 | GridCardComponent con metricas de todos los modulos, stats de documentos, actividad reciente | Todos los data-access |
| A8.2 | shared-vault/feature-audit — log de auditoria |
2 | TableComponent con filtros (DatepickerComponent, SelectComponent), exportacion | S4-A4.5 |
| A8.3 | shared-vault/feature-reports — reportes |
2 | Generacion de reportes personalizados | S4-A4.5 |
| A8.4 | shared-vault/feature-notifications — notificaciones |
1 | AlertComponent integrado con backend notifications | S4-A4.5 |
| A8.5 | shared-vault/feature-admin — configuracion |
2 | Permisos de modulos, config servidores, mensajes preservacion | S4-A4.5 |
| A8.6 | Perfil de usuario + configuracion tenant | 1 | Formulario de perfil, cambio de contrasena | S4-A4.5 |
| A8.7 | Pulido UI/UX: responsive, estados de error, empty states | 2 | Revision completa con SkeletonComponent para carga, EmptyState para vistas vacias | Todo lo anterior |
| A8.8 | Compilar y publicar @nebula/vault en Nexus |
3 | @nebula/vault/domain + @nebula/vault/data-access + @nebula/vault/api (VaultFacade) disponibles en Nexus |
A8.1-A8.7 |
| A8.9 | Tests E2E completos (Playwright) | 2 | Suite de 15+ tests E2E cubriendo flujos principales | A8.7 |
Total peso S8: 18
Criterio de exito: vault-shell completamente funcional con todos los modulos. @nebula/vault publicado en Nexus y consumible desde nebula-erp con npm install @nebula/vault.
Objetivo: Asegurar calidad del sistema completo. Corregir defectos. Cerrar gaps de seguridad.
| # | Tarea | Peso | Entregable | Dependencia |
|---|---|---|---|---|
| A9.1 | Correccion de defectos encontrados en regression E2E | 3 | 0 tests E2E fallando | S8-A8.9 |
| A9.2 | Performance: lazy loading verificado, bundle analysis | 2 | Bundles <300KB por modulo lazy-loaded, Lighthouse >90 | S8 completa |
| A9.3 | Accesibilidad: revision WCAG 2.1 AA en componentes custom | 2 | aria-* correctos, navegacion por teclado funcional en FolderTree, RetentionCalendar |
S8 completa |
| # | Tarea | Peso | Entregable | Dependencia |
|---|---|---|---|---|
| B9.1 | Revision completa de endpoints con JWT Simappe E2E | 3 | Todos los 159+ endpoints validados con tokens reales de OAuth2. Postman collection actualizada | S8 completa |
| B9.2 | Hardening de permisos: validacion de roles en todos los endpoints | 3 | Decoradores/middleware de autorizacion revisados. Cada endpoint verifica rol minimo requerido | B9.1 |
| B9.3 | Documentacion API (OpenAPI/Swagger actualizado) | 2 | Swagger UI funcional en /api/vault/docs con todos los endpoints documentados |
B9.1 |
| # | Tarea | Peso | Entregable | Dependencia |
|---|---|---|---|---|
| C9.1 | Suite regression E2E completa (Playwright) | 3 | 20+ tests E2E cubriendo todos los flujos: login → cada modulo → operaciones CRUD → logout | S8-A8.9 |
| C9.2 | Revision de seguridad OWASP Top 10 | 3 | Reporte de seguridad: XSS, inyeccion, autenticacion rota, CSRF, CORS | B9.2 |
| C9.3 | Tests de carga basicos | 2 | Backend soporta 50 usuarios concurrentes sin degradacion >3s | B9.1 |
Total peso S9: 23
Criterio de exito: 0 defectos criticos. Regression suite >95% passing. Reporte OWASP sin vulnerabilidades criticas. Swagger completo.
Objetivo: Validacion con usuarios reales. Recopilar feedback. Corregir issues de usabilidad.
| # | Tarea | Peso | Entregable | Dependencia |
|---|---|---|---|---|
| A10.1 | Correccion de issues reportados en UAT | 4 | Issues de usabilidad, flujos confusos, textos incorrectos corregidos | C10.1 |
| A10.2 | Ajustes de UX basados en feedback | 2 | Mejoras en navegacion, mensajes de error, estados de carga | C10.1 |
| # | Tarea | Peso | Entregable | Dependencia |
|---|---|---|---|---|
| B10.1 | Correccion de issues de datos/logica reportados en UAT | 3 | Endpoints que retornan datos incorrectos o incompletos corregidos | C10.1 |
| B10.2 | Documentacion tecnica del backend | 2 | README actualizado, diagrama de despliegue, variables de entorno documentadas | B9.3 |
| # | Tarea | Peso | Entregable | Dependencia |
|---|---|---|---|---|
| C10.1 | UAT con usuarios piloto (3-5 usuarios) | 4 | Reporte de aceptacion con: funcionalidades validadas, issues encontrados, feedback UX, criterios de aceptacion firmados | S9 completa |
| C10.2 | Re-ejecucion regression post-correcciones | 2 | Suite E2E passing >98% despues de correcciones UAT | A10.1, B10.1 |
Total peso S10: 17
Criterio de exito: Usuarios piloto validan los flujos principales. Reporte de aceptacion firmado. Issues criticos de UAT corregidos y re-verificados.
| # | Flujo | Rol de usuario | Criterio de aceptacion |
|---|---|---|---|
| 1 | Login → Seleccionar empresa → Dashboard | Admin | Dashboard muestra metricas reales del tenant |
| 2 | Crear proyecto → Subir archivos → Verificar ingesta | Archivista | Archivos aparecen en repositorio con status correcto |
| 3 | Navegar repositorio → Buscar → Preview → Descargar | Consulta | Preview de PDF funcional, descarga exitosa |
| 4 | Ver estado de preservacion → Ejecutar diagnostico | Auditor | Diagnostico retorna resultado coherente con datos reales |
| 5 | Crear politica retencion → Asignar documentos | Admin | Documentos bajo retencion no pueden ser eliminados |
| 6 | Crear caso legal hold → Asignar documentos | Auditor | Legal hold suspende retencion de documentos asignados |
| 7 | Ver estado cloud → Verificar sincronizacion | Admin | Stats de sync coherentes con datos de Azure |
| 8 | Ver log auditoria → Filtrar → Exportar | Auditor | Log muestra acciones reales, exportacion CSV funcional |
Objetivo: Desplegar en ambiente DEV Nebula. Documentar. Cerrar proyecto de migracion.
| # | Tarea | Peso | Entregable | Dependencia |
|---|---|---|---|---|
| A11.1 | Deuda tecnica: refactoring de codigo duplicado, linting clean | 2 | 0 warnings ESLint, 0 violaciones de boundaries Nx | S10 completa |
| A11.2 | Performance final: Lighthouse audit completo | 2 | Lighthouse Performance >90, Accessibility >90 | A11.1 |
| A11.3 | Build de produccion optimizado | 1 | nx build vault-shell --configuration=production exitoso, bundle total <2MB gzipped |
A11.1 |
| # | Tarea | Peso | Entregable | Dependencia |
|---|---|---|---|---|
| B11.1 | Integracion ConfigServer para variables DataVault | 3 | Variables de BD, SFTP, S3, secrets externalizadas en SimappeConfigServer. Archivo .env eliminado |
S10 completa |
| B11.2 | Dashboard stats endpoint adaptado (sin HR stats) | 1 | /api/vault/dashboard/stats excluye metricas de RRHH |
S10 completa |
| B11.3 | Configuracion de ambiente DEV Nebula | 2 | Variables ConfigServer para DEV, Eureka registrado, Gateway rutando | B11.1 |
| B11.4 | Desactivar endpoints RRHH | 1 | Endpoints de employees, contracts, certifications, trainings, absences, hr-documents retornan 404 | S10 completa |
| # | Tarea | Peso | Entregable | Dependencia |
|---|---|---|---|---|
| C11.1 | Pipeline CI/CD completo (build + test + deploy) | 3 | .gitlab-ci.yml para vault-shell: lint → test → build → deploy a nodo-01 |
A11.3 |
| C11.2 | Despliegue en ambiente DEV Nebula | 2 | vault-shell Angular corriendo en nodo-01, backend ya operativo | C11.1, B11.3 |
| C11.3 | Documentacion de despliegue | 2 | GUIA_DESPLIEGUE_NEBULA_VAULT.md: requisitos, variables, comandos, troubleshooting |
C11.2 |
| C11.4 | Smoke test post-despliegue | 1 | Login → Dashboard → Upload → Preview → Logout funcional en ambiente DEV | C11.2 |
Total peso S11: 20
Criterio de exito: Nebula Vault (frontend Angular + backend FastAPI) corriendo en infraestructura Nebula DEV. Documentacion de despliegue completa. Smoke test passing.
COMPLETADO (S1-S3) EN CURSO (S4-S8) PENDIENTE (S9-S11)
16 Mar — 4 Abr 7 Abr — 9 May 12 May — 30 May
══════════════ ══════════════════ ═══════════════════
Track B ████████████████████ ░░░░░░░░░░░░░░░░░░ ████████████████████
Backend JWT, Eureka, Gateway (sin tareas nuevas) ConfigServer, Swagger
DB-per-tenant, Docker Hardening, HR disable
Track A ░░░░░░░░░░░░░░░░░░░░ ████████████████████████████████ ████████████████████
Frontend (bloqueado) Cimientos → Ingesta → Repo → Correcciones QA/UAT
Preserv → Ret → LH → Cloud → Performance, deuda
Dashboard → Audit → @nebula/vault
Track C ░░░░░░░░░░░░░░░░░░░░ ████████████ ████████████████████
Infra/QA (Docker operativo) Pipeline CI/CD Regression, OWASP
Tests unitarios UAT, Deploy DEV
| Fase | Semanas | Track A | Track B | Track C | Total |
|---|---|---|---|---|---|
| Completada (S1-S3) | 3 | 0 | ~40 | ~10 | ~50 |
| Desarrollo (S4-S8) | 5 | 93 | 0 | 0 | 93 |
| Estabilizacion (S9) | 1 | 7 | 8 | 8 | 23 |
| UAT (S10) | 1 | 6 | 5 | 6 | 17 |
| Despliegue (S11) | 1 | 5 | 7 | 8 | 20 |
| Total | 11 | 111 | ~60 | ~32 | ~203 |
| Fecha | Hito | Dependencia |
|---|---|---|
| 4 Abr | Backend 100% completado + Docker operativo | — |
| 6 Abr | DataVault React v1 entregado (referencia) | — |
| 6 Abr | nebula-ui-kit v0.2.1 disponible | Equipo frontend primario |
| 11 Abr | Workspace nebula-vault compilando con ui-kit + shared | Mecanismo de consumo resuelto |
| 18 Abr | Primer modulo E2E funcional (Ingesta) | — |
| 2 May | 6 dominios core completos | — |
| 9 May | App completa + @nebula/vault publicado en Nexus |
— |
| 16 May | QA completo: 0 defectos criticos, OWASP clean | — |
| 23 May | UAT aprobado por usuarios piloto | — |
| 30 May | GO-LIVE DEV — Nebula Vault operativo en infraestructura Nebula | — |
| Metrica | Target | Herramienta |
|---|---|---|
| Modulos Core migrados | 6/6 (vault, preservation, retention, legal-hold, cloud, shared-vault) | Revision manual |
| Modulos Complementarios migrados | 5/5 (dashboard, audit, reports, notifications, admin) | Revision manual |
| Cobertura tests unitarios | >70% | Vitest coverage |
| @nebula/vault publicado en Nexus | v0.1.0 | npm info @nebula/vault |
| Metrica | Target | Herramienta |
|---|---|---|
| Tests E2E passing | >95% | Playwright |
| Vulnerabilidades OWASP criticas | 0 | Reporte manual |
| Endpoints documentados en Swagger | 100% (sin HR) | Swagger UI |
| Postman collection actualizada | 159+ requests | Postman |
| Metrica | Target | Herramienta |
|---|---|---|
| Flujos UAT aprobados | 8/8 | Reporte de aceptacion |
| Issues criticos post-UAT | 0 | GitLab issues |
| Regression post-correcciones | >98% | Playwright |
| Metrica | Target | Herramienta |
|---|---|---|
| Bundle size total (gzipped) | <2MB | nx build --stats-json |
| Lighthouse Performance | >90 | Chrome DevTools |
| Lighthouse Accessibility | >90 | Chrome DevTools |
| Tiempo login → Dashboard | <3s | Medicion manual |
| Backend en Eureka | Registrado y healthy | Dashboard Eureka |
| Variables en ConfigServer | 100% externalizadas | ConfigServer |
| Smoke test post-deploy | Passing | Manual en DEV |
| Documentacion despliegue | Completa | GUIA_DESPLIEGUE_NEBULA_VAULT.md |
| # | Riesgo | Prob. | Impacto | Mitigacion |
|---|---|---|---|---|
| 1 | Librerias no disponibles para S4 — ni Nexus ni git dep funcionan | Media | BLOQUEANTE | Fallback: git submodule de nebula-erp y nebula-ui-kit. Incomodo pero funcional |
| 2 | Incompatibilidad de versiones Angular — ui-kit usa 21.2, nebula-erp usa 21.1 | Baja | Medio | Alinear versiones en package.json de vault. Angular es compatible entre minor versions |
| 3 | Componentes ui-kit insuficientes para gestion documental | Baja | Bajo | Crear componentes locales en shared-vault/ui/ (ya planificado: 6 componentes custom) |
| 4 | Backend endpoints cambian durante el desarrollo frontend | Baja | Medio | Schemas Pydantic sirven como contrato. Cambios deben ser coordinados |
| 5 | Equipo sin experiencia en Angular 21 / Nx | Alta | Alto | Los patrones de nebula-erp (accounting, budget, tesoreria) sirven como ejemplo directo. TabContainerComponent como referencia de integracion con ui-kit |
| 6 | UAT revela problemas graves de usabilidad | Media | Alto | S10 tiene 1 semana completa para correcciones. Si es insuficiente, S11 absorbe overflow antes del deploy |
| 7 | ConfigServer no disponible para S11 | Baja | Medio | Mantener .env como fallback. ConfigServer es deseable pero no bloqueante para DEV |
| 8 | Usuarios piloto no disponibles para UAT en S10 | Media | Alto | Identificar usuarios piloto en S8. Minimo 3 personas con roles distintos (admin, archivista, auditor) |
| Semana | Fase | Tema | Track A | Track B | Track C | Total |
|---|---|---|---|---|---|---|
| S4 | Desarrollo | Cimientos (workspace, domain, shell) | 20 | — | — | 20 |
| S5 | Desarrollo | Ingesta (projects, upload, files) | 17 | — | — | 17 |
| S6 | Desarrollo | Repositorio + Preservacion | 18 | — | — | 18 |
| S7 | Desarrollo | Retencion + Legal Hold + Cloud | 20 | — | — | 20 |
| S8 | Desarrollo | Complementarios + @nebula/vault | 18 | — | — | 18 |
| S9 | QA | Regression + Seguridad + Hardening | 7 | 8 | 8 | 23 |
| S10 | UAT | Usuarios piloto + Correcciones | 6 | 5 | 6 | 17 |
| S11 | Deploy | ConfigServer + CI/CD + Go-Live DEV | 5 | 7 | 8 | 20 |
| Total S4-S11 | 111 | 20 | 22 | 153 |
| Documento | Ubicacion | Relevancia |
|---|---|---|
| Plan original de migracion | PLAN_MIGRACION_DATAVAULT_NEBULA | Version 1.0 del 16-Mar (superado por este documento) |
| Requerimientos de librerias | REQUERIMIENTOS_LIBRERIAS_NEBULA_PARA_VAULT | Analisis tecnico real de ui-kit y shared |
| Libreria @nebula/vault | LIBRERIA_NEBULA_VAULT | Documentacion tecnica de la libreria v0.1.0 |
| Analisis de funcionalidades | ANALISIS_FUNCIONALIDADES_DATAVAULT | Inventario de 25 modulos con pesos |
| Plan Maestro Fase 1 | PLAN_MAESTRO_CRONOGRAMA_FASE1 | Contexto del proyecto Nebula ERP general |
| Version | Fecha | Autor | Descripcion |
|---|---|---|---|
| 1.0.0 | 2026-04-06 | Carlos Torres | Creacion del cronograma frontend (S4-S8) basado en estado real del proyecto |
| 2.0.0 | 2026-04-06 | Carlos Torres | Extension a plan completo (S4-S11): agregar S9 (QA/Hardening), S10 (UAT), S11 (Deploy). Integrar pendientes Track B (ConfigServer, Swagger, hardening, HR disable). Agregar metricas por fase, hitos, flujos UAT, timeline visual y resumen de pesos por track |