erp-construccion/orchestration/00-guidelines/HERENCIA-SIMCO.md
rckrdmrd 1b19b82073
Some checks failed
CI Pipeline / Lint & Type Check (push) Has been cancelled
CI Pipeline / Validate SSOT Constants (push) Has been cancelled
CI Pipeline / Backend Tests (push) Has been cancelled
CI Pipeline / Frontend Tests (push) Has been cancelled
CI Pipeline / Build (push) Has been cancelled
CI Pipeline / Docker Build (push) Has been cancelled
[SIMCO-V38] docs: Actualizar HERENCIA-SIMCO.md a v3.8.0
- Agregar seccion Directivas de Documentacion (v3.7)
- Agregar seccion Directivas de Mantenimiento (v3.8)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-10 08:53:21 -06:00

353 lines
11 KiB
Markdown

# Herencia SIMCO - ERP Construcción
**Sistema:** SIMCO v3.8.0 + CAPVED + CCA Protocol + Estándares Documentación + Mantenimiento Docs
**Fecha:** 2026-01-10
---
## 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** | 3.8.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 de Documentación (SIMCO v3.7)
Ubicación: `workspace/orchestration/directivas/simco/`
**Directivas de estandarización de documentación:**
| Alias | Directiva | Propósito | Aplica |
|-------|-----------|-----------|--------|
| `@DOC_PROYECTO` | `SIMCO-DOCUMENTACION-PROYECTO.md` | Estructura base de documentación | **SÍ** |
| `@NOMENCLATURA` | `SIMCO-NOMENCLATURA.md` | Convenciones de nomenclatura | **SÍ** |
| `@ESTRUCTURA_DOCS` | `SIMCO-ESTRUCTURA-DOCS.md` | Estructura interna de documentos | **SÍ** |
| `@INVENTARIOS` | `SIMCO-INVENTARIOS.md` | Estándares de inventarios YAML | **SÍ** |
| `@TESTING` | `SIMCO-TESTING.md` | Cobertura y estándares de testing | **SÍ** |
| `@MIGRACIONES` | `SIMCO-MIGRACIONES-BD.md` | Migraciones y DDL | **SÍ** |
| `@INTEGRACIONES` | `SIMCO-INTEGRACIONES-EXTERNAS.md` | Documentación de integraciones | **SÍ** |
### Checklists Asociados
| Alias | Checklist | Items |
|-------|-----------|-------|
| `@CHK_DOCUMENTACION` | `CHECKLIST-DOCUMENTACION-PROYECTO.md` | 44 |
| `@CHK_INVENTARIOS` | `CHECKLIST-INVENTARIOS.md` | 63 |
| `@CHK_NOMENCLATURA` | `CHECKLIST-NOMENCLATURA.md` | 40 |
### Templates Disponibles
| Alias | Template | Uso |
|-------|----------|-----|
| `@TPL_INVENTARIO` | `TEMPLATE-INVENTARIO-PROYECTO.md` | Crear inventarios YAML |
| `@TPL_INTEGRACION` | `TEMPLATE-INTEGRACION-EXTERNA.md` | Documentar integraciones |
| `@TPL_MODULO_ESTANDAR` | `TEMPLATE-MODULO-ESTANDAR.md` | Documentar módulos |
---
## Directivas de Mantenimiento de Documentación (SIMCO v3.8)
Ubicación: `workspace/orchestration/directivas/simco/`
**Directivas de mantenimiento, purga y sincronización:**
| Alias | Directiva | Propósito | Aplica |
|-------|-----------|-----------|--------|
| `@MANTENIMIENTO_DOCS` | `SIMCO-MANTENIMIENTO-DOCUMENTACION.md` | Ciclo de mantenimiento, purga y deprecación | **SÍ** |
| `@SYNC_BD` | `SIMCO-SINCRONIZACION-BD.md` | Sincronización BD ↔ Código ↔ Docs | **SÍ** |
### Checklists de Mantenimiento
| Alias | Checklist | Items |
|-------|-----------|-------|
| `@CHK_MANTENIMIENTO` | `CHECKLIST-MANTENIMIENTO-DOCS.md` | 80 |
| `@CHK_SYNC_BD` | `CHECKLIST-SINCRONIZACION-BD.md` | 70 |
### Templates y Perfiles
| Alias | Archivo | Uso |
|-------|---------|-----|
| `@TPL_DEPRECACION` | `TEMPLATE-DEPRECACION.md` | Marcar documentos como deprecados |
| `@PERFIL_DOC_MAINT` | `PERFIL-DOCUMENTATION-MAINTAINER.md` | Perfil especializado en mantenimiento |
### Cuándo Usar
| Evento | Acción |
|--------|--------|
| Tarea completada (código) | `@MANTENIMIENTO_DOCS` nivel básico |
| Cambio en DDL | `@SYNC_BD` + `@CHK_SYNC_BD` |
| Fin de sprint/fase | `@CHK_MANTENIMIENTO` completo |
| Deprecar documentos | `@TPL_DEPRECACION` |
**IMPORTANTE para Construcción:** Con 7 schemas y 403+ archivos de documentación, ejecutar `@CHK_MANTENIMIENTO` después de cada sprint.
---
## 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 v3.8.0 + CAPVED + CCA Protocol + Estándares Documentación + Mantenimiento Docs
**Nivel:** VERTICAL (3)
**Última actualización:** 2026-01-10