tawasuyu

sergio/takana

> Una distribución Linux construida con un laboratorio funcional y hermético en el > sótano, y una terminal mutable, clásica y anárquica en el piso de arriba — diseñada > desde el suelo para que una IA programadora entienda, modifique y co…

TOML 604Rust 56Shell 36Markdown 281227 Sutichaykuna

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.

13ce9b16f1d8d838f357381f93c49c0a09272d82 · ruwaq Sergio · (1 killa ñawpaq) · tayta af20d9064 · kay commitpi sach'ata qhaway

Semántico sayk'uy

Mana ima sutichaypas t'ikrakurqanchu: qillqalla, yachachiylla utaq willaylla t'ikrakurqan.

2 qillqakuna · +56 −10

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