Sistema NEXUS v3.4 migrado con: Estructura principal: - core/orchestration: Sistema SIMCO + CAPVED (27 directivas, 28 perfiles) - core/catalog: Catalogo de funcionalidades reutilizables - shared/knowledge-base: Base de conocimiento compartida - devtools/scripts: Herramientas de desarrollo - control-plane/registries: Control de servicios y CI/CD - orchestration/: Configuracion de orquestacion de agentes Proyectos incluidos (11): - gamilit (submodule -> GitHub) - trading-platform (OrbiquanTIA) - erp-suite con 5 verticales: - erp-core, construccion, vidrio-templado - mecanicas-diesel, retail, clinicas - betting-analytics - inmobiliaria-analytics - platform_marketing_content - pos-micro, erp-basico Configuracion: - .gitignore completo para Node.js/Python/Docker - gamilit como submodule (git@github.com:rckrdmrd/gamilit-workspace.git) - Sistema de puertos estandarizado (3005-3199) Generated with NEXUS v3.4 Migration System EPIC-010: Configuracion Git y Repositorios
8.8 KiB
8.8 KiB
DIRECTIVA: Referencias Entre Proyectos
Versión: 1.0.0 Fecha: 2025-12-12 Tipo: Directiva Operativa - CUMPLIMIENTO OBLIGATORIO Aplica a: Todos los agentes, toda documentación de orchestration
PROBLEMA QUE RESUELVE
╔══════════════════════════════════════════════════════════════════════╗
║ ║
║ CADA PROYECTO DEBE SER INDEPENDIENTE Y AUTO-CONTENIDO ║
║ ║
║ "Un proyecto NO debe depender de otro proyecto para funcionar." ║
║ "Las referencias cruzadas generan acoplamiento y confusión." ║
║ ║
╚══════════════════════════════════════════════════════════════════════╝
Síntomas del problema:
- Documentación con "Proyecto de referencia: X"
- Rutas hardcodeadas a otros proyectos (
projects/gamilit/...) - Directivas genéricas con nombres de proyectos específicos
- Prompts que referencian código de otros proyectos
REGLA FUNDAMENTAL
┌─────────────────────────────────────────────────────────────────────┐
│ │
│ NUNCA referenciar un proyecto desde otro proyecto. │
│ SIEMPRE usar core/catalog/ o core/orchestration/ como fuente. │
│ │
└─────────────────────────────────────────────────────────────────────┘
CLASIFICACIÓN DE REFERENCIAS
REFERENCIAS VÁLIDAS
| Tipo | Ejemplo | Uso Correcto |
|---|---|---|
| Core Catalog | core/catalog/auth/ |
Componentes reutilizables |
| Core Orchestration | core/orchestration/directivas/ |
Directivas y templates |
| Subproyecto Interno | erp-suite/apps/erp-core/ |
Solo desde la misma suite |
| Ejemplos Ilustrativos | ejemplos: "gamilit, trading" |
Solo como ilustración marcada |
| Histórico/Migración | "Se adaptaron patrones de X" | Documentación de decisiones |
REFERENCIAS PROHIBIDAS
| Tipo | Ejemplo | Por Qué Es Problema |
|---|---|---|
| "Proyecto de referencia" | Proyecto referencia: gamilit |
Crea dependencia falsa |
| Rutas directas | projects/gamilit/apps/backend/ |
Acoplamiento entre proyectos |
| Headers específicos | **Proyecto:** GAMILIT en directiva genérica |
Limita aplicabilidad |
| Importaciones | "copiar de projects/X" | Rompe independencia |
JERARQUÍA DE DEPENDENCIAS PERMITIDA
JERARQUÍA_VÁLIDA:
Nivel_0_Core:
- core/catalog/ # Funcionalidades reutilizables
- core/orchestration/ # Directivas y templates
- core/devtools/ # Herramientas de desarrollo
Nivel_1_Proyecto:
puede_depender_de:
- Nivel_0_Core # ✓ SIEMPRE PERMITIDO
NO_puede_depender_de:
- Otros proyectos # ✗ PROHIBIDO
Nivel_2_Subproyecto:
puede_depender_de:
- Nivel_0_Core # ✓ PERMITIDO
- Suite padre # ✓ PERMITIDO (ej: vertical → erp-core)
NO_puede_depender_de:
- Otros proyectos # ✗ PROHIBIDO
- Otras suites # ✗ PROHIBIDO
PROCEDIMIENTO DE VALIDACIÓN
Al Crear Documentación
CHECKLIST_CREACIÓN:
- [ ] ¿La sección "Referencias" apunta solo a core/?
- [ ] ¿NO existe línea "Proyecto de referencia"?
- [ ] ¿Las rutas NO contienen "projects/{otro-proyecto}/"?
- [ ] ¿Los ejemplos están claramente marcados como tales?
- [ ] ¿El header NO tiene nombre de proyecto específico?
Al Revisar Documentación Existente
# Buscar referencias problemáticas
grep -r "Proyecto referencia" orchestration/
grep -r "projects/gamilit" orchestration/
grep -r "projects/trading" orchestration/
grep -r "projects/erp-suite" orchestration/ # Excepto si estás EN erp-suite
# Buscar rutas obsoletas
grep -r "workspace-gamilit" .
CÓMO CORREGIR REFERENCIAS PROBLEMÁTICAS
Caso 1: "Proyecto de Referencia"
ANTES:
| Proyecto referencia | `/home/isem/workspace/projects/gamilit/` |
DESPUÉS:
# ELIMINAR la línea completamente
# O cambiar a:
| Catálogo global | `/home/isem/workspace/core/catalog/` |
Caso 2: Ruta a Otro Proyecto
ANTES:
- Patrones auth: `projects/gamilit/apps/backend/src/auth/`
DESPUÉS:
- Patrones auth: `core/catalog/auth/`
Caso 3: Lista de Proyectos de Referencia
ANTES:
## Proyectos de Referencia
| Proyecto | Path | Patrones |
| Gamilit | projects/gamilit/ | Auth, RLS |
DESPUÉS:
## Patrones de Referencia (desde Catálogo)
> **Nota:** Usar siempre core/catalog/ para componentes reutilizables.
| Patrón | Catálogo |
| Auth | core/catalog/auth/ |
| RLS | core/catalog/multi-tenancy/ |
Caso 4: Directiva con Header de Proyecto
ANTES:
**Proyecto:** GAMILIT - Sistema de Gamificación
DESPUÉS:
# Si es directiva específica del proyecto:
**Proyecto:** {nombre del proyecto actual}
# Si es directiva genérica (en core/):
# ELIMINAR el header de proyecto
EXCEPCIONES PERMITIDAS
1. Documentación Histórica
# Migración de Supabase a Express
**Contexto histórico:** Se adaptaron patrones del proyecto Gamilit...
# ✓ VÁLIDO: Explica decisiones pasadas, no crea dependencia
2. Inventario de Puertos
# DEVENV-PORTS-INVENTORY.yml
projects:
gamilit:
range: "3000-3099"
trading-platform:
range: "3200-3299"
# ✓ VÁLIDO: Es inventario del workspace, no dependencia
3. Ejemplos Ilustrativos en SIMCO
NIVEL_2A_STANDALONE:
ejemplos: "gamilit, trading-platform, betting-analytics"
# ✓ VÁLIDO: Claramente marcado como ejemplo, no como dependencia
4. Origen de Funcionalidades en Catálogo
| Funcionalidad | Origen |
| auth | Gamilit |
# ✓ VÁLIDO: Indica procedencia histórica en catálogo centralizado
INTEGRACIÓN CON SISTEMA SIMCO
Al Inicializar Proyecto (SIMCO-INICIALIZACION)
PASO_ADICIONAL:
verificar_referencias:
- Revisar CONTEXTO-PROYECTO.md generado
- Confirmar que NO tiene "Proyecto de referencia"
- Confirmar referencias apuntan a core/
Al Crear Documentación (SIMCO-DOCUMENTAR)
VALIDACIÓN_ADICIONAL:
antes_de_commit:
- grep "Proyecto referencia" {archivo}
- grep "projects/{otro}" {archivo}
- Si encuentra → CORREGIR antes de continuar
En Delegaciones (SIMCO-DELEGACION)
CONTEXTO_A_PASAR:
referencias_permitidas:
- core/catalog/
- core/orchestration/
- {proyecto_actual}/ # Solo interno
referencias_prohibidas:
- projects/{otro}/
CHECKLIST DE AUDITORÍA
Para validar un proyecto completo:
#!/bin/bash
# audit-references.sh
PROJECT=$1
echo "=== Auditoría de Referencias: $PROJECT ==="
echo ""
echo "1. Buscando 'Proyecto referencia'..."
grep -rn "Proyecto referencia" "$PROJECT/orchestration/" && echo " ⚠️ ENCONTRADO" || echo " ✓ OK"
echo ""
echo "2. Buscando referencias a otros proyectos..."
for other in gamilit trading-platform erp-suite betting-analytics inmobiliaria-analytics platform_marketing_content; do
if [ "$other" != "$(basename $PROJECT)" ]; then
count=$(grep -rn "projects/$other" "$PROJECT/orchestration/" 2>/dev/null | wc -l)
if [ $count -gt 0 ]; then
echo " ⚠️ $count referencias a $other"
fi
fi
done
echo ""
echo "3. Buscando rutas obsoletas..."
grep -rn "workspace-gamilit" "$PROJECT/" && echo " ⚠️ ENCONTRADO" || echo " ✓ OK"
echo ""
echo "=== Fin de Auditoría ==="
REFERENCIAS
- Principio relacionado:
PRINCIPIO-ANTI-DUPLICACION.md - Catálogo global:
core/catalog/ - Templates:
core/orchestration/templates/ - Índice SIMCO:
core/orchestration/directivas/simco/_INDEX.md
Versión: 1.0.0 | Sistema: SIMCO v3.2 | Mantenido por: Workspace Manager