Commit Graph
898 Commits
Author SHA1 Message Date
SergioandClaude Opus 5 a4a462b751 sombras: barrer 14 recetas redundantes que ya tenían copia en el corpus
Las 14 sombras marcadas 'redundante' dan el MISMO ArtifactHash en todas sus colas — no son
variantes, son el mismo artefacto declarado dos, tres, cuatro y hasta cinco veces. Medido con
'hammer hash' receta por receta, no deducido del nombre.

Se barren sólo las que YA tenían copia en el corpus, porque la resolución es sibling-first: una
dep desde incoming-kde busca incoming-kde/x y, si no está, CAE al corpus/x. Son 8 nombres, 14
ficheros: bzip2-shared, glib-shared, lcms2, mpc, pcre2-shared, sqlite-shared, xkeyboard-config
y xz-shared.

13 de los 14 eran byte a byte idénticos al del corpus. El decimocuarto, xkeyboard-config,
difiere en 14 líneas de COMENTARIO (mismo hash), y ese comentario es el permiso explícito para
esto: quien la promovió el 2026-09-05 escribió que dejaba las copias a propósito y que
'barrerlas es otra unidad de trabajo, no un efecto colateral de ésta'. Ésta es esa unidad.

Verificado con la huella de las 1181 recetas antes y después: NINGÚN hash superviviente se
movió ⇒ cero rebuilds. Y tras regenerar los cinco grafos: deuda 0, huérfanas [], y todas las
clausuras de perfil siguen completas.

⚠ Nota sobre una lectura que casi me confunde: los conteos de 'recipes' NO bajan (kde sigue en
1034) y eso es lo correcto — cuentan nodos alcanzables, no ficheros. Antes incoming-kde/x tapaba
a corpus/x; ahora el del corpus ocupa su lugar. Un nodo por otro.

Quedan 6 nombres (fuse3, hwdata, icu4c, libdisplay-info, libelogind, lua) sin copia en el
corpus: ésos exigen promover una primero, y van aparte.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_014QPJteswQvP1L7zSBrQQe2
2026-09-08 19:44:28 +00:00
Sergio 29cf7cc69c estado: cosecha granja 2026-09-08T19:31:11Z — avance del árbol KDE 2026-09-08 19:31:11 +00:00
SergioandClaude Opus 5 7892d50842 json-glib: --prefer-static — declaraba static y sus binarios no corrían fuera del sandbox
'-Ddefault_library=static' gobierna cómo se construye la librería PROPIA, y eso funcionaba: el
artefacto trae libjson-glib-1.0.a. Pero no dice nada de con qué se enlazan los EJECUTABLES, así
que json-glib-format y json-glib-validate salían dinámicos contra libffi.so.8, libz.so.1 y
libc.so — y ese libc.so es la musl de zig, 255 bytes de linker script en el host. O sea binarios
que NO CORREN fuera del sandbox, en una receta que declara link=static. Mismo remedio que
appstream, que ya llevaba --prefer-static.

Medido antes y después:
  json-glib-format    dinámico, 3 NEEDED  →  ESTÁTICO, 0 NEEDED
  json-glib-validate  dinámico, 3 NEEDED  →  ESTÁTICO, 0 NEEDED
  libjson-glib-1.0.a  igual (los consumidores no cambian de forma)

Y la prueba del consumidor, que es la que vale: json-glib-format sobre un JSON real corre EN EL
HOST y devuelve {"a":1}. (El ruido de libgvfsdbus.so en stderr es glib intentando dlopen
módulos GIO desde un binario estático: inocuo, la salida sale bien.)

Cascada reconstruida en orden de onda, con el cierre transitivo sacado de yupana y no de un grep
—que no veía a zathura ni a zathura-pdf-poppler por tener el array de deps multilínea, y la regla
del repo es justamente ésa—: zathura, incoming-cosmic/xdg-desktop-portal, zathura-pdf-poppler.

Verificado después, no antes:
  static-audit   MIENTEN 0 de 690    toda receta que declara link=static lo cumple
  los 5 grafos   deuda 0
  repro          REPRODUCEN 3 · DERIVA 0 · NO-DETERMINISMO 0

⚠ incoming-gnome/json-glib NO se toca: declara link="dynamic" a propósito porque el shell de
GNOME dlopea .so reales para introspección. No miente — es honesta, y su radio de 10 no se paga.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_014QPJteswQvP1L7zSBrQQe2
2026-09-08 19:26:12 +00:00
SergioandClaude Opus 5 381780aab4 fuentes: tapar el agujero de libtool y que el vigía distinga noticia de emergencia
El vigía decía 5 fuentes muertas y sólo UNA estaba en riesgo de verdad: busybox y freetype
tenían el tarball en la caché local Y en el mirror, y firefox-pgo-profile apunta a .invalid a
propósito. La que no tenía copia en ningún lado era libtool (incoming-kde), con ftpmirror.gnu.org
devolviendo 502 — o sea una receta que ya no se podía reconstruir y nadie lo sabía.

