docs(sdd33): el §5 cierra los 429 que quedaban — y deja escrito el límite del método
Hace dos días este §5 pasó de «los 625 tarballs piden una pista por receta» a «196 cubiertas, 429 piden un listado por host». Ya están: 625 → **581 contestados, 44 sin mirar**, en 104 s con 236 peticiones. Lo que entra al documento no es sólo el número, son las tres cosas que cuestan de redescubrir: 1. **Un solo nivel de sondeo no alcanza.** Donde la versión vive en un segmento de la RUTA (`stable/frameworks/6.27/`, `sources/libadwaita/1.7/`), mirar el directorio propio diría «al día» para siempre: hay que listar el padre del segmento de versión. 2. **El límite del método, con su caso.** Un índice contesta «¿hay un número mayor?», no «hay una release más nueva». `gtk3` baja de `sources/gtk+/3.24/` y ahí siguen las series `3.89`…`3.96` —las alfas de GTK4, de 2017—. `3.94 > 3.24` es cierto y semánticamente falso, y ninguna regla numérica barata lo distingue. Por eso los 265 hallazgos por índice son INDICIOS y se cuentan aparte. Queda escrita la pista sin usar: los índices traen la FECHA, y ordenar por fecha en vez de por número resolvería exactamente este caso. 3. **Los 44 que no contesta nadie, con nombre y motivo** — pythonhosted por rutas con hash, sourceforge por redirección, 5 que pinean por sha a propósito, 3 con `no-hay-upstream.invalid` que es un marcador nuestro. Nombrarlos es lo que evita que «44 sin mirar» se lea como silencio. Y el bloque medido del §2.1 se amplía en vez de reescribirse: las dos fechas, una debajo de la otra, para que se vea el movimiento y no sólo el estado final. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Semantic delta
No definition changed: this change is text, documentation or data.
1 files · +41 −11
- docs/33-versionado-y-relojes.md +41 −11
diff --git a/docs/33-versionado-y-relojes.md b/docs/33-versionado-y-relojes.md
index 8e712afe..785fc293 100644
--- a/docs/33-versionado-y-relojes.md
+++ b/docs/33-versionado-y-relojes.md
@@ -74,10 +74,9 @@ equivalente general: saber si hay una versión nueva pide una pista por receta»
falso para la mayor parte — y nadie volvió a medirlo en catorce días:
```
-625 recetas con tarball
-196 de github.com ⇒ la URL YA TRAE el repo y la versión ⇒ el MISMO ls-remote las cubre
- 82 bajan una versión más vieja que la que upstream publica
-429 siguen fuera, pero CONCENTRADAS en pocos hosts (no dispersas): ver §5
+2026-10-07: 196 de github cubiertas con el ls-remote que ya estaba · 429 fuera
+2026-10-09: 223 de forja (github+gitlab) · 402 por índice HTTP · 44 fuera
+ 625 tarballs → 581 contestados en 104 s con 236 peticiones
```
`.../archive/refs/tags/v1.2.3.tar.gz` y `.../releases/download/1.10/sway-1.10.tar.gz` llevan dentro
@@ -155,13 +154,44 @@ salió.** Sin eso, la comparación de arriba no se puede hacer y el cron vuelve
línea de trabajo hay que volver a medirla: el límite puede haber sido del primer intento y no del
problema.*
- **Lo que SÍ queda sin decidir son las 429 restantes, y no piden una pista por receta: piden un
- listado por host.** Están concentradas, no dispersas — `download.kde.org` 108,
- `download.gnome.org` 70, `ftp.gnu.org` 32, `xorg.freedesktop.org`+`www.x.org` 29,
- `gitlab.freedesktop.org` 26, `kernel.org` 18, `download.qt.io` 12, y 142 repartidas en otros 75
- hosts. Siete patrones cubrirían ~287. La vigía las **nombra por host** en su informe en vez de
- resumirlas: «429 sin mirar» se lee como silencio, «108 en download.kde.org» se lee como la
- próxima tarea.
+ **Y las 429 restantes también se cerraron, dos días después** *(2026-10-09)*. No pedían una
+ pista por receta: pedían **un listado por host**, y los hosts estaban concentrados. Dos
+ mecanismos, y el primero tampoco era nuevo: `gitlab.freedesktop.org` (26) es una **forja git**
+ —sus URLs `/-/archive/<tag>/…` llevan el repo escrito, igual que github— y el resto son
+ **índices de directorio HTTP**, que un sondeador genérico lee: 402 recetas con **236 peticiones**
+ gracias a la caché por directorio (las 108 de KDE comparten 13; las 29 de xorg, 3).
+
+ Hace dos sondeos, porque un solo nivel no alcanza: un `<nombre>-<versión-mayor>` en su propio
+ directorio (ftp.gnu.org, xorg, kernel.org) **y una SERIE más nueva** cuando la versión vive en un
+ segmento de la ruta (`stable/frameworks/6.27/`, `sources/libadwaita/1.7/`) — ahí mirar sólo el
+ directorio propio diría «al día» para siempre.
+
+```
+625 tarballs → 581 contestados · 44 sin mirar (eran 625 ciegos el 2026-10-07)
+ 223 de forja → 150 con versión nueva, 1 sin contestar
+ 402 por índice → 265 con un número mayor
+```
+
+ ⚠ **Y un bug propio que valía 53 recetas:** el regex de tags exigía que el tag empezara por
+ dígito, así que descartaba `llvmorg-18.1.8`, `R_2_6_0`, `fuse-3.16.2`, `release-74-2` — **53
+ salían «sin-tags» contra repos que tienen cientos**. El regex laxo se usa SÓLO en el camino del
+ tarball, donde la URL dice qué forma buscar; en el de `repo`+`commit` la estrechez es la
+ protección y aflojarla cambiaría `al_dia` en 660 recetas que hoy se miden bien.
+
+- **Qué hacer con los 265 INDICIOS, que no son lo mismo que una versión nueva.** Un índice de
+ directorio contesta «¿hay un número mayor?», y eso no es «hay una release más nueva». El caso que
+ lo destapó: `gtk3` baja de `sources/gtk+/3.24/`, y ese directorio todavía guarda las series
+ `3.89`…`3.96` — las alfas de GTK4, de 2017. `3.94 > 3.24` es cierto y semánticamente falso, y
+ **ninguna regla numérica barata lo distingue** (94 es par, mismo major, y el directorio contiene
+ un tarball de verdad). Se informan aparte y con su propia palabra; convertirlos en decisiones es
+ trabajo humano. **La pista que queda sin usar:** los índices traen la FECHA de cada entrada, y
+ `3.24/` está tocado hace meses mientras `3.94/` lleva ocho años quieto — ordenar por fecha en vez
+ de por número resolvería justo este caso, y es su propia unidad de trabajo.
+
+- **Los 44 que no contesta nadie**, con nombre: 8 de `files.pythonhosted.org` (rutas con hash ⇒
+ pide la API de PyPI), 5 de `downloads.sourceforge.net` (descarga por redirección), 5 que pinean
+ por sha a propósito, 3 con `no-hay-upstream.invalid` —que es un marcador NUESTRO y está bien así—,
+ 3 de `static.rust-lang.org`, y una cola de dos en dos.
- **Cuándo re-pinear `recipes/takana.toml`**, que pinea el repo que la contiene. El bump atómico del
2026-10-07 dejó las 5 recetas de nuestro repo en el mismo commit —estaban en **cinco distintos**—