erp-retail/orchestration/planes/PLAN-MAESTRO-MIGRACION-RETAIL.md

12 KiB

PLAN MAESTRO: Migracion, Integracion y Adaptacion ERP-Core a Retail

Version: 1.0.0 Fecha: 2025-12-18 Autor: Requirements-Analyst (Perfil NEXUS) Proyecto Base: erp-core Proyecto Destino: erp-suite/verticales/retail


RESUMEN EJECUTIVO

Este documento define el plan maestro para la migracion, integracion y adaptacion del proyecto base erp-core hacia la vertical especializada retail. El proceso se divide en 5 fases con subagentes especializados para garantizar completitud y trazabilidad.

Metricas del Proyecto

Concepto Valor
Tablas heredadas de core 144
Schemas heredados 12
Modulos retail 10
Story Points estimados 353
% Reutilizacion promedio 45%

FASE 1: PLANEACION - ANALISIS DETALLADO

Objetivo

Realizar un analisis exhaustivo del estado actual de erp-core y los requerimientos especificos de retail para identificar todos los componentes a migrar, extender o crear.

Entregables

  1. ANALISIS-ERP-CORE-INVENTARIO.md

    • Inventario completo de modulos del core
    • Estado de implementacion de cada modulo
    • Especificaciones tecnicas existentes
    • DDL implementados
  2. ANALISIS-RETAIL-REQUERIMIENTOS.md

    • Requerimientos funcionales especificos de retail
    • Requerimientos no funcionales (offline, performance)
    • Hardware e integraciones requeridas
  3. MATRIZ-MAPEO-CORE-RETAIL.md

    • Mapeo modulo-a-modulo entre core y retail
    • Identificacion de herencia directa (100%)
    • Identificacion de extensiones necesarias
    • Identificacion de componentes nuevos
  4. GAP-ANALYSIS-RETAIL.md

    • Gaps funcionales por modulo
    • Gaps de especificaciones
    • Gaps de implementacion

Subagente Especializado

agente: Explore-Agent
tipo: subagent_type=Explore
nivel_exploracion: very thorough
prompt: |
  Realizar analisis exhaustivo del proyecto erp-core:
  1. Explorar todos los modulos en backend/src/modules/
  2. Documentar estado de cada servicio (.service.ts)
  3. Revisar DDL en database/ddl/
  4. Catalogar especificaciones en docs/
  5. Verificar inventarios existentes

  Contexto: Se migrara a vertical retail (punto de venta)
  Entregar: Inventario completo con estado de implementacion  

Archivos a Analizar

Ruta Proposito
erp-core/backend/src/modules/ Servicios backend
erp-core/database/ddl/ Esquemas DDL
erp-core/docs/ Documentacion y especificaciones
retail/docs/ Requerimientos retail
retail/orchestration/inventarios/ Inventarios actuales

FASE 2: EJECUCION DEL ANALISIS

Objetivo

Ejecutar el analisis planificado modulo por modulo, generando documentacion detallada de cada componente.

Entregables por Modulo

Para cada uno de los 10 modulos de retail (RT-001 a RT-010):

  1. ANALISIS-RT-{XXX}-{nombre}.md
    • Componentes del core que hereda
    • Extensiones requeridas
    • Componentes nuevos a crear
    • Dependencias identificadas
    • Story points ajustados

Matriz de Analisis

Modulo Retail Modulos Core Relacionados % Herencia Analisis
RT-001 Fundamentos MGN-001, MGN-002, MGN-003, MGN-004 100% PENDIENTE
RT-002 POS MGN-013 Sales 20% PENDIENTE
RT-003 Inventario MGN-011 Inventory 60% PENDIENTE
RT-004 Compras MGN-012 Purchase 80% PENDIENTE
RT-005 Clientes MGN-014 CRM 40% PENDIENTE
RT-006 Precios MGN-013 Sales (pricing) 30% PENDIENTE
RT-007 Caja - 10% PENDIENTE
RT-008 Reportes MGN-009 Reports 70% PENDIENTE
RT-009 E-commerce MGN-013 Sales 20% PENDIENTE
RT-010 Facturacion MGN-010 Financial 60% PENDIENTE

Subagentes Especializados

# Para cada modulo ejecutar:
agente: Plan-Agent
tipo: subagent_type=Plan
prompt: |
  Analizar modulo RT-{XXX} {nombre}:

  1. HERENCIA DEL CORE:
     - Listar servicios de erp-core/{modulo_core} que aplican
     - Identificar tablas DDL que se reutilizan
     - Revisar specs transversales aplicables

  2. EXTENSIONES:
     - Campos adicionales requeridos
     - Logica de negocio adicional
     - Nuevos endpoints necesarios

  3. COMPONENTES NUEVOS:
     - Entidades especificas de retail
     - Servicios nuevos
     - Controladores nuevos

  4. DEPENDENCIAS:
     - Modulos core requeridos
     - Otros modulos retail requeridos
     - Servicios externos (PAC, hardware)

  Contexto: [Incluir documentacion del modulo retail]
  Entregar: Documento ANALISIS-RT-{XXX}.md  

FASE 3: PLANEACION DE IMPLEMENTACIONES

Objetivo

Crear planes de implementacion detallados para cada componente identificado en la Fase 2.

Entregables

  1. PLAN-IMPL-DATABASE.md

    • Orden de creacion de tablas
    • Migraciones de core requeridas
    • DDL especificos de retail
    • Indices y optimizaciones
  2. PLAN-IMPL-BACKEND.md

    • Servicios a heredar (import directo)
    • Servicios a extender (class extends)
    • Servicios a crear (nuevos)
    • Controladores y rutas
    • Middlewares especificos
  3. PLAN-IMPL-FRONTEND.md

    • Componentes reutilizables del core
    • Componentes especificos POS
    • PWA y modo offline
    • Integracion hardware
  4. ROADMAP-SPRINTS.md

    • Sprints por prioridad (P0, P1, P2)
    • Dependencias entre sprints
    • Criterios de completitud

Estructura del Plan por Capa

database:
  sprint_1:
    - Crear schema retail
    - Crear tablas pos_sessions, pos_orders, pos_order_lines
    - Crear tablas cash_registers, cash_movements
    - Configurar RLS policies
  sprint_2:
    - Tablas branches, branch_stock
    - Tablas loyalty_cards, loyalty_transactions
    - Tablas promotions

backend:
  sprint_1:
    - Heredar AuthModule de @erp-core/auth
    - Heredar UsersModule de @erp-core/users
    - Crear POSModule
    - Crear CashModule
  sprint_2:
    - Extender InventoryModule
    - Crear LoyaltyModule
    - Crear PromotionsModule

frontend:
  sprint_1:
    - Dashboard principal
    - Pantalla POS
    - Gestion de caja
  sprint_2:
    - Inventario por sucursal
    - Clientes y fidelizacion

Subagente Especializado

agente: Plan-Agent
tipo: subagent_type=Plan
prompt: |
  Con base en los analisis de Fase 2, crear plan de implementacion:

  INPUT:
  - ANALISIS-RT-001 a RT-010
  - GAP-ANALYSIS-RETAIL
  - MATRIZ-MAPEO-CORE-RETAIL

  OUTPUT:
  - Plan de base de datos (orden DDL)
  - Plan de backend (herencia vs extension vs nuevo)
  - Plan de frontend (componentes)
  - Sprints priorizados

  Considerar:
  - Dependencias entre modulos
  - Prioridad P0 primero
  - Modo offline del POS
  - CFDI 4.0 en tiempo real  

FASE 4: VALIDACION DE PLANEACION

Objetivo

Validar que el plan de implementacion cubre todos los componentes identificados y que no faltan dependencias.

Entregables

  1. VALIDACION-COMPLETITUD.md

    • Checklist de todos los objetos a implementar
    • Verificacion de dependencias cruzadas
    • Objetos faltantes identificados
  2. DEPENDENCY-GRAPH-VALIDADO.yml

    • Grafo de dependencias actualizado
    • Orden de implementacion validado
    • Ciclos detectados (si existen)
  3. IMPACTO-CAMBIOS.md

    • Componentes impactados por cada cambio
    • Propagacion de cambios en cascada
    • Riesgos identificados

Checklist de Validacion

validacion_database:
  - [ ] Todas las tablas de ANALISIS tienen DDL en PLAN-IMPL
  - [ ] FK apuntan a tablas existentes o en plan
  - [ ] RLS policies definidas para todas las tablas
  - [ ] Indices de rendimiento para POS (<100ms)

validacion_backend:
  - [ ] Cada servicio tiene su controlador
  - [ ] Cada endpoint tiene ruta definida
  - [ ] Imports de core son resolubles
  - [ ] No hay dependencias circulares

validacion_frontend:
  - [ ] Cada pantalla tiene componentes definidos
  - [ ] PWA manifest configurado
  - [ ] Service workers para offline
  - [ ] Integracion hardware documentada

validacion_herencia:
  - [ ] Modulos 100% herencia no duplican codigo
  - [ ] Extensiones usan 'extends' correctamente
  - [ ] Specs transversales aplicadas

Subagente Especializado

agente: General-Purpose-Agent
tipo: subagent_type=general-purpose
prompt: |
  Validar completitud del plan de implementacion:

  1. VERIFICAR OBJETOS:
     - Leer ANALISIS-RT-* (todos los modulos)
     - Leer PLAN-IMPL-* (todos los planes)
     - Cruzar: cada objeto analizado tiene plan

  2. VERIFICAR DEPENDENCIAS:
     - Construir grafo de dependencias
     - Detectar objetos huerfanos
     - Detectar ciclos

  3. VERIFICAR IMPACTO:
     - Para cada cambio en core, que retail impacta
     - Para cada nuevo en retail, que core requiere

  4. GENERAR REPORTE:
     - Lista de gaps encontrados
     - Recomendaciones de ajuste
     - Plan de correccion

  Entregar: VALIDACION-COMPLETITUD.md  

