erp-mecanicas-diesel/docs/90-transversal/ANALISIS-INDEPENDENCIA-PROYECTO.md

312 lines
9.6 KiB
Markdown

# Analisis de Independencia del Proyecto - Mecanicas Diesel
**Fecha:** 2025-12-12
**Objetivo:** Identificar y planificar eliminacion de referencias a proyectos base
**Estado:** PENDIENTE DE LIMPIEZA
---
## Resumen Ejecutivo
El proyecto `mecanicas-diesel` debe ser un **proyecto completamente independiente** que no requiera ni dependa de:
1. **Odoo** - Sistema ERP de referencia usado para patrones
2. **erp-core** - Proyecto base del cual se derivaron patrones
3. **gamilit** - Otro proyecto de referencia (no encontrado)
### Estadisticas de Referencias Encontradas
| Referencia | Cantidad | Archivos Afectados | Accion |
|------------|----------|-------------------|--------|
| `odoo` | 21 | 7 | Eliminar |
| `erp-core` | 65+ | 24 | Eliminar |
| `MGN-*` | 62 | 15 | Eliminar |
| `gamilit` | 0 | 0 | N/A |
| Rutas absolutas `/home/isem/...` | 16 | 10 | Corregir/Eliminar |
**Total:** ~164 referencias a limpiar en ~30 archivos unicos
---
## Analisis del Perfil TECH-LEADER
### Caracteristicas del Perfil
El perfil `PERFIL-TECH-LEADER.md` es adecuado para iniciar desarrollo. Puntos clave:
```yaml
Rol: Lider tecnico de equipo de agentes
Responsabilidades:
- Recibir tareas de alto nivel y descomponer
- Delegar a agentes especializados
- Coordinar flujo de trabajo
- Tomar decisiones tecnicas
- Asegurar calidad y coherencia
Agentes que coordina:
analisis:
- REQUIREMENTS-ANALYST
- ARCHITECTURE-ANALYST
implementacion:
- DATABASE
- BACKEND / BACKEND-EXPRESS
- FRONTEND
- MOBILE-AGENT
calidad:
- CODE-REVIEWER
- BUG-FIXER
- DOCUMENTATION-VALIDATOR
infraestructura:
- DEVENV # IMPORTANTE: Gestiona puertos
- WORKSPACE-MANAGER
```
### Integracion con DEVENV para Puertos
El perfil TECH-LEADER tiene protocolo especifico para consulta de puertos:
```yaml
PROTOCOLO_DE_CONSULTA_DE_PUERTOS:
ANTES_DE_ASIGNAR_PUERTOS:
1. Verificar: "Este servicio necesita puerto nuevo?"
2. Si SI:
- Delegar a DEVENV
- Proporcionar: proyecto, tipo_servicio, descripcion
- Esperar: puerto asignado, configuracion .env
3. Si NO:
- Usar puerto existente del inventario
- Verificar en: @DEVENV_PORTS
NUNCA:
- Asignar puertos arbitrariamente
- Copiar puertos de otro proyecto sin verificar
- Usar puertos "comunes" (3000, 8080) sin consultar
```
**Alias relevante:** `@DEVENV_PORTS: "core/orchestration/inventarios/DEVENV-PORTS-INVENTORY.yml"`
### Flujo de Desarrollo con TECH-LEADER
```
1. RECIBIR TAREA
2. ANALISIS INICIAL (Tech-Leader)
- Entender alcance
- Identificar capas afectadas
3. DELEGAR A REQUIREMENTS-ANALYST (si hay ambiguedad)
4. DELEGAR A ARCHITECTURE-ANALYST (diseño)
5. DELEGAR A DEVENV (si necesita puertos)
6. DELEGAR A DATABASE → BACKEND → FRONTEND
7. DELEGAR A CODE-REVIEWER
8. VALIDACION FINAL
```
---
## Archivos con Referencias a Eliminar
### Categoria 1: Referencias a ODOO (21 referencias)
| Archivo | Lineas | Tipo de Referencia |
|---------|--------|-------------------|
| `PROJECT-STATUS.md` | 19, 206, 264 | Metricas de alineacion |
| `database/init/07-notifications-schema.sql` | 5 | Comentario patron |
| `orchestration/00-guidelines/HERENCIA-DIRECTIVAS.md` | 36 | Directiva referencia |
| `docs/90-transversal/PLAN-RESOLUCION-GAPS.md` | 36 | Solucion referencia |
| `docs/90-transversal/ANALISIS-ARQUITECTONICO-IMPLEMENTACION.md` | Multiples (25+) | Analisis completo |
### Categoria 2: Referencias a ERP-CORE (65+ referencias)
**Archivos criticos (mayor cantidad):**
| Archivo | Lineas Aprox | Acciones |
|---------|--------------|----------|
| `database/HERENCIA-ERP-CORE.md` | 20+ | Reescribir completo |
| `orchestration/00-guidelines/HERENCIA-ERP-CORE.md` | 15+ | Reescribir completo |
| `orchestration/00-guidelines/HERENCIA-SPECS-ERP-CORE.md` | 10+ | Reescribir completo |
| `orchestration/00-guidelines/CONTEXTO-PROYECTO.md` | 5 | Editar referencias |
| `orchestration/inventarios/MASTER_INVENTORY.yml` | 8 | Editar referencias |
| `orchestration/inventarios/DATABASE_INVENTORY.yml` | 8 | Editar referencias |
| `docs/00-vision-general/VISION.md` | 10+ | Editar referencias |
| `docs/90-transversal/ANALISIS-ARQUITECTONICO-IMPLEMENTACION.md` | 20+ | Mover a archivo historico |
| `README.md` | 3 | Editar descripcion |
**Archivos SQL con comentarios:**
| Archivo | Lineas | Accion |
|---------|--------|--------|
| `database/init/01-create-schemas.sql` | 7 | Eliminar comentario |
| `database/init/03-service-management-tables.sql` | 5, 14 | Eliminar comentarios |
| `database/init/04-parts-management-tables.sql` | 5 | Eliminar comentario |
| `database/init/09-purchasing-schema.sql` | 6 | Eliminar comentario |
### Categoria 3: Referencias a MGN-* (62 referencias)
Modulos genéricos referenciados que deben eliminarse:
| Modulo | Descripcion Original | Reemplazo MMD |
|--------|---------------------|---------------|
| MGN-001 | Auth | MMD-001 Fundamentos |
| MGN-002 | Users | MMD-001 Fundamentos |
| MGN-003 | Roles | MMD-001 Fundamentos |
| MGN-004 | Tenants | MMD-001 Fundamentos |
| MGN-005 | Catalogs | MMD-001 + MMD-004 |
| MGN-006 | Purchasing | purchasing schema |
| MGN-007 | Sales | MMD-006 Cotizaciones |
| MGN-011 | Inventory | MMD-004 Inventario |
| MGN-013 | Portal | Fase 2 |
**Archivos con mas referencias MGN:**
- `docs/00-vision-general/VISION.md` (10+ referencias)
- `docs/08-epicas/README.md` (7 referencias)
- `orchestration/00-guidelines/HERENCIA-ERP-CORE.md` (10+ referencias)
- `docs/90-transversal/ANALISIS-ARQUITECTONICO-IMPLEMENTACION.md` (20+ referencias)
### Categoria 4: Rutas Absolutas Incorrectas (16 referencias)
Rutas que usan `/home/isem/workspace/` en lugar de `/home/adrian/Documentos/workspace/`:
| Archivo | Ruta Incorrecta |
|---------|-----------------|
| `orchestration/environment/PROJECT-ENV-CONFIG.yml` | `/home/isem/workspace/...` |
| `orchestration/00-guidelines/CONTEXTO-PROYECTO.md` | `/home/isem/workspace/...` |
| `orchestration/00-guidelines/HERENCIA-DIRECTIVAS.md` | `/home/isem/workspace/...` |
| `orchestration/prompts/PROMPT-MMD-BACKEND-AGENT.md` | `/home/isem/workspace/...` |
| `orchestration/inventarios/MASTER_INVENTORY.yml` | `/home/isem/workspace/...` |
| `orchestration/00-guidelines/HERENCIA-SIMCO.md` | `/home/isem/workspace/...` |
---
## Plan de Limpieza
### Fase 1: Eliminar Archivos de Analisis Historico
Estos archivos fueron utiles para el analisis pero no deben permanecer:
```
MOVER A: docs/99-historico/ (o eliminar)
- docs/90-transversal/ANALISIS-ARQUITECTONICO-IMPLEMENTACION.md
- docs/90-transversal/PLAN-RESOLUCION-GAPS.md (parcial)
```
### Fase 2: Reescribir Archivos de Herencia
```
REESCRIBIR COMPLETAMENTE:
- database/HERENCIA-ERP-CORE.md → ARQUITECTURA-DATABASE.md
- orchestration/00-guidelines/HERENCIA-ERP-CORE.md → ELIMINAR
- orchestration/00-guidelines/HERENCIA-SPECS-ERP-CORE.md → ELIMINAR
- orchestration/00-guidelines/HERENCIA-DIRECTIVAS.md → DIRECTIVAS-PROYECTO.md
```
### Fase 3: Editar Referencias en Documentacion
```
EDITAR:
- README.md: Eliminar "Extiende erp-core"
- PROJECT-STATUS.md: Eliminar metricas Odoo/erp-core
- docs/00-vision-general/VISION.md: Reescribir seccion herencia
- docs/08-epicas/README.md: Eliminar tabla MGN
- docs/02-definicion-modulos/*/README.md: Eliminar "Extiende MGN-*"
```
### Fase 4: Limpiar Comentarios SQL
```sql
-- ELIMINAR comentarios como:
-- "NOTA: Los schemas auth, core, inventory se heredan de erp-core"
-- "Referencia a auth.tenants de erp-core"
-- "Implementa patron mail.thread de Odoo adaptado"
```
### Fase 5: Corregir Rutas Absolutas
```yaml
# CAMBIAR de:
/home/isem/workspace/projects/erp-suite/apps/verticales/mecanicas-diesel
# A (rutas relativas):
./ (o eliminar rutas absolutas)
```
### Fase 6: Actualizar Inventarios
```
EDITAR:
- orchestration/inventarios/MASTER_INVENTORY.yml
- orchestration/inventarios/DATABASE_INVENTORY.yml
- orchestration/inventarios/BACKEND_INVENTORY.yml
- orchestration/inventarios/FRONTEND_INVENTORY.yml
```
---
## Configuracion de Puerto Compartido: PostgreSQL
El unico recurso compartido entre proyectos del workspace es PostgreSQL:
```yaml
PostgreSQL:
puerto: 5432
compartido: true
aislamiento:
- Cada proyecto tiene su propia BASE DE DATOS
- Cada proyecto tiene sus propios USUARIOS
- NO comparten schemas ni datos
- Multi-tenancy interno por tenant_id
Ejemplo:
proyecto_1:
database: mecanicas_diesel_db
user: mecanicas_user
proyecto_2:
database: construccion_db
user: construccion_user
```
**Protocolo DEVENV:**
- Puerto 5432 es el unico compartido (PostgreSQL server)
- Todos los demas puertos (backend, frontend, etc.) son UNICOS por proyecto
- SIEMPRE consultar DEVENV antes de asignar nuevos puertos
---
## Proximos Pasos
1. **[PENDIENTE]** Ejecutar limpieza de referencias
2. **[PENDIENTE]** Validar que el proyecto sea completamente standalone
3. **[PENDIENTE]** Actualizar PROJECT-STATUS.md despues de limpieza
4. **[LISTO]** Iniciar desarrollo con TECH-LEADER
---
## Notas Importantes
### El Proyecto ES Independiente
Aunque hay muchas referencias a erp-core y Odoo en la documentacion, el codigo DDL y la estructura del proyecto **YA SON INDEPENDIENTES**:
- Los schemas son propios (`service_management`, `parts_management`, etc.)
- No hay FKs reales a erp-core
- Las funciones RLS son propias
- Los seeds son propios
Las referencias son **documentales** (para trazabilidad del analisis), no **funcionales**.
### Recomendacion
Antes de limpiar, considerar si vale la pena mantener un archivo `docs/99-historico/ORIGEN-PATRONES.md` que documente de donde vinieron los patrones sin que sea parte activa del proyecto.
---
**Documento creado por:** Architecture-Analyst
**Fecha:** 2025-12-12
**Para uso de:** TECH-LEADER al iniciar desarrollo