Add missing files from R2 skynet v10

- 00_VISION/MARCO_TEMPORAL.md - Marco conceptual temporal
- 01_ARQUITECTURA/aplicaciones/09_APLICACIONES.md - Aplicaciones TZZR
- 03_MODELO_DATOS/hst_standards_all.json - Tags HST JSON
- 03_MODELO_DATOS/procesos_productivos.md - Procesos productivos
- 05_INTEGRACIONES/README_MCP.md - MCP Server README
- 05_INTEGRACIONES/SPEC_MCP.md - MCP Especificación técnica
- 99_ANEXOS/ANEXO_1_REFERENCIA_TECNICA.md - Referencia técnica
This commit is contained in:
ARCHITECT
2026-01-06 04:59:03 +00:00
parent 386eef4d4b
commit a205cddac0
7 changed files with 30939 additions and 0 deletions

152
00_VISION/MARCO_TEMPORAL.md Normal file
View File

@@ -0,0 +1,152 @@
# Marco Conceptual Integrado para Gestion de Proyectos y Produccion
**Version:** 10.0
**Fecha:** 6 Enero 2026
**Sistema:** TZZR
---
## Introduccion
Este documento consolida un sistema de marcos conceptuales interrelacionados para comprender la gestion de proyectos, procesos productivos y la maduracion de productos.
> **Principio fundamental:** La realidad es un flujo energetico continuo donde las divisiones categoricas son simplificaciones utiles (modelos mentales), no verdades absolutas.
---
## 1. El Paradigma Temporal: La Linea T-N a T+N
### 1.1 Definicion de los puntos temporales
| Punto | Significado | Caracteristicas |
|-------|-------------|-----------------|
| **T-N** | Origen difuso | Zona de exploracion, ideas no consolidadas |
| **T-1** | Punto de referencia previo | Momento desde el cual se puede planificar hacia T0 |
| **T0** | Inicio de ejecucion | Arranque formal del proceso |
| **T+1** | Final de la accion | Hito de cierre operativo |
| **T+N** | Consolidacion del resultado | Momento en que el resultado se materializa en el mundo |
### 1.2 La distincion entre accion, hito y resultado
- **La accion fisica** termina cuando se agota la energia (no cuando aparece el hito).
- **El hito burocratico (T+1)** es un registro formal (ejemplo: la photo finish).
- **El resultado consolidado** emerge cuando el mundo interpreta la burocracia.
---
## 2. Tipologia de Acciones
### 2.1 Los tres tipos fundamentales
| Tipo | Metafora deportiva | Caracteristica | Equivalente |
|------|-------------------|----------------|-------------|
| **Puntos** | Baloncesto | Acumulacion de pequenas unidades | Cuantificacion |
| **Secuencias** | Patinaje artistico | Productividad en las transiciones | Metodo |
| **Esfuerzo maximo** | 1RM en gimnasio | Pico unico + recuperacion | Medidas de referencia |
---
## 3. El Eje Energetico: Mundo Real vs Burocracia
### 3.1 Principio fundamental
> La realidad se analiza mejor en terminos de flujo energetico que de categorias discretas.
### 3.2 Componentes del mundo real
| Componente | Descripcion | Relacion |
|------------|-------------|----------|
| **Energia** | Esfuerzo humano, energia electrica, trabajo aplicado | Recurso que se consume |
| **Recursos** | Capital, materias primas, activos | Elementos que se transforman |
| **Herramientas** | Equipos, tecnologia, sistemas | Multiplicadores de energia |
---
## 4. La Santisima Trinidad de los Proyectos (Project Cannon)
### 4.1 Los tres documentos fundamentales
| Documento | Pregunta que responde | Contenido |
|-----------|----------------------|-----------|
| **Listado de costes** | Que? | Materiales + Procesos (BOM ampliado) |
| **Arbol de procesos** | Como? | Secuencia y dependencias de transformaciones |
| **Grafica de Gantt** | Cuando? | Distribucion temporal de actividades |
---
## 5. Madurez del Producto: De la Idea al Mercado
| Fase temporal | Estado del producto | Entorno | Documento asociado |
|---------------|--------------------|---------|--------------------|
| **T-N** | Manualidades/Pruebas parciales | Artesano | Bocetos |
| **T-1** | Prototipo | Taller | Diseno tecnico |
| **T0** | Modelo cero | Industrial (transicion) | Lista de costes + Arbol + Gantt |
| **T+1** | Producto de produccion | Industrial | Control de calidad |
| **T+N** | Producto de mercado | Comercial | Documentacion de calidad |
---
## 6. Entornos Profesionales
| Entorno | Caracteristica principal | Herramientas |
|---------|-------------------------|--------------|
| **Artesano** | Habilidad individual, baja escala | Manuales, flexibles |
| **Taller** | Iteracion, prueba y error | Prototipos, maquinas simples |
| **Industrial** | Repetibilidad, alta escala | Lineas de produccion, estandares |
| **Comercial** | Atencion al cliente, feedback | CRM, post-venta |
---
## 7. Paradigma Guerrero vs Atleta
| Paradigma | T0 | Preparacion | Ejemplos |
|-----------|-----|-------------|----------|
| **Guerrero** | Impredecible | Permanente, nivel sostenido excepcional | Bomberos, urgencias medicas |
| **Atleta** | Definido | Orientada a pico maximo en fecha especifica | Competiciones, lanzamientos |
---
## 8. Reversibilidad
### 8.1 Concepto
El grado en que una accion o proceso permite correccion posterior sin coste prohibitivo.
| Nivel | Caracteristica | Ejemplo |
|-------|---------------|---------|
| **Alta** | Facil deshacer | Edicion de documento |
| **Media** | Deshacer con coste | Refactorizacion de codigo |
| **Baja** | Muy dificil deshacer | Produccion masiva lanzada |
| **Nula** | Irreversible | Comunicacion publica |
---
## 9. Eje de Escala / Volumen
| Escala | Caracteristicas | Documentacion necesaria |
|--------|-----------------|------------------------|
| **Unitario (1)** | Todo en la cabeza de una persona | Minima |
| **Pequena serie (2-20)** | Equipo pequeno, comunicacion directa | Listas basicas |
| **Serie media (20-500)** | Procesos deben ser ensenables | Procedimientos escritos |
| **Serie grande (500+)** | Sistemas, no personas | Sistemas de calidad |
| **Masivo (miles+)** | Estadistica, no casos individuales | Automatizacion |
---
## 10. Glosario de Terminos Clave
| Termino | Definicion |
|---------|------------|
| **T0** | Momento de inicio de ejecucion; punto de referencia temporal |
| **Modelo cero** | Producto identico al de serie, obtenido mediante preserie |
| **Preserie** | Produccion limitada para validar el modelo cero |
| **Diseno tecnico** | Documento que define que es algo y como se abordara tecnicamente |
| **Santisima Trinidad** | Conjunto de: listado de costes, arbol de procesos, Gantt |
| **Paradigma energetico** | Enfoque que analiza la realidad en terminos de flujo de energia |
| **Biblioteca de secuencias** | Coleccion de patrones de procesos normalizados |
| **Reversibilidad** | Grado en que una accion permite correccion posterior |
| **Punto de no retorno** | Momento donde la reversibilidad cae drasticamente |
---
*Marco Conceptual Integrado v10 - 6 Enero 2026*

View File

@@ -0,0 +1,468 @@
# 09_APLICACIONES
**Versión:** 10.0
**Fecha:** 6 Enero 2026
**Sistema:** TZZR
---
# Visión General
Las aplicaciones son **interfaces especializadas** para interactuar con el sistema TZZR. Cada una resuelve un problema específico y puede integrarse con otras partes del sistema.
| App | Propósito | Destino |
|-----|-----------|---------|
| **Packet** | Captura de evidencia | Secretaría (Clara) |
| **Mind Map** | Árboles de milestones y bloques | Feldman (estructuras) |
| **Mind Flow** | Flujos de trabajo con HST | Producción (Alfred/Jared) |
| **Mind Link** | Menú de acceso / visualizador | Salida (Usuario) |
---
# Packet
**Tipo:** App Móvil (Flutter)
**Estado:** APK funcional
**Destino:** Secretaría (Clara/Margaret)
## Propósito
Captura de evidencia multimedia con política zero-retention. Todo lo capturado se envía inmediatamente a la Secretaría sin dejar rastro en el dispositivo.
## Características
| Característica | Descripción |
|----------------|-------------|
| Zero-retention | Archivos en RAM, nunca en disco |
| Hash-first | SHA-256 único por contenedor |
| Offline-capable | Cola de 20 reintentos en 72h |
| Multi-destino | DECK, CORP u otros servidores |
## Flujo
```
Captura → Etiquetas HST → Enviar → Clara → BCK
```
## Pantallas
| Pantalla | Función |
|----------|---------|
| Captura | Foto, audio, video, texto, GPS |
| Etiquetas | Selección de tags HST |
| Packs | Conjuntos predefinidos |
| Pendientes | Cola de fallos |
| Config | Destinos y bibliotecas |
## API
```http
POST /ingest
X-Auth-Key: {h_instancia}
{
"hash": "sha256 del contenedor",
"titulo": "opcional",
"etiquetas": ["mrf1", "mrf2"],
"archivos": [{"nombre", "tipo", "contenido"}]
}
```
---
# Mind Map
**Tipo:** App Web / iPad
**Estado:** Especificado
**Destino:** Feldman (estructuras de referencia)
## Propósito
Crear **árboles de milestones** y **árboles de bloques**, enlazarlos entre ellos. Cada nodo genera un hash único. Las estructuras resultantes sirven como documentación interna para que Feldman reconozca entradas y proponga integraciones.
## Problema que Resuelve
| Problema | Solución |
|----------|----------|
| Vendor lock-in | Formato abierto, exportable |
| Duplicación de elementos | Elementos únicos por hash |
| Pérdida de datos | Estructuras separadas de elementos |
## Modelo Conceptual
```
┌─────────────────────────────────────────────────────────────────┐
│ ELEMENTOS │
│ (entidades únicas, cada una con su hash) │
│ │
│ [E1: hash-a1b2] [E2: hash-c3d4] [E3: hash-e5f6] │
└─────────────────────────────────────────────────────────────────┘
│ RELACIONES
┌─────────────────────────────────────────────────────────────────┐
│ ESTRUCTURAS │
│ │
│ Árbol A: E1 ──► E2 ──► E3 │
│ Árbol B: E4 ──► E5 ──► E3 (mismo E3, no duplicado) │
└─────────────────────────────────────────────────────────────────┘
```
## Identificación por Hash
Cada elemento tiene un **content hash** (SHA-256) calculado sobre su contenido:
```python
def calculate_hash(elemento):
content = {
'nombre': elemento['nombre'].strip().lower(),
'tipo': elemento.get('tipo', 'nodo'),
}
content_string = json.dumps(content, sort_keys=True)
return hashlib.sha256(content_string.encode()).hexdigest()
```
## Estados
| Estado | Descripción |
|--------|-------------|
| **Borrador** | Editable, puede ser solo local |
| **Consolidado** | Inmutable, sincronizado |
## Tipos de Árbol
### Árbol de Milestones (MST)
```
Proyecto Alpha (mrf: a1b2c3...)
├── Fase 1 (mrf: d4e5f6...)
│ ├── Diseño (mrf: g7h8i9...)
│ └── Desarrollo (mrf: j0k1l2...)
└── Fase 2 (mrf: m3n4o5...)
└── Testing (mrf: p6q7r8...)
```
### Árbol de Bloques (BCK)
```
Documentación Proyecto (mrf: x1y2z3...)
├── Especificación técnica (mrf: a9b8c7...)
├── Manual de usuario (mrf: d6e5f4...)
└── Guía de despliegue (mrf: g3h2i1...)
```
### Enlaces entre Árboles
```
MST: Fase 1 > Desarrollo
└── enlaza → BCK: Especificación técnica
```
## Interfaz
```
┌─────────────────────────────────────────────────────────────────┐
│ Mind Map 🔄 Sync ⚙ │
├─────────────────────────────────────────────────────────────────┤
│ ┌───────────────┐ ┌─────────────────────────────────────────┐ │
│ │ MAPAS │ │ Proyecto Alpha │ │
│ │ │ ├─────────────────────────────────────────┤ │
│ │ ▼ Trabajo │ │ │ │
│ │ • Proyecto │ │ ▼ 🔒 Proyecto Alpha │ │
│ │ Alpha │ │ ▼ 🔒 Fase 1 │ │
│ │ • Backlog │ │ • Diseño │ │
│ │ │ │ • Desarrollo [2] │ │
│ │ ▼ Personal │ │ ▶ 🔒 Fase 2 (3 items) │ │
│ │ • Ideas │ │ │ │
│ │ │ │ │ │
│ │ + Nuevo mapa │ │ + Añadir elemento... │ │
│ └───────────────┘ └─────────────────────────────────────────┘ │
├─────────────────────────────────────────────────────────────────┤
│ 🔒 = consolidado [2] = aparece en 2 mapas │
└─────────────────────────────────────────────────────────────────┘
```
## Atajos de Teclado
| Atajo | Acción |
|-------|--------|
| `Enter` | Crear hermano debajo |
| `Tab` | Convertir en hijo |
| `Shift+Tab` | Subir nivel |
| `Ctrl+Enter` | Crear hijo |
| `Space` | Colapsar/expandir |
| `Ctrl+Shift+C` | Consolidar elemento |
| `Ctrl+L` | Vincular elemento existente |
## Exportación
| Formato | Uso |
|---------|-----|
| JSON | Estructura completa con hashes |
| OPML | Compatibilidad con otras apps |
| Markdown | Lectura humana |
---
# Mind Flow
**Tipo:** App Web / iPad
**Estado:** Especificado
**Destino:** Producción (Alfred/Jared)
## Propósito
Crear **flujos de trabajo** enlazando piezas de la **biblioteca HST**. Interfaz minimalista para bocetado rápido de procesos. Los flujos definidos se usan como plantillas en Producción.
## Diferencia con Mind Map
| Mind Map | Mind Flow |
|----------|-----------|
| Árboles jerárquicos | Grafos direccionales |
| Estructura estática | Flujo con dirección |
| Milestones y bloques | Procesos HST enlazados |
## Principios de Diseño
| Principio | Descripción |
|-----------|-------------|
| Minimalismo | Elementos esenciales |
| Naturalidad | Físicas orgánicas |
| Portabilidad | Exportable |
## Elementos Visuales
Cuadrados con esquinas redondeadas (estilo Apple), tamaño 1×1.
| Elemento | Marco | Descripción |
|----------|-------|-------------|
| Proceso | Amarillo | Paso individual (tag HST) |
| Flujo | Azul | 2+ procesos conectados |
## Biblioteca HST en UI
```
┌─────────────────────────────────────────────────────────────────┐
│ [inv] [cli] [prv] [pgo] [ctr] [doc] [tsk] ... 🔍 Buscar │
├─────────────────────────────────────────────────────────────────┤
│ [⭐ frecuentes del usuario] │
├─────────────────────────────────────────────────────────────────┤
│ │
│ LIENZO DE TRABAJO │
│ │
│ ┌─────┐ ┌─────┐ ┌─────┐ │
│ │ cli │────────▶│ inv │────────▶│ pgo │ │
│ └─────┘ └─────┘ └─────┘ │
│ │
└─────────────────────────────────────────────────────────────────┘
```
## Sistema de Físicas
### Gravedad Central
Elementos atraídos hacia el centro del lienzo (estilo Apple Watch).
### Separación Vertical
- Procesos (amarillo): tendencia arriba
- Flujos (azul): tendencia abajo
## Conexiones
### Crear
1. Arrastrar proceso sobre otro
2. Colisión genera rebote
3. Se crea línea de conexión
4. Ambos pasan a flujo (azul)
### Direccionalidad
| Acción | Resultado |
|--------|-----------|
| Deslizar sobre línea | Flecha en dirección del gesto |
| Doble tap | Cicla: sin flecha → → → ← |
### Elasticidad
- Límite: 2 celdas
- Superar y soltar en vacío: ruptura
- Superar y soltar sobre otro: unión
## Nodo Fantasma
Al crear flujo aparece nodo vacío para:
- Conexiones adicionales
- Flujos circulares
## Exportación a Producción
```json
{
"mrf": "hash-del-flujo",
"nombre": "Proceso de facturación",
"pasos": [
{"ref": "cli", "mrf": "hash-cliente"},
{"ref": "inv", "mrf": "hash-factura"},
{"ref": "pgo", "mrf": "hash-pago"}
],
"conexiones": [
{"from": 0, "to": 1},
{"from": 1, "to": 2}
]
}
```
---
# Mind Link
**Tipo:** Componente Web embebible
**Estado:** Planificado
**Destino:** Salida al usuario
## Propósito
**Visualizador y menú de acceso** integrable en cualquier parte del sistema:
1. **Menú** - Agrupar herramientas o funcionalidades
2. **Visualizador** - Enlace de salida de documentos
3. **Share** - Página pública tipo linktree
## Integración con ADI
Se integra con ADI para aplicación de acceso a documentos.
## Característica Clave
**Embebible en cualquier parte del sistema** como componente reutilizable.
## Modo Menú
```
┌─────────────────────────────────────────┐
│ 🏠 TZZR │
├─────────────────────────────────────────┤
│ ┌─────────┐ ┌─────────┐ │
│ │ 📷 │ │ 🗺️ │ │
│ │ Packet │ │ Mind Map│ │
│ └─────────┘ └─────────┘ │
│ ┌─────────┐ ┌─────────┐ │
│ │ ⚡ │ │ 📊 │ │
│ │ Flow │ │ Reports │ │
│ └─────────┘ └─────────┘ │
└─────────────────────────────────────────┘
```
## Modo Visualizador
```
┌─────────────────────────────────────────┐
│ Documentación Proyecto │
├─────────────────────────────────────────┤
│ [Proyecto] │
│ │ │
│ ┌─────────┼─────────┐ │
│ │ │ │ │
│ [Spec] [Manual] [API] │
└─────────────────────────────────────────┘
```
## Modo Share
```
┌─────────────────────────────────────┐
│ 🖼️ Avatar │
│ Nombre │
│ Bio corta │
├─────────────────────────────────────┤
│ [🔗 Portfolio] │
│ [📧 Contacto] │
│ [📄 CV] │
└─────────────────────────────────────┘
```
## Tipos de Nodo
| Tipo | Acción |
|------|--------|
| Link externo | Abre URL |
| Documento | Abre visualizador |
| App | Lanza aplicación |
| Submenú | Expande hijos |
| Acción | Ejecuta función |
## Configuración
```json
{
"modo": "menu",
"titulo": "Panel Principal",
"nodos": [
{
"icono": "📷",
"nombre": "Packet",
"tipo": "app",
"destino": "/packet"
}
]
}
```
---
# Matriz de Aplicaciones
## Por Destino
| App | Secretaría | Producción | Feldman | Salida |
|-----|------------|------------|---------|--------|
| Packet | ✅ | - | - | - |
| Mind Map | - | - | ✅ | - |
| Mind Flow | - | ✅ | - | - |
| Mind Link | - | - | - | ✅ |
## Por Estado
| App | Estado | Próximo paso |
|-----|--------|--------------|
| Packet | APK funcional | Enlazar con Clara |
| Mind Map | Especificado | Prototipo |
| Mind Flow | Especificado | Prototipo |
| Mind Link | Planificado | Especificar integración ADI |
## Por Plataforma
| App | Web | iPad | Móvil |
|-----|-----|------|-------|
| Packet | ❌ | ❌ | ✅ |
| Mind Map | ✅ | ✅ | ❌ |
| Mind Flow | ✅ | ✅ | ❌ |
| Mind Link | ✅ | ✅ | ✅ |
---
# Principios Comunes
## Hash como Identificador
```python
mrf = hashlib.sha256(contenido.encode()).hexdigest()
```
## Inmutabilidad
Datos consolidados no se modifican. Cambios crean nuevas versiones.
## Portabilidad
Formatos abiertos, exportables, sin vendor lock-in.
## Offline-first
Funcionalidad básica sin conexión.
---
*SKYNET v10 - 09_APLICACIONES - 6 Enero 2026*

