Meta Evolution

Sistema autónomo de 12 capas — monitoreo, auto-reparación, diagnóstico con IA y memoria persistente.
Version 7.6 + 8 mejoras operativas · Auditado 2026-07-24 · Ecosistema HJAZZI

📄 Informe completo

Qué es Meta Evolution y para qué sirve, explicado desde cero y sin tecnicismos, más el detalle técnico, los resultados de la auditoría y una hoja de ruta de mejoras ordenada por urgencia.

Incluye el hallazgo más importante de la auditoría: el código de las aplicaciones no tiene copia de seguridad.

⬇ Descargar informe o leerlo en el navegador →

📥 Documentación técnica

Referencia completa: arquitectura, las 12 capas en detalle, flujo de datos, comandos y rutas de archivos.

⬇ Descargar META_EVOLUTION.md

🧾 Cargar factura o remito

Sacá una foto desde el celular y los datos van solos a la planilla: proveedor, RUT, número, fecha, neto, IVA y total. Si ya cargaste ese documento antes, lo saltea.

Marca en amarillo lo que conviene mirar con el original al lado: cuando la suma no cuadra, la moneda no es UYU, el RUT no es uruguayo, o la extracción salió floja.

📷 Cargar factura ⬇ bajar la planilla

⬆ Subir archivo para Hermes

Subí imágenes, documentos, capturas — cualquier archivo de hasta 100MB. Se guarda con hash único y te da un link directo para compartir o descargar.

📤 Ir a upload

⚡ Estado en vivo

-
Servicios activos
-
Disco usado
-
RAM usado
-
Uptime días

🟢 Servicios

🔍 Auditoría 2026-07-24

Fallo grave — el auto-reparador estaba muerto

auto_watcher.py fallaba en cada ejecución con UnboundLocalError: heal_state. La variable se usaba en la rama «no hay servicios caídos» pero se asignaba después del return de esa rama — o sea, fallaba justamente cuando todo estaba bien.

Durante ese tiempo el sistema monitoreaba pero no reparaba: si un servicio caía de madrugada, nadie lo levantaba. Corregido y verificado.

Verificaciones apuntando a puertas equivocadas

Dos capas chequeaban el gateway en el puerto 8080 cuando escucha en el 8765. Y health_checker verificaba nicolas consultando el puerto de logis — daba ✅ midiendo el servicio equivocado. El fallo más peligroso, porque no parece un fallo.

Benchmark: 5/8 → 8/8 (grado A). Healthcheck: 9/10 → 10/10.

Tres servicios invisibles

hermes-dashboard, hermes-upload y acta-core no estaban en la lista de vigilancia: activos, pero invisibles para el auto-reparador. Corregido: 9 → 12 servicios vigilados.

La causa raíz común

Tres de los cuatro fallos venían del mismo sitio: cada capa tenía su propia lista de servicios y puertos, escrita a mano y duplicada en cuatro archivos. Con el tiempo dejaron de coincidir con la realidad, y como nadie las comparaba, la divergencia creció en silencio durante meses.

Por eso se añadió un registro único y un detector de deriva que lo compara contra la realidad cada día. Habría cazado los cuatro fallos automáticamente.

🏗️ Las 12 capas

Capa 0 — Guardian 15min

Watchdog general: verifica gateway activo, scripts en disco, heartbeats recientes, espacio en disco. Es la primera línea de defensa.

Capa 1 — Health Monitor 15min

Toma métricas del VPS: estado de servicios (systemctl + docker), RAM, disco, load average, health HTTP, nginx, UFW, puertos. Genera la serie temporal timeseries.jsonl.

Capa 2 — Auto Watcher 5min

Cerebro de auto-reparación: detecta servicios caídos en 3+ mediciones consecutivas, consulta la memoria antes de actuar, intenta restart, y aplica circuit breaker (3 strikes → escalar).

Capa 3 — Memory Core tiempo real

API unificada sobre service_memory.json, incidents.json y lessons.json. Todos los scripts la consultan antes de decidir. Proporciona historial, acción sugerida y patrones.

Capa 4 — Predictor cada hora

Analiza tendencias de las últimas 24h. Detecta drift en health checks, patrones de memoria, servicios con reinicios frecuentes. Genera alertas anticipadas.

Capa 5 — Benchmark Suite 6AM

8 tests de calidad con score A-F. Verifica respuesta de servicios, disponibilidad 24h, latencia. Consulta systemctl y docker en VIVO, sin depender de archivos.

Capa 6 — Daily Digest 8AM

