# Herencia SIMCO - ERP Construcción

**Sistema:** SIMCO v2.2.0 + CAPVED + CCA Protocol
**Fecha:** 2025-12-08

---

## Configuración del Proyecto

| Propiedad | Valor |
|-----------|-------|
| **Proyecto** | ERP Construcción - Vertical para Constructoras |
| **Nivel** | VERTICAL (Nivel 3) |
| **Padre** | erp-core |
| **Suite** | erp-suite |
| **SIMCO Version** | 2.2.0 |
| **CAPVED** | Habilitado |
| **CCA Protocol** | Habilitado |

## Jerarquía de Herencia

```
Nivel 0: core/orchestration/                    ← FUENTE PRINCIPAL (76 docs)
    │
    └── Nivel 1: erp-suite/orchestration/
            │
            └── Nivel 2: erp-core/orchestration/ ← PADRE DIRECTO
                    │
                    └── Nivel 3: construccion/orchestration/ ← ESTE PROYECTO
```

**Regla:** Las directivas de nivel inferior pueden EXTENDER las superiores, nunca REDUCIRLAS.

**Estado del Proyecto:** 35% completado (vertical más avanzada)

---

## Directivas Heredadas de CORE (OBLIGATORIAS)

Ubicación: `core/orchestration/`

### 1. Ciclo de Vida - USAR SIEMPRE

| Alias | Archivo | Propósito |
|-------|---------|-----------|
| `@TAREA` | `directivas/simco/SIMCO-TAREA.md` | Punto de entrada para toda HU |
| `@CAPVED` | `directivas/principios/PRINCIPIO-CAPVED.md` | Ciclo de 6 fases |
| `@INICIALIZACION` | `directivas/simco/SIMCO-INICIALIZACION.md` | Bootstrap de agentes |

### 2. Operaciones Universales

| Alias | Archivo | Propósito |
|-------|---------|-----------|
| `@CREAR` | `SIMCO-CREAR.md` | Crear archivos nuevos |
| `@MODIFICAR` | `SIMCO-MODIFICAR.md` | Modificar existentes |
| `@VALIDAR` | `SIMCO-VALIDAR.md` | Validar código |
| `@DOCUMENTAR` | `SIMCO-DOCUMENTAR.md` | Documentar trabajo |
| `@BUSCAR` | `SIMCO-BUSCAR.md` | Buscar información |
| `@DELEGAR` | `SIMCO-DELEGACION.md` | Delegar a subagentes |

### 3. Catálogo de Funcionalidades

| Alias | Archivo | Propósito |
|-------|---------|-----------|
| `@CATALOG` | `catalog/` | Funcionalidades reutilizables |
| `@CATALOG_INDEX` | `catalog/CATALOG-INDEX.yml` | Índice |
| `@REUTILIZAR` | `SIMCO-REUTILIZAR.md` | Antes de implementar |
| `@CONTRIBUIR` | `SIMCO-CONTRIBUIR-CATALOGO.md` | Después de crear |

### 4. Principios Fundamentales (5)

| Alias | Resumen |
|-------|---------|
| `@CAPVED` | Toda tarea pasa por 6 fases |
| `@DOC_PRIMERO` | Consultar docs/ antes de implementar |
| `@ANTI_DUP` | Verificar que no existe antes de crear |
| `@VALIDACION` | Build y lint DEBEN pasar |
| `@TOKENS` | Desglosar tareas grandes |

---

## Directivas por Dominio Técnico

| Alias | Aplica | Notas |
|-------|--------|-------|
| `@OP_DDL` | **SÍ** | 7 schemas de construcción |
| `@OP_BACKEND` | **SÍ** | Servicios específicos |
| `@OP_FRONTEND` | **SÍ** | UI de construcción |
| `@OP_MOBILE` | **SÍ** | App de campo |
| `@OP_ML` | NO | - |

---

## Patrones Heredados (OBLIGATORIOS)