File diff suppressed because it is too large Load Diff

View File

@@ -0,0 +1,59 @@
# Listado de Procesos Productivos
## Procesos de Corte y Conformado
- Corte láser
- Grabado láser
- Mecanizado CNC
- Torneado
- Plegado de chapa
- Curvado de chapa
- Curvado de tubo
- Cizallado
- Troquelado
- Repulsado
- Estampación
- Embutición
- Rebordeado
## Procesos de Acabado Superficial
- Pintura
- Anodizado
- Arenado
- Lijado
- Calibrado
- Pulido
- Vinilado
- Ploteo (plotter)
## Procesos de Unión y Fijación
- Soldadura de aluminio
- Soldadura con estaño
- Remachado
- Remachado de roscas
- Adhesivado
## Procesos de Taladrado y Roscas
- Taladrado
- Roscado con machos
## Procesos de Plástico y Moldeo
- Inyección de plástico
- Termoconformado
- Termorretráctil
## Procesos Eléctricos y de Cableado
- Corte de cable
- Pelado
- Desforrado
- Estañado
- Embornado
- Insertado (insertadora)
## Procesos de Montaje y Finales
- Montaje
- Instalación
- Embalado
## Procesos Especiales
- Colada / Potting
- Vacío + Autoclave

View File

@@ -0,0 +1,274 @@
# MCP Server TZZR
Servidor MCP (Model Context Protocol) que expone los servicios del sistema TZZR, traduciendo entre el protocolo MCP estándar y S-CONTRACT v2.1.
## Arquitectura
```
┌─────────────────────────────────────────────────────────────────┐
│ CLIENTE MCP │
│ (Claude Desktop, Cursor, otro cliente MCP) │
└─────────────────────────────────┬───────────────────────────────┘
│ MCP Protocol (stdio/SSE)
┌─────────────────────────────────────────────────────────────────┐
│ MCP SERVER TZZR │
│ │
│ ┌─────────────┐ ┌─────────────┐ ┌─────────────┐ │
│ │ TOOLS │ │ RESOURCES │ │ PROMPTS │ │
│ │ │ │ │ │ │ │
│ │ clasificar │ │ hst://tags │ │ analizar_ │ │
│ │ resumir │ │ tzzr:// │ │ factura │ │
│ │ ocr │ │ grace:// │ │ clasificar_ │ │
│ │ transcribir │ │ │ │ documento │ │
│ │ ... │ │ │ │ ... │ │
│ └─────────────┘ └─────────────┘ └─────────────┘ │
│ │ │
│ ┌────────────┴────────────┐ │
│ │ S-CONTRACT BUILDER │ │
│ │ (v2.1) │ │
│ └────────────┬────────────┘ │
└───────────────────────────┼─────────────────────────────────────┘
│ S-CONTRACT JSON
┌─────────────┼─────────────┐
▼ ▼ ▼
┌──────────┐ ┌──────────┐ ┌──────────┐
│ GRACE │ │ HST │ │ Context │
│ (RunPod) │ │(Directus)│ │ Manager │
└──────────┘ └──────────┘ └──────────┘
```
## Instalación
### Opción 1: pip (recomendado)
```bash
pip install mcp-server-tzzr
```
### Opción 2: Desde código fuente
```bash
git clone https://gitea.tzzr.me/tzzr/mcp-server-tzzr.git
cd mcp-server-tzzr
pip install -e .
```
## Configuración
### Variables de entorno
Crea un archivo `.env` o configura las siguientes variables:
```bash
# RunPod API Key (para GRACE)
RUNPOD_API_KEY=rpa_XXXXXXXXXXXXXXXXXXXXXXXXXX
# Token de Directus HST
HST_TOKEN=your_directus_token
# (Opcional) Context Manager
CONTEXT_MANAGER_URL=https://captain-claude.tzrtech.org/api/v2
```
### Configuración en Claude Desktop
Añade al archivo `claude_desktop_config.json`:
```json
{
"mcpServers": {
"tzzr": {
"command": "python",
"args": ["-m", "mcp_server_tzzr"],
"env": {
"RUNPOD_API_KEY": "rpa_XXXXXXX",
"HST_TOKEN": "your_token"
}
}
}
}
```
Ubicación del archivo:
- **macOS**: `~/Library/Application Support/Claude/claude_desktop_config.json`
- **Windows**: `%APPDATA%\Claude\claude_desktop_config.json`
- **Linux**: `~/.config/Claude/claude_desktop_config.json`
## Herramientas Disponibles (Tools)
### GRACE - Procesamiento Cognitivo
| Tool | Descripción | Módulo S-CONTRACT |
|------|-------------|-------------------|
| `clasificar` | Clasifica texto y asigna tags HST | CLASSIFIER |
| `resumir` | Resume textos largos | SUMMARIZER |
| `ocr` | Extrae texto de imágenes | OCR_CORE |
| `transcribir` | Transcribe audio a texto | ASR_ENGINE |
| `traducir` | Traduce entre idiomas | TRANSLATOR |
| `extraer_campos` | Extrae CIF, fechas, importes | FIELD_EXTRACTOR |
| `embeddings` | Genera vectores semánticos | EMBEDDINGS |
| `detectar_idioma` | Detecta idioma de texto | LANG_DETECT |
| `generar_hash` | Genera SHA-256 o UUID | HASHER |
### HST - Sistema de Tags
| Tool | Descripción |
|------|-------------|
| `buscar_tags` | Busca tags por texto |
| `listar_tags` | Lista tags de un grupo (hst, spe, flg, vsn) |
### Sistema
| Tool | Descripción |
|------|-------------|
| `grace_health` | Verifica estado de GRACE en RunPod |
## Recursos Disponibles (Resources)
| URI | Descripción |
|-----|-------------|
| `tzzr://hst/tags/hst` | 639 tags del sistema base |
| `tzzr://hst/tags/spe` | 145 tags de iluminación técnica |
| `tzzr://hst/tags/flg` | 65 banderas/países |
| `tzzr://grace/modules` | Catálogo de 18 módulos GRACE |
| `tzzr://servers/status` | Estado de servidores TZZR |
| `tzzr://hst/tag/{ref}` | Tag individual por referencia |
## Prompts Disponibles
| Prompt | Descripción | Argumentos |
|--------|-------------|------------|
| `analizar_factura` | Extrae campos de factura | `texto_factura` |
| `clasificar_documento` | Clasifica y sugiere tags | `contenido`, `contexto` |
| `resumir_reunion` | Resume transcripción | `transcripcion` |
## Ejemplos de Uso
### Desde Claude Desktop
```
Usuario: Clasifica este documento: "Factura nº 2024-001 de Luminarias S.L..."
Claude: [Ejecuta tool: clasificar]
Resultado:
{
"categoria": "FINANZAS",
"confidence": 0.95,
"tags": ["hst:factura", "spe:luminaria", "hst:proveedor"]
}
```
### Desde código Python
```python
from mcp import ClientSession
from mcp.client.stdio import stdio_client
async with stdio_client(["python", "-m", "mcp_server_tzzr"]) as client:
async with ClientSession(*client) as session:
# Llamar a una herramienta
result = await session.call_tool(
"clasificar",
{"texto": "Contrato de servicios de iluminación LED..."}
)
print(result)
# Leer un recurso
tags = await session.read_resource("tzzr://hst/tags/spe")
print(tags)
```
## Traducción MCP → S-CONTRACT
El servidor traduce automáticamente las llamadas MCP a S-CONTRACT v2.1:
### Entrada MCP (Tool call)
```json
{
"name": "clasificar",
"arguments": {
"texto": "Documento de ejemplo...",
"idioma": "es"
}
}
```
### S-CONTRACT generado
```json
{
"contract_version": "2.1",
"profile": "LITE",
"envelope": {
"trace_id": "550e8400-e29b-41d4-a716-446655440000",
"idempotency_key": "a1b2c3d4e5f6...",
"timestamp": "2026-01-04T12:00:00Z"
},
"routing": {
"module": "CLASSIFIER",
"version": "1.0"
},
"context": {
"lang": "es",
"mode": "strict"
},
"payload": {
"type": "text",
"encoding": "utf-8",
"content": "Documento de ejemplo..."
}
}
```
## Desarrollo
### Ejecutar tests
```bash
pytest tests/ -v
```
### Ejecutar en modo desarrollo
```bash
python -m src.server
```
### Verificar con MCP Inspector
```bash
npx @modelcontextprotocol/inspector python -m src.server
```
## Estructura del Proyecto
```
mcp-server-tzzr/
├── src/
│ └── server.py # Servidor MCP principal
├── tests/
│ └── test_server.py # Tests
├── pyproject.toml # Configuración del proyecto
├── README.md # Este archivo
└── .env.example # Ejemplo de variables de entorno
```
## Servicios TZZR Integrados
| Servicio | Función | Endpoint |
|----------|---------|----------|
| **GRACE** | 18 módulos cognitivos | RunPod Serverless |
| **HST** | Sistema de tags semánticos | Directus API |
| **Context Manager** | Orquestación de contexto | API interna |
## Roadmap
- [ ] Soporte para FELDMAN (validación Merkle)
- [ ] Integración con NOTARIO (sellado blockchain)
- [ ] Streaming para respuestas largas
- [ ] Caché de resultados frecuentes
- [ ] Métricas y observabilidad
## Licencia
MIT License - TZZR Systems 2026

