# 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
