312 lines
9.6 KiB
Markdown
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
|