diff --git a/docs/state/targets.toml b/docs/state/targets.toml index ddf11a6b..70b3626e 100644 --- a/docs/state/targets.toml +++ b/docs/state/targets.toml @@ -63,10 +63,40 @@ paquetes = [ descripcion = "la capa CLI moderna (Rust) encima de base — el userland real del producto" hereda = ["base"] # Lift verbatim de CLI_RUST_PKGS (scripts/product-userland-from-repo.sh). +# +# ⚠ 2026-09-12: ESTA LISTA ERA UN LIFT DE UN SCRIPT, NO UNA DECLARACIÓN DE LO QUE HAY. Medido +# contra los cinco grafos: de las 892 recetas selladas del corpus, **649 no están en NINGÚN +# perfil** — o sea que el 73% del catálogo está sellado y no viaja en ninguna imagen. No es deuda +# de build (`drenaje.json` dice 0) ni la métrica de perfil lo puede ver: mide la clausura de lo +# DECLARADO. Es la lección de `foot` a escala de catálogo, y se descubrió al ir a declarar recetas +# nuevas y notar que las viejas tampoco estaban. +# +# El barrido completo de las 649 es su propia unidad de trabajo (hay 363 recetas Go que son +# herramientas de desarrollo importadas en tanda y NO todas deben entrar en una imagen). Lo que se +# declara abajo es el subconjunto que ya estaba sellado y que un usuario de esta capa espera +# encontrar — cero recetas nuevas, cero builds: sólo dejan de ser invisibles. paquetes = [ "bat", "fd", "ripgrep", "jq", "zoxide", "dust", "procs", "htop", "less", "tree", "hyperfine", "delta", "eza", "sd", "tokei", "fzf", "skim", "git-cliff", "gitui", "starship", + # ── SELLADAS DESDE HACE MESES Y EN NINGUNA IMAGEN (2026-09-12) ─────────────────────────────── + # editor, multiplexor, gestor de ficheros e historial de shell: las cuatro piezas con las que se + # VIVE en una terminal. `helix` estaba declarada sólo en escritorio-gnome, que es donde menos + # sentido tiene — es la capa CLI la que la necesita. + "helix", "zellij", "yazi", "atuin", + # VCS más allá de git: jj (jujutsu) como VCS moderno, lazygit de TUI, difftastic para diffs + # que entienden sintaxis. + "jujutsu", "lazygit", "difftastic", + # el cinturón de quien construye cosas + "just", "direnv", "watchexec", "mise", + # red y datos: cliente HTTP, cifrado de ficheros, copia a remoto y respaldo + "xh", "age", "rclone", "restic", + # sistema: los dos monitores y los dos contadores de disco + "bottom", "btop", "duf", "ncdu", + # ── NUEVAS DE LA TANDA DEL 2026-09-12 ─────────────────────────────────────────────────────── + # shell moderna (INTERACTIVA, no /bin/sh: su lenguaje no es POSIX), correo en terminal, + # reproductor de música y sincronización entre máquinas. + "nushell", "aerc", "cmus", "syncthing", ] [perfil.escritorio-mirada] @@ -317,6 +347,23 @@ paquetes = [ # backend tampoco lo ANUNCIA ya en su `kde.portal` (verificado: 0 apariciones de Print), que es lo # que evita que el frontend enrute a un portal que no contesta. "xdg-desktop-portal", "xdg-desktop-portal-kde", + # ── LAS DOS CAPACIDADES QUE FALTABAN EN LOS CUATRO ESCRITORIOS (2026-09-12) ────────────────── + # `cups` y `bluez` eran el punto 8 de PUBLICABLE (`docs/20`), y no son «una app más»: un + # escritorio que no imprime y no habla con un auricular no es un escritorio. Las dos viven en el + # CORPUS —no en esta cola— por lo mismo que `mpv` y `atuq`: una receta resuelve sibling-first y + # después el catálogo padre, así que desde acá se alcanzan y sirven a los cuatro perfiles con + # una sola copia. + # + # ⚠ LA MITAD QUE ESTO NO PAGA, ESCRITA PARA QUE SE VEA. Las dos recetas declaran su `[[service]]` + # (`cupsd`, `bluetoothd`) y **este perfil no los arranca**: de los cuatro escritorios, sólo + # `escritorio-gnome` tiene una lista `servicios`. O sea que la imagen va a traer cupsd y + # bluetoothd instalados y apagados. Es deuda declarada, no olvido — y es más grande que estas dos + # recetas: son tres perfiles sin «enable» ninguno. + # + # ⚠ Y para cups hay un segundo tramo, anotado en su receta: `gtk3` está sellada con + # `-Dprint_backends=file`, así que una app GTK3 seguirá viendo un solo destino («a fichero») + # hasta que gtk3 se re-selle. La pieza está, el sistema la ignora, y ninguna métrica lo dice. + "cups", "bluez", ] [perfil.escritorio-gnome] @@ -590,6 +637,23 @@ paquetes = [ # imprescindibles, presentes en la imagen y ausentes del destino declarado — la misma forma del # agujero de `foot`, encontrada esta vez por una comprobación en vez de por una imagen inusable. "arje-logind-compat", "arje-polkit-compat", + # ── LAS DOS CAPACIDADES QUE FALTABAN EN LOS CUATRO ESCRITORIOS (2026-09-12) ────────────────── + # `cups` y `bluez` eran el punto 8 de PUBLICABLE (`docs/20`), y no son «una app más»: un + # escritorio que no imprime y no habla con un auricular no es un escritorio. Las dos viven en el + # CORPUS —no en esta cola— por lo mismo que `mpv` y `atuq`: una receta resuelve sibling-first y + # después el catálogo padre, así que desde acá se alcanzan y sirven a los cuatro perfiles con + # una sola copia. + # + # ⚠ LA MITAD QUE ESTO NO PAGA, ESCRITA PARA QUE SE VEA. Las dos recetas declaran su `[[service]]` + # (`cupsd`, `bluetoothd`) y **este perfil no los arranca**: de los cuatro escritorios, sólo + # `escritorio-gnome` tiene una lista `servicios`. O sea que la imagen va a traer cupsd y + # bluetoothd instalados y apagados. Es deuda declarada, no olvido — y es más grande que estas dos + # recetas: son tres perfiles sin «enable» ninguno. + # + # ⚠ Y para cups hay un segundo tramo, anotado en su receta: `gtk3` está sellada con + # `-Dprint_backends=file`, así que una app GTK3 seguirá viendo un solo destino («a fichero») + # hasta que gtk3 se re-selle. La pieza está, el sistema la ignora, y ninguna métrica lo dice. + "cups", "bluez", ] # ── QUÉ ARRANCA (el «enable»; SDD 30 §3) ──────────────────────────────────────────────────────── @@ -793,6 +857,23 @@ paquetes = [ # en ningún perfil. COSMIC NO usa `arje-polkit-compat` (verificado: sus scripts no lo nombran), # así que va sólo este. "arje-logind-compat", + # ── LAS DOS CAPACIDADES QUE FALTABAN EN LOS CUATRO ESCRITORIOS (2026-09-12) ────────────────── + # `cups` y `bluez` eran el punto 8 de PUBLICABLE (`docs/20`), y no son «una app más»: un + # escritorio que no imprime y no habla con un auricular no es un escritorio. Las dos viven en el + # CORPUS —no en esta cola— por lo mismo que `mpv` y `atuq`: una receta resuelve sibling-first y + # después el catálogo padre, así que desde acá se alcanzan y sirven a los cuatro perfiles con + # una sola copia. + # + # ⚠ LA MITAD QUE ESTO NO PAGA, ESCRITA PARA QUE SE VEA. Las dos recetas declaran su `[[service]]` + # (`cupsd`, `bluetoothd`) y **este perfil no los arranca**: de los cuatro escritorios, sólo + # `escritorio-gnome` tiene una lista `servicios`. O sea que la imagen va a traer cupsd y + # bluetoothd instalados y apagados. Es deuda declarada, no olvido — y es más grande que estas dos + # recetas: son tres perfiles sin «enable» ninguno. + # + # ⚠ Y para cups hay un segundo tramo, anotado en su receta: `gtk3` está sellada con + # `-Dprint_backends=file`, así que una app GTK3 seguirá viendo un solo destino («a fichero») + # hasta que gtk3 se re-selle. La pieza está, el sistema la ignora, y ninguna métrica lo dice. + "cups", "bluez", ] [perfil.escritorio-sway] @@ -967,6 +1048,23 @@ paquetes = [ # hermanas —`incoming-gnome` e `incoming-kde`— y desde acá no se alcanza una cola hermana, así que # pedirlo es promover uno al corpus. Queda escrito para que se elija, no para que se descubra. "hicolor-icon-theme", + # ── LAS DOS CAPACIDADES QUE FALTABAN EN LOS CUATRO ESCRITORIOS (2026-09-12) ────────────────── + # `cups` y `bluez` eran el punto 8 de PUBLICABLE (`docs/20`), y no son «una app más»: un + # escritorio que no imprime y no habla con un auricular no es un escritorio. Las dos viven en el + # CORPUS —no en esta cola— por lo mismo que `mpv` y `atuq`: una receta resuelve sibling-first y + # después el catálogo padre, así que desde acá se alcanzan y sirven a los cuatro perfiles con + # una sola copia. + # + # ⚠ LA MITAD QUE ESTO NO PAGA, ESCRITA PARA QUE SE VEA. Las dos recetas declaran su `[[service]]` + # (`cupsd`, `bluetoothd`) y **este perfil no los arranca**: de los cuatro escritorios, sólo + # `escritorio-gnome` tiene una lista `servicios`. O sea que la imagen va a traer cupsd y + # bluetoothd instalados y apagados. Es deuda declarada, no olvido — y es más grande que estas dos + # recetas: son tres perfiles sin «enable» ninguno. + # + # ⚠ Y para cups hay un segundo tramo, anotado en su receta: `gtk3` está sellada con + # `-Dprint_backends=file`, así que una app GTK3 seguirá viendo un solo destino («a fichero») + # hasta que gtk3 se re-selle. La pieza está, el sistema la ignora, y ninguna métrica lo dice. + "cups", "bluez", ] [perfil.servidor] @@ -1032,6 +1130,11 @@ paquetes = [ # `logrotate`: en una caja que sirve, el log de acceso crece hasta llenar el disco. Caddy rota el # suyo por configuración, pero nada más lo hace. "logrotate", + # `wireguard-tools` (2026-09-12): el kernel de esta distro YA trae WireGuard (SDD 22), y hasta hoy + # no había con qué configurarlo — la caja podía hablar el protocolo y no había forma de decirle + # con quién. Es la misma figura que el cortafuegos y el reloj de arriba: capacidad presente en el + # kernel y ausente en el userland. + "wireguard-tools", ] # ── QUÉ ARRANCA (el «enable»; SDD 30 §3) ────────────────────────────────────────────────────────