FASE 5: EJECUCION DE IMPLEMENTACIONES

Objetivo

Ejecutar las implementaciones segun el plan validado, usando subagentes especializados por capa.

Subagentes por Dominio

Database-Agent

agente: Database-Agent
prompt: |
  Implementar DDL para retail segun PLAN-IMPL-DATABASE:

  CONTEXTO:
  - Schema: retail
  - Herencia: schemas auth, core, inventory, sales de erp-core
  - Variable RLS: app.current_tenant_id

  ARCHIVOS A CREAR/MODIFICAR:
  - database/init/03-retail-tables.sql (completar)
  - database/init/04-retail-functions.sql
  - database/init/05-retail-triggers.sql

  VALIDAR:
  - FK validas a tablas de core
  - RLS en todas las tablas
  - Indices para performance POS  

Backend-Agent

agente: Backend-Agent
prompt: |
  Implementar backend segun PLAN-IMPL-BACKEND:

  MODULOS A CREAR:
  - src/modules/pos/
  - src/modules/cash/
  - src/modules/loyalty/
  - src/modules/promotions/

  MODULOS A HEREDAR:
  - Importar @erp-core/auth
  - Importar @erp-core/users
  - Importar @erp-core/inventory (extender)

  PATRON:
  - NestJS con TypeORM
  - Controllers + Services + Entities
  - DTOs para validacion  

Frontend-Agent

agente: Frontend-Agent
prompt: |
  Implementar frontend segun PLAN-IMPL-FRONTEND:

  STACK:
  - React 18 + TypeScript
  - Vite + PWA plugin
  - Tailwind CSS
  - Zustand para estado

  PANTALLAS PRIORITARIAS:
  1. POS (punto de venta) - offline-first
  2. Dashboard de ventas
  3. Gestion de caja
  4. Inventario por sucursal

  CONSIDERACIONES:
  - Service workers para offline
  - IndexedDB para cache local
  - Sincronizacion con backend  

Control de Progreso

Sprint Modulos Estado %
Sprint 1 RT-001, RT-002, RT-007 PENDIENTE 0%
Sprint 2 RT-003, RT-004, RT-010 PENDIENTE 0%
Sprint 3 RT-005, RT-006 PENDIENTE 0%
Sprint 4 RT-008, RT-009 PENDIENTE 0%

CRONOGRAMA DE FASES

Fase Descripcion Estado Dependencias
F1 Planeacion - Analisis Detallado SIGUIENTE -
F2 Ejecucion del Analisis PENDIENTE F1
F3 Plan de Implementaciones PENDIENTE F2
F4 Validacion de Plan PENDIENTE F3
F5 Ejecucion de Implementaciones PENDIENTE F4

ARCHIVOS DE SOPORTE

Estructura de Carpetas para Entregables

retail/orchestration/planes/
├── PLAN-MAESTRO-MIGRACION-RETAIL.md  (este documento)
├── fase-1-analisis/
│   ├── ANALISIS-ERP-CORE-INVENTARIO.md
│   ├── ANALISIS-RETAIL-REQUERIMIENTOS.md
│   ├── MATRIZ-MAPEO-CORE-RETAIL.md
│   └── GAP-ANALYSIS-RETAIL.md
├── fase-2-analisis-modulos/
│   ├── ANALISIS-RT-001-fundamentos.md
│   ├── ANALISIS-RT-002-pos.md
│   ├── ANALISIS-RT-003-inventario.md
│   ├── ANALISIS-RT-004-compras.md
│   ├── ANALISIS-RT-005-clientes.md
│   ├── ANALISIS-RT-006-precios.md
│   ├── ANALISIS-RT-007-caja.md
│   ├── ANALISIS-RT-008-reportes.md
│   ├── ANALISIS-RT-009-ecommerce.md
│   └── ANALISIS-RT-010-facturacion.md
├── fase-3-implementacion/
│   ├── PLAN-IMPL-DATABASE.md
│   ├── PLAN-IMPL-BACKEND.md
│   ├── PLAN-IMPL-FRONTEND.md
│   └── ROADMAP-SPRINTS.md
├── fase-4-validacion/
│   ├── VALIDACION-COMPLETITUD.md
│   ├── DEPENDENCY-GRAPH-VALIDADO.yml
│   └── IMPACTO-CAMBIOS.md
└── fase-5-ejecucion/
    └── TRAZA-EJECUCION.md

PROXIMA ACCION

Fase Actual: FASE 1 - Planeacion Accion Inmediata: Ejecutar analisis exhaustivo de erp-core con Explore-Agent

# Comando para iniciar Fase 1:
# Usar subagente Explore con nivel "very thorough"
# Target: /projects/erp-suite/apps/erp-core/

Documento creado: 2025-12-18 Sistema: NEXUS + SIMCO v2.2.0 Perfil: Requirements-Analyst