# Arquitectura Overview **Versión:** 5.0 **Fecha:** 2024-12-24 --- ## Principio Fundamental > **ARCHITECT es el constructor. DECK y CORP son instancias autónomas.** - **ARCHITECT**: Construye, despliega, coordina. NO es dependencia runtime. - **DECK/CORP**: Operan independientemente. Funcionan si ARCHITECT está caído. --- ## Diagrama General ``` ┌─────────────────────────────────────────────────────────────────────────┐ │ CAPA DE CONSTRUCCIÓN (solo deploy/dev) │ │ │ │ ┌─────────────────────────────────────────────────────────────────┐ │ │ │ ARCHITECT (69.62.126.110) │ │ │ │ ┌──────────┐ ┌──────────┐ ┌────────────┐ ┌───────────────┐ │ │ │ │ │PostgreSQL│ │ Gitea │ │Orchestrator│ │ Infisical │ │ │ │ │ │ contexto │ │ 25 repos │ │ v5 │ │ (master) │ │ │ │ │ └──────────┘ └──────────┘ └────────────┘ └───────────────┘ │ │ │ └─────────────────────────────────────────────────────────────────┘ │ │ │ │ Rol: Construcción, deployment, gestión central de secretos │ │ NO es dependencia runtime de las instancias │ └─────────────────────────────────────────────────────────────────────────┘ │ │ │ deploy │ │ │ deploy ▼ ▼ ▼ ┌─────────────────────────────────────────────────────────────────────────┐ │ CAPA DE INSTANCIAS (autónomas) │ │ │ │ ┌───────────────────┐ ┌───────────────────┐ ┌───────────────────┐ │ │ │ DECK │ │ CORP │ │ HST │ │ │ │ 72.62.1.113 │ │ 92.112.181.188 │ │ 72.62.2.84 │ │ │ │ │ │ │ │ │ │ │ │ secretaria :5051 │ │ secretaria :5051 │ │ 973 tags │ │ │ │ producción :5052 │ │ producción :5052 │ │ API pública │ │ │ │ admin.vo :5053 │ │ admin.vo :5053 │ │ Directus :8055 │ │ │ │ contable :5054 │ │ contable :5054 │ │ │ │ │ │ │ │ │ │ │ │ │ │ Vaultwarden │ │ Odoo │ │ │ │ │ └───────────────────┘ │ Nextcloud │ └───────────────────┘ │ │ │ └───────────────────┘ │ │ │ │ │ │ │ │ └─────────────────────────┼──────────────────────┘ │ │ │ │ └───────────────────────────────────┼─────────────────────────────────────┘ ▼ ┌─────────────────────────────────────────────────────────────────────────┐ │ CAPA DE ALMACENAMIENTO │ │ │ │ ┌─────────────────────────────────────────────────────────────────┐ │ │ │ Cloudflare R2 │ │ │ │ ┌──────────┐ ┌──────────┐ ┌──────────┐ ┌──────────┐ ┌────────┐ │ │ │ │ │architect │ │ deck │ │ corp │ │ hst │ │ locker │ │ │ │ │ │ backups │ │ archivos │ │ archivos │ │ imágenes │ │ general│ │ │ │ │ └──────────┘ └──────────┘ └──────────┘ └──────────┘ └────────┘ │ │ │ └─────────────────────────────────────────────────────────────────┘ │ └─────────────────────────────────────────────────────────────────────────┘ │ ▼ ┌─────────────────────────────────────────────────────────────────────────┐ │ CAPA GPU (RunPod) │ │ Estado: BLOQUEADO - Workers no inician │ │ │ │ ┌──────────┐ ┌──────────┐ ┌──────────┐ │ │ │ GRACE │ │ PENNY │ │ FACTORY │ │ │ │ 18 módulos│ │ texto │ │generación│ │ │ └──────────┘ └──────────┘ └──────────┘ │ └─────────────────────────────────────────────────────────────────────────┘ ``` --- ## Flujo de Datos ``` PACKET (App móvil) │ │ POST /ingest │ Content-Type: multipart/form-data │ X-Auth-Key: {h_instancia} │ ▼ ┌─────────────────────────────────────────┐ │ secretaria (CLARA / MARGARET) │ │ │ │ 1. Validar h_instancia │ │ 2. Calcular h_entrada (SHA-256) │ │ 3. Subir archivos a R2 │ │ 4. Insertar en log │ │ 5. Estado: 'recibido' (inmutable) │ └─────────────────────────────────────────┘ │ ▼ ┌─────────────────────────────────────────┐ │ producción (ALFRED / JARED) │ │ │ │ 1. Definir orden de ejecución │ │ 2. Aplicar flujos predefinidos │ │ 3. Enviar a administrativo │ └─────────────────────────────────────────┘ │ ▼ ┌─────────────────────────────────────────┐ │ administrativo (MASON) │ │ │ │ 1. Recibir de producción │ │ 2. Ventana flotante 24h │ │ 3. Usuario enriquece datos │ │ 4. [Futuro] GRACE extrae información │ │ 5. Enviar a contable cuando listo │ └─────────────────────────────────────────┘ │ ▼ ┌─────────────────────────────────────────┐ │ contable (FELDMAN) │ │ │ │ 1. Recibir en cola │ │ 2. Validar reglas (M-001, M-002, M-003)│ │ 3. Crear milestone o bloque │ │ 4. Calcular hash_contenido │ │ 5. Encadenar (hash_previo) │ │ 6. [Futuro] Merkle tree, blockchain │ └─────────────────────────────────────────┘ │ ▼ ┌─────────────────────────────────────────┐ │ auditoría (SENTINEL) [planificado] │ │ │ │ LIGHT: Cada 5 min, reglas automáticas │ │ DEEP: Cada 1 hora, muestreo con LLM │ └─────────────────────────────────────────┘ ``` --- ## Comunicación Entre Servidores | Origen | Destino | Protocolo | Puerto | Propósito | |--------|---------|-----------|--------|-----------| | DECK | ARCHITECT | SSH/Git | 2222 | Push repos | | DECK | R2 | HTTPS | 443 | Almacenamiento | | CORP | ARCHITECT | SSH/Git | 2222 | Push repos | | CORP | R2 | HTTPS | 443 | Almacenamiento | | HST | ARCHITECT | SSH | 22 | Administración | | ARCHITECT | DECK | SSH | 22 | Deploy | | ARCHITECT | CORP | SSH | 22 | Deploy | --- ## Bases de Datos | Servidor | Database | Tablas Principales | |----------|----------|--------------------| | ARCHITECT | architect | context_blocks, agents, creds_* | | DECK | tzzr | clara_log, alfred_executions | | CORP | corp | margaret_log, mason_workspace, feldman_* | | HST | hst_images | hst_tags, hst_trees |