⚠️ VALIDACIÓN: Análisis de Redundancia Tier 1
Fecha: 17 de marzo de 2026
Status: HALLAZGOS CRÍTICOS ENCONTRADOS
Investigador: Análisis de codebase OpenSkyNet vs SOLITONES/OpenClaw
📌 SÍNTESIS EJECUTIVA
Pregunta Original
"¿Es el trabajo propuesto (Tier 1) redundante con lo que ya existe en openskynet?"
Respuesta: SÍ, HAY REDUNDANCIA REAL ⚠️
🔍 HALLAZGO PRINCIPAL
OpenSkyNet tiene 2 subsistemas arquitectónicos en paralelo:
Sistema 1: src/agents/ - Tier 1 Proposal (ORPHANED)
Archivos creados (~1340 líneas):
├─ meta-controller.ts (220 líneas, clase MetaController)
├─ dsl-searcher.ts (280 líneas, clase DSLSearcher)
├─ panel-logic.ts (280 líneas, clase PanelLogic)
├─ rule-extractor.ts (240 líneas, clase RuleExtractor)
├─ lyapunov-control.ts (280 líneas, clase LyapunovControl)
└─ tipos compartidos (30 líneas)
Status: CREADOS pero NO INTEGRADOS en ningún lugar
Referencia: Nunca importados en ollama-stream.ts, heartbeat.ts, etc.
Sistema 2: src/omega/ - Core System (ACTIVE ✅)
Archivos producción (~2000+ líneas):
├─ neural-logic-engine.ts (300+ líneas, clase NeuralLogicEngine)
├─ lyapunov-controller.ts (200+ líneas, clase LyapunovController)
├─ episodic-recall.ts + hierarchical-memory.ts (consolidación)
├─ causal-reasoner.ts (razonamiento causal)
├─ entropy-minimization-loop.ts (homeostasis dinámica)
├─ jepa-empirical-logger.ts (aprendizaje)
└─ [10+ archivos más integrados]
Status: COMPLETAMENTE INTEGRADO en heartbeat.ts, runtime.ts
Referencia: Usado activamente en el loop autónomo del agente
🎯 ANÁLISIS DETALLADO: Dónde es Redundancia
1. Lyapunov Control - DUPLICACIÓN VERDADERA ❌
| Aspecto | agents/lyapunov-control.ts |
omega/lyapunov-controller.ts |
|---|---|---|
| Enfoque | Monitorea respuestas LLM | Calcula Lyapunov exponent real |
| Input | Texto de respuesta | z_current, z_previous, predictionError |
| Matemática | Patrones de texto | Dinámicas no-lineales |
| Status | ❌ Orphaned | ✅ Integrado |
| Sofisticación | Básica | Avanzada |
Conclusión: Mismo concepto, 2 impls. Omega es superior.
2. Neural Logic Engine vs Meta-Controller - COMPETENCIA ⚠️
| Aspecto | agents/{meta,panel}*.ts |
omega/neural-logic-engine.ts |
|---|---|---|
| Nivel | Textual/simbólico | Latente/vectorial |
| Operación | Tokens → router | Espacio latente → inferencia |
| Aprendizaje | Episodes JSONL | Gradientes JEPA |
| Motores | 6 opciones predefinidas | 64 reglas aprendibles |
| Status | ❌ Orphaned | ✅ Integrado |
Conclusión: Diferentes abstracciones del mismo problema (razonamiento sin LLM). Omega es más matemáticamente puro.
3. Rule Extractor vs Episodic Memory - SOLAPAMIENTO ⚠️
| Aspecto | agents/rule-extractor.ts |
omega/episodic-recall.ts |
|---|---|---|
| Función | Extrae reglas de episodios | Consolida episodios + resuelve |
| Storage | JSONL plano | Embeddings + DAG causal |
| Integración | ❌ Nunca integrada | ✅ En heartbeat |
| Sofisticación | Lookup simple | Memory consolidation avanzada |
Conclusión: rule-extractor es versión simplificada de lo que ya hace omega/.
4. DSL Searcher - ÚNICO (Sin duplicación)
✅ NO HAY ANÁLOGO en omega/
✅ Resuelve problemas discretos (puzzles, patrones)
✅ Complementario, no redundante
5. POC-1 (Dynamic Tuning) - INTEGRADO (No redundante)
✅ Integrado en ollama-stream.ts
✅ Funcional y activo
✅ Sin duplicación
💾 ESTADO DEL CÓDIGO
Integración Real en OpenSkyNet
INTEGRADO Y ACTIVO:
├─ POC-1 (dynamic tuning) → ollama-stream.ts ✅
├─ POC-2 (grounding validator) → tests + validation ✅
├─ POC-3 (compressed prompts) → tests ✅
├─ Omega subsystem → heartbeat.ts + runtime.ts ✅
│ ├─ neural-logic-engine.ts ✅
│ ├─ lyapunov-controller.ts ✅
│ ├─ episodic-recall.ts ✅
│ ├─ entropy-minimization-loop.ts ✅
│ └─ [más componentes] ✅
└─ JEPA + Memory + Causality ✅
ORPHANED (Nunca integrado):
├─ meta-controller.ts ❌
├─ dsl-searcher.ts ❌
├─ panel-logic.ts ❌
├─ rule-extractor.ts ❌
└─ lyapunov-control.ts ❌
Verificación: Búsqueda en Codebase
# Búsqueda: ¿Dónde importan MetaController?
grep -r "MetaController\|meta-controller" openskynet/src/
→ 0 resultados (no está integrado)
# Búsqueda: ¿Dónde importan NeuralLogicEngine?
grep -r "NeuralLogicEngine\|neural-logic-engine" openskynet/src/
→ En heartbeat.ts, runtime.ts (INTEGRADO ✅)
# Búsqueda: ¿Dónde usan ollama-stream?
grep -r "ollama-stream\|createOllamaStreamFn" openskynet/src/
→ En managers, pi-embedded-runner.ts (INTEGRADO ✅)
→ Carga: POC-1 dynamic tuning ✅
→ NO carga: meta-controller ❌
📊 COMPARACIÓN: Agents Tier 1 vs OpenClaw
¿Existen los archivos Tier 1 en OpenClaw?
SOLITONES/openclaw/src/agents/
├─ meta-controller.ts → NO
├─ dsl-searcher.ts → NO
├─ panel-logic.ts → NO
├─ rule-extractor.ts → NO
└─ lyapunov-control.ts → NO
Conclusión: Estos archivos fueron CREADOS en openskynet específicamente
(no copiados de openclaw)
🚨 RECOMENDACIÓN
Opción A: CONSOLIDATE (RECOMENDADO) ⭐
Mantener: src/omega/* (Sistema Real, Activo)
Eliminar: src/agents/{meta,dsl,panel,rule,lyapunov}* (Orphaned)
Ventajas:
- ✅ Elimina código muerto (~1340 líneas)
- ✅ Claridad: Un sistema de verdad (omega/), no dos
- ✅ Mantenibilidad: Menos deuda técnica
- ✅ Fuerza comprensión: Equipo entiende QGQL sistema real
Desventajas:
- Pierde la "interfaz textual" de agents/ (si la necesitabas)
Esfuerzo: 4-6 horas (revisar, documentar, limpiar)
Opción B: DUAL LAYER (Si quieres interfaz textual)
Mantener ambos, pero como capas:
Nivel 1 (Usuario): agents/meta-controller → dispatch lógico
↓
Nivel 2 (Core): omega/neural-logic-engine → razonamiento real
Ventajas:
- ✅ Interface más simple para usuarios
- ✅ No eliminas código
Desventajas:
- ❌ Deuda técnica (2 sistemas)
- ❌ Complejidad (¿cuál usar cuándo?)
- ❌ Mantenimiento doble
Esfuerzo: 30-40 horas (hacer agents como proxy)
Opción C: KEEP EVERYTHING (NO RECOMENDADO) ❌
No hacer nada
...entonces:
- ❌ Código muerto acumulado
- ❌ Confusión futura ("¿Por qué hay 2 lyapunov-controls?")
- ❌ Deuda técnica
📋 ARCHIVOS ANALIZADOS
Verificados en openskynet:
✅ src/agents/meta-controller.ts (220 líneas)
✅ src/agents/dsl-searcher.ts (280 líneas)
✅ src/agents/panel-logic.ts (280 líneas)
✅ src/agents/rule-extractor.ts (240 líneas)
✅ src/agents/lyapunov-control.ts (280 líneas)
✅ src/agents/ollama-stream.ts (500+ líneas)
✅ src/omega/heartbeat.ts (100+ líneas)
✅ src/omega/lyapunov-controller.ts (200+ líneas)
✅ src/omega/neural-logic-engine.ts (300+ líneas)
Verificados en openclaw:
✅ Confirmado: No existe meta-controller.ts
✅ Confirmado: No existe dsl-searcher.ts
✅ Confirmado: No existe panel-logic.ts
🎯 TU DECISIÓN
¿Qué hago con Tier 1?
- SalidA A: Consolidate (limpiar agents/, mantener omega/) → RECOMENDADO
- Salida B: Dual layer (agents como proxy sobre omega)
- Salida C: Ignorar (mantener status quo)
Próximo paso:
- Confirma cuál camino quieres
- Si A → Procedo a cleanup + documentación
- Si B → Procedo a integration layer design
- Si C → Nada (status quo)
Generado por: Análisis exhaustivo del codebase (17-03-2026)
Basado en: Lectura de 10+ archivos clave + búsquedas en estructura
Confianza: Alta (código verificado, no especulación)