michangarrito/orchestration/00-guidelines/HERENCIA-SIMCO.md
rckrdmrd 928eb795e6 [SIMCO-V38] feat: Actualizar a SIMCO v3.8.0 + cambios apps
- HERENCIA-SIMCO.md actualizado con directivas v3.7 y v3.8
- Cambios en backend y frontend

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

326 lines
9.5 KiB
Markdown

# Herencia SIMCO - MiChangarrito
**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** | MiChangarrito - POS Inteligente para Micro-negocios |
| **Código** | MCH |
| **Nivel** | STANDALONE (Nivel 2A) |
| **Padre** | workspace/orchestration |
| **SIMCO Version** | 3.8.0 |
| **CAPVED** | Habilitado |
| **CCA Protocol** | Habilitado |
## Jerarquía de Herencia
```
Nivel 0: workspace/orchestration/ <- WORKSPACE (directivas globales)
|
+-- STANDALONE: michangarrito/orchestration/ <- ESTE PROYECTO
michangarrito/docs/ <- DOCUMENTACION
```
**Regla:** Las directivas locales pueden EXTENDER las del workspace, nunca REDUCIRLAS.
**Estado del Proyecto:** MVP En desarrollo
---
## Directivas Heredadas de WORKSPACE (OBLIGATORIAS)
Ubicación: `workspace/orchestration/`
| Alias | Archivo | Propósito |
|-------|---------|-----------|
| `@CARGA-CONTEXTO` | `directivas/DIRECTIVA-CARGA-CONTEXTO.md` | Como cargar contexto según nivel |
| `@INDICE` | `INDICE-DIRECTIVAS-WORKSPACE.yml` | Indice maestro de directivas |
---
## Directivas de 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 |
| `@DOC-DEFINITIVA` | `directivas/DIRECTIVA-DOCUMENTACION-DEFINITIVA.md` | Docs como estado final |
---
## 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 |
---
## 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Í** | 11 schemas, 47 tablas |
| `@OP_BACKEND` | **SÍ** | NestJS, 17 módulos |
| `@OP_FRONTEND` | **SÍ** | React + Vite |
| `@OP_MOBILE` | **SÍ** | React Native (Expo) |
| `@OP_ML` | NO | (LLM via MCP, no ML propio) |
---
## 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 (MCH-) | **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 (WhatsApp, Stripe, etc.) |
| `@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/`
**Nuevas directivas agregadas en v3.8 para mantenimiento, purga y sincronización de documentació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` |
---
## Patrones Aplicables
| Patrón | Uso en MiChangarrito |
|--------|----------------------|
| `MAPEO-TIPOS-DDL-TYPESCRIPT.md` | 9 schemas -> Entities |
| `PATRON-VALIDACION.md` | class-validator en DTOs |
| `PATRON-EXCEPTION-HANDLING.md` | Filtros NestJS |
| `PATRON-TESTING.md` | Jest + e2e tests |
| `PATRON-SEGURIDAD.md` | JWT, multi-tenant RLS |
| `PATRON-TRANSACCIONES.md` | TypeORM transactions |
| `ANTIPATRONES.md` | Evitar siempre |
---
## Variables de Contexto CCA
```yaml
# Identificación del Proyecto
PROJECT_NAME: "michangarrito"
PROJECT_CODE: "MCH"
PROJECT_LEVEL: "STANDALONE"
PROJECT_ROOT: "/home/isem/workspace-v1/projects/michangarrito"
# Rutas principales
APPS_ROOT: "apps"
DOCS_ROOT: "docs"
ORCHESTRATION: "orchestration"
# Base de Datos
DB_NAME: "michangarrito"
DB_DDL_PATH: "database/schemas"
DB_SCRIPTS_PATH: "database"
DB_SEEDS_PATH: "database/seeds"
# Backend (NestJS)
BACKEND_ROOT: "apps/backend"
BACKEND_SRC: "apps/backend/src"
BACKEND_FRAMEWORK: "NestJS"
ORM: "TypeORM"
# Frontend (React)
FRONTEND_ROOT: "apps/frontend"
FRONTEND_SRC: "apps/frontend/src"
FRONTEND_FRAMEWORK: "React"
BUILD_TOOL: "Vite"
# Mobile (React Native)
MOBILE_ROOT: "apps/mobile"
MOBILE_FRAMEWORK: "React Native (Expo)"
# Servicios Adicionales
MCP_SERVER_ROOT: "apps/mcp-server"
WHATSAPP_SERVICE_ROOT: "apps/whatsapp-service"
# Multi-tenant
TENANT_COLUMN: "tenant_id"
RLS_CONTEXT: "app.current_tenant_id"
# Inventarios
MASTER_INVENTORY: "orchestration/inventarios/MASTER_INVENTORY.yml"
```
---
## Schemas de Base de Datos (9)
| Schema | Descripción | Tablas |
|--------|-------------|--------|
| `auth` | Autenticación, tokens | ~4 |
| `users` | Usuarios y roles | ~3 |
| `tenants` | Multi-tenancy | ~3 |
| `catalog` | Productos, categorías | ~4 |
| `sales` | Ventas, transacciones | ~4 |
| `inventory` | Stock, movimientos | ~3 |
| `payments` | Pagos, integraciones | ~3 |
| `ai` | Tokens IA, conversaciones | ~2 |
| `whatsapp` | Mensajes, sesiones | ~3 |
**Total:** 29 tablas
---
## Integraciones Externas (Usar @INTEGRACIONES)
| Integración | Proveedor | Estado | Documentar con |
|-------------|-----------|--------|----------------|
| WhatsApp | Meta Business API | Implementado | `@TPL_INTEGRACION` |
| Pagos | Stripe | Implementado | `@TPL_INTEGRACION` |
| Terminal | Mercado Pago | Pendiente | `@TPL_INTEGRACION` |
| Terminal | Clip | Pendiente | `@TPL_INTEGRACION` |
| CoDi | Banxico | Pendiente | `@TPL_INTEGRACION` |
| LLM Gateway | OpenRouter | Implementado | `@TPL_INTEGRACION` |
| OCR | Google Vision/Tesseract | Pendiente | `@TPL_INTEGRACION` |
| Audio | Whisper | Pendiente | `@TPL_INTEGRACION` |
---
## Perfiles de Agentes más usados
| Perfil | Especialización | Frecuencia |
|--------|-----------------|------------|
| `PERFIL-DATABASE.md` | PostgreSQL, 9 schemas | Alta |
| `PERFIL-BACKEND.md` | NestJS, TypeORM | Alta |
| `PERFIL-FRONTEND.md` | React, Vite | Alta |
| `PERFIL-MOBILE.md` | React Native, Expo | Alta |
| `PERFIL-CODE-REVIEWER.md` | Revisión de código | Media |
---
## Flujo de Trabajo para Desarrollo
```yaml
# PASO 1: Cargar contexto (CCA)
CARGAR:
- @TAREA
- @CAPVED
- @INICIALIZACION
- ./CONTEXTO-PROYECTO.md
# PASO 2: Seleccionar operación
OPERACION:
- @OP_DDL # 9 schemas
- @OP_BACKEND # NestJS
- @OP_FRONTEND # React
- @OP_MOBILE # React Native
# PASO 3: Aplicar patrones
PATRONES:
- @PATRON-VALIDACION
- @PATRON-EXCEPTION-HANDLING
- @PATRON-SEGURIDAD
# PASO 4: Validar
VALIDAR:
- npm run build
- npm run lint
- npm run test
# PASO 5: Documentar
CIERRE:
- @DOCUMENTAR
- Actualizar inventarios
```
---
## Nomenclatura del Proyecto
Prefijo: **MCH-**
| Tipo | Formato | Ejemplo |
|------|---------|---------|
| Épicas | MCH-E{NN} | MCH-E01-auth |
| Requerimientos | MCH-RF-{NNN} | MCH-RF-001 |
| Specs | MCH-ET-{TIPO}-{NNN} | MCH-ET-API-001 |
| Historias | MCH-US-{NNN} | MCH-US-001 |
---
**Sistema:** SIMCO v3.8.0 + CAPVED + CCA Protocol + Estándares Documentación + Mantenimiento Docs
**Nivel:** STANDALONE (2A)
**Última actualización:** 2026-01-10