File size: 11,401 Bytes
fc93158
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
# Analisis Empirico Macro/Micro v2

Fecha: 2026-03-25
Autor: Codex
Base de evidencia: lectura directa de codigo en `src/`, contraste con `ANALISIS_EMPIRICO_MACRO_MICRO.md`, `IMPLEMENTATION_PLAN.md`, `AUDITORIA_CRITICA_V2.md`, y validacion local de tests focalizados.

## 0. Proposito de esta v2

Este documento no reemplaza al analisis largo original.

Su funcion es otra:

- releer el plan y la auditoria contra el repo actual
- distinguir que partes quedaron correctas, viejas o superadas
- dejar una foto compacta del estado real
- fijar el siguiente milestone util

La conclusion central es esta:

- el repo ya no esta en el estado descrito por la auditoria mas dura
- tampoco llego todavia al runtime ejecutivo unico propuesto por el analisis original
- el salto de las ultimas iteraciones fue real, pero fue un salto de convergencia, no de cierre

## 1. Relectura de los documentos previos

### 1.1 `ANALISIS_EMPIRICO_MACRO_MICRO.md`

Sigue siendo el mejor documento de direccion.

Lo que sigue correcto:

- no conviene seguir acumulando modulos heterogeneos
- la direccion buena sigue siendo converger runtime, estado y engines
- `heartbeat` era un punto de mezcla excesivo
- el seam inbound en `get-reply.ts` era una frontera estructural importante
- la columna ejecutiva era mas prometedora que seguir agregando piezas laterales

Lo que necesita matiz:

- la Fase 2 original proponia otro arbol de estado canonico; hoy eso seria un error
- el repo ya avanzo mas de lo que el documento original podia reflejar en convergencia entre `heartbeat` y `omega_work`

### 1.2 `IMPLEMENTATION_PLAN.md`

Quedo mitad ejecutado y mitad obsoleto.

Estado por fase:

- Fase 1: hecha
- Fase 2: replanteada
- Fase 3: mayormente hecha
- Fase 4: hecha en su baseline util, no en su version final
- Fase 5 y 6: no hechas

La parte que descarto explicitamente del plan es esta:

- no abrir `src/omega/runtime-state/*` como otro store canonico

La parte que mantengo:

- clasificar stores con autoridad explicita
- usar la misma decision base en `heartbeat` y `omega_work`
- desacoplar engines del path critico mediante interfaz y scoring comparable
- medir con benchmark y ablation antes de seguir agregando motores

### 1.3 `AUDITORIA_CRITICA_V2.md`

Sigue siendo util como presion conceptual, pero ya no describe bien el repo actual en varios puntos.

Quedo vieja en esto:

- ya no es correcto decir que no hay continuidad real o que todo el pensamiento continuo muere sin persistencia
- ya no es correcto decir que no existe WSP o que las drives homeostaticas son solo una idea
- ya no es correcto decir que `heartbeat` orquesta todo sin ningun contexto compartido

Sigue acertando en esto:

- el sistema todavia no tiene soberania arquitectonica cerrada
- el LLM sigue siendo parte del motor ejecutivo efectivo
- no existe todavia un loop frio/caliente claramente separado
- no hay benchmark formal suficiente para decidir entre engines o matar hipotesis

## 2. Estado real verificado hoy

### 2.1 Fase 1: sustrato estable

Esto ya cerro.

Evidencia:

- `src/agents/openclaw-tools.ts` ya es un ensamblador fino
- existen `src/agents/tool-suites/core-tools.ts`
- existen `src/agents/tool-suites/session-tools.ts`
- existen `src/agents/tool-suites/omega-tools.ts`
- existen `src/agents/tool-suites/plugin-tools.ts`

Lectura:

- el builder monolitico original ya no es el cuello principal
- la frontera entre sustrato, sesiones y `omega` ahora es visible

### 2.2 Fase 2: estado canonico unico

No esta resuelta como "single store".

Pero ya no estamos en el punto anterior.

Lo que si existe:

