erp-core/docs/LANZAR-FASE-0.md

485 lines
15 KiB
Markdown

# INSTRUCCIONES PARA LANZAR FASE 0 - ANÁLISIS DE REFERENCIAS
**Proyecto:** ERP Genérico
**Fase:** Fase 0 - Análisis de Referencias
**Duración estimada:** 2 semanas
**Responsable:** Architecture-Analyst (trabajo directo)
**Versión:** 1.0.0
**Fecha:** 2025-11-23
---
## 🎯 OBJETIVO DE LA FASE 0
Analizar profundamente los proyectos de referencia (Odoo + Gamilit) para fundamentar todas las decisiones arquitectónicas del ERP Genérico.
---
## 📋 PRE-REQUISITOS
Antes de lanzar el agente, verificar:
### 1. Referencias Disponibles
- [x] `/shared/reference/ODOO-MODULES-ANALYSIS.md` existe
- [x] `/shared/reference/gamilit/` existe con README.md y _MAP.md
- [x] `/projects/erp-construccion/docs/` existe con documentación
### 2. Estructura de Carpetas
- [x] `/projects/erp-generic/docs/00-analisis-referencias/` creada
- [x] `/projects/erp-generic/docs/adr/` creada
### 3. Prompt Extendido
- [x] `/shared/orchestration/prompts/PROMPT-ARCHITECTURE-ANALYST-EXTENDED.md` existe
### 4. Plan Maestro
- [x] `/projects/erp-generic/docs/PLAN-MAESTRO-MIGRACION-CONSOLIDACION.md` existe
---
## 🚀 COMANDO PARA LANZAR EL AGENTE
Usa el **Task tool** con los siguientes parámetros:
```
subagent_type: "general-purpose"
description: "Ejecutar Fase 0 del Plan Maestro ERP Genérico"
model: "sonnet"
prompt: "
Eres el **Architecture-Analyst con capacidades de orquestación** trabajando en el ERP Genérico.
---
## 📋 CONTEXTO COMPLETO
### Proyecto
- **Workspace:** [RUTA-LEGACY-ELIMINADA]
- **Proyecto:** projects/erp-generic/
- **Plan Maestro:** projects/erp-generic/docs/PLAN-MAESTRO-MIGRACION-CONSOLIDACION.md
- **Prompt Extendido:** shared/orchestration/prompts/PROMPT-ARCHITECTURE-ANALYST-EXTENDED.md
### Referencias Disponibles
1. **Odoo (Lógica de Negocio)**
- Análisis: shared/reference/ODOO-MODULES-ANALYSIS.md
- 12 módulos core relevantes para ERP Genérico
2. **Gamilit (Arquitectura Moderna)**
- Ubicación: shared/reference/gamilit/
- README: shared/reference/gamilit/README.md
- Mapa: shared/reference/gamilit/_MAP.md
3. **ERP Construcción (Documentación Existente)**
- Ubicación: projects/erp-construccion/docs/
- 18 módulos documentados (35% progreso)
- Estructura: projects/erp-construccion/docs/ESTRUCTURA-COMPLETA.md
---
## 🎯 TAREA: EJECUTAR FASE 0 DEL PLAN MAESTRO
Lee el plan maestro completo y ejecuta **FASE 0: ANÁLISIS DE REFERENCIAS (2 semanas)**.
### ENTREGABLES ESPERADOS (38 archivos)
#### 1. Análisis Comparativo Odoo (14 archivos)
**Ubicación:** projects/erp-generic/docs/00-analisis-referencias/odoo/
**Módulos a analizar:**
- base - Sistema base, modelos fundamentales
- auth_signup - Autenticación y registro
- account - Módulo financiero
- stock - Inventario
- purchase - Compras
- sale - Ventas
- analytic - Contabilidad analítica
- mail - Mensajería y notificaciones
- crm - CRM básico
- hr - Recursos humanos
- project - Proyectos genéricos
- portal - Portal de usuarios
**Para cada módulo crear:** odoo-{modulo}-analysis.md
**Incluir en cada análisis:**
- Descripción del módulo Odoo
- Modelos de datos principales (tablas, campos clave, relaciones)
- Lógica de negocio destacable (workflows, reglas, validaciones)
- Patrones arquitectónicos observados
- APIs y endpoints estándar
- Integraciones con otros módulos
- Funcionalidades relevantes para ERP Genérico
- Mapeo a módulos MGN (MGN-001 a MGN-014)
- Recomendaciones de implementación
**Archivos a crear:**
1. README.md - Resumen ejecutivo del análisis Odoo
2. odoo-base-analysis.md
3. odoo-auth-analysis.md
4. odoo-account-analysis.md
5. odoo-stock-analysis.md
6. odoo-purchase-analysis.md
7. odoo-sale-analysis.md
8. odoo-analytic-analysis.md
9. odoo-mail-analysis.md
10. odoo-crm-analysis.md
11. odoo-hr-analysis.md
12. odoo-project-analysis.md
13. odoo-portal-analysis.md
14. MAPEO-ODOO-TO-MGN.md - Tabla de mapeo completa Odoo → MGN
---
#### 2. Análisis Comparativo Gamilit (7 archivos)
**Ubicación:** projects/erp-generic/docs/00-analisis-referencias/gamilit/
**Aspectos a analizar:**
- Arquitectura multi-schema de PostgreSQL (9 schemas)
- Sistema de constantes SSOT (backend → frontend sync)
- Path aliases y estructura de imports
- Estructura modular del backend (11 módulos funcionales)
- Feature-Sliced Design del frontend
- Scripts de validación automática (sync-enums, validate-constants)
- Sistema de _MAP.md para documentación
- Testing patterns
- DevOps automation
**Para cada aspecto, identificar:**
- ✅ **ADOPTAR:** Patrones a copiar directamente
- 🔧 **ADAPTAR:** Patrones a ajustar para nuestro contexto
- ❌ **EVITAR:** Anti-patrones o aspectos a no replicar
**Archivos a crear:**
1. README.md - Resumen ejecutivo del análisis Gamilit
2. database-architecture.md - Análisis multi-schema, RLS, organización
3. backend-patterns.md - Estructura modular, servicios, APIs
4. frontend-patterns.md - FSD, componentes, stores
5. ssot-system.md - Sistema de constantes SSOT, sync-enums
6. devops-automation.md - Scripts, validaciones, testing
7. ADOPTAR-ADAPTAR-EVITAR.md - Matriz de decisiones
---
#### 3. Validación Cruzada con ERP Construcción (5 archivos)
**Ubicación:** projects/erp-generic/docs/00-analisis-referencias/construccion/
**Tareas:**
1. Leer toda la documentación de erp-construccion/docs/
2. Para cada módulo MAI-XXX, determinar:
- ¿Es componente GENÉRICO? → Candidato a migrar a ERP Genérico
- ¿Es componente ESPECÍFICO? → Queda en ERP Construcción
3. Comparar con Odoo/Gamilit:
- ¿Qué funcionalidades faltan en construcción?
- ¿Qué mejoras arquitectónicas son aplicables?
- ¿Qué oportunidades de refactorización existen?
**Archivos a crear:**
1. COMPONENTES-GENERICOS.md - Lista detallada de componentes a migrar
- Por área: Database, Backend, Frontend
- Con justificación de por qué es genérico
2. COMPONENTES-ESPECIFICOS.md - Lista de componentes que quedan en construcción
- Con justificación de por qué es específico de construcción
3. MEJORAS-ARQUITECTONICAS.md - Mejoras sugeridas para construcción
- Basadas en Odoo y Gamilit
- Priorizadas (P0/P1/P2)
4. GAP-ANALYSIS.md - Funcionalidades faltantes en construcción
- Identificadas en Odoo pero no implementadas
- Con impacto y recomendación
5. RETROALIMENTACION.md - Retroalimentación integral a construcción
- Consolidación de mejoras, gaps, refactorizaciones
- Plan de acción propuesto
---
#### 4. Creación de ADRs - Architecture Decision Records (10 archivos)
**Ubicación:** projects/erp-generic/docs/adr/
**ADRs a crear (basándose en análisis de Odoo, Gamilit y Construcción):**
**Formato estándar de cada ADR:**
```markdown
# ADR-XXX: [Título]
**Estado:** Aceptada / Propuesta / Rechazada
**Fecha:** 2025-11-23
**Responsable:** Architecture-Analyst
**Contexto:** [Descripción del problema o decisión a tomar]
## Decisión
[Qué se decidió]
## Justificación
[Por qué se tomó esta decisión]
- Referencia a Odoo: [hallazgos]
- Referencia a Gamilit: [hallazgos]
- Referencia a Construcción: [hallazgos]
## Consecuencias
### Positivas
- [Beneficio 1]
- [Beneficio 2]
### Negativas
- [Costo/limitación 1]
- [Costo/limitación 2]
## Alternativas Consideradas
1. **Alternativa 1:** [Descripción] - Rechazada porque [razón]
2. **Alternativa 2:** [Descripción] - Rechazada porque [razón]
## Implementación
- [Acción 1 para implementar esta decisión]
- [Acción 2]
## Referencias
- [Link a análisis Odoo]
- [Link a análisis Gamilit]
- [Link a código de referencia]
```
**ADRs específicos a crear:**
1. **ADR-001-stack-tecnologico.md**
- **Decisión:** Node.js 20+ + Express + TypeScript / React 18 + Vite / PostgreSQL 15+
- **Justificación:** Alineación con Gamilit, madurez del ecosistema, compatibilidad
2. **ADR-002-arquitectura-modular.md**
- **Decisión:** Monorepo con apps/ (database, backend, frontend, mobile)
- **Justificación:** Patrón Gamilit, simplifica desarrollo, reutilización
3. **ADR-003-multi-tenancy.md**
- **Decisión:** Schema-level isolation (cada tenant un schema PostgreSQL)
- **Justificación:** Seguridad, performance, Gamilit pattern, Odoo approach similar
4. **ADR-004-sistema-constantes-ssot.md**
- **Decisión:** Backend como SSOT, sincronización automática a Frontend
- **Justificación:** Patrón Gamilit muy efectivo, elimina duplicación
5. **ADR-005-path-aliases.md**
- **Decisión:** Uso de @shared, @modules, @components, @services
- **Justificación:** Imports limpios, refactoring fácil, Gamilit pattern
6. **ADR-006-rbac-sistema-permisos.md**
- **Decisión:** Role-Based Access Control granular
- **Justificación:** Requerimiento multi-tenant, Odoo res.users/res.groups pattern
7. **ADR-007-database-design.md**
- **Decisión:** Multi-schema (auth, core, financial, inventory, etc.) + RLS
- **Justificación:** Organización lógica, Gamilit pattern, seguridad
8. **ADR-008-api-design.md**
- **Decisión:** RESTful APIs + OpenAPI 3.0 + versionado (/api/v1/)
- **Justificación:** Estándar industria, documentación auto-generada
9. **ADR-009-frontend-architecture.md**
- **Decisión:** Feature-Sliced Design (shared, features, pages, app)
- **Justificación:** Escalabilidad, Gamilit pattern, organización clara
10. **ADR-010-testing-strategy.md**
- **Decisión:** Coverage objetivo 80% backend / 70% frontend, Unit+Integration+E2E
- **Justificación:** Evitar deuda técnica de Gamilit (14% coverage)
---
#### 5. Mapeo de Componentes Genéricos (1 archivo)
**Ubicación:** projects/erp-generic/docs/00-analisis-referencias/MAPA-COMPONENTES-GENERICOS.md
**Contenido:**
- Lista exhaustiva de componentes genéricos vs específicos
- Por categoría: Database (schemas, tablas), Backend (módulos, servicios), Frontend (componentes, páginas)
- Para cada componente: nombre, tipo, ubicación, usado por qué proyectos
- Resumen cuantitativo: % de reutilización calculado
**Objetivo:** Determinar qué va en ERP Genérico (genérico) vs qué queda en ERP Construcción/Vidrio/Mecánicas (específico)
---
#### 6. Resumen Ejecutivo Fase 0 (1 archivo)
**Ubicación:** projects/erp-generic/docs/00-analisis-referencias/RESUMEN-FASE-0.md
**Contenido:**
```markdown
# RESUMEN EJECUTIVO - FASE 0
## Hallazgos Principales
### De Odoo
- [3-5 hallazgos clave]
### De Gamilit
- [3-5 hallazgos clave]
### De ERP Construcción
- [3-5 hallazgos clave]
## Decisiones Arquitectónicas (10 ADRs)
- ADR-001: Stack tecnológico
- ADR-002: Arquitectura modular
- ...
## Componentes Genéricos Identificados
- Database: X schemas, Y tablas (Z% reutilización)
- Backend: X módulos (Y% reutilización)
- Frontend: X componentes (Y% reutilización)
## Retroalimentación a ERP Construcción
- Mejora 1: [...]
- Mejora 2: [...]
## Próximos Pasos (Fase 1)
- [...]
```
---
## ✅ CRITERIOS DE COMPLETITUD
Marca la tarea como completa SOLO cuando:
- [ ] **14 archivos** de análisis Odoo creados (README + 12 módulos + mapeo)
- [ ] **7 archivos** de análisis Gamilit creados (README + 6 aspectos)
- [ ] **5 archivos** de validación construcción creados
- [ ] **10 ADRs** creados con formato estándar
- [ ] **1 archivo** de mapeo de componentes genéricos completo
- [ ] **1 archivo** de resumen ejecutivo consolidado
- [ ] **TOTAL: 38 archivos** creados en las ubicaciones correctas
- [ ] Todos los análisis son profundos y completos (no superficiales)
- [ ] Todos los ADRs tienen justificación basada en referencias
- [ ] Mapeo de componentes tiene % de reutilización calculado
- [ ] Resumen ejecutivo consolida hallazgos principales
---
## 📊 FORMATO Y CALIDAD
### Formato de Documentos
- Usar Markdown con sintaxis GitHub-flavored
- Incluir tablas donde sea apropiado
- Usar listas para enumerar puntos
- Usar emojis moderadamente (solo en encabezados)
- Incluir referencias a archivos fuente
### Profundidad de Análisis
- **NO superficial:** Ir más allá de \"Odoo tiene módulo X\"
- **SÍ profundo:** Explicar cómo funciona, por qué es relevante, cómo se mapea a MGN
- **Incluir ejemplos:** Citar tablas específicas, campos, relaciones
- **Justificar decisiones:** Cada ADR debe tener justificación sólida
### Coherencia
- Mantener nomenclatura consistente (MGN-XXX, RF-XXX, ET-XXX)
- Referencias cruzadas entre documentos
- Vincular hallazgos → ADRs → componentes → módulos MGN
---
## 🎯 RESULTADO ESPERADO
Al completar esta Fase 0, tendremos:
1. **Fundamento sólido** para todas las decisiones arquitectónicas
2. **10 ADRs aprobados** que guiarán el desarrollo
3. **Mapeo claro** de qué es genérico vs específico
4. **Retroalimentación valiosa** al ERP Construcción
5. **Base de conocimiento** consolidada de Odoo y Gamilit
6. **Confianza** para ejecutar Fase 1-3 con claridad
---
## 📝 NOTA IMPORTANTE
Esta es la fase MÁS CRÍTICA del proceso. La calidad de tu análisis en Fase 0 determinará el éxito de todo el proyecto ERP Genérico.
Tómate el tiempo necesario para:
- Leer completamente las referencias
- Analizar profundamente los patrones
- Documentar detalladamente los hallazgos
- Justificar sólidamente las decisiones
- Crear ADRs bien fundamentados
No avances a Fase 1 hasta que Fase 0 esté completa y validada.
---
## 🚀 AL FINALIZAR
Cuando completes todos los 38 archivos:
1. Reporta un resumen ejecutivo con:
- Total de archivos creados
- Ubicaciones de entregables
- Principales hallazgos (top 5)
- Decisiones arquitectónicas clave (ADRs)
- % de reutilización identificado
- Retroalimentación principal a construcción
2. Propón si estamos listos para Fase 1 o si hay gaps que abordar
---
¡ADELANTE CON FASE 0!
"
```
---
## 📊 VERIFICACIÓN POST-EJECUCIÓN
Después de que el agente termine, ejecutar:
```bash
# Verificar análisis Odoo
ls -la projects/erp-generic/docs/00-analisis-referencias/odoo/
# Debe mostrar: README.md + 12 archivos odoo-*-analysis.md + MAPEO-ODOO-TO-MGN.md = 14 archivos
# Verificar análisis Gamilit
ls -la projects/erp-generic/docs/00-analisis-referencias/gamilit/
# Debe mostrar: 7 archivos
# Verificar validación construcción
ls -la projects/erp-generic/docs/00-analisis-referencias/construccion/
# Debe mostrar: 5 archivos
# Verificar ADRs
ls -la projects/erp-generic/docs/adr/
# Debe mostrar: 10 archivos ADR-001.md a ADR-010.md
# Verificar mapeo
cat projects/erp-generic/docs/00-analisis-referencias/MAPA-COMPONENTES-GENERICOS.md
# Verificar resumen
cat projects/erp-generic/docs/00-analisis-referencias/RESUMEN-FASE-0.md
# TOTAL esperado
find projects/erp-generic/docs -type f -name "*.md" -o -name "*.yml" | wc -l
# Debe ser: 38 archivos (aprox, puede variar ligeramente)
```
---
## ✅ APROBACIÓN
Una vez verificado:
- [ ] Revisar calidad de 2-3 análisis Odoo (muestra)
- [ ] Revisar todos los ADRs (críticos)
- [ ] Revisar mapeo de componentes
- [ ] Revisar resumen ejecutivo
- [ ] Aprobar Fase 0 antes de continuar a Fase 1
---
**Creado:** 2025-11-23
**Versión:** 1.0.0
**Estado:** ✅ Listo para uso