gioser

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 1389Shell 137Markdown 80Rust 802602 Sutichaykuna

feat(granja): el censo de lo que FALTA entra al latido — el número que tiene que bajar

`censo-distro.py` nació hoy y sólo existía cuando yo lo corría, que es exactamente la forma de
morir que ya le vi al censo de applets: un instrumento correcto que nadie dispara. Ahora sale una
línea por ciclo.

Las otras métricas del latido contestan «¿está completo lo que ya nombramos?» — y las tres pueden
estar en verde (1158/1158 selladas, deuda 0, clausura 10 de 10) con la distro mostrando cuadraditos
en chino. Ésta contesta la otra, y **su número tiene que BAJAR**: el `git diff` de
`docs/state/distro-huecos.json` ES el avance del frente de producto, igual que el de `cierres.json`
es el de las imágenes.

    distro-huecos.json ✓ {"tiene-y-viaja": 18, "tiene-sin-viajar": 3, "falta": 149}
        unzip   lo hace libarchive
        zip     lo hace libarchive
        ninja   lo hace samurai
        kitty   sin-opengl-de-escritorio

Debajo del total van las dos listas cortas que **cambian el presupuesto** de un hueco, y por eso
valen más que el número: lo ya cubierto con otro nombre (falta el alias, no el camino) y los muros
medidos (no falta la receta: la distro no publica eso).

Sin puerta diaria: cuesta ~2 s y su valor es ir al ritmo del catálogo, así que el día que alguien
declare un paquete la línea lo refleja en el ciclo siguiente. Y sale SIEMPRE, incluso sin cambios —
un contador que sólo aparece cuando se mueve no se usa para decidir.

Probado en los dos caminos: verde con el store real, y rojo con un destino no escribible, donde
dice que falló y **NO pisa el informe anterior** (fichero temporal + `mv`, como `cierres.json`).

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

befa9427574f06310620fd4f24f65352a8c753e4 · ruwaq Sergio · (2 p'unchaw ñawpaq) · tayta 7bb612c7b · kay commitpi sach'ata qhaway

Semántico sayk'uy

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

1 qillqakuna · +23 −0

diff --git a/scripts/farm/cosecha-cron.sh b/scripts/farm/cosecha-cron.sh
index ad20d190..c82c258f 100755
--- a/scripts/farm/cosecha-cron.sh
+++ b/scripts/farm/cosecha-cron.sh
@@ -494,6 +494,29 @@ if [ -x "$HAMMER" ]; then
   fi
   rm -f work/.applets.salida
 
+  # ── EL CENSO DE LO QUE FALTA PARA USARLA (2026-10-19) ────────────────────────────────────────
+  # Las otras métricas contestan «¿está completo lo que ya nombramos?» — y las tres pueden estar en
+  # verde (1158/1158, deuda 0, clausura 10 de 10) con la distro mostrando cuadraditos en chino.
+  # Ésta contesta la otra pregunta, y su número tiene que BAJAR: el `git diff` de
+  # `docs/state/distro-huecos.json` ES el avance del frente de producto.
+  #
+  # Va sin puerta diaria porque cuesta ~2 s y su valor es ir al ritmo del catálogo: el día que
+  # alguien declare un paquete, la línea lo refleja en el ciclo siguiente. Y sale SIEMPRE, incluso
+  # sin cambios, porque un contador que sólo aparece cuando se mueve no se usa para decidir.
+  if python3 scripts/censo-distro.py --json work/.distro.tmp > work/.distro.salida 2>&1 \
+     && [ -s work/.distro.tmp ]; then
+    mv work/.distro.tmp docs/state/distro-huecos.json
+    echo "   distro-huecos.json ✓ $(grep -m1 'resumen:' work/.distro.salida | sed 's/^ *resumen: //')"
+    # Lo que YA está cubierto por otro nombre y lo que tiene muro medido: dos listas cortas que
+    # cambian el presupuesto de un hueco, y por eso valen más que el total.
+    sed -n '/CAPACIDAD YA CUBIERTA/,/^   —/p;/MUROS MEDIDOS/,$p' work/.distro.salida \
+      | grep -E '^        ' | head -6 | sed 's/^      /     /'
+  else
+    echo "   ⚠ censo-distro falló — NO piso el informe anterior"
+    tail -2 work/.distro.salida 2>/dev/null | sed 's/^/      /'
+  fi
+  rm -f work/.distro.tmp work/.distro.salida
+
   { echo "raíces sucias y symlinks al lab · medido $(date -u +%FT%TZ)"
     python3 scripts/hydrate-profile.py --auditar-raices 2>&1; } > work/.raices.tmp
   mv work/.raices.tmp docs/state/raices.txt