tawasuyu

sergio/takana

> Una distribución Linux construida con un laboratorio funcional y hermético en el > sótano, y una terminal mutable, clásica y anárquica en el piso de arriba — diseñada > desde el suelo para que una IA programadora entienda, modifique y co…

TOML 1572Shell 203Rust 109Markdown 993728 Sutichaykuna

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>

5a6d18886924f3fea0f09fbd2d15db99ceaeb710 · ruwaq Sergio · (4 killa ñawpaq) · tayta 186ae3e1c · kay commitpi sach'ata qhaway

Semántico sayk'uy

Mana ima sutichaypas t'ikrakurqanchu: qillqalla, yachachiylla utaq willaylla t'ikrakurqan.

2 qillqakuna · +25 −7

diff --git a/docs/10-roadmap.md b/docs/10-roadmap.md
index f0951376..eea301c7 100644
--- a/docs/10-roadmap.md
+++ b/docs/10-roadmap.md
@@ -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 atestación (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`
diff --git a/docs/runbooks/stage1-vm-boot.md b/docs/runbooks/stage1-vm-boot.md
index 11e220c3..904cdb59 100644
--- a/docs/runbooks/stage1-vm-boot.md
+++ b/docs/runbooks/stage1-vm-boot.md
@@ -214,10 +214,26 @@ hammerd::bus: escuchando  sock=/run/agent.sock
 ```
 
 **arje-zero es PID 1**, carga+valida la seed y **supervisa hammerd + getty**; hammerd corre con su
-watcher fanotify y su `agent.sock`. **Stage 1 bootea end-to-end.** Pendiente (demo, no diseño): matar
-hammerd y observar el restart con backoff = el `CRASHED` real (la supervisión `Restart` ya está
-activa). Comando reproducible: `qemu-system-x86_64 -m 512 -no-reboot -nographic -cpu Broadwell
--kernel <vmlinuz> -initrd stage1.cpio.gz -append "console=ttyS0 rdinit=/sbin/init"`.
+watcher fanotify y su `agent.sock`. **Stage 1 bootea end-to-end.** Comando reproducible:
+`qemu-system-x86_64 -m 512 -no-reboot -nographic -cpu Broadwell -kernel <vmlinuz> -initrd
+stage1.cpio.gz -append "console=ttyS0 rdinit=/sbin/init"`.
+
+### ✅ `CRASHED` real demostrado (lo que la Fase 5 difirió)
+
+Desde la shell de la consola, `kill $(pidof hammerd)` y arje-zero lo supervisa de verdad:
+
+```
+kill $(pidof hammerd)
+arje_zero::graph::lifecycle: Ente disuelto      label=hammerd  status=Killed(SIGTERM)
+arje_zero::graph::lifecycle: Restart programado label=hammerd  delay_ms=200
+arje_zero::graph::lifecycle: Ente encarnado     label=hammerd  pid=Some(Pid(64))
+hammerd: arranque  agent_sock=/run/agent.sock …
+```
+
+Detecta la muerte **con su `ExitStatus`** (`Killed(SIGTERM)`), programa el restart con **backoff**
+(200 ms) y **re-encarna** hammerd (pid 59→64). Es la supervisión real del init propio — el `CRASHED`
+que [ADR 0007](../adr/0007-arje-como-init-propio.md) prometía y la Fase 5 había diferido. Exponerlo
+a la capa de IA por `agent.sock` es B.2 (bus único).
 
 ## 9. Cross-check opcional — `arje-packager`