Decisión del usuario (2026-09-09): X11 se erradica, y eso incluye no construir el servidor que lo mantiene vivo. La receta se retira; `xwayland` VUELVE a ser lo que sus propios documentos decían. ⚠ LO QUE APARECIÓ AL MIRAR: esto ya estaba decidido, por escrito y DOS VECES, el 2026-09-03 (commitf64859ba): docs/state/targets.toml:143 «`xwayland` sigue acá como RAÍZ pero su receta NO se va a escribir: lo provee una imagen ajena enjaulada … el hueco se disuelve sin receta y sin tocar la postura Wayland-only» docs/state/qorpa-ajenos.toml «X11 está fuera de alcance para toda la distro … el Xwayland vive DENTRO de la imagen —Arch y Fedora ya lo traen— y se cuelga de nuestro kwin por el socket. La receta no se escribe.» El 2026-09-08 se escribió igual (3d8c6fc6, «cerrar los 3 huecos que quedaban»), y los dos documentos siguieron diciendo lo contrario durante toda la jornada de hoy. No hubo que cambiar ninguno de los dos: alcanzó con borrar la receta para que el repo volviera a coincidir con ellos. MEDIDO ANTES DE SACARLA, no supuesto: · Sólo kwin podía lanzarlo. mutter va con -Dxwayland=false y wlroots con -Dxwayland=disabled ⇒ GNOME, sway y COSMIC no podían usarlo aunque el binario existiera. Nunca sirvió a más de un perfil de los cuatro. · NINGUNA app del catálogo necesita servidor X: todo lo gráfico es Wayland nativo (Qt6 con qtwayland, GTK3 Wayland-only, mpv, OBS con ENABLE_WAYLAND=ON, foot, fuzzel, swayimg). El consumidor que lo justificaba está nombrado en qorpa-ajenos.toml y es Steam, que corre enjaulado y TRAE EL SUYO ADENTRO. · Y la imagen KDE ya arrancaba sin él: la propia receta contaba que KDE sellaba 1037/1037 con las apps X11 muertas. Esto no estrena una configuración, vuelve a una ya probada. EFECTO EN EL GRAFO, verificado regenerando: `xwayland` deja de ser una receta y pasa a clase `ajeno` —que es como targets.toml decía que había que contarlo— y el perfil escritorio-kde baja de 304 a 299 nodos con deuda 0. Los cinco que se van son la cadena que sólo él usaba. ⚠ QUEDAN CINCO RECETAS HUÉRFANAS, y no las borro de paso: `libfontenc`, `libXfont2`, `libxkbfile`, `libxshmfence` y `xkbcomp`. Medido: NADA más en el catálogo las declara, y ninguna es raíz de ningún perfil ⇒ siguen selladas pero no entran en ninguna imagen. Sacarlas es su propia unidad de trabajo y su propia decisión. El triaje pasa de `provisto` a `opcional` con la historia entera en su `porque`, y con eso se cae el alias `xwayland xwayland` de alias-triaje.txt, que habría afirmado que tenemos una receta con ese nombre. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01LCt3ettR4Z7b6wPCBmbvEV
Documentación de diseño de hammer
Estos documentos son la fuente de verdad del diseño. El código los implementa; cuando haya discrepancia, o se corrige el código o se actualiza el SDD con un commit que explique por qué.
Software Design Documents (SDD)
| # | Documento | Qué cubre |
|---|---|---|
| 00 | Visión y filosofía | Por qué existe, qué problema resuelve, la actitud de ingeniería |
| 01 | Arquitectura general | El modelo de dos mundos, componentes, flujo de datos |
| 02 | El laboratorio de build | Sandbox, zig cc, recetas, CAS, grafo de dependencias |
| 03 | Hidratación y store | Store content-addressed, hardlinks a FHS, patchelf, rollback |
| 04 | Overlay de experimentación | overlayfs en caliente, try/commit/discard |
| 05 | Diario de mutaciones | fanotify, log append-only, config-sin-ser-declarativa |
| 06 | Formato .swm |
Manifiesto de mutación compartible, esquema, firma |
| 07 | Bus de init y de agente | /run/init.control, /run/agent.sock, protocolo |
| 08 | Integración de la IA | El bucle agéntico, seguridad, intención → .swm |
| 09 | Modelo de confianza | Reproducibilidad, verificar-no-confiar, log de transparencia |
| 10 | Roadmap | Fases, MVP, primer entregable |
| 11 | Bootstrap from-scratch | Track posterior: Stage 0/1/2, auto-alojamiento, semilla pinned |
| 12 | arje como init real del Stage 1 |
Contrato de runtime: seed card, hammerd supervisado, CRASHED real |
| 16 | harkaq: la jaula de hammer | Landlock+seccomp sobre el bwrap actual; política = clausura; evidencia negativa de hermeticidad |
| 26 | atuq: el envoltorio Gecko |
Navegador propio como artefacto DERIVADO de firefox (no fork de fuente); la toolchain clang como puerta de PGO/LTO; qué se promete y qué no |
Runbooks (operativos)
| Runbook | Para qué |
|---|---|
| Validar Stage 1 booteando en QEMU | stage0→stage1→initramfs→QEMU; criterios de éxito y troubleshooting |
Architecture Decision Records (ADR)
Decisiones tomadas, con su contexto y consecuencias. Ver adr/.