- Updated database submodule - Added SIMCO directivas - Updated inventory files Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
317 lines
14 KiB
Markdown
317 lines
14 KiB
Markdown
# PROPAGACION-ARCHITECTURE: Arquitectura de Propagacion del Workspace
|
|
|
|
**ID:** PROPAGACION-ARCHITECTURE
|
|
**Version:** 1.0.0
|
|
**Fecha:** 2026-01-13
|
|
**Autor:** CLAUDE-CAPVED
|
|
|
|
---
|
|
|
|
## Proposito
|
|
|
|
Este documento clarifica la arquitectura de propagacion del workspace, cuando usar cada mecanismo, y como se relacionan los diferentes componentes del sistema de propagacion.
|
|
|
|
---
|
|
|
|
## Jerarquia de Propagacion
|
|
|
|
```
|
|
┌─────────────────────────────────────────────────────────────────────────────┐
|
|
│ NIVELES DE PROPAGACION │
|
|
├─────────────────────────────────────────────────────────────────────────────┤
|
|
│ │
|
|
│ NIVEL 0: PROVIDER │
|
|
│ ┌──────────────────┐ │
|
|
│ │ template-saas │ → Provee funcionalidades base a todos │
|
|
│ │ (v1.2.1) │ │
|
|
│ └────────┬─────────┘ │
|
|
│ │ │
|
|
│ ▼ │
|
|
│ NIVEL 1: INTERMEDIATE │
|
|
│ ┌──────────────────┐ │
|
|
│ │ erp-core │ → Extiende y adapta para verticales ERP │
|
|
│ │ (v1.3.0) │ │
|
|
│ └────────┬─────────┘ │
|
|
│ │ │
|
|
│ ├─────────────────────────────────────────────────┐ │
|
|
│ ▼ ▼ │
|
|
│ NIVEL 2: CONSUMERS NIVEL 2: INTERMEDIATE │
|
|
│ ┌──────────────────┐ ┌──────────────────┐ │
|
|
│ │ erp-construccion │ │ erp-clinicas │ │
|
|
│ │ erp-mecanicas │ │ (v1.0.0) │ │
|
|
│ │ erp-retail │ └────────┬─────────┘ │
|
|
│ │ erp-vidrio │ │ │
|
|
│ └──────────────────┘ ▼ │
|
|
│ NIVEL 3: SUB-CONSUMERS │
|
|
│ ┌──────────────────┐ │
|
|
│ │ clinica-dental │ │
|
|
│ │ clinica-veterina │ │
|
|
│ └──────────────────┘ │
|
|
│ │
|
|
└─────────────────────────────────────────────────────────────────────────────┘
|
|
```
|
|
|
|
---
|
|
|
|
## Componentes del Sistema de Propagacion
|
|
|
|
### 1. Directivas
|
|
|
|
| Componente | Ubicacion | Proposito |
|
|
|------------|-----------|-----------|
|
|
| **MODE-PROPAGATION** | `directivas/modos/` | Modo de ejecucion para propagar cambios entre proyectos |
|
|
| **TRIGGER-PROPAGACION-AUTOMATICA** | `directivas/triggers/` | Activa automaticamente en Fase D para evaluar propagacion |
|
|
| **SIMCO-PROPAGACION** | `directivas/simco/` | Propagacion de documentacion en verticales (interno) |
|
|
|
|
### 2. Referencias
|
|
|
|
| Componente | Ubicacion | Proposito |
|
|
|------------|-----------|-----------|
|
|
| **PROPAGATION-CRITERIA-MATRIX** | `referencias/` | Matriz de criterios para decidir propagacion |
|
|
| **DEPENDENCY-GRAPH** | `orchestration/` | Grafo de dependencias entre proyectos |
|
|
| **TRACEABILITY-MASTER** | `orchestration/` | Trazabilidad centralizada del workspace |
|
|
|
|
### 3. Mirrors
|
|
|
|
| Componente | Ubicacion | Proposito |
|
|
|------------|-----------|-----------|
|
|
| **MIRRORS-INDEX** | `shared/mirrors/` | Indice de todos los repositorios espejo |
|
|
| **PROPAGATION-STATUS** | `shared/mirrors/{proyecto}/` | Estado de propagacion por proyecto |
|
|
|
|
---
|
|
|
|
## Cuando Usar Cada Mecanismo
|
|
|
|
### MODE-PROPAGATION (@PROPAGATE)
|
|
|
|
**Usar cuando:**
|
|
- Necesitas propagar un cambio especifico a multiples proyectos
|
|
- Cambio en erp-core que debe ir a verticales
|
|
- Fix de seguridad que afecta multiples proyectos
|
|
- Bug fix en modulo compartido
|
|
- Actualizacion de dependencias compartidas
|
|
|
|
**Ejemplos:**
|
|
```bash
|
|
@PROPAGATE-ERP Distribuir fix de JWT a verticales
|
|
@PROPAGATE-SECURITY Fix de vulnerabilidad XSS
|
|
@PROPAGATE-CATALOG Actualizar modulo de notificaciones
|
|
```
|
|
|
|
**Flujo:**
|
|
```
|
|
Cambio en origen → CAPVED completo → Aplicar en cada destino → Validar → Documentar
|
|
```
|
|
|
|
---
|
|
|
|
### TRIGGER-PROPAGACION-AUTOMATICA
|
|
|
|
**Usar cuando:**
|
|
- Se activa automaticamente al completar Fase D
|
|
- No lo invocas directamente, el sistema lo evalua
|
|
|
|
**Cuando se activa:**
|
|
1. Completas una tarea en proyecto con propagacion (erp-core, shared/catalog)
|
|
2. El trigger evalua tipo de cambio
|
|
3. Sugiere o inicia propagacion segun reglas
|
|
|
|
**Flujo:**
|
|
```
|
|
Tarea completada → Trigger evalua → Decide accion → Notifica o propaga
|
|
```
|
|
|
|
---
|
|
|
|
### SIMCO-PROPAGACION
|
|
|
|
**Usar cuando:**
|
|
- Propagas documentacion DENTRO de un proyecto vertical
|
|
- No es para propagacion ENTRE proyectos
|
|
- Es para estructurar documentacion de modulos heredados
|
|
|
|
**Cuando se usa:**
|
|
- Al documentar un modulo heredado en una vertical
|
|
- Para asegurar que la documentacion refleja la herencia
|
|
|
|
**NO usar para:**
|
|
- Propagar codigo entre proyectos (usar MODE-PROPAGATION)
|
|
- Propagar cambios de core a verticales (usar MODE-PROPAGATION)
|
|
|
|
---
|
|
|
|
## Flujo de Decision
|
|
|
|
```
|
|
┌─────────────────────────────────────────────────────────────────┐
|
|
│ PREGUNTA: Que necesitas propagar? │
|
|
└────────────────────────────┬────────────────────────────────────┘
|
|
│
|
|
┌──────────────┴──────────────┐
|
|
▼ ▼
|
|
┌────────────────┐ ┌─────────────────┐
|
|
│ CODIGO/CAMBIO │ │ DOCUMENTACION │
|
|
│ entre proyectos│ │ dentro de │
|
|
└───────┬────────┘ │ proyecto │
|
|
│ └────────┬────────┘
|
|
▼ │
|
|
┌────────────────────┐ ▼
|
|
│ Es security fix? │ ┌─────────────────┐
|
|
└─────────┬──────────┘ │ SIMCO-PROPAGACION│
|
|
│ │ (interno) │
|
|
┌────────┴────────┐ └─────────────────┘
|
|
▼ ▼
|
|
┌─────────┐ ┌─────────┐
|
|
│ SI │ │ NO │
|
|
└────┬────┘ └────┬────┘
|
|
│ │
|
|
▼ ▼
|
|
┌──────────────┐ ┌───────────────────────┐
|
|
│ @PROPAGATE- │ │ Es bug fix? │
|
|
│ SECURITY │ └───────────┬───────────┘
|
|
│ (inmediato) │ ┌──────┴──────┐
|
|
└──────────────┘ ▼ ▼
|
|
┌─────────┐ ┌─────────┐
|
|
│ SI │ │ NO │
|
|
└────┬────┘ └────┬────┘
|
|
│ │
|
|
▼ ▼
|
|
┌──────────────┐ ┌───────────────┐
|
|
│ @PROPAGATE- │ │ @PROPAGATE │
|
|
│ ERP │ │ (evaluar) │
|
|
│ (72h SLA) │ │ │
|
|
└──────────────┘ └───────────────┘
|
|
```
|
|
|
|
---
|
|
|
|
## SLAs Unificados
|
|
|
|
| Tipo de Cambio | SLA | Prioridad | Accion |
|
|
|----------------|-----|-----------|--------|
|
|
| **Security Fix** | 24 horas | CRITICA | Propagar inmediatamente |
|
|
| **Bug Fix** | 72 horas | ALTA | Propagar con prioridad |
|
|
| **Feature** | 1 semana | MEDIA | Evaluar si aplica |
|
|
| **Refactor** | 2 semanas | BAJA | Opcional |
|
|
| **Documentacion** | Inmediato | N/A | Auto-sync via mirrors |
|
|
| **Definiciones** | Inmediato | N/A | Auto-sync via mirrors |
|
|
|
|
---
|
|
|
|
## Sistema de Mirrors
|
|
|
|
### Proposito
|
|
Los mirrors son repositorios espejo que facilitan la propagacion automatica de:
|
|
- Documentacion (README, CHANGELOG)
|
|
- Definiciones (YAML de modulos)
|
|
- Interfaces (TypeScript .d.ts)
|
|
|
|
### Mirrors Activos
|
|
|
|
| Mirror | Version | Consumidores |
|
|
|--------|---------|--------------|
|
|
| template-saas | 1.2.1 | erp-core |
|
|
| erp-core | 1.3.0 | 5 verticales + 2 sub-verticales |
|
|
| erp-clinicas | 1.0.0 | clinica-dental, clinica-veterinaria |
|
|
|
|
### Auto-Propagacion via Mirrors
|
|
|
|
```yaml
|
|
Tipo: Documentacion/Definiciones
|
|
Flujo:
|
|
1. Cambio en proyecto origen
|
|
2. Sync automatico a shared/mirrors/{proyecto}/
|
|
3. Consumidores leen del mirror
|
|
4. Actualizacion inmediata disponible
|
|
|
|
Tipo: Codigo
|
|
Flujo:
|
|
1. Cambio en proyecto origen
|
|
2. Validacion local (build+lint+tests)
|
|
3. Propagar manualmente via MODE-PROPAGATION
|
|
4. Actualizar PROPAGATION-STATUS.yml
|
|
```
|
|
|
|
---
|
|
|
|
## Trazabilidad
|
|
|
|
### Donde se registra cada propagacion
|
|
|
|
| Registro | Ubicacion | Contenido |
|
|
|----------|-----------|-----------|
|
|
| **TRACEABILITY-MASTER** | `orchestration/` | Registro centralizado de todas las propagaciones |
|
|
| **PROPAGATION-STATUS** | `shared/mirrors/{proyecto}/` | Estado por proyecto mirror |
|
|
| **MASTER_INVENTORY** | `{proyecto}/orchestration/inventarios/` | Referencia a ultima propagacion recibida |
|
|
|
|
### Formato de Registro
|
|
|
|
```yaml
|
|
propagacion:
|
|
id: "PROP-CORE-002"
|
|
fecha: "2026-01-13"
|
|
tipo: "bulk_propagation"
|
|
origen: "erp-core"
|
|
destinos:
|
|
- erp-construccion
|
|
- erp-clinicas
|
|
- erp-mecanicas-diesel
|
|
- erp-retail
|
|
- erp-vidrio-templado
|
|
sub_destinos:
|
|
- clinica-dental (via erp-clinicas)
|
|
- clinica-veterinaria (via erp-clinicas)
|
|
modulos: MGN-016 a MGN-022
|
|
estado: "completed"
|
|
```
|
|
|
|
---
|
|
|
|
## Comandos Rapidos
|
|
|
|
| Alias | Descripcion | Ejemplo |
|
|
|-------|-------------|---------|
|
|
| `@PROPAGATE-ERP` | Propagar de erp-core a verticales | `@PROPAGATE-ERP Fix de autenticacion` |
|
|
| `@PROPAGATE-CATALOG` | Propagar cambio de catalogo | `@PROPAGATE-CATALOG Actualizar notifications` |
|
|
| `@PROPAGATE-SECURITY` | Propagacion urgente de seguridad | `@PROPAGATE-SECURITY Vulnerabilidad XSS` |
|
|
| `@SYNC-MIRRORS` | Sincronizar todos los mirrors | `@SYNC-MIRRORS` |
|
|
| `@PROPAGATE-DOC` | Propagar documentacion | `@PROPAGATE-DOC {proyecto}` |
|
|
| `@PROPAGATE-DEF` | Propagar definiciones | `@PROPAGATE-DEF {proyecto}` |
|
|
| `@PROPAGATE-CODE` | Propagar codigo validado | `@PROPAGATE-CODE {proyecto}` |
|
|
|
|
---
|
|
|
|
## Errores Comunes
|
|
|
|
### 1. Confundir MODE-PROPAGATION con SIMCO-PROPAGACION
|
|
- **MODE-PROPAGATION:** Entre proyectos (erp-core → verticales)
|
|
- **SIMCO-PROPAGACION:** Dentro de un proyecto (documentacion interna)
|
|
|
|
### 2. Propagar sin validar
|
|
- **Correcto:** Siempre ejecutar build+lint+tests antes de propagar
|
|
- **Incorrecto:** Propagar directamente sin validacion
|
|
|
|
### 3. Olvidar actualizar trazabilidad
|
|
- **Correcto:** Registrar en TRACEABILITY-MASTER y PROPAGATION-STATUS
|
|
- **Incorrecto:** Propagar sin documentar
|
|
|
|
### 4. Propagar codigo no validado
|
|
- **Documentacion/Definiciones:** OK propagar inmediatamente
|
|
- **Codigo:** SIEMPRE validar antes de propagar
|
|
|
|
---
|
|
|
|
## Referencias
|
|
|
|
- `orchestration/directivas/modos/MODE-PROPAGATION.md`
|
|
- `orchestration/directivas/triggers/TRIGGER-PROPAGACION-AUTOMATICA.md`
|
|
- `orchestration/directivas/simco/SIMCO-PROPAGACION.md`
|
|
- `orchestration/referencias/PROPAGATION-CRITERIA-MATRIX.yml`
|
|
- `orchestration/TRACEABILITY-MASTER.yml`
|
|
- `orchestration/DEPENDENCY-GRAPH.yml`
|
|
- `shared/mirrors/MIRRORS-INDEX.yml`
|
|
|
|
---
|
|
|
|
*PROPAGACION-ARCHITECTURE v1.0.0 - Sistema SAAD*
|