From 1457501ac969b6a09cb39dd5328ec879ad9c80ef Mon Sep 17 00:00:00 2001 From: sergio Date: Mon, 3 Aug 2026 11:23:39 -0400 Subject: [PATCH] =?UTF-8?q?runbook=20cosmic:=20cabecera=20al=20d=C3=ADa=20?= =?UTF-8?q?y=20la=20regla=20de=20copiar=20entre=20colas,=20corregida=20don?= =?UTF-8?q?de=20estaba=20de=20m=C3=A1s?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Decía «copiar es gratis de verdad, no casi». La regla honesta es: gratis SÓLO si toda la clausura transitiva resuelve a lo mismo. Se cumple con libdisplay-info, hwdata y nasm; no con pipewire. Co-Authored-By: Claude Opus 5 (1M context) --- docs/runbooks/cosmic-desktop.md | 27 ++++++++++++++++----------- 1 file changed, 16 insertions(+), 11 deletions(-) diff --git a/docs/runbooks/cosmic-desktop.md b/docs/runbooks/cosmic-desktop.md index 51e3f076..30c877ff 100644 --- a/docs/runbooks/cosmic-desktop.md +++ b/docs/runbooks/cosmic-desktop.md @@ -1,7 +1,8 @@ # Runbook — COSMIC, el cuarto escritorio -Estado al 2026-08-03: **campaña abierta.** Tres piezas selladas (`cosmic-session`, `cosmic-icons`, -`cosmic-bg`) y el compositor en construcción. Este documento se escribe mientras se hace, no después. +Estado al 2026-08-03: **el gate está pasado.** `cosmic-comp` —el compositor, la pieza de la que todo +lo demás es cliente— **compila y está sellado**, junto con `cosmic-session`, `cosmic-icons`, +`cosmic-bg` y `cosmic-idle`. Falta arrancarlo. Este documento se escribe mientras se hace, no después. COSMIC es el escritorio de System76, en Rust sobre **smithay** (compositor) e **iced/libcosmic** (clientes). Es el cuarto de hammer, tras [mirada](mirada-usb-nvidia.md), @@ -42,10 +43,14 @@ arranca y no se entiende consigo mismo — que es mucho más caro de diagnostica Las deps se resuelven **hermano → padre**: desde `incoming-cosmic/` se ven las recetas de `recipes/`, pero **no** las de `incoming-gnome/` ni `incoming-kde/`. Por eso `libdisplay-info` y -`hwdata` entran copiadas. Y copiar es gratis de verdad, no «casi»: el ArtifactHash no depende de la -ruta de la receta, así que un fichero idéntico con deps que resuelven a lo mismo da **el mismo hash** -⇒ cache hit sobre el artefacto que ya existe. Se verificó antes de copiar (`b3:260f0519`, -`b3:bdc36cf9`), no después. +`hwdata` entran copiadas. + +**Copiar es gratis sólo si TODA la clausura transitiva resuelve a lo mismo.** El ArtifactHash no +depende de la ruta de la receta, así que un fichero idéntico *cuyas deps resuelven igual* da el mismo +hash ⇒ cache hit sobre el artefacto que ya existe. Se cumplió con `libdisplay-info`, `hwdata` y +`nasm`, y se verificó con `hammer hash` **antes** de copiar (`b3:260f0519`, `b3:bdc36cf9`, +`b3:33383070`), no después. Dónde deja de cumplirse —y por qué importa— está en la sección de +`cosmic-settings-daemon`, más abajo. ## Qué levanta la sesión, y por lo tanto el orden de ataque @@ -71,6 +76,11 @@ Más `cosmic-settings-daemon` y `xdg-desktop-portal-cosmic` fuera de esa lista. | `cosmic-panel` · `cosmic-launcher` · `cosmic-app-library` · `cosmic-workspaces-epoch` · `cosmic-notifications` | receta escrita, sin construir | — | | `cosmic-settings-daemon` | ni receta | — | +**El orden no es el de la lista de arranque.** `cosmic-bg` va antes que el panel a propósito: habla +Wayland con `smithay-client-toolkit` y **no toca libcosmic ni iced**, mientras que panel, launcher, +osd y workspaces son todos clientes de iced. Con el fondo sellado, «pinta el fondo pero no el panel» +separa la capa de UI del transporte; sin él, las dos preguntas llegan juntas. + ### `cosmic-settings-daemon`: por qué queda al final y NO se resuelve copiando Es el único con cadena propia. Su workspace incluye `audio-server` como dep de path **no opcional**, @@ -96,11 +106,6 @@ imagen escritorio-gnome**. La decisión correcta no es de esta campaña: es *dó corpus*, y es una decisión de catálogo, no de COSMIC. Hasta entonces, el escritorio arranca sin settings-daemon —se pierden brillo, tema automático y perfiles de audio, no el escritorio—. -**El orden no es el de la lista de arranque.** `cosmic-bg` va antes que el panel a propósito: habla -Wayland con `smithay-client-toolkit` y **no toca libcosmic ni iced**, mientras que panel, launcher, -osd y workspaces son todos clientes de iced. Con el fondo sellado, «pinta el fondo pero no el panel» -separa la capa de UI del transporte; sin él, las dos preguntas llegan juntas. - ## 🚪 EL GATE PASADO: cosmic-comp compila (2026-08-03) `b3:b8abc52f`, 51 min 39 s de cargo con `CARGO_BUILD_JOBS=1` y `lto = "fat"`. **A la primera**, salvo