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 1572Shell 203Rust 109Markdown 993728 Definitions

feat(perfiles): siete que estaban sellados y no viajaban — y cinco que NO entran, con su motivo

Salen de `censo-distro.py`: de sus 170 renglones, **12 ya estaban sellados y en ningún perfil**, o
sea una línea cada uno en vez de una receta. Es la lección de `foot` otra vez, y la razón por la que
el párrafo de `[perfil.cli]` sobre «el 73% del catálogo está sellado y no viaja» existe.

Entran SIETE, repartidos por donde se usan y no todos a `cli`:

    cli              uv · micro · elvish · gopass          102 MB
    escritorio-sway  wtype                                  80 KB
    servidor         kubectl · helm                        147 MB

⚠ `kubectl`+`helm` van a `servidor` y NO a `cli` por una razón de peso MEDIDA: `cli` lo heredan los
cuatro escritorios y `servidor`, así que declararlos allá metía 147 MB en cada imagen de escritorio
para operar el Kubernetes de otra persona.

Y `wtype` va en `escritorio-sway` y no en `cli` porque es del PROTOCOLO, no de la terminal: sin
compositor Wayland no hace nada. Completa el juego con grim/slurp/wl-clipboard — capturar, pegar y
ESCRIBIR; sin él un script que automatiza una app gráfica no puede entregarle texto.

**Las cinco bajas valen más que las siete altas, porque dos eran errores míos:**

· `mako` NO es el daemon de notificaciones de sway — es el **motor de plantillas de Python que Mesa
  usa para codegen**. Mi censo lo clasificó por el nombre y lo puso en la categoría
  «lanzador/notificaciones». Está fuera de todo perfil CON RAZÓN: es build-only. Tercera vez que el
  nombre me engaña en dos días.
· `nodejs` tiene escrito en su propia receta que la distro no lo publica: «acá Node es un compilador
  más, no software que la distro publique» — entra al sandbox de Firefox y desaparece. Declararlo
  contradice una decisión tomada.
· `typst`, `valkey`, `kakoune`: el artefacto VIGENTE no está en el store, así que no son una línea
  sino trabajo de granja. `kakoune` además vive en `tandas/staged-2026-06-26/`, fuera del catálogo.

Verificado antes de publicar, que es lo único que vale acá: **la clausura sigue en 10 de 10** y los
contadores cuadran — `cli` 138→142 (+4), `escritorio-sway` 254→259 (+4 heredados +wtype),
`servidor` 171→177 (+4 +kubectl +helm). Ningún nodo `wanted` nuevo: el único sigue siendo
`wanted/xwayland` de KDE, que es deliberado.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>

fadc46b318798a356229ffc3dd13edb63ccb2ef7 · by Sergio · (2 d ago) · parent 42e2858a9 · browse the tree at this commit

Semantic delta

No definition changed: this change is text, documentation or data.

1 files · +43 −0

diff --git a/docs/state/targets.toml b/docs/state/targets.toml
index cedfd9a7..7219d1ed 100644
--- a/docs/state/targets.toml
+++ b/docs/state/targets.toml
@@ -373,6 +373,30 @@ paquetes = [
   # Es el mismo hueco de RUNTIME que `bash-completion`: nadie lo alcanza por deps de build, así que
   # ninguna métrica de deuda podía verlo. Sólo se ve mirando la máquina de quien la usa.
   "zsh",
+  # ── LOS QUE ESTABAN SELLADOS Y NO VIAJABAN (2026-10-19) ─────────────────────────────────────
+  # Salen de `scripts/censo-distro.py`, que mide lo que el resto del tablero no: no «¿está
+  # construido lo que declaramos?» —eso da 1158/1158— sino **«¿alcanza para usarla?»**. De sus
+  # 170 renglones, 12 ya estaban SELLADOS y en NINGÚN perfil: declararlos es una línea cada uno,
+  # no una receta. Es la lección de `foot` por enésima vez, y la razón por la que el párrafo de
+  # arriba existe.
+  #
+  # ⚠ De los 12 entran SIETE, y las cinco bajas valen más que las altas:
+  #   · `mako`   NO es el daemon de notificaciones de sway — es el MOTOR DE PLANTILLAS de Python
+  #              que Mesa usa para codegen. Mi censo lo clasificó por el nombre y se equivocó;
+  #              está fuera de todo perfil con razón, es build-only.
+  #   · `nodejs` su propia receta dice que la distro NO lo publica: «acá Node es un compilador
+  #              más», entra al sandbox de Firefox y desaparece. Declararlo contradice una
+  #              decisión escrita.
+  #   · `typst` · `valkey` · `kakoune` — el artefacto VIGENTE no está en el store (y kakoune vive
+  #              en `tandas/`, fuera del catálogo). Son trabajo de granja antes de ser una línea.
+  "uv",        # el instalador de herramientas Python. Sin él, `pip` no viaja y no hay forma de
+               # instalar nada del ecosistema Python en la máquina instalada
+  "micro",     # editor de terminal con teclas de hoy (Ctrl-S/Ctrl-Q). `vim` y `helix` están, y
+               # los dos exigen aprenderlos: esto es para quien no quiere
+  "elvish",    # shell estructurada. Va en `cli` por lo mismo que `zsh`: es shell de USUARIO, no
+               # del sistema — `base` define el del sistema y son dos hechos distintos
+  "gopass",    # gestor de contraseñas. El censo marca la categoría entera como hueco (nada:
+               # ni keepassxc, ni pass) y éste ya estaba sellado — tapa la mitad de CLI del hueco
 ]
 
 [perfil.escritorio-mirada]
@@ -1693,6 +1717,12 @@ paquetes = [
   "swayidle",      # apagado por inactividad
   # el par de captura y el portapapeles, sin los cuales media docena de flujos no cierran
   "grim", "slurp", "wl-clipboard",
+  # `wtype` (2026-10-19): teclear en Wayland desde un script. Estaba SELLADO y en ningún perfil
+  # —uno de los 12 que `censo-distro.py` destapó—. Va acá y no en `cli` porque es del PROTOCOLO,
+  # no de la terminal: sin compositor Wayland no hace nada. 80 KB, el más barato de los doce.
+  # Completa el juego con grim/slurp/wl-clipboard: capturar, pegar y ESCRIBIR; sin él un script
+  # que automatiza una app gráfica no puede entregarle texto.
+  "wtype",
   # ── LA PRIMERA APP DE USUARIO FINAL QUE COMPARTEN LOS CUATRO ESCRITORIOS ──────────────────────
   # `mpv` vive en el CORPUS, no en esta cola, justamente para poder listarse en las cuatro: una
   # receta resuelve sibling-first y después el catálogo padre, así que desde acá se alcanza.
@@ -2075,6 +2105,19 @@ paquetes = [
   # 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",
+  # ── OPERAR INFRA AJENA (2026-10-19) ──────────────────────────────────────────────────────────
+  # Los dos estaban SELLADOS y en ningún perfil, de los 12 que destapó `censo-distro.py`.
+  #
+  # ⚠ VAN EN `servidor` Y NO EN `cli`, y es una decisión de PESO medida: `cli` lo heredan los
+  # cuatro escritorios y `servidor`, así que declararlos allá metía **147 MB** (kubectl 60 +
+  # helm 87) en cada imagen de escritorio para operar el Kubernetes de otra persona. Acá los usa
+  # quien administra, que es quien los quiere.
+  #
+  # Y `kubectl` paga una deuda vieja que su propia receta nombra: el catálogo tenía `kubectl-neat`
+  # y `kubectl-tree` SELLADOS e INERTES —son subcomandos que despacha `kubectl`, y `kubectl` no
+  # estaba—. ⚠ Declarar kubectl no los activa por sí solo: los dos siguen fuera de todo perfil, y
+  # eso es su propia línea de trabajo. Lo que cambia es que ahora hay dónde declararlos.
+  "kubectl", "helm",
 ]
 
 # ── QUÉ ARRANCA (el «enable»; SDD 30 §3) ────────────────────────────────────────────────────────