Update to Skynet v7 - Complete documentation restructure

- Nueva estructura de carpetas según Skynet v7
- Añadidos schemas SQL completos
- Documentación de entidades, componentes e integraciones
- Modelo de seguridad actualizado
- Infraestructura y operaciones reorganizadas
This commit is contained in:
ARCHITECT
2025-12-29 18:23:41 +00:00
parent ac481fe266
commit 6ea70bd34f
76 changed files with 13029 additions and 4340 deletions

View File

@@ -1,167 +1,221 @@
# Arquitectura Overview
# Overview
**Versión:** 5.0
**Fecha:** 2024-12-24
**Versión:** 1.1
**Estado:** Definición
---
## Principio Fundamental
## Visión General
> **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.
Sistema de arquitecturas personales y empresariales. ARCHITECT (con Claude) construye y despliega servidores autónomos (DECK, CORP) que operan independientemente. Los componentes internos son microservicios backend, no IA. Las instancias están diseñadas para **consumir** servicios de IA externos (APIs, RunPod), no para contenerla.
---
## Diagrama General
## Arquitectura 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│ │
│ └──────────┘ └──────────┘ └──────────┘ │
└─────────────────────────────────────────────────────────────────────────┘
┌─────────────────────────────────────────────────────────────┐
ARCHITECT
PostgreSQL central │ Gitea │ Orchestrator │ Infisical
─────────────────────────────────────────────────────────────
┌─────────────────┐ ┌─────────────────┐ ┌─────────────────┐
DECK │ │ CORP │ │ HST
│ │ │ │
secretaría │ │ secretaría │ │ 973 tags
administración │ administración │ API pública
contable │ │ contable │ │
producción │ │ producción
└─────────────────┘ └─────────────────┘ └─────────────────┘
│ │
└────────┬───────────┘
┌─────────────────────────────────────────────────────────────┐
Cloudflare R2 (buckets)
architect │ deck │ corp │ hst │ locker
─────────────────────────────────────────────────────────────┘
```
---
## Flujo de Datos
## Flujo de Datos Principal
El sistema tiene dos flujos según el origen y completitud de la información:
### Diagrama General
```
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 │
└─────────────────────────────────────────┘
┌─────────────────────────────────────────────────────────────┐
│ ORÍGENES
├─────────────────────────────────────────────────────────────┤
┌─────────────────┐ ┌─────────────────────────┐ │
│ │ PRODUCCIÓN │ │ ENTRADA MANUAL │
│ │ Alfred/Jared │ │ (Packet, API, manual) │ │
│ │ │ │ │ │
│ Flujos │ │ Datos incompletos
│ predefinidos │ o ad-hoc
└────────┬────────┘ └────────────┬────────────┘
│ │
│ (datos completos)
└───────────┼─────────────────────────────────┼──────────────┘
│ │
▼ ▼
┌─────────────────────────────────────────────────────────────┐
│ SECRETARÍA │
Clara / Margaret
├─────────────────────────────────────────────────────────────┤
• Punto de entrada ÚNICO
• Log inmutable
• Todo se registra exactamente como llega
└─────────────────────────────────────────────────────────────
┌────────────────┐
encaja no encaja
│ ┌─────────────────────────────────────────────────────┐
│ │ ADMINISTRACIÓN
│ │ Mason
│ ├─────────────────────────────────────────────────────
│ │ • Ventana de enriquecimiento (24h configurable)
│ │ • Usuario completa/corrige datos │
│ │ • Auto-envío si expira el tiempo │
└──────────────────────────┬──────────────────────────┘
└───────────────┬───────────────┘
┌─────────────────────────────────────────────────────────────┐
CONTABLE
Feldman
├─────────────────────────────────────────────────────────────
│ • Cola de validación (24h configurable)
• Consolidación en bloques inmutables │
│ • Encadenamiento hash (blockchain-style) │
└─────────────────────────────────────────────────────────────┘
```
### Regla de Decisión
| Condición | Ruta | Descripción |
|-----------|------|-------------|
| **Encaja** | Secretaría → Feldman | Datos completos de flujo predefinido |
| **No encaja** | Secretaría → Mason → Feldman | Entrada manual o incompleta |
### Flujo de Producción (encaja)
Cuando la información viene de un proceso predefinido y está completa:
```
Producción (Alfred/Jared)
│ flujo predefinido completo
Secretaría (Clara/Margaret) ← Registro inmutable
│ directo (salta Mason)
Contable (Feldman) ← Consolidación
```
### Flujo Estándar (no encaja)
Cuando la información es manual, ad-hoc o incompleta:
```
Entrada manual (Packet, API, etc.)
Secretaría (Clara/Margaret) ← Registro inmutable
Administración (Mason) ← Enriquecimiento (24h)
Contable (Feldman) ← Consolidación
```
---
## Comunicación Entre Servidores
## Auditoría (Sentinel)
| 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 |
Sentinel es un **componente independiente** que opera de forma transversal sobre el sistema:
```
┌─────────────────────────────────────────────────────────────┐
│ SENTINEL │
│ (Auditoría) │
├─────────────────────────────────────────────────────────────┤
│ │
│ Monitoriza y verifica integridad en múltiples puntos: │
│ │
│ • Secretaría ←── verifica inmutabilidad del log │
│ • Mason ←── verifica ventanas temporales │
│ • Feldman ←── verifica encadenamiento de bloques │
│ │
│ Modos de operación: │
│ • LIGHT: verificación rápida (cada 5 min) │
│ • DEEP: auditoría completa (cada 1h) │
│ │
└─────────────────────────────────────────────────────────────┘
```
---
## Bases de Datos
## Principio de Diseño
| 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 |
### Constructores, no gestores
ARCHITECT (con Claude) es un **constructor de arquitecturas**, no un gestor permanente.
- ARCHITECT diseña y construye la arquitectura de cada servidor
- Cuando la arquitectura esté madura, el servidor será **clonable e independiente**
- DECK y CORP funcionan sin conexión a ARCHITECT ni a Claude
- Son sistemas diseñados para **usar** servicios de IA (APIs externas, RunPod), no para contenerla
### Descentralización operativa
```
Architect App (centralizado) → Diseña moldes
Instancias reales (descentralizadas)
Cada una con su CORP, su DECK, sus agentes
```
---
## Modelo de Instancias
**DECK** y **CORP** son plantillas. En producción habrá múltiples instancias:
| Tipo | Ejemplos |
|------|----------|
| **DECK** | "Deck de Juan", "Deck de Victoria" |
| **CORP** | "Empresa A SL", "Empresa B Corp" |
Cada instancia:
- Tiene su propio bucket de almacenamiento
- Puede renombrar sus agentes
- **Opera de forma autónoma** (no depende de ARCHITECT en runtime)
- Tiene su propio gestor de secretos
- Hace sus propios backups a R2
---
## Servicios Compartidos (Opcionales)
Las instancias **pueden** conectarse a servicios GPU compartidos:
| Servicio | Función | Requerido |
|----------|---------|-----------|
| Grace | Extracción IA | Opcional |
| The Factory | Generación | Opcional |
| Circle | Colaboración | Opcional |
> **Nota:** Si los servicios compartidos no están disponibles, la instancia sigue operando. Solo las funciones de IA estarán limitadas.