targets: la IA local entra en las CUATRO imágenes de escritorio
Decisión del usuario (2026-09-12): `llama-cpp` + `ia-modelo-chat` de raíz en escritorio-gnome, -kde, -cosmic y -sway. El motivo es que el panel de la barra lateral está en las cuatro —viene con `atuq`— y una función del navegador que sólo existe en una imagen es una trampa: en las otras el usuario ve el panel y lee «esta imagen no trae modelo». Cuesta ~1,25 GiB por imagen (199 M el motor + 1,04 GiB el modelo) y está escrito en el comentario, al lado de las líneas, para que bajarlo sea una decisión y no un descuido. Verificado como manda la lección de `foot` que este fichero ya aprendió: las dos raíces expanden en los cuatro perfiles (`scripts/targets.py`), las dos están SELLADAS al hash vigente, y el grafo las ve con sus cuatro perfiles encima — una raíz que no resuelve quedaría `wanted` y ninguna métrica lo diría. El grafo CIERRA y el topo-sort sigue OK.
Semántico sayk'uy
Mana ima sutichaypas t'ikrakurqanchu: qillqalla, yachachiylla utaq willaylla t'ikrakurqan.
2 qillqakuna · +56 −10
- docs/state/build-state.json +20 −10
- docs/state/targets.toml +36 −0
diff --git a/docs/state/build-state.json b/docs/state/build-state.json
index d8826b2c..fc9e9e89 100644
--- a/docs/state/build-state.json
+++ b/docs/state/build-state.json
@@ -3,8 +3,8 @@
"totals": {
"recipes": 890,
"nodes": 892,
- "sealed": 880,
- "debt": 10,
+ "sealed": 881,
+ "debt": 9,
"ajeno": 2
},
"by_class": {
@@ -17,12 +17,12 @@
},
"debt_by_class": {
"c": 1,
- "rust": 9
+ "rust": 8
},
"by_queue": {
"corpus": {
- "sealed": 880,
- "debt": 10,
+ "sealed": 881,
+ "debt": 9,
"ajeno": 2
}
},
@@ -48,7 +48,7 @@
"sealed": 101
}
},
- "sin_perfil": 651,
+ "sin_perfil": 649,
"orphan_deps": [],
"topo_ok": true,
"nodes": {
@@ -1344,7 +1344,7 @@
"hash": "b3:876e2184cbbb06fad3995fcf2da4fcd6d1bd086ad8296f130868b15343e46c1b",
"state": "sealed",
"blocked_by": [],
- "unblocks": 10,
+ "unblocks": 9,
"perfiles": [],
"dependientes_total": 10
},
@@ -1932,7 +1932,7 @@
"queue": "corpus",
"foreign": false,
"hash": "b3:4f26964ba441f05f514356c9e841d67d0750922641a91406f750a65f0e5aee71",
- "state": "debt",
+ "state": "sealed",
"blocked_by": [],
"unblocks": 0,
"perfiles": [],
@@ -7741,7 +7741,12 @@
"state": "sealed",
"blocked_by": [],
"unblocks": 0,
- "perfiles": [],
+ "perfiles": [
+ "escritorio-cosmic",
+ "escritorio-gnome",
+ "escritorio-kde",
+ "escritorio-sway"
+ ],
"dependientes_total": 0
},
"icu4c": {
@@ -10598,7 +10603,12 @@
"state": "sealed",
"blocked_by": [],
"unblocks": 0,
- "perfiles": [],
+ "perfiles": [
+ "escritorio-cosmic",
+ "escritorio-gnome",
+ "escritorio-kde",
+ "escritorio-sway"
+ ],
"dependientes_total": 0
},
"llimphi-counter": {
diff --git a/docs/state/targets.toml b/docs/state/targets.toml
index 4608885e..a3b68e5a 100644
--- a/docs/state/targets.toml
+++ b/docs/state/targets.toml
@@ -208,6 +208,15 @@ paquetes = [
# ⚠ Resuelve la mitad: libnotify no trae daemon, manda `org.freedesktop.Notifications` por D-Bus,
# así que la imagen necesita además a alguien escuchando ese nombre.
"libnotify",
+ # ── LA IA LOCAL (SDD 26 §6.7) ────────────────────────────────────────────────────────────────
+ # El motor y el modelo van de raíz porque son lo que hace que la barra lateral conteste. `atuq`
+ # los busca en el path de producción (`/usr/bin/llama-server`, `/usr/share/takana/ia/modelo.gguf`)
+ # y, si no están, el panel lo DICE — no se rompe, pero la función no existe.
+ # ⚠ CUESTAN ~1,25 GiB EN CADA IMAGEN (199 M el motor + 1,04 GiB el modelo), y esto es la decisión
+ # de que las cuatro lo lleven: una función del navegador que sólo existe en una imagen es una
+ # trampa, porque el panel está en todas. Bajarlo de acá es bajarlo de la imagen, no de la receta.
+ "llama-cpp",
+ "ia-modelo-chat",
# ── CAPTURA Y STREAMING ──────────────────────────────────────────────────────────────────────
# `obs-studio` (2026-09-04). A diferencia de mpv, ésta vive en ESTA COLA y no en el corpus, y no
# es preferencia: su frontend es Qt6 y las 13 recetas Qt viven sólo en `incoming-kde`. Un qtbase
@@ -381,6 +390,15 @@ paquetes = [
# ⚠ Resuelve la mitad: libnotify no trae daemon, manda `org.freedesktop.Notifications` por D-Bus,
# así que la imagen necesita además a alguien escuchando ese nombre.
"libnotify",
+ # ── LA IA LOCAL (SDD 26 §6.7) ────────────────────────────────────────────────────────────────
+ # El motor y el modelo van de raíz porque son lo que hace que la barra lateral conteste. `atuq`
+ # los busca en el path de producción (`/usr/bin/llama-server`, `/usr/share/takana/ia/modelo.gguf`)
+ # y, si no están, el panel lo DICE — no se rompe, pero la función no existe.
+ # ⚠ CUESTAN ~1,25 GiB EN CADA IMAGEN (199 M el motor + 1,04 GiB el modelo), y esto es la decisión
+ # de que las cuatro lo lleven: una función del navegador que sólo existe en una imagen es una
+ # trampa, porque el panel está en todas. Bajarlo de acá es bajarlo de la imagen, no de la receta.
+ "llama-cpp",
+ "ia-modelo-chat",
# ── VISOR DE IMÁGENES, TAMBIÉN EN LAS CUATRO ─────────────────────────────────────────────────
# `swayimg` y no `imv`, que era lo que proponía `docs/plan-apps-usuario-final.md`: imv dibuja con
# OpenGL de función fija (`glBegin`/`glOrtho`) y esta distro NO tiene proveedor de GL de
@@ -690,6 +708,15 @@ paquetes = [
# ⚠ Resuelve la mitad: libnotify no trae daemon, manda `org.freedesktop.Notifications` por D-Bus,
# así que la imagen necesita además a alguien escuchando ese nombre.
"libnotify",
+ # ── LA IA LOCAL (SDD 26 §6.7) ────────────────────────────────────────────────────────────────
+ # El motor y el modelo van de raíz porque son lo que hace que la barra lateral conteste. `atuq`
+ # los busca en el path de producción (`/usr/bin/llama-server`, `/usr/share/takana/ia/modelo.gguf`)
+ # y, si no están, el panel lo DICE — no se rompe, pero la función no existe.
+ # ⚠ CUESTAN ~1,25 GiB EN CADA IMAGEN (199 M el motor + 1,04 GiB el modelo), y esto es la decisión
+ # de que las cuatro lo lleven: una función del navegador que sólo existe en una imagen es una
+ # trampa, porque el panel está en todas. Bajarlo de acá es bajarlo de la imagen, no de la receta.
+ "llama-cpp",
+ "ia-modelo-chat",
# ── VISOR DE IMÁGENES, TAMBIÉN EN LAS CUATRO ─────────────────────────────────────────────────
# `swayimg` y no `imv`, que era lo que proponía `docs/plan-apps-usuario-final.md`: imv dibuja con
# OpenGL de función fija (`glBegin`/`glOrtho`) y esta distro NO tiene proveedor de GL de
@@ -854,6 +881,15 @@ paquetes = [
# ⚠ Resuelve la mitad: libnotify no trae daemon, manda `org.freedesktop.Notifications` por D-Bus,
# así que la imagen necesita además a alguien escuchando ese nombre.
"libnotify",
+ # ── LA IA LOCAL (SDD 26 §6.7) ────────────────────────────────────────────────────────────────
+ # El motor y el modelo van de raíz porque son lo que hace que la barra lateral conteste. `atuq`
+ # los busca en el path de producción (`/usr/bin/llama-server`, `/usr/share/takana/ia/modelo.gguf`)
+ # y, si no están, el panel lo DICE — no se rompe, pero la función no existe.
+ # ⚠ CUESTAN ~1,25 GiB EN CADA IMAGEN (199 M el motor + 1,04 GiB el modelo), y esto es la decisión
+ # de que las cuatro lo lleven: una función del navegador que sólo existe en una imagen es una
+ # trampa, porque el panel está en todas. Bajarlo de acá es bajarlo de la imagen, no de la receta.
+ "llama-cpp",
+ "ia-modelo-chat",
# `dunst` es LA OTRA MITAD, y sólo hace falta acá: KDE la atiende con plasma-workspace, GNOME con
# gnome-shell y COSMIC con cosmic-notifications; sway no tenía a NADIE escuchando
# `org.freedesktop.Notifications`, así que una página que pedía notificar mandaba el mensaje al bus