- `src/omega/decision-context.ts` como snapshot compartida para decision
- `src/omega/state-authority.ts` como clasificacion explicita de autoridad
- `src/omega/policy-engine.ts` consumiendo WSP solo cuando hay autoridad activa
- `src/omega/omega-wsp.ts` cargado en el path comun de decision

Lo que eso significa:

- ya existe una matriz de autoridad real
- ya no estamos discutiendo en abstracto que store deberia mandar
- el repo ya distingue entre `authoritative`, `derived`, `fallback` y `experimental`

Lo que todavia no existe:

- una sola fuente persistida que reemplace de verdad a `self-time-kernel`, `execution-controller`, `operational-memory`, `world-model` y `omega-wsp`

Diagnostico preciso:

- la Fase 2 no se resolvio por consolidacion fisica de stores
- se resolvio parcialmente por gobernanza de stores
- eso fue la decision correcta

### 2.3 Fase 3: convergencia del loop ejecutivo

Esta mayormente hecha.

Evidencia:

- `src/omega/decision-context.ts` alimenta tanto `heartbeat` como `omega_work`
- `src/agents/tools/omega-work-tool.ts` carga contexto comun y consulta routing ejecutivo validado
- `src/omega/heartbeat.ts` consume `driveSignal`, `stateAuthority` y `controllerState` desde la misma snapshot
- `src/omega/execution-controller.ts` ya no es solo sidecar observacional; participa en dispatch real

Ganancia estructural:

- `heartbeat` y `omega_work` ya no operan como dos cerebros casi separados
- la politica base ya no se recalcula por caminos totalmente independientes

Deuda restante:

- todavia hay logica repartida entre `wake-policy`, `policy-engine`, `heartbeat` y el dispatch ejecutivo
- el LLM sigue entrando demasiado arriba en la cadena de control

### 2.4 Fase 4: interfaz formal de engines

Esta cerrada en su baseline util.

Evidencia:

- existen `src/omega/engines/types.ts`
- existe `src/omega/engines/registry.ts`
- existe `src/omega/engines/score-engine-signal.ts`
- `src/omega/heartbeat.ts` ya consume `collectKernelSignals()` + `testUntestedHypotheses()` + scoring agregado
- `src/omega/heartbeat-idle.ts` usa la misma logica de score sobre señales

Esto ya no es "registry parcial".

Lo que ya se logro:

- los engines producen señales comparables
- `heartbeat` dejo de depender solo de llamadas sueltas a modulos experimentales
- las hipotesis ya no activan trabajo autonomo por si solas
- la señal agregada puede reforzar o no la drive base compartida

Lo que todavia no cerro:

- no existen aun adapters formales por engine en `src/omega/engines/adapters/*`
- el registry sigue envolviendo singletons y wrappers legacy de forma directa
- no hay benchmark A/B serio sobre el scoring nuevo

Conclusion:

- Fase 4 no esta pendiente
- Fase 4 baseline ya esta hecha
- lo pendiente es su endurecimiento experimental

### 2.5 Fase 5 y 6: benchmark y kill criteria

Siguen abiertas.

Eso importa porque hoy el repo ya tiene suficiente convergencia interna como para medir, pero todavia no suficiente disciplina experimental como para cerrar hipotesis.

## 3. Que gano realmente el sistema

- Menos dispersion entre `heartbeat` y `omega_work`
- Mas centralidad real del stack ejecutivo
- WSP integrado en decision, aunque no siempre con autoridad activa
- Una clasificacion explicita de autoridad de estado
- Un registry de engines que ya sirve como capa comun
- Un scoring agregado de señales que evita activaciones triviales por bookkeeping experimental

Lo importante aca es conceptual:

antes el problema era "faltan piezas".

hoy el problema ya no es ese.

hoy el problema es:

- hay varias piezas correctas
- varias ya fueron conectadas
- pero todavia no hay cierre suficientemente duro sobre quien manda, cuando manda y como cambia la conducta despues de aprender

## 4. Que sigue roto o incompleto

### 4.1 No hay soberania cerrada del estado

`state-authority.ts` mejora mucho la situacion, pero clasificar no es lo mismo que unificar.

Seguimos con autoridad repartida entre:

- `self-time-kernel`
- `execution-controller`
- `operational-memory`
- `world-model`
- `omega-wsp`

