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>
This commit is contained in:
sergio
2026-05-22 00:22:19 +00:00
parent 758f61f52a
commit 663fd6e38a
3 changed files with 17 additions and 10 deletions
+11 -5
View File
@@ -232,16 +232,22 @@
},
{
"schema_version": 1,
"id": "01J8YVKZH0M0M0M0M0M0M0M0G1",
"label": "getty-tty1",
"id": "01J8YVKZH0M0M0M0M0M0M0M0CM",
"label": "carmen-dm",
"provides": [], "requires": [],
"permissions": { "networking": "none", "filesystem": "read-write", "ipc": { "allow": [] }, "processes": true },
"soma": { "namespaces": {"mount":false,"pid":false,"net":false,"uts":false,"ipc":false,"user":false,"cgroup":false},
"rlimits": {"mem_bytes":null,"nproc":null,"nofile":null},
"cgroup": {"path":"ente.slice/getty","cpu_weight":null,"io_weight":null},
"cgroup": {"path":"ente.slice/carmen","cpu_weight":null,"io_weight":null},
"cpu_affinity": null },
"payload": { "Native": { "exec": "/sbin/agetty", "argv": ["--noclear", "tty1", "linux"], "envp": [] } },
"supervision": { "Restart": { "initial": 100, "max": 30000 } },
"payload": { "Native": {
"exec": "/usr/bin/mirada-compositor",
"argv": ["--greeter", "--drm"],
"envp": [ ["PATH", "/usr/local/bin:/usr/bin:/usr/sbin:/sbin:/bin"],
["XDG_RUNTIME_DIR", "/run"],
["MIRADA_GREETER_BIN", "/usr/bin/mirada-greeter"] ]
} },
"supervision": { "Restart": { "initial": 2000, "max": 60000 } },
"lifecycle": "daemon", "priority": "high",
"flow": { "input": [], "output": [] }, "genesis": []
}