Arreglado: el tarball se bajó de ftp.gnu.org, se verificó contra el sha256 PINEADO (coincide
byte a byte), y está en la caché local y en el mirror. La URL de la receta pasa al espejo que
responde, y se midió que eso no re-hashea nada — ANTES y DESPUÉS dan el mismo
b3:5c09bff5..., que es el ADR 0013 comprobado en vez de citado.

Y el vigía ahora cruza cada fuente muerta con la caché local y el mirror, porque mezclar
'upstream caído con el blob guardado' (noticia) con 'caído y sin copia' (emergencia) hace que
el número suba, nadie lo mire, y el día que uno importe esté enterrado entre cuatro que no. A
un guardián lo mata el ruido. Ahora informa EN RIESGO aparte:

  == vivas 1175 / 1179   muertas arriba 4   EN RIESGO 0

⚠ Y si el mirror no se puede consultar —el worker no tiene la clave del Storage Box— dice
'indeterminado', NUNCA 'EN RIESGO': un instrumento que no pudo correr no puede parecer un
hallazgo.

Probado con rotura a propósito y con los dos controles, que es lo que separa un guardián que
sirve de uno que nunca saltó:
  sha inexistente + upstream muerto → EN RIESGO        ✓ salta
  blob en caché + upstream muerto   → cache-local      ✓ no salta
  mirror inalcanzable               → indeterminado    ✓ no alarma en falso

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_014QPJteswQvP1L7zSBrQQe2
2026-09-08 19:14:21 +00:00
Sergio 45a6ce547d estado: cosecha granja 2026-09-08T19:01:35Z — avance del árbol KDE 2026-09-08 19:01:35 +00:00
Sergio 0eb353b572 estado: cosecha granja 2026-09-08T18:52:12Z — avance del árbol KDE 2026-09-08 18:52:12 +00:00
Sergio cb06a37ffa estado: cosecha granja 2026-09-08T18:48:37Z — avance del árbol KDE 2026-09-08 18:48:37 +00:00
Sergio c1d80ff8af estado: cosecha granja 2026-09-08T18:32:27Z — avance del árbol KDE 2026-09-08 18:32:27 +00:00
Sergio 813a59db89 estado: cosecha granja 2026-09-08T18:09:03Z — avance del árbol KDE 2026-09-08 18:09:03 +00:00
Sergio b44ea878ff estado: cosecha granja 2026-09-08T18:02:48Z — avance del árbol KDE 2026-09-08 18:02:48 +00:00
Sergio 6be233de09 estado: cosecha granja 2026-09-08T17:32:54Z — avance del árbol KDE 2026-09-08 17:32:54 +00:00
Sergio bf4f21e963 estado: cosecha granja 2026-09-08T17:02:52Z — avance del árbol KDE 2026-09-08 17:02:52 +00:00
Sergio 76bf4f39a8 estado: cosecha granja 2026-09-08T16:34:12Z — avance del árbol KDE 2026-09-08 16:34:12 +00:00
Sergio 846f2ec5a7 estado: cosecha granja 2026-09-08T16:02:43Z — avance del árbol KDE 2026-09-08 16:02:43 +00:00
Sergio cdadf5fa81 estado: cosecha granja 2026-09-08T15:33:28Z — avance del árbol KDE 2026-09-08 15:33:29 +00:00
Sergio 1ac819eff3 estado: cosecha granja 2026-09-08T15:01:44Z — avance del árbol KDE 2026-09-08 15:01:44 +00:00
Sergio 9c491b29fc estado: cosecha granja 2026-09-08T14:31:50Z — avance del árbol KDE 2026-09-08 14:31:50 +00:00
Sergio 2e496d62e0 estado: tras aparcar el jarlog — corpus al día 2026-09-08 14:11:55 +00:00
Sergio 17508043aa estado: waterfox renombrado, corpus al día 2026-09-08 14:05:18 +00:00
Sergio 824ee67f0f estado: cosecha granja 2026-09-08T14:02:27Z — avance del árbol KDE 2026-09-08 14:02:27 +00:00
Sergio 64c9e7196e estado: cosecha granja 2026-09-08T13:32:16Z — avance del árbol KDE 2026-09-08 13:32:16 +00:00
Sergio 34af57ee3f estado: cosecha granja 2026-09-08T13:02:01Z — avance del árbol KDE 2026-09-08 13:02:01 +00:00
Sergio c1eb86c83b estado: cosecha granja 2026-09-08T12:31:51Z — avance del árbol KDE 2026-09-08 12:31:51 +00:00
Sergio f06a5627e0 estado: cosecha granja 2026-09-08T12:01:47Z — avance del árbol KDE 2026-09-08 12:01:47 +00:00
Sergio 5ac6f35030 estado: cosecha granja 2026-09-08T11:32:16Z — avance del árbol KDE 2026-09-08 11:32:16 +00:00
Sergio 5d708f5225 estado: cosecha granja 2026-09-08T10:31:21Z — avance del árbol KDE 2026-09-08 10:31:21 +00:00
Sergio 59f8164b8b estado: cosecha granja 2026-09-08T10:02:10Z — avance del árbol KDE 2026-09-08 10:02:10 +00:00
Sergio 4aa3fbed66 estado: cosecha granja 2026-09-08T09:31:56Z — avance del árbol KDE 2026-09-08 09:31:56 +00:00
Sergio 01d4110241 estado: cosecha granja 2026-09-08T09:02:06Z — avance del árbol KDE 2026-09-08 09:02:06 +00:00
Sergio dce113cd3f estado: cosecha granja 2026-09-08T08:31:51Z — avance del árbol KDE 2026-09-08 08:31:51 +00:00
Sergio 613d74950b estado: cosecha granja 2026-09-08T08:01:43Z — avance del árbol KDE 2026-09-08 08:01:43 +00:00
Sergio 1ff5246667 estado: cosecha granja 2026-09-08T07:31:48Z — avance del árbol KDE 2026-09-08 07:31:49 +00:00
Sergio 57f9bf5b35 estado: cosecha granja 2026-09-08T07:01:44Z — avance del árbol KDE 2026-09-08 07:01:44 +00:00
Sergio 3306f8915d estado: cosecha granja 2026-09-08T06:31:24Z — avance del árbol KDE 2026-09-08 06:31:24 +00:00
Sergio e5b2d4e07d estado: cosecha granja 2026-09-08T06:01:46Z — avance del árbol KDE 2026-09-08 06:01:47 +00:00
Sergio d28a9313ab estado: cosecha granja 2026-09-08T05:31:26Z — avance del árbol KDE 2026-09-08 05:31:26 +00:00
Sergio c455a14611 estado: cosecha granja 2026-09-08T05:02:10Z — avance del árbol KDE 2026-09-08 05:02:10 +00:00
Sergio dd510d70e7 estado: cosecha granja 2026-09-08T04:31:59Z — avance del árbol KDE 2026-09-08 04:31:59 +00:00
Sergio 2584430a16 estado: cosecha granja 2026-09-08T04:01:28Z — avance del árbol KDE 2026-09-08 04:01:29 +00:00
Sergio 21bec8d02e estado: cosecha granja 2026-09-08T03:32:12Z — avance del árbol KDE 2026-09-08 03:32:12 +00:00
Sergio 89b296cac9 estado: cosecha granja 2026-09-08T03:01:49Z — avance del árbol KDE 2026-09-08 03:01:49 +00:00
Sergio 91a229a7c4 estado: cosecha granja 2026-09-08T02:32:04Z — avance del árbol KDE 2026-09-08 02:32:04 +00:00
Sergio b00d513fbb estado: cosecha granja 2026-09-08T02:01:48Z — avance del árbol KDE 2026-09-08 02:01:48 +00:00
Sergio 0d03050b2b estado: cosecha granja 2026-09-08T01:32:00Z — avance del árbol KDE 2026-09-08 01:32:00 +00:00
Sergio b5582a2bd9 estado: cosecha granja 2026-09-08T01:02:14Z — avance del árbol KDE 2026-09-08 01:02:14 +00:00
Sergio 84ff534d43 estado: cosecha granja 2026-09-08T00:01:54Z — avance del árbol KDE 2026-09-08 00:01:54 +00:00
Sergio d971413a89 estado: cosecha granja 2026-09-07T23:31:52Z — avance del árbol KDE 2026-09-07 23:31:52 +00:00
Sergio 0a1d087eaa estado: cosecha granja 2026-09-07T23:01:53Z — avance del árbol KDE 2026-09-07 23:01:53 +00:00
Sergio 67269a028a estado: cosecha granja 2026-09-07T22:32:00Z — avance del árbol KDE 2026-09-07 22:32:00 +00:00
Sergio 1dbaf8d85a estado: atuq sobre el firefox con PGO v2 — 860/862 y cero huecos
atuq b3:fab2fbfb, 340 M, libxul de 227.043.776 bytes: el mismo del motor con el
perfil de 46 páginas. Verificado que ARRANCA desde una hidratación limpia de
escritorio-sway, 0 errores de relocación.

El corpus queda en 860/862 sellados —los dos que faltan son `ajeno`, que es
frontera y no deuda— y el vigía de sonames en CERO huecos en los cinco perfiles.
2026-09-07 22:08:38 +00:00