View File

@@ -0,0 +1,342 @@
# MCP Server TZZR - Especificación Técnica
**Versión:** 1.0.0
**Fecha:** 2026-01-04
**Estado:** Listo para implementación
---
## 1. Visión General
### 1.1 Propósito
El MCP Server TZZR actúa como **puente entre el ecosistema MCP** (clientes como Claude Desktop, Cursor, etc.) y los **servicios internos TZZR** que utilizan S-CONTRACT v2.1.
```
┌────────────────────┐
│ Clientes MCP │
│ (Claude Desktop) │
└─────────┬──────────┘
│ MCP Protocol
┌────────────────────┐
│ MCP Server TZZR │ ◄── Este componente
└─────────┬──────────┘
│ S-CONTRACT v2.1
┌────────────────────┐
│ Servicios TZZR │
│ (GRACE, HST, etc) │
└────────────────────┘
```
### 1.2 Beneficios
| Sin MCP Server | Con MCP Server |
|----------------|----------------|
| Acceso solo vía API REST | Acceso desde cualquier cliente MCP |
| Integración manual por servicio | Integración automática estandarizada |
| Solo desarrolladores | Usuarios finales vía Claude Desktop |
| Contexto manual | Recursos y prompts predefinidos |
---
## 2. Arquitectura
### 2.1 Componentes
```
mcp-server-tzzr/
├── src/
│ ├── __init__.py
│ └── server.py # Servidor principal
│ ├── SContractBuilder # Constructor S-CONTRACT
│ ├── GraceClient # Cliente RunPod/GRACE
│ ├── HSTClient # Cliente Directus/HST
│ ├── Tools # 12 herramientas MCP
│ ├── Resources # 5+ recursos estáticos
│ └── Prompts # 3 plantillas
├── tests/
├── pyproject.toml
└── README.md
```
### 2.2 Flujo de Datos
```
1. Cliente MCP llama tool "clasificar" con {texto: "..."}
2. MCP Server recibe la llamada
3. SContractBuilder genera S-CONTRACT v2.1:
{
"contract_version": "2.1",
"routing": {"module": "CLASSIFIER"},
"payload": {"content": "..."}
}
4. GraceClient envía a RunPod endpoint
5. GRACE procesa y devuelve resultado
6. MCP Server parsea respuesta y devuelve TextContent
7. Cliente MCP recibe resultado formateado
```
---
## 3. Mapeo MCP ↔ S-CONTRACT
### 3.1 Tools → Módulos GRACE
| Tool MCP | Módulo S-CONTRACT | Familia |
|----------|-------------------|---------|
| `clasificar` | CLASSIFIER | Semántica |
| `resumir` | SUMMARIZER | Semántica |
| `ocr` | OCR_CORE | Visión |
| `transcribir` | ASR_ENGINE | Voz |
| `traducir` | TRANSLATOR | Semántica |
| `extraer_campos` | FIELD_EXTRACTOR | Utilidades |
| `embeddings` | EMBEDDINGS | Semántica |
| `detectar_idioma` | LANG_DETECT | Utilidades |
| `generar_hash` | HASHER | Utilidades |
### 3.2 Traducción de Parámetros
**Ejemplo: Tool `clasificar`**
```
MCP Input:
{
"texto": "Factura de servicios...",
"idioma": "es"
}
S-CONTRACT Output:
{
"contract_version": "2.1",
"profile": "LITE",
"envelope": {
"trace_id": "uuid",
"idempotency_key": "sha256",
"timestamp": "ISO8601"
},
"routing": {
"module": "CLASSIFIER",
"version": "1.0"
},
"context": {
"lang": "es",
"mode": "strict"
},
"payload": {
"type": "text",
"encoding": "utf-8",
"content": "Factura de servicios..."
}
}
```
### 3.3 Cadenas de Fallback
Algunos módulos tienen fallback automático:
| Módulo | Fallback Chain |
|--------|----------------|
| OCR_CORE | OCR_LOCAL → OCR_GROQ → OCR_OPENAI |
| ASR_ENGINE | ASR_WHISPER_LOCAL → ASR_FASTER_WHISPER → ASR_GROQ |
---
## 4. Recursos MCP
### 4.1 Recursos Estáticos
| URI | Fuente | Descripción |
|-----|--------|-------------|
| `tzzr://hst/tags/hst` | Directus | 639 tags base |
| `tzzr://hst/tags/spe` | Directus | 145 tags iluminación |
| `tzzr://hst/tags/flg` | Directus | 65 países |
| `tzzr://grace/modules` | Hardcoded | Catálogo 18 módulos |
| `tzzr://servers/status` | Config | Estado servidores |
### 4.2 Templates Dinámicos
| Template | Parámetro | Uso |
|----------|-----------|-----|
| `tzzr://hst/tag/{ref}` | ref | Tag individual |
| `tzzr://context/{agent_id}` | agent_id | Contexto de agente |
---
## 5. Prompts MCP
### 5.1 analizar_factura
**Propósito:** Extracción estructurada de datos de factura
**Argumentos:**
- `texto_factura` (required): Texto de la factura
**Campos extraídos:**
- CIF/NIF emisor y receptor
- Número y fechas
- Base imponible, IVA, total
- IBAN
- Líneas de factura
### 5.2 clasificar_documento
**Propósito:** Clasificación y asignación de tags
**Argumentos:**
- `contenido` (required): Texto del documento
- `contexto` (optional): Contexto adicional
**Output:**
- Categoría principal
- Tags HST sugeridos
- Nivel de confidencialidad
- Resumen breve
### 5.3 resumir_reunion
**Propósito:** Extracción de información de reuniones
**Argumentos:**
- `transcripcion` (required): Transcripción de la reunión
**Output:**
- Participantes
- Temas tratados
- Decisiones
- Tareas asignadas
- Próximos pasos
---
## 6. Configuración
### 6.1 Variables de Entorno
| Variable | Requerida | Descripción |
|----------|-----------|-------------|
| `RUNPOD_API_KEY` | Sí | API key para GRACE |
| `HST_TOKEN` | Sí | Token Directus HST |
| `GRACE_ENDPOINT_ID` | No | Override endpoint GRACE |
| `LOG_LEVEL` | No | DEBUG/INFO/WARNING/ERROR |
### 6.2 Configuración Claude Desktop
```json
{
"mcpServers": {
"tzzr": {
"command": "python",
"args": ["-m", "src.server"],
"cwd": "/opt/mcp-server-tzzr",
"env": {
"RUNPOD_API_KEY": "...",
"HST_TOKEN": "..."
}
}
}
}
```
---
## 7. Despliegue
### 7.1 Opción A: Local (desarrollo)
```bash
cd /opt/mcp-server-tzzr
python -m src.server
```
### 7.2 Opción B: Como paquete pip
```bash
pip install mcp-server-tzzr
mcp-server-tzzr
```
### 7.3 Opción C: Docker
```dockerfile
FROM python:3.11-slim
WORKDIR /app
COPY . .
RUN pip install -e .
CMD ["python", "-m", "src.server"]
```
---
## 8. Integración con Sistema TZZR
### 8.1 Posición en la Arquitectura
```
┌─────────────────┐
│ Claude Desktop │
│ (Usuario) │
└────────┬────────┘
│ MCP
┌────────▼────────┐
│ MCP Server │
│ TZZR │
└────────┬────────┘
│ S-CONTRACT
┌────────────────────┼────────────────────┐
│ │ │
┌───────▼───────┐ ┌────────▼────────┐ ┌──────▼──────┐
│ GRACE │ │ HST │ │ Context │
│ (RunPod) │ │ (Directus) │ │ Manager │
└───────────────┘ └─────────────────┘ └─────────────┘
```
### 8.2 Servicios Conectados
| Servicio | Protocolo | Puerto | Función |
|----------|-----------|--------|---------|
| GRACE | HTTPS/RunPod | - | Procesamiento cognitivo |
| HST Directus | HTTPS | 8055 | Tags semánticos |
| Context Manager | HTTPS | 5500 | Orquestación (futuro) |
---
## 9. Roadmap
### v1.0 (actual)
- [x] Tools GRACE básicos
- [x] Recursos HST
- [x] Prompts predefinidos
- [x] Traducción S-CONTRACT
### v1.1 (planificado)
- [ ] Integración FELDMAN (validación Merkle)
- [ ] Integración NOTARIO (sellado blockchain)
- [ ] Caché de respuestas frecuentes
### v1.2 (futuro)
- [ ] Streaming para respuestas largas
- [ ] Context Manager integration
- [ ] Métricas Prometheus
---
## 10. Referencias
- [MCP Specification](https://spec.modelcontextprotocol.io)
- [S-CONTRACT v2.1](gitea://tzzr/contratos-comunes)
- [GRACE Modules](gitea://tzzr/grace)
- [HST System](gitea://tzzr/hst)

View File

@@ -0,0 +1,469 @@
# ANEXO 1 - REFERENCIA TÉCNICA
**Versión:** 10.0
**Fecha:** 6 Enero 2026
**Sistema:** TZZR
---
# §1. INTERFACES WEB DESPLEGADAS
## 1.1 MindLink - Portal Unificado
Portal visual que centraliza acceso a todos los servicios TZZR.
| Instancia | URL | Servidor | Puerto |
|-----------|-----|----------|--------|
| CENTRAL | https://link.tzzrarchitect.me | DECK | 5090 |
| CORP | https://link.tzzrcorp.me | CORP | 5090 |
| DECK | https://link.tzzrdeck.me | DECK | 5090 |
**Stack:** Python + Flask + Jinja2
**Ubicación:** `/opt/mindlink/`
**Proceso:** systemd
### Endpoints
```
GET / # Frontend
GET /api/health # Health check
GET /api/services # Lista servicios
GET /api/services/status # Estado servicios
POST /api/shorten # Acortar URL
GET /s/<code> # Redirección
```
---
## 1.2 Flow-UI - Gestión de Flujos
Interfaz web para gestionar el flujo de datos TZZR.
| Instancia | URL | Servidor | Puerto |
|-----------|-----|----------|--------|
| DECK | https://flows.tzzrdeck.me | DECK | 5080 |
| CORP | https://flows.tzzrcorp.me | CORP | 5080 |
**Stack:** Python + Flask + Jinja2
**Ubicación:** `/opt/flow-ui/`
**Proceso:** systemd
### Secciones
| Sección | Función |
|---------|---------|
| Entrada | Formulario ingesta, lista entradas |
| Mason | Editor items pendientes |
| Feldman | Milestones, bloques, verificación |
| Flujos | Gestión flujos (Alfred/Jared) |
| HST | Tags y grupos |
| Dashboard | Vista general |
| Admin | Logs y restart |
### Endpoints
```
POST /api/ingest # Enviar a Clara/Margaret
GET /api/entradas # Listar entradas
GET /api/mason/pending # Items pendientes
PUT /api/mason/item/<id> # Actualizar item
POST /api/mason/item/<id>/resolve # Resolver → Feldman
GET /api/feldman/milestones # Listar milestones
GET /api/feldman/verify/<hash> # Verificar hash
GET /api/flujos # Listar flujos
POST /api/flujos/<id>/ejecutar # Ejecutar flujo
```
---
## 1.3 Directus - CMS Headless
| Instancia | URL | Servidor | Puerto | Base de Datos |
|-----------|-----|----------|--------|---------------|
| DECK | https://directus.tzzrdeck.me | DECK | 8055 | deck |
| CORP | https://directus.tzzrcorp.me | CORP | 8055 | corp |
| HST | https://hst.tzrtech.org | HST | 8055 | hst_images |
| Lumalia | - | HST | 8056 | lumalia |
| Personal | - | HST | 8057 | personal |
| ARCHITECT | https://directus.tzzrarchitect.me | ARCHITECT | 8055 | tzzr |
---
# §2. SERVICIOS AUXILIARES
## 2.1 DECK (72.62.1.113)
| Servicio | Puerto | URL | Descripción |
|----------|--------|-----|-------------|
| Nextcloud | 8084 | nextcloud.tzzrdeck.me | Almacenamiento |
| Vaultwarden | 8085 | vault.tzzrdeck.me | Contraseñas |
| Shlink | 8083 | - | URLs cortas |
| NTFY | 8080 | - | Notificaciones |
| Windmill | 8100 | - | Workflows |
| Mailcow | 8443 | - | Email |
| FileBrowser | 8082 | - | Archivos |
## 2.2 CORP (92.112.181.188)
| Servicio | Puerto | URL | Descripción |
|----------|--------|-----|-------------|
| Nextcloud | 8080 | nextcloud.tzzrcorp.me | Almacenamiento |
| Vaultwarden | 8081 | vault.tzzrcorp.me | Contraseñas |
| Shlink | 8082 | shlink.tzzrcorp.me | URLs cortas |
| Addy | 8083 | addy.tzzrcorp.me | Email aliases |
| NTFY | 8880 | ntfy.tzzrcorp.me | Notificaciones |
| Windmill | 8000 | localhost:8000 | Workflows |
## 2.3 HST (72.62.2.84)
| Servicio | Puerto | Descripción |
|----------|--------|-------------|
| FileBrowser | 8081 | Administrador archivos |
| HST-Images | 80/443 | Nginx imágenes estáticas |
## 2.4 ARCHITECT (69.62.126.110)
| Servicio | Puerto | URL | Descripción |
|----------|--------|-----|-------------|
| Gitea | 3000 | git.tzzrarchitect.me | Repositorios |
| Windmill | 8100 | - | Workflows |
| Infisical | 8082 | - | Secretos |
---
# §3. RESUMEN DE PUERTOS
| Puerto | Servicio | DECK | CORP | HST | ARCHITECT |
|--------|----------|------|------|-----|-----------|
| 80/443 | Reverse Proxy | Caddy | Caddy | Docker | Nginx |
| 3000 | Gitea | - | - | - | ✓ |
| 5000 | HST-API | - | - | ✓ | - |
| 5051 | Clara/Margaret | ✓ | ✓ | - | - |
| 5052 | Alfred/Jared | ✓ | ✓ | - | - |
| 5053 | Mason | ✓ | ✓ | - | - |
| 5054 | Feldman | ✓ | ✓ | - | - |
| 5055 | Oracle (futuro) | ✓ | ✓ | - | - |
| 5080 | Flow-UI | ✓ | ✓ | - | - |
| 5090 | MindLink | ✓ | ✓ | - | - |
| 8055 | Directus | ✓ | ✓ | ✓ | ✓ |
| 8080/8880 | NTFY/Nextcloud | NTFY | NC | - | - |
| 8100 | Windmill | ✓ | - | - | ✓ |
---
# §4. SERVIDOR HST
## 4.1 Estructura Filesystem
```
/opt/hst/
├── api/ # Flask API (app.py, Dockerfile)
├── images/ # Imágenes PNG (926 archivos)
│ └── thumb/ # Thumbnails
├── directus/
│ ├── extensions/
│ └── uploads/
├── nginx/
│ └── default.conf
├── scripts/
│ └── refresh_views.sh
├── filebrowser/
├── backups/
└── docker-compose.yml
```
## 4.2 Contenedores Docker HST
| Contenedor | Puerto | Función |
|------------|--------|---------|
| hst-api | 5000 | API Flask principal |
| hst-images | 80, 443 | Nginx servidor imágenes |
| directus_hst | 8055 | CMS Directus |
| directus_lumalia | 8056 | CMS Lumalia |
| directus_personal | 8057 | CMS Personal |
| postgres_hst | 5432 | PostgreSQL |
| filebrowser | 8081 | Gestión archivos |
## 4.3 Dominios HST
| Dominio | Destino |
|---------|---------|
| tzrtech.org | Imágenes estáticas + /api/ |
| hst.tzrtech.org | Directus CMS |
| graph.tzrtech.org | API directa |
| lumalia.tzrtech.org | Directus Lumalia |
| pablo.tzrtech.org | Directus Personal |
## 4.4 API HST
Base: `https://tzrtech.org/api/`
| Endpoint | Método | Descripción |
|----------|--------|-------------|
| /api/index.json | GET | Índice general |
| /api/tags | GET | Buscar tags |
| /api/tags/{mrf} | GET | Obtener tag por hash |
| /api/tags/{mrf}/children | GET | Hijos de un tag |
| /api/tags/{mrf}/related | GET | Tags relacionados |
| /api/tree | GET | Árbol jerárquico |
| /api/graph | GET | Grafo de relaciones |
| /api/library | GET | Lista de bibliotecas |
| /api/grupos | GET | Lista de grupos |
---
# §5. TABLAS POSTGRESQL POR SERVIDOR
## 5.1 Resumen
| Servidor | Bases de Datos | Total Tablas |
|----------|----------------|--------------|
| DECK | tzzr, deck | 30 |
| CORP | tzzr, corp | 89 |
| HST | directus, hst_images, lumalia, personal | 143 |
| ARCHITECT | tzzr, windmill | 122 |
## 5.2 Tablas Core TZZR
### Secretaría (Clara/Margaret)
| Tabla | Servidor | Descripción |
|-------|----------|-------------|
| immutable_log | DECK, CORP | Log inmutable principal |
| clara_log | DECK | Log específico Clara |
| clara_registros | DECK | Registros Clara |
| margaret_log | CORP | Log específico Margaret |
| margaret_registros | CORP | Registros Margaret |
### Administración (Mason)
| Tabla | Servidor | Descripción |
|-------|----------|-------------|
| incidencias | DECK, CORP | Items pendientes |
### Contabilidad (Feldman)
| Tabla | Servidor | Descripción |
|-------|----------|-------------|
| feldman_cola | DECK, CORP | Cola de validación |
| feldman_validaciones | CORP | Registro validaciones |
| bloques | DECK, CORP | Bloques consolidados |
| completados | DECK, CORP | Registros finalizados |
| milestones | DECK, CORP | Hitos del sistema |
| merkle_batches | DECK, CORP | Lotes Merkle |
### Producción (Alfred/Jared)
| Tabla | Servidor | Descripción |
|-------|----------|-------------|
| flujos_predefinidos | DECK, CORP | Definiciones de flujos |
| flujo_ejecuciones | DECK, CORP | Historial ejecuciones |
### Extensiones Usuario
| Tabla | Servidor | Descripción |
|-------|----------|-------------|
| hsu | DECK, CORP | Tags de usuario |
| pju | DECK, CORP | Proyectos usuario |
| spu | DECK, CORP | Especializaciones usuario |
| vsu | DECK, CORP | Visiones usuario |
| vuu | DECK, CORP | Vistas usuario |
| flu | DECK, CORP | Flags usuario |
| hst_mirror | DECK, CORP | Espejo de tags HST |
## 5.3 Tablas HST
| Tabla | Base de Datos | Descripción |
|-------|---------------|-------------|
| hst | hst_images, lumalia, personal | Tags principales |
| flg | hst_images, lumalia, personal | Flags |
| spe | hst_images | Especificaciones |
| vsn | hst_images | Visiones |
| vue | hst_images | Vistas |
| graph_edges | hst_images | Relaciones entre tags |
| tag_categorias | hst_images | Categorías |
| itm | lumalia, personal | Items |
| loc | lumalia, personal | Ubicaciones |
| ply | lumalia, personal | Players |
---
# §6. REPOSITORIOS GITEA
**URL:** https://git.tzzrarchitect.me
**Organización:** tzzr (29 repos)
## 6.1 Microservicios
| Repo | Descripción | Lenguaje |
|------|-------------|----------|
| clara | Entrada DECK | Python |
| margaret | Entrada CORP | Python |
| alfred | Asistente DECK | Python |
| jared | Flujos CORP | Python |
| mason | Enriquecimiento | Python |
| feldman | Validador + Merkle | Python |
| sentinel | Auditoría | Python |
## 6.2 Interfaces
| Repo | Descripción |
|------|-------------|
| flow-ui | Interfaz de flujos |
| mindlink | Portal unificado |
| packet | App móvil (Dart) |
## 6.3 Sistema
| Repo | Descripción |
|------|-------------|
| captain-claude | Sistema multiagente |
| orchestrator | Orquestación v5 |
| system-docs | Documentación |
| system-plan | Plan de implementación |
| contratos-comunes | Contratos compartidos |
## 6.4 GPU Services (No desplegados)
| Repo | Descripción | Estado |
|------|-------------|--------|
| grace | Módulos IA | Repo existe |
| penny | Asistente voz | Repo existe |
| the-factory | Generación iterativa | Repo existe |
---
# §7. COMANDOS DE GESTIÓN
## 7.1 Servicios systemd
```bash
# MindLink
systemctl status mindlink
systemctl restart mindlink
journalctl -u mindlink -f
# Flow-UI
systemctl status flow-ui
systemctl restart flow-ui
journalctl -u flow-ui -f
```
## 7.2 Contenedores Docker
```bash
# Ver estado
docker ps --format "table {{.Names}}\t{{.Status}}\t{{.Ports}}"
# Logs
docker logs -f clara-service
docker logs -f feldman-service
# Reiniciar
docker restart jared-service mason-service feldman-service
# Health check
curl http://localhost:5051/health
curl http://localhost:5052/health
curl http://localhost:5053/health
curl http://localhost:5054/health
```
## 7.3 PostgreSQL
```bash
# Listar bases de datos
sudo -u postgres psql -c "\l"
# Ver tablas
sudo -u postgres psql -d tzzr -c "\dt"
# Query
sudo -u postgres psql -d tzzr -c "SELECT count(*) FROM immutable_log;"
```
## 7.4 HST Específico
```bash
# SSH
ssh -i ~/.ssh/tzzr root@72.62.2.84
# PostgreSQL HST
docker exec -it postgres_hst psql -U directus -d hst_images
# Regenerar vistas materializadas
/opt/hst/scripts/refresh_views.sh
# Docker Compose HST
cd /opt/hst
docker compose up -d
docker compose down
docker compose logs -f
```
---
# §8. OPENAPI SPEC (Resumen)
## 8.1 Servidores
| Servicio | URL DECK | URL CORP |
|----------|----------|----------|
| Clara/Margaret | http://72.62.1.113:5051 | http://92.112.181.188:5051 |
| Alfred/Jared | http://72.62.1.113:5052 | http://92.112.181.188:5052 |
| Mason | http://72.62.1.113:5053 | http://92.112.181.188:5053 |
| Feldman | http://72.62.1.113:5054 | http://92.112.181.188:5054 |
## 8.2 Autenticación
Header: `X-Auth-Key: {h_instancia}`
## 8.3 Endpoints Principales
| Path | Método | Servicio | Descripción |
|------|--------|----------|-------------|
| /health | GET | Todos | Health check |
| /ingest | POST | Clara/Margaret | Registrar entrada |
| /list | GET | Clara/Margaret | Listar entradas |
| /flujos | GET/POST | Alfred/Jared | Gestionar flujos |
| /pendientes | GET | Mason | Items pendientes |
| /item/{id} | GET/PUT | Mason | Gestionar item |
| /milestones | GET | Feldman | Listar milestones |
| /bloques | GET | Feldman | Listar bloques |
| /verify/{hash} | GET | Feldman | Verificar integridad |
| /consolidar | POST | Feldman | Consolidar entradas |
## 8.4 Schemas Principales
### HealthResponse
```json
{
"service": "clara",
"status": "ok",
"rol": "secretaria",
"timestamp": "ISO8601",
"version": "1.0.0"
}
```
### IngestResponse
```json
{
"success": true,
"h_entrada": "sha256...",
"timestamp": "ISO8601"
}
```
### VerifyResponse
```json
{
"valid": true,
"hash": "sha256...",
"found_in": "milestone|block|entry"
}
```
---
*SKYNET v10 - ANEXO 1 REFERENCIA TÉCNICA - 6 Enero 2026*