platform-marketing-content/orchestration/00-guidelines/HERENCIA-DIRECTIVAS.md

224 lines
7.1 KiB
Markdown

# Herencia de Directivas - Platform Marketing Content
**Version:** 1.0.0
**Fecha:** 2025-12-08
**Proyecto:** Platform Marketing Content (PMC)
**Nivel SIMCO:** NIVEL_2B (Proyecto Standalone)
---
## Proposito
Este documento define la jerarquia de directivas que aplican al proyecto PMC, desde el nivel workspace hasta el nivel proyecto especifico.
---
## Jerarquia de Herencia
```
WORKSPACE (core/orchestration/)
├── directivas/simco/ # Sistema de documentacion
├── directivas/principios/ # Principios fundamentales
├── templates/ # Templates base
└── agents/perfiles/ # Perfiles de agentes
PROYECTO PMC (projects/platform_marketing_content/orchestration/)
├── directivas/ # Directivas especificas PMC
├── inventarios/ # Inventarios del proyecto
└── 00-guidelines/ # Guias locales
```
---
## 1. Directivas Heredadas del Workspace
### 1.1 Sistema SIMCO
| Directiva | Path | Aplicacion en PMC |
|-----------|------|-------------------|
| SIMCO-INICIALIZACION | core/orchestration/directivas/simco/ | Aplicar al crear nuevos subproyectos |
| SIMCO-CREAR | core/orchestration/directivas/simco/ | Creacion de entidades |
| SIMCO-MODIFICAR | core/orchestration/directivas/simco/ | Modificacion de codigo |
| SIMCO-VALIDAR | core/orchestration/directivas/simco/ | Validacion de cambios |
| SIMCO-DOCUMENTAR | core/orchestration/directivas/simco/ | Documentacion |
| SIMCO-NIVELES | core/orchestration/directivas/simco/ | PMC es NIVEL_2B |
| SIMCO-PROPAGACION | core/orchestration/directivas/simco/ | Propagacion de cambios |
### 1.2 Principios Fundamentales
| Principio | Path | Aplicacion en PMC |
|-----------|------|-------------------|
| PRINCIPIO-CAPVED | core/orchestration/directivas/principios/ | Ciclo de desarrollo |
| PRINCIPIO-DOC-PRIMERO | core/orchestration/directivas/principios/ | Documentar antes de implementar |
| PRINCIPIO-ANTI-DUPLICACION | core/orchestration/directivas/principios/ | Reutilizar catalogo |
| PRINCIPIO-VALIDACION-OBLIGATORIA | core/orchestration/directivas/principios/ | Validar cada cambio |
| PRINCIPIO-ECONOMIA-TOKENS | core/orchestration/directivas/principios/ | Optimizar contexto |
### 1.3 Perfiles de Agentes
| Perfil | Path | Uso en PMC |
|--------|------|------------|
| PERFIL-DATABASE | core/orchestration/agents/perfiles/ | DDL PostgreSQL |
| PERFIL-BACKEND | core/orchestration/agents/perfiles/ | NestJS implementation |
| PERFIL-FRONTEND | core/orchestration/agents/perfiles/ | React implementation |
| PERFIL-REQUIREMENTS-ANALYST | core/orchestration/agents/perfiles/ | Analisis de requerimientos |
| PERFIL-CODE-REVIEWER | core/orchestration/agents/perfiles/ | Code review |
---
## 2. Componentes del Catalogo Aplicables
PMC hereda y debe reutilizar los siguientes componentes del catalogo:
| Componente | Path | Modulo PMC | Uso |
|------------|------|------------|-----|
| @CATALOG_AUTH | core/catalog/auth/ | PMC-007 | Autenticacion JWT |
| @CATALOG_SESSION | core/catalog/session-management/ | PMC-007 | Gestion de sesiones |
| @CATALOG_TENANT | core/catalog/multi-tenancy/ | PMC-001 | Multi-tenancy RLS |
| @CATALOG_RATELIMIT | core/catalog/rate-limiting/ | PMC-004 | Limites de generacion |
| @CATALOG_NOTIFY | core/catalog/notifications/ | PMC-005 | Notificaciones |
| @CATALOG_WS | core/catalog/websocket/ | PMC-004 | WebSocket progreso |
| @CATALOG_PAYMENTS | core/catalog/payments/ | PMC-001 | Billing (Fase 4) |
| @CATALOG_FLAGS | core/catalog/feature-flags/ | PMC-007 | Feature toggles |
---
## 3. Directivas Especificas de PMC
Directivas creadas especificamente para el proyecto:
| Directiva | Path | Proposito |
|-----------|------|-----------|
| DIRECTIVA-ARQUITECTURA-MULTI-TENANT | orchestration/directivas/ | Estrategia multi-tenancy |
| GUIA-NOMENCLATURA-PMC | orchestration/directivas/ | Convenciones de naming |
---
## 4. Templates Aplicables
### 4.1 Templates Base (heredados)
```
core/orchestration/templates/
├── CONTEXTO-NIVEL-STANDALONE.md # Template para PMC (NIVEL_2B)
├── TEMPLATE-TAREA-CAPVED.md # Tareas con ciclo CAPVED
├── TEMPLATE-TAREA-TECNICA.md # Tareas tecnicas
├── TEMPLATE-HISTORIA-USUARIO.md # User stories
├── TEMPLATE-EPICA.md # Epicas
└── TEMPLATE-DELEGACION-SUBAGENTE.md # Delegacion de tareas
```
### 4.2 Uso de Templates
```yaml
# Para crear una tarea tecnica
usar: core/orchestration/templates/TEMPLATE-TAREA-TECNICA.md
contexto: orchestration/templates/CONTEXTO-PROYECTO-PMC.md
# Para crear una user story
usar: core/orchestration/templates/TEMPLATE-HISTORIA-USUARIO.md
modulo: docs/02-definicion-modulos/PMC-XXX-NOMBRE.md
```
---
## 5. Reglas de Herencia
### R1: Workspace sobre Proyecto
Las directivas del workspace tienen precedencia cuando hay conflicto:
```
core/orchestration/directivas/ > orchestration/directivas/
```
### R2: Catalogo Obligatorio
Si existe un componente en el catalogo que resuelve una necesidad, DEBE usarse:
```
# CORRECTO
Usar @CATALOG_AUTH para autenticacion
# INCORRECTO
Crear sistema de auth desde cero
```
### R3: Extension, No Duplicacion
Las directivas locales extienden, no reemplazan:
```yaml
# orchestration/directivas/GUIA-NOMENCLATURA-PMC.md
hereda_de: core/orchestration/directivas/ESTANDARES-NOMENCLATURA-BASE.md
extiende:
- Modulos PMC-XXX
- Schemas de BD especificos
- Workflows de generacion
```
### R4: Documentacion Antes de Codigo
Seguir PRINCIPIO-DOC-PRIMERO:
```
1. Definir en docs/02-definicion-modulos/
2. Especificar en docs/03-requerimientos/
3. Actualizar inventarios
4. Implementar codigo
```
---
## 6. Checklist de Validacion
Al crear/modificar funcionalidad, validar:
- [ ] Existe componente en catalogo que pueda reutilizarse?
- [ ] Se siguio el template correcto?
- [ ] Se actualizo el inventario correspondiente?
- [ ] La nomenclatura sigue GUIA-NOMENCLATURA-PMC?
- [ ] Si es multi-tenant, sigue DIRECTIVA-ARQUITECTURA-MULTI-TENANT?
- [ ] Se documento antes de implementar (DOC-PRIMERO)?
---
## 7. Proyectos de Inspiracion (Solo Referencia)
> **Nota:** Estos proyectos sirven como **inspiracion arquitectonica**, no como
> dependencias. Los patrones deben adaptarse a PMC y documentarse localmente.
> Para componentes reutilizables, usar siempre `core/catalog/`.
| Proyecto | Patrones de Inspiracion |
|----------|------------------------|
| Multi-tenancy | Ver `core/catalog/multi-tenancy/` |
| WebSocket/Colas | Ver `core/catalog/websocket/` |
| Estructura modular | Ver `core/orchestration/templates/`|
---
## 8. Actualizacion de Este Documento
Actualizar cuando:
- Se agregue nuevo componente al catalogo usado por PMC
- Se cree nueva directiva especifica de PMC
- Cambie la estructura de orchestration
- Se agregue proyecto de referencia
---
## Referencias
- SIMCO Quick Reference: `core/orchestration/directivas/simco/SIMCO-QUICK-REFERENCE.md`
- Catalogo Index: `core/catalog/CATALOG-INDEX.yml`
- Analisis Catalogo PMC: `docs/01-analisis-referencias/ANALISIS-CATALOGO.md`
---
**Generado por:** Requirements-Analyst
**Fecha:** 2025-12-08