runbook cosmic: cabecera al día y la regla de copiar entre colas, corregida donde estaba de más
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) <noreply@anthropic.com>
This commit is contained in:
@@ -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
|
||||
|
||||
Reference in New Issue
Block a user