| Patrón | Uso en Construcción |
|--------|---------------------|
| `MAPEO-TIPOS-DDL-TYPESCRIPT.md` | 7 schemas ↔ Entities |
| `PATRON-VALIDACION.md` | DTOs de proyectos, obras |
| `PATRON-EXCEPTION-HANDLING.md` | Errores de construcción |
| `PATRON-TESTING.md` | Tests de módulos MAI-* |
| `PATRON-LOGGING.md` | Trazabilidad de obras |
| `PATRON-SEGURIDAD.md` | RLS por constructora |
| `PATRON-TRANSACCIONES.md` | Operaciones de presupuesto |
| `ANTIPATRONES.md` | Evitar siempre |
| `NOMENCLATURA-UNIFICADA.md` | Consistencia |

---

## Directivas Heredadas de ERP Core (Nivel 2)

Ubicación: `erp-core/orchestration/`

| Directiva | Propósito | Extensión Local |
|-----------|-----------|-----------------|
| `DIRECTIVA-MULTI-TENANT.md` | RLS por tenant | Por `constructora_id` |
| `DIRECTIVA-EXTENSION-VERTICALES.md` | Cómo extender | 15 módulos MAI-* |
| `DIRECTIVA-PATRONES-ODOO.md` | Patrones ERP | Adaptados a construcción |

---

## Directivas Específicas de Construcción

Ubicación: `./directivas/`

| Directiva Local | Extiende | Propósito |
|-----------------|----------|-----------|
| `DIRECTIVA-PROYECTOS-OBRA.md` | `@OP_DDL` | Gestión de proyectos/obras |
| `DIRECTIVA-PRESUPUESTOS.md` | `@OP_BACKEND` | Estimaciones y costos |
| `DIRECTIVA-AVANCES-OBRA.md` | `@OP_BACKEND` | Registro de avances |
| `DIRECTIVA-INFONAVIT.md` | `@OP_BACKEND` | Integración INFONAVIT |

---

## Variables de Contexto CCA

```yaml
# Variables para resolver en ALIASES y templates
PROJECT_NAME: "construccion"
PROJECT_LEVEL: "VERTICAL"
PROJECT_ROOT: "./"
PARENT_PROJECT: "erp-core"
SUITE_PROJECT: "erp-suite"

# Rutas específicas
DB_DDL_PATH: "database/ddl"
BACKEND_ROOT: "backend/src"
FRONTEND_ROOT: "frontend/src"
DOCS_ROOT: "./docs/"

# Documentación extensa (403+ archivos)
DOCS_FASE_1: "../../../../docs/verticales/construccion/01-fase-alcance-inicial"
DOCS_FASE_2: "../../../../docs/verticales/construccion/02-fase-enterprise"
DOCS_SCHEMAS: "../../../../docs/verticales/construccion/02-modelado/database-design"

# Stack
BACKEND_FRAMEWORK: "Express.js"
ORM: "TypeORM"
FRONTEND_FRAMEWORK: "React"

# Inventarios
MASTER_INVENTORY: "orchestration/inventarios/MASTER_INVENTORY.yml"
DATABASE_INVENTORY: "orchestration/inventarios/DATABASE_INVENTORY.yml"
BACKEND_INVENTORY: "orchestration/inventarios/BACKEND_INVENTORY.yml"
FRONTEND_INVENTORY: "orchestration/inventarios/FRONTEND_INVENTORY.yml"

# Multi-tenant específico
TENANT_COLUMN: "constructora_id"
RLS_CONTEXT: "app.current_constructora_id"
```

---

## Schemas de Base de Datos (7)

