workspace-v1/orchestration/inventarios/ENV-VARS-INVENTORY.yml
rckrdmrd ff3038f183 feat(orchestration): Add subagent token management system
Sistema completo de gestión de tokens para subagentes NEXUS v4.0:

Nuevas directivas SIMCO:
- SIMCO-SUBAGENTE.md: Protocolo para agentes en modo subagente
- SIMCO-CCA-SUBAGENTE.md: CCA ligero para subagentes (~1,500 tokens)
- SIMCO-CONTROL-TOKENS.md: Gestión de límites de tokens
- SIMCO-DELEGACION-PARALELA.md: Delegación paralela

Perfiles compact (~250 tokens cada uno):
- PERFIL-BACKEND-COMPACT.md
- PERFIL-FRONTEND-COMPACT.md
- PERFIL-DATABASE-COMPACT.md
- PERFIL-DEVOPS-COMPACT.md
- PERFIL-ML-COMPACT.md
- PERFIL-GENERIC-SUBAGENT.md

Templates de delegación escalonados:
- TEMPLATE-DELEGACION-MINIMA.md (~250 tokens)
- TEMPLATE-DELEGACION-ESTANDAR.md (~600 tokens)
- TEMPLATE-DELEGACION-COMPLETA.md (~1,800 tokens)

Nuevos perfiles especializados:
- PERFIL-MCP-ARCHITECT.md
- PERFIL-MCP-DEVELOPER.md
- PERFIL-RAG-ENGINEER.md
- PERFIL-CICD-SPECIALIST.md
- PERFIL-PRODUCTION-MANAGER.md
- PERFIL-MONITORING-AGENT.md
- PERFIL-SECRETS-MANAGER.md
- PERFIL-PROPAGATION-TRACKER.md

Checklists y documentación:
- CHECKLIST-PRE-DELEGACION.md
- Análisis y planes de implementación

Métricas de mejora:
- ~59% reducción de tokens por delegación
- Perfiles compact: 69% más ligeros
- CCA subagente: 85% más ligero

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-07 04:43:01 -06:00

456 lines
15 KiB
YAML

