feat(bus): B.2 sink del CRASHED — hammerd::crashes traduce eventos de arje
Nuevo módulo hammerd::crashes: traduce la señal de ciclo de vida normalizada (fuente = arje-bus BusEvent) a proto::Event::Crashed y la bombea al EventBus → agent.sock (capa de IA). Traducción + bucle de bombeo desacoplados del transporte y testeados (3 tests). Resta sólo el adaptador de transporte arje-bus ↔ hammerd. Roadmap B.2 actualizado. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
This commit is contained in:
co-authored by
Claude Opus 4.8
parent
e9f535a1bb
commit
7c099afe4f
+13
-2
@@ -285,8 +285,19 @@ Diseño completo en [SDD 11 — Bootstrap from-scratch](11-bootstrap.md). Resume
|
||||
`SWAP_BWRAP=1`. **Pendiente:** correr in-VM acumulando los swaps
|
||||
(`KVM=1 MEM=24576 SWAP_MAKE=1 SWAP_BUSYBOX=1 SWAP_LINUX_HEADERS=1 SWAP_BWRAP=1 ./scripts/selfhost-verify.sh`)
|
||||
para el `✓ REPRODUCIBLE`, y seguir con la última pieza: rust/llvm (la grande — ya hay infra de deps).
|
||||
- ⏭️ **También pendiente (Stage 1):** bus único (B.2: exponer el `CRASHED` a la capa de IA) y
|
||||
atestación arje (A1/A2).
|
||||
- 🔨 **B.2 — `CRASHED` real a la capa de IA (en progreso):** el `Event::Crashed` del bus de
|
||||
agente ya no es sólo declarativo. **Fuente (lado arje, ✅):** `arje-bus` ganó
|
||||
`BusRequest::Subscribe` + `BusPayload::Event(BusEvent)`; arje-zero difunde en `on_death`
|
||||
`EnteCrashed{id,label,status}` / `EnteRestarting{delay_ms}` / `EnteExited` a las conexiones
|
||||
suscritas, purgando las muertas (4 tests). **Sink (lado hammer, ✅):** `hammerd::crashes`
|
||||
traduce la señal normalizada → `Event::Crashed` y la bombea al `EventBus` →
|
||||
`/run/agent.sock` (3 tests). **Falta el último tramo:** el *adaptador de transporte* —un
|
||||
thread que conecte a `$ARJE_BUS_SOCK`, mande `Subscribe` y reenvíe cada `BusEvent` a
|
||||
`crashes::pump` (vía `BusClient::{subscribe,next_event}`)— y la decisión de cómo los dos
|
||||
repos comparten el wire (dep directa a `arje-bus` vs. proto compartido vs. relectura del
|
||||
frame postcard). Es el único paso que necesita un init vivo para validarse end-to-end.
|
||||
- ⏭️ **También pendiente (Stage 1):** atestación arje (A1/A2 — ya cableada en el repo arje,
|
||||
resta sólo enchufar su veredicto de boot a este roadmap).
|
||||
|
||||
## Notas de entorno
|
||||
- Desarrollo principal: laptop del autor.
|
||||
|
||||
Reference in New Issue
Block a user