| Schema | Descripción | Módulos |
|--------|-------------|---------|
| `auth_management` | Autenticación (hereda core) | MAI-AUTH |
| `project_management` | Proyectos, desarrollos, fases | MAI-PRJ, MAI-DEV |
| `financial_management` | Presupuestos, estimaciones | MAI-FIN |
| `purchasing_management` | Compras, proveedores | MAI-PUR |
| `construction_management` | Avances, recursos, materiales | MAI-CON |
| `quality_management` | Inspecciones, calidad | MAI-QUA |
| `infonavit_management` | Integración INFONAVIT | MAI-INF |

---

## Módulos MAI-* (15)

| Módulo | Descripción | Estado |
|--------|-------------|--------|
| MAI-AUTH | Autenticación | Hereda core |
| MAI-USR | Usuarios | Hereda core |
| MAI-PRJ | Proyectos | 60% |
| MAI-DEV | Desarrollos | 40% |
| MAI-LOT | Lotes | 30% |
| MAI-CLI | Clientes | 50% |
| MAI-FIN | Finanzas | 20% |
| MAI-PUR | Compras | 10% |
| MAI-CON | Construcción | 30% |
| MAI-QUA | Calidad | 10% |
| MAI-INV | Inventarios | 10% |
| MAI-RPT | Reportes | 5% |
| MAI-NOT | Notificaciones | 0% |
| MAI-AUD | Auditoría | Hereda core |
| MAI-INF | INFONAVIT | 0% |

---

## Flujo de Trabajo para Desarrollo

```yaml
# PASO 1: Cargar contexto (CCA)
CARGAR:
  - @TAREA
  - @CAPVED
  - @INICIALIZACION
  - ../../erp-core/HERENCIA-SIMCO.md
  - ../../../erp-suite/HERENCIA-SIMCO.md

# PASO 2: Verificar documentación existente
VERIFICAR_DOCS:
  - docs/verticales/construccion/  # 403+ archivos
  - @DOC_PRIMERO

# PASO 3: Verificar catálogo
VERIFICAR_CATALOGO:
  - @CATALOG_INDEX
  - @REUTILIZAR

# PASO 4: Seleccionar operación
OPERACION:
  - @OP_DDL         # 7 schemas
  - @OP_BACKEND     # Servicios MAI-*
  - @OP_FRONTEND    # UI construcción

# PASO 5: Aplicar patrones
PATRONES:
  - @PATRON-VALIDACION
  - @PATRON-SEGURIDAD  # Multi-tenant obligatorio

# PASO 6: Validar impactos
IMPACTOS:
  - @IMPACTO-CAMBIOS-DDL
  - @MATRIZ-DEPENDENCIAS

# PASO 7: Documentar
CIERRE:
  - @DOCUMENTAR
  - Actualizar docs/verticales/construccion/
```

---

## Documentación Crítica (403+ archivos)

**OBLIGATORIO:** Validar contra documentación antes de implementar.

| Ruta | Contenido | Archivos |
|------|-----------|----------|
| `01-fase-alcance-inicial/` | Specs de módulos MAI-* | ~200 |
| `02-fase-enterprise/` | Épicas MAE-* | ~50 |
| `02-modelado/database-design/` | Schemas SQL | ~100 |

---

## Mapeo: Directivas Antiguas → SIMCO

| Directiva Antigua | Reemplazada Por | Alias |
|-------------------|-----------------|-------|
| `DIRECTIVA-FLUJO-5-FASES.md` | `SIMCO-TAREA.md` + `PRINCIPIO-CAPVED.md` | @TAREA, @CAPVED |
| `DIRECTIVA-VALIDACION-DOCUMENTACION.md` | `PRINCIPIO-DOC-PRIMERO.md` | @DOC_PRIMERO |
| `POLITICAS-MODULARIZACION.md` | `ANTIPATRONES.md` | @ANTIPATRONES |
| `DIRECTIVA-DISENO-BASE-DATOS.md` | `SIMCO-DDL.md` | @OP_DDL |

---

**Sistema:** SIMCO v2.2.0 + CAPVED + CCA Protocol
**Nivel:** VERTICAL (3)
**Última actualización:** 2025-12-08