Reporte diario con score de salud, benchmarks, incidentes, auto-healing, predicciones y tendencias de mercado. Auto-actualiza STATE.md.

Capa 7 — Post-Session

Reflexión al finalizar cada sesión de Hermes. Analiza lo hecho, detecta patrones reusables y propone nuevos skills. Funciona standalone.

Capa 8 — Proyectos Autónomos

Framework para proyectos con ciclo de 9 pasos. 4 proyectos activos: auto-deployer, blog-publisher, trading-agent, visual-marketer.

Capa 9 — Market Intelligence 7AM

Escanea Hacker News, GitHub Trending y Google Trends. Genera reportes con oportunidades de negocio identificadas automáticamente.

Capa 10 — Memory Compactor 3AM

Purga snapshots >30d, comprime incidents resueltos >7d, rota cron outputs, reporta heartbeats incompletos. Corre sin supervisión.

Capa 11 — Deep Diagnosis 15min IA

La primera capa con razonamiento. Se dispara solo cuando el circuit breaker se abre — es decir, cuando el auto-reparador ya agotó sus tres intentos y se rindió. Reúne logs, métricas e historial, y le pide a Claude Fable 5 causa raíz, evidencia y acciones priorizadas.

En operación normal sale en 130 ms sin gastar un token. En Fase 1 solo diagnostica: no ejecuta nada, la decisión sigue siendo humana. Un diagnóstico real costó $0.047.

Drift Detector 5AM

Verifica que el sistema no se mienta a sí mismo. Compara el registro único (config/services.json) contra la realidad: qué servicios existen, qué puertos escuchan de verdad, qué endpoints responden, y qué puertos hay codificados a mano en el código de las capas.

Validado inyectando deriva a propósito: detectó las cinco discrepancias.

🚀 Mejoras V8 (2026-07-23)

📊 Dashboard web

Flask + gunicorn en puerto 5050. Muestra servicios, RAM, disco, uptime 24h por servicio y eventos recientes. Auto-refresh cada 30s. Sin base de datos — lee los JSON que el sistema ya genera.

📨 Alertas Telegram

Cuando un servicio cae 3 mediciones consecutivas, envía mensaje a Telegram. También notifica recuperaciones y alertas críticas si 3 reintentos fallan. Configurable vía token.

🏥 Healthcheck HTTP estándar

Verifica cada 15min que 10 endpoints respondan HTTP 200. No solo mira systemctl — verifica que la app realmente conteste. Endpoints /health agregados a servicios que no tenían.

📋 Log centralizado

Todos los scripts escriben eventos en events.jsonl. Un solo archivo para todo el ecosistema. Consumible desde el dashboard y desde terminal con tail -f.

🧹 Memory Sanity

Archiva automáticamente servicios sin actividad >7 días. Mantiene la memoria limpia y las predicciones precisas. Corre cada 24h a las 2AM.

🔀 Flujo de datos

health_monitor (Capa 1)
    │ cada 15min
    ▼
timeseries.jsonl  ◄── predictor (Capa 4)
    │
    ├──► auto_watcher (Capa 2) cada 5min
    │       ├──► memory_core (Capa 3)
    │       ├──► systemctl restart
    │       ├──► incidents / lessons / service_memory
    │       └──► event_logger + Telegram
    │
    ├──► daily_digest (Capa 6) → STATE.md
    │
    │
    ├──► ¿3 fallos? ──► deep_diagnosis (Capa 11)
    │                      └──► Fable 5 → informe de diagnóstico
    │
    └──► dashboard (puerto 5050)
            └──► /api/system + /api/events

config/services.json ──► drift_detector (diario)
   (registro único)         └──► ¿el registro miente?

💻 Comandos rápidos

# Ver estado completo del sistema
python3 ~/.hermes/scripts/health_checker.py

# Verificar que el registro coincide con la realidad
python3 ~/.hermes/scripts/drift_detector.py

# Ver servicios activos (los 12)
for s in hermes-gateway hermes-dashboard hermes-upload acta-core \
  shop-hjazzi uropic shangrila estiloyvida logis nicolas leadcapture; do
  echo "$s: $(systemctl is-active $s)"
done

# Ver heartbeats
python3 -c "import json; print(
  json.dumps(json.load(open(
    '$HOME/.hermes/evolution/metrics/heartbeats.json'
  )), indent=2))"

# Ver eventos recientes
tail -10 ~/.hermes/evolution/metrics/events.jsonl \
  | python3 -m json.tool

# Ver métricas del dashboard
curl -s http://127.0.0.1:5050/api/system | python3 -m json.tool