Eso ya no es caos puro, pero tampoco es un runtime con una sola ley de estado.

### 4.2 El WSP existe, pero no manda siempre

Esto es mejor que antes y mas exigente que antes.

Antes el problema era "WSP no existe".

Ahora el problema real es:

- WSP existe
- entra al `decision-context`
- puede gobernar drives si esta calibrado
- pero sigue pudiendo quedar como `experimental` o `fallback`

Eso es correcto como seguridad.

Pero tambien deja claro que el WSP todavia no gano la soberania que el discurso arquitectonico le atribuye.

### 4.3 El LLM sigue siendo parte del motor, no solo un organo periferico

La convergencia actual no cambia esto.

Todavia no existe una separacion limpia de:

- loop frio sin LLM
- loop caliente con LLM solo por umbral

Mientras eso no exista, OpenSkyNet sigue siendo una arquitectura ejecutiva alrededor de un LM, no una cognicion cerrada que usa el LM de manera periferica.

### 4.4 No hay benchmark decisivo

Hoy podemos afirmar mejor estructura.

Todavia no podemos afirmar mejor conducta de forma cerrada contra baseline en:

- dispatch util
- coherencia de politica
- falsos positivos autonomos
- valor del scoring agregado
- ventaja de drives desde WSP frente a drives derivadas del kernel

## 5. Diagnostico actualizado

La formulacion mas precisa hoy es esta:

OpenSkyNet ya no falla por ausencia de piezas cognitivas.
OpenSkyNet falla por soberania arquitectonica incompleta y por validacion experimental insuficiente.

Eso es un progreso real.

Significa que la critica correcta ya no es "no hay nada".

La critica correcta ahora es:

- hay convergencia util
- hay autoridad parcial
- hay señales comparables
- pero todavia no hay cierre suficiente de gobierno ni benchmark suficiente de verdad

## 6. Siguiente milestone recomendado

No seguiria con mas refactor lateral.
Tampoco abriria otro store canonico.

El siguiente milestone deberia ser:

## Benchmark and Authority Hardening Milestone

Objetivo:

- medir si el scoring agregado mejora decisiones reales
- medir si WSP con autoridad activa supera o no al fallback de kernel
- decidir que engines merecen adapters formales y cuales deben degradarse o salir

Orden:

1. benchmark A/B de dispatch y falsos positivos
2. benchmark WSP drives vs kernel drives
3. adapters formales por engine solo para los motores que sobrevivan a la medicion
4. kill criteria explicitos para señales y motores de bajo valor

No haria antes de eso:

- otra capa de estado
- otra familia de micro-refactors cosméticos
- otra ola de engines experimentales sin comparacion dura

## 7. Validacion local de esta lectura

Corrida local ejecutada sobre las suites de convergencia relevantes:

- `src/agents/openclaw-tools.suites.test.ts`
- `src/agents/openclaw-tools.omega-executive-routing.test.ts`
- `src/agents/openclaw-tools.omega-unification.test.ts`
- `src/agents/openclaw-tools.sessions.test.ts`
- `src/agents/openclaw-tools.omega-work.test.ts`
- `src/agents/openclaw-tools.omega-vs-parent.test.ts`
- `src/omega/engines/registry.test.ts`
- `src/omega/engines/score-engine-signal.test.ts`
- `src/omega/execution-controller.test.ts`
- `src/omega/policy-engine.test.ts`
- `src/omega/state-authority.test.ts`
- `src/omega/heartbeat.test.ts`

Resultado:

- 12 archivos de test pasando
- 82 tests pasando

## 8. Veredicto corto

El repo esta mejor de lo que dice la auditoria critica.
Tambien esta menos cerrado de lo que implicaba el entusiasmo del ultimo post-scriptum.

La lectura correcta hoy es:

- Fase 1: cerrada
- Fase 2: replanteada y parcialmente cerrada por autoridad, no por store unico
- Fase 3: mayormente cerrada
- Fase 4: cerrada en baseline util
- Fase 5/6: pendientes

El siguiente trabajo serio ya no es "mas arquitectura".
Es medicion dura sobre la arquitectura que ya existe.