# ═══════════════════════════════════════════════════════════════════════════════
# INVENTARIO DE VARIABLES DE ENTORNO - NEXUS WORKSPACE
# ═══════════════════════════════════════════════════════════════════════════════
#
# Version: 1.0.0
# Fecha: 2026-01-04
# Responsable: @PERFIL_SECRETS_MANAGER
# Proposito: Documentacion centralizada de variables de entorno por proyecto
#
# IMPORTANTE: Este archivo NO contiene valores reales, solo documentacion
# de las variables requeridas por cada proyecto
#
# ═══════════════════════════════════════════════════════════════════════════════
version: "1.0.0"
fecha_actualizacion: "2026-01-04"
responsable: "@PERFIL_SECRETS_MANAGER"
# ─────────────────────────────────────────────────────────────────────────────────
# GAMILIT
# ─────────────────────────────────────────────────────────────────────────────────
gamilit:
ubicacion_env: "projects/gamilit/apps/backend/.env"
ubicacion_ejemplo: "projects/gamilit/apps/backend/.env.example"
variables:
# Base de datos
database:
- nombre: "DATABASE_URL"
descripcion: "Connection string PostgreSQL"
formato: "postgresql://user:pass@host:port/db"
requerido: true
sensible: true
ejemplo: "postgresql://gamilit:***@localhost:5432/gamilit_platform"
- nombre: "DB_HOST"
descripcion: "Host de PostgreSQL"
requerido: true
sensible: false
ejemplo: "localhost"
- nombre: "DB_PORT"
descripcion: "Puerto de PostgreSQL"
requerido: true
sensible: false
ejemplo: "5432"
- nombre: "DB_USERNAME"
descripcion: "Usuario de base de datos"
requerido: true
sensible: true
- nombre: "DB_PASSWORD"
descripcion: "Password de base de datos"
requerido: true
sensible: true
- nombre: "DB_DATABASE"
descripcion: "Nombre de la base de datos"
requerido: true
sensible: false
ejemplo: "gamilit_platform"
# Autenticacion
auth:
- nombre: "JWT_SECRET"
descripcion: "Secreto para firmar JWT"
requerido: true
sensible: true
longitud_minima: 32
- nombre: "JWT_EXPIRATION"
descripcion: "Tiempo de expiracion de tokens"
requerido: true
sensible: false
ejemplo: "7d"
- nombre: "REFRESH_TOKEN_SECRET"
descripcion: "Secreto para refresh tokens"
requerido: true
sensible: true
longitud_minima: 32
- nombre: "REFRESH_TOKEN_EXPIRATION"
descripcion: "Expiracion de refresh tokens"
requerido: true
sensible: false
ejemplo: "30d"
# OAuth Providers
oauth:
google:
- nombre: "GOOGLE_CLIENT_ID"
descripcion: "Client ID de Google OAuth"
requerido: true
sensible: true
- nombre: "GOOGLE_CLIENT_SECRET"
descripcion: "Client Secret de Google OAuth"
requerido: true
sensible: true
- nombre: "GOOGLE_CALLBACK_URL"
descripcion: "URL de callback para OAuth"
requerido: true
sensible: false
ejemplo: "https://api.gamilit.com/auth/google/callback"
facebook:
- nombre: "FACEBOOK_APP_ID"
requerido: false
sensible: true
- nombre: "FACEBOOK_APP_SECRET"
requerido: false
sensible: true
apple:
- nombre: "APPLE_CLIENT_ID"
requerido: false
sensible: true
- nombre: "APPLE_TEAM_ID"
requerido: false
sensible: true
- nombre: "APPLE_KEY_ID"
requerido: false
sensible: true
- nombre: "APPLE_PRIVATE_KEY"
requerido: false
sensible: true
notas: "Contenido del archivo .p8"
# Aplicacion
app:
- nombre: "NODE_ENV"
descripcion: "Entorno de ejecucion"
requerido: true
sensible: false
valores_validos: ["development", "staging", "production"]
- nombre: "PORT"
descripcion: "Puerto del servidor"
requerido: true
sensible: false
ejemplo: "3006"
- nombre: "API_PREFIX"
descripcion: "Prefijo de la API"
requerido: false
sensible: false
ejemplo: "api/v1"
- nombre: "CORS_ORIGINS"
descripcion: "Origenes permitidos para CORS"
requerido: true
sensible: false
ejemplo: "https://gamilit.com,https://app.gamilit.com"
# Email
email:
- nombre: "SMTP_HOST"
requerido: true
sensible: false
- nombre: "SMTP_PORT"
requerido: true
sensible: false
ejemplo: "587"
- nombre: "SMTP_USER"
requerido: true
sensible: true
- nombre: "SMTP_PASSWORD"
requerido: true
sensible: true
- nombre: "EMAIL_FROM"
requerido: true
sensible: false
ejemplo: "noreply@gamilit.com"
# Storage
storage:
- nombre: "S3_BUCKET"
requerido: false
sensible: false
- nombre: "S3_ACCESS_KEY"
requerido: false
sensible: true
- nombre: "S3_SECRET_KEY"
requerido: false
sensible: true
- nombre: "S3_REGION"
requerido: false
sensible: false
ejemplo: "us-east-1"
# ─────────────────────────────────────────────────────────────────────────────────
# TRADING-PLATFORM
# ─────────────────────────────────────────────────────────────────────────────────
trading_platform:
ubicacion_env: "projects/trading-platform/.env"
estructura: "monorepo con .env en raiz"
variables:
# Base de datos
database:
- nombre: "DATABASE_URL"
descripcion: "PostgreSQL connection string"
requerido: true
sensible: true
# APIs de Trading
trading_apis:
- nombre: "BINANCE_API_KEY"
descripcion: "API Key de Binance"
requerido: true
sensible: true
- nombre: "BINANCE_SECRET_KEY"
descripcion: "Secret Key de Binance"
requerido: true
sensible: true
- nombre: "ALPACA_API_KEY"
descripcion: "API Key de Alpaca"
requerido: false
sensible: true
- nombre: "ALPACA_SECRET_KEY"
descripcion: "Secret Key de Alpaca"
requerido: false
sensible: true
- nombre: "POLYGON_API_KEY"
descripcion: "API Key de Polygon.io"
requerido: false
sensible: true
# ML Services
ml:
- nombre: "MLFLOW_TRACKING_URI"
descripcion: "URI de MLflow"
requerido: true
sensible: false
ejemplo: "http://localhost:5000"
- nombre: "MODEL_REGISTRY_PATH"
descripcion: "Path para modelos"
requerido: true
sensible: false
# Servicios
services:
- nombre: "TRADING_API_PORT"
ejemplo: "4000"
requerido: true
sensible: false
- nombre: "ML_SERVICE_PORT"
ejemplo: "5000"
requerido: true
sensible: false
- nombre: "FRONTEND_PORT"
ejemplo: "3200"
requerido: true
sensible: false
# Redis (si aplica)
redis:
- nombre: "REDIS_URL"
descripcion: "URL de Redis para cache/queues"
requerido: false
sensible: true
ejemplo: "redis://localhost:6379"
# ─────────────────────────────────────────────────────────────────────────────────
# ERP-SUITE (CORE)
# ─────────────────────────────────────────────────────────────────────────────────
erp_suite:
ubicacion_env: "projects/erp-suite/apps/erp-core/.env"
notas: "Verticales heredan de core y agregan propias"
variables:
database:
- nombre: "DATABASE_URL"
requerido: true
sensible: true
- nombre: "TENANT_DATABASE_PREFIX"
descripcion: "Prefijo para DBs de tenants"
requerido: true
sensible: false
ejemplo: "erp_tenant_"
auth:
- nombre: "JWT_SECRET"
requerido: true
sensible: true
- nombre: "SESSION_SECRET"
requerido: true
sensible: true
multi_tenancy:
- nombre: "DEFAULT_TENANT_ID"
descripcion: "Tenant por defecto"
requerido: true
sensible: false
- nombre: "TENANT_HEADER"
descripcion: "Header para identificar tenant"
requerido: true
sensible: false
ejemplo: "X-Tenant-ID"
# ─────────────────────────────────────────────────────────────────────────────────
# PLATFORM MARKETING CONTENT
# ─────────────────────────────────────────────────────────────────────────────────
platform_marketing_content:
ubicacion_env: "projects/platform_marketing_content/.env"
variables:
database:
- nombre: "DATABASE_URL"
requerido: true
sensible: true
ai_services:
- nombre: "OPENAI_API_KEY"
descripcion: "API Key de OpenAI"
requerido: true
sensible: true
- nombre: "ANTHROPIC_API_KEY"
descripcion: "API Key de Anthropic (Claude)"
requerido: false
sensible: true
social_media:
- nombre: "TWITTER_API_KEY"
requerido: false
sensible: true
- nombre: "TWITTER_API_SECRET"
requerido: false
sensible: true
- nombre: "INSTAGRAM_ACCESS_TOKEN"
requerido: false
sensible: true
- nombre: "LINKEDIN_CLIENT_ID"
requerido: false
sensible: true
- nombre: "LINKEDIN_CLIENT_SECRET"
requerido: false
sensible: true
# ─────────────────────────────────────────────────────────────────────────────────
# VARIABLES COMPARTIDAS (WORKSPACE LEVEL)
# ─────────────────────────────────────────────────────────────────────────────────
shared:
descripcion: "Variables que podrian compartirse entre proyectos"
variables:
# Logging
logging:
- nombre: "LOG_LEVEL"
valores_validos: ["debug", "info", "warn", "error"]
default: "info"
- nombre: "LOG_FORMAT"
valores_validos: ["json", "pretty"]
default: "json"
# Sentry (error tracking)
sentry:
- nombre: "SENTRY_DSN"
descripcion: "DSN de Sentry para error tracking"
requerido: false
sensible: true
# Analytics
analytics:
- nombre: "GA_TRACKING_ID"
descripcion: "Google Analytics tracking ID"
requerido: false
sensible: false
# ─────────────────────────────────────────────────────────────────────────────────
# POLITICAS DE GESTION
# ─────────────────────────────────────────────────────────────────────────────────
politicas:
almacenamiento:
desarrollo:
metodo: "archivo .env local"
seguridad: "gitignore obligatorio"
staging:
metodo: "archivo .env en servidor"
seguridad: "permisos 600, usuario deploy"
produccion:
metodo: "archivo .env + considerar vault"
seguridad: "permisos 600, acceso restringido"
backup: "copia en vault/1password"
rotacion:
jwt_secrets: "trimestral"
api_keys: "semestral o ante compromiso"
database_passwords: "anual o ante compromiso"
oauth_secrets: "segun proveedor"
auditoria:
frecuencia: "mensual"
checklist:
- "Verificar que .env no esta en git"
- "Verificar permisos de archivos"
- "Verificar variables no usadas"
- "Verificar variables faltantes vs .env.example"
documentacion:
obligatorio:
- "Mantener .env.example actualizado"
- "Documentar nuevas variables en este inventario"
- "Notificar a equipo de cambios"
# ─────────────────────────────────────────────────────────────────────────────────
# REFERENCIAS
# ─────────────────────────────────────────────────────────────────────────────────
referencias:
perfil_responsable: "@PERFIL_SECRETS_MANAGER"
directiva_secretos: "orchestration/directivas/simco/SIMCO-SECRETS.md"
produccion_inventory: "orchestration/inventarios/PRODUCTION-INVENTORY.yml"
# ═══════════════════════════════════════════════════════════════════════════════
# FIN DE INVENTARIO
# ═══════════════════════════════════════════════════════════════════════════════