docs: CRASHED real demostrado en VM (cierra el diferido de la Fase 5)

Desde la consola del Stage 1 booteado: kill $(pidof hammerd) → arje-zero lo
supervisa de verdad:
  Ente disuelto      label=hammerd  status=Killed(SIGTERM)
  Restart programado label=hammerd  delay_ms=200
  Ente encarnado     label=hammerd  pid=Some(Pid(64))

Detecta la muerte con su ExitStatus, hace backoff y re-encarna hammerd (pid
59→64). Es la supervisión real del init propio (ADR 0007) que la Fase 5 había
diferido. Runbook §8 y roadmap actualizados. Pendiente: B.2 (exponerlo a la
capa de IA por agent.sock) y atestación A1/A2.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
This commit is contained in:
Sergio
2026-06-11 11:41:35 +00:00
co-authored by Claude Opus 4.8
parent 186ae3e1c8
commit 5a6d188869
2 changed files with 25 additions and 7 deletions
+5 -3
View File
@@ -189,9 +189,11 @@ Diseño completo en [SDD 11 — Bootstrap from-scratch](11-bootstrap.md). Resume
stage1` los construye con la semilla, ensambla el rootfs FHS y lo sella. El init es **arje-zero
como PID 1** (`/sbin/init`→arje-zero) con su seed card `/ente/seed.card.json`; al bootear,
arje-zero carga+valida la seed y **supervisa hammerd + getty** (el `agent.sock` y el watcher
fanotify de hammerd levantan). Diseño en [SDD 12](12-init-real.md); corrida y fixes en el
[runbook](runbooks/stage1-vm-boot.md). Pendiente: demo del `CRASHED` real (matar hammerd → restart),
bus único (B.2) y atestacn (A1/A2).
fanotify de hammerd levantan). El **`CRASHED` real está demostrado**: `kill hammerd` → arje lo
detecta (`Killed(SIGTERM)`), programa restart con backoff y lo re-encarna — la supervisión del
init propio que la Fase 5 difirió ([ADR 0007](adr/0007-arje-como-init-propio.md)). Diseño en
[SDD 12](12-init-real.md); corrida y fixes en el [runbook](runbooks/stage1-vm-boot.md). Pendiente:
bus único (B.2: exponer el `CRASHED` a la capa de IA) y atestación (A1/A2).
- **Stage 2** ☐ — rebuild nativo dentro del rootfs y diff de hashes ⇒ auto-alojamiento
bit-reproducible.
- Reemplazar el init de Alpine por **tu init** (bus por pipes nativo) — habilita el `CRASHED`