Commit Graph

3 Commits

Author SHA1 Message Date
sergio 663fd6e38a feat(carmen): carmen-dm como Ente supervisado en la Semilla arje-host
Pieza 2 del DM: declara `mirada-compositor --greeter` como hijo genesis
de arje-zero en `seeds/arje-host.card.json`, reemplazando el agetty de
tty1. Con `supervision: Restart { 2000, 60000 }`, arje-zero lo
respawnea si panica — la resiliencia «PID 2 supervisado» (sshd queda
como rescate remoto). Va en arje-host (boot de hardware real con rootfs
y mesa), NO en arje-prod (seed del initrd, sin GPU).

Además: `seeds/validate.sh` tenía referencias `ente-zero` stale del
rename ente→arje — corregidas a `arje-zero` (paquete + binario). Las
tres seeds validan. Tabla de seeds actualizada en docs/arje-boot.md.

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
2026-05-22 00:22:19 +00:00
sergio e4882033cf fix(arje): validate.sh robusto frente a timeout 124 + pipefail
timeout 5 retorna 124 al matar ente-zero (dev mode termina solo). Bajo
set -euo pipefail eso abortaba el script antes de chequear el log, así
que build-arje-initrd.sh reportaba "seed inválida" aunque la Card
estuviera bien.

Cambios:
- Capturamos el output a un archivo (no pipeline) con set +e alrededor
  del timeout, así el exit code no importa.
- El check sigue siendo grep -q sobre "Tarjeta Semilla cargada y
  validada"; si falla, ahora imprimimos las primeras 40 líneas del log
  al stderr para debug.

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
2026-05-18 19:09:17 +00:00
sergio 8592bab19e docs(arje): organiza core/ + seeds canónicas + boot reproducible
- crates/core/README.md: agrupamiento lógico de los 31 crates absorbidos
  de arje (ente-*) y del protocolo brahman (brahman-*) en 6 grupos —
  Init/PID 1, contratos, discovery, IPC+CAS, cerebro, 14 shims compat
  systemd. No se movieron crates físicamente (rompería paths
  cross-workspace).

- seeds/arje-minimal.card.json: PID1 + /bin/sh, smoke test QEMU.
- seeds/arje-prod.card.json: PID1 + 14 shims compat + tmpfiles/binfmt
  one-shots + echo + getty (16 children). Validados con
  brahman_card::Card::validate.
- seeds/validate.sh: carga la seed vía ente-zero en dev mode.

- scripts/build-arje-initrd.sh: empaqueta CPIO+gzip newc layout
  /init→/sbin/ente-zero, /usr/sbin/ente-*-compat, /ente/seed.card.json,
  /bin/{sh,...} (busybox o glibc+ldd). Tested: produce 20 MB initrd OK.
- scripts/run-arje-qemu.sh: qemu-system-x86_64 con KVM auto-detect,
  -kernel/-initrd/-append "rdinit=/init console=ttyS0,115200 panic=10".

- docs/arje-boot.md: doc end-to-end — layout initramfs, QEMU (con kernel
  del host o externo), GRUB bare metal, Proxmox/libvirt args:, schema
  de Card con todas las validaciones, debugging (sockets de
  introspección, snapshot/restore, metrics), checklist pre-deploy.

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
2026-05-18 18:40:05 +00:00