> 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…
censo: imprimir el `porque`, que escondía la mitad valiosa del fichero
Cada fila guarda desde siempre un campo que dice qué hay YA cubierto o por qué
importa — 'lectores de PDF': ('zathura y okular están', [...]) — y NO SE MOSTRABA
NUNCA. La salida decía
✗ lectores de PDF 3/3 falta: mupdf, sioyek, evince
que se lee como «no hay lector de PDF». El 2026-10-20 me puse a buscar
candidatos para construir uno —midiendo mupdf, zathura y sus plugins— hasta que
al abrir el fichero vi que zathura ya estaba sellada y viajando en tres
escritorios, y okular en KDE. El dato que evitaba una campaña inútil estaba en el
censo y no llegaba al ojo.
Medido tras el arreglo: **40 filas en rojo traían contexto oculto**, y una docena
dice que la capacidad ya está:
· vpn y red gestionada mostraba 6/6 falta · «networkmanager, wireguard-tools
y wpa_supplicant están»
· capturas «grim, slurp, wl-clipboard y cliphist ya están»
· terminales populares «foot está y alcanza»
· otros lenguajes «python3, lua, go, rust y perl están»
· contenedores «crun está (el motor); falta quien lo conduzca»
Una métrica que guarda el matiz y muestra sólo el número rojo invita exactamente
al trabajo que debía evitar.
Y dos cosas más de la misma pasada:
· corregido MI PROPIO `porque` de «visores de imagen», que quedó falso al
cerrar la fila con swayimg: seguía diciendo «ninguno: una foto no se abre».
· `mupdf` y `evince` entran a MUROS. El de mupdf es medido en su Makefile: sus
únicos visores son mupdf-gl (GLUT/OpenGL) y mupdf-x11/-curl, no hay visor
Wayland, y el corpus no publica GL de escritorio. Su CLI `mutool` sí
funcionaría — lo que falta no es leer un PDF, es mostrarlo con mupdf.
diff --git a/scripts/censo-distro.py b/scripts/censo-distro.py
index 4462967e..73b05ca8 100755
--- a/scripts/censo-distro.py
+++ b/scripts/censo-distro.py
@@ -90,7 +90,8 @@ CHECKLIST = {
# ausente» listando los cinco visores famosos, y **ninguno de los cinco puede funcionar acá**.
# Dejar esa fila en rojo invitaba a una campaña imposible; lo honesto es que el candidato que SÍ
# sirve esté en la lista y que los muros de los otros queden escritos (ver `MUROS`).
- 'visores de imagen': ('ninguno: una foto no se abre',
+ 'visores de imagen': ('swayimg está: png/jpeg/webp/tiff/gif + rotación EXIF, y modo DRM para '
+ 'consola. Los cinco de abajo están TAPADOS, ver MUROS',
['swayimg', 'imv', 'nsxiv', 'feh', 'loupe', 'eog']),
# ── CAPACIDADES ENTERAS SIN NINGÚN CAMINO ───────────────────────────────────────────────────
@@ -194,6 +195,13 @@ CUBIERTOS = {
# censo mentía por omisión al contarlas juntas. Sólo entran acá los muros MEDIDOS, con el dato que
# los prueba; lo demás se queda sin anotar, que es más honesto que adivinar.
MUROS = {
+ # ── lectores de PDF: la capacidad ESTÁ (zathura en 3 escritorios, okular en KDE) ─────────────
+ 'mupdf': ('sin-visor-wayland',
+ 'medido en su Makefile: sus únicos visores son mupdf-gl (GLUT/OpenGL) y '
+ 'mupdf-x11/-curl. No hay visor Wayland, y este corpus no publica GL de escritorio. '
+ 'Su CLI `mutool` SÍ funcionaría: lo que falta no es leer un PDF, es mostrarlo con mupdf'),
+ 'evince': ('introspeccion-gnome',
+ 'GNOME + introspección, igual que loupe y eog; librsvg sólo vive en incoming-gnome'),
# ── visores de imagen: los cinco famosos están tapados, y por DOS razones distintas ──────────
# Medido el 2026-10-20 al cerrar la fila con `swayimg`. Esto está acá para que nadie vuelva a
# intentar el «obvio»: el muro no es que falten deps, es la arquitectura de esta distro.
@@ -350,6 +358,18 @@ def main():
print(' %s %-28s %d/%d falta%s' % (marca, f['categoria'], len(f['faltan']),
len(f['items']),
': ' + ', '.join(f['faltan']) if f['faltan'] else 'n'))
+ # ⚠ **EL `porque` SE IMPRIME, Y ESTE ARREGLO SALIÓ DE CAER EN LA TRAMPA.**
+ # Cada fila guarda desde siempre un campo que dice qué hay YA cubierto o por qué importa
+ # —`'lectores de PDF': ('zathura y okular están', [...])`— y **no se mostraba nunca**. La
+ # salida decía `✗ lectores de PDF 3/3 falta: mupdf, sioyek, evince`, que se lee como «no hay
+ # lector de PDF»… y el 2026-10-20 me puse a buscar candidatos para construir uno, hasta que
+ # al mirar el fichero vi que zathura ya estaba sellada y viajando en tres escritorios.
+ #
+ # O sea: el dato que evitaba una campaña inútil estaba en el censo y no llegaba al ojo.
+ # Una métrica que guarda el matiz y muestra sólo el número rojo invita exactamente al
+ # trabajo que debía evitar.
+ if f['faltan'] and f['porque']:
+ print(' ↳ ya cubierto / contexto: %s' % f['porque'])
rev = [(i['nombre'], i['parientes']) for f in filas for i in f['items']
if i['estado'] == 'falta' and i['parientes']]
if rev: