Commit Graph
1560 Commits
Author SHA1 Message Date
SergioandClaude Opus 5 1eb39976b0 store: un destino VACÍO ya no se traga el sellado en silencio
`has()` define presencia como «tiene al menos una entrada» —hay test desde hace tiempo—
pero `seal()` usaba `is_dir()`, que también es cierto para un directorio vacío. Con eso
`seal` devolvía Ok, tiraba el árbol recién construido, y el build logueaba `sealed` y
salía 0. Dos nociones distintas de «está» en el mismo struct, y la que decide si el
trabajo se guarda era la mala.

Medido en el worker dev.gioser.net: 1457 directorios vacíos en el store se comían cada
sellado. `openssl-threads` compilaba entero —headers, libcrypto.a, libssl.a, los .pc— y
sellaba NADA; python3 se construía después sin openssl y quedaba sin `_ssl`, y con eso
morían glib y 4 recetas más de GNOME. El error salía a tres recetas de distancia de la
causa y no nombraba openssl ni una vez. Probado quitando el vacío: el MISMO build sella
150 ficheros con OPENSSL_THREADS, mismo hash.

Se usa `remove_dir` y no `remove_dir_all`: sólo tiene éxito sobre un vacío, así que si
algo dejó contenido ahí entremedio falla ruidoso en vez de borrar un artefacto bueno.

No mueve hashes (testigo zlib idéntico).

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01LykB7vw38b4Ck1Zij15RQ4
2026-08-29 18:45:05 +00:00
SergioandClaude Opus 5 b3cc18018c granja: incoming-cosmic e incoming-wlr faltaban en QUEUES del worker
Es el mismo fósil que el propio script documenta para GNOME, repetido con las colas
que nacieron después. Las 25 recetas en deuda de COSMIC no fallaban: nadie las
intentaba, porque su cola no estaba en la lista. Una cola ausente no da error, da
silencio — el mismo modo de fallo que "el corpus no está en las QUEUES del worker".

Se añade la regla en el comentario: cola nueva y línea QUEUES, en el mismo commit.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01LykB7vw38b4Ck1Zij15RQ4
2026-08-29 18:33:35 +00:00
Sergio 5b8193cd35 estado: cosecha granja 2026-08-29T18:31:46Z — avance del árbol KDE 2026-08-29 18:31:46 +00:00
Sergio 96531327c9 estado: cosecha granja 2026-08-29T18:01:44Z — avance del árbol KDE 2026-08-29 18:01:44 +00:00
Sergio cc73dbcf58 estado: perfiles base/cli/escritorio-mirada COMPLETOS (52/52, 75/75, 33/33) 2026-08-29 17:41:40 +00:00
Sergio 9cebf82038 estado: cosecha granja 2026-08-29T17:02:02Z — avance del árbol KDE 2026-08-29 17:02:02 +00:00
Sergio 1313ee419b estado: cosecha granja 2026-08-29T16:31:48Z — avance del árbol KDE 2026-08-29 16:31:49 +00:00
Sergio 11ef892ab1 estado: cosecha granja 2026-08-29T16:01:53Z — avance del árbol KDE 2026-08-29 16:01:53 +00:00
Sergio b066980c08 estado: cosecha granja 2026-08-29T15:32:11Z — avance del árbol KDE 2026-08-29 15:32:11 +00:00
Sergio 5cf7162b77 estado: cosecha granja 2026-08-29T15:01:52Z — avance del árbol KDE 2026-08-29 15:01:52 +00:00
Sergio c5e69bd48e estado: cosecha granja 2026-08-29T14:31:49Z — avance del árbol KDE 2026-08-29 14:31:49 +00:00
Sergio 87ac21dc1e estado: cosecha granja 2026-08-29T14:02:07Z — avance del árbol KDE 2026-08-29 14:02:07 +00:00
SergioandClaude Opus 5 aeeaa6d07f SDD 25: las tasas del kernel medidas, y el MEMCG que falta en las recetas
16 tasas de Linux medidas en momento (KVM, 4 vCPU, bajo carga): piso de
syscall, /proc como API de texto, fork vs espacio de direcciones del padre,
enlazado dinámico, VFS, io_uring, THP, namespaces. Programas en C y salidas
crudas en docs/evidencia/tasas-kernel-2026-08-29/.

Lo que sale de medir y después verificar contra las recetas: los kernels de
hammer se construyen sin CONFIG_MEMCG (no está en x86_64_defconfig y no tiene
default y), y arje/sandokan escriben memory.max descartando el error. Un tope
de memoria pedido por una Card no se aplica y sólo deja un warn.

Tres resultados que contradicen el consejo de manual y quedan documentados:
THP 3x más lento que 4K con defrag=madvise, io_uring 2,8x más lento que pread
sobre tmpfs, y stat cuesta lo mismo en tmpfs que en ext4 (es tasa del VFS).

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01ACUcwo9mZsE5ocYVE9npih
2026-08-29 13:35:55 +00:00
Sergio 2176f26c05 estado: cosecha granja 2026-08-29T13:32:27Z — avance del árbol KDE 2026-08-29 13:32:27 +00:00
Sergio 82c92f5dec estado: cosecha granja 2026-08-29T13:02:02Z — avance del árbol KDE 2026-08-29 13:02:02 +00:00
Sergio 7b5197529f estado: cosecha granja 2026-08-29T12:31:58Z — avance del árbol KDE 2026-08-29 12:31:58 +00:00
Sergio 5a9acbdd51 estado: cosecha granja 2026-08-29T12:02:01Z — avance del árbol KDE 2026-08-29 12:02:01 +00:00
Sergio dc199fc949 estado: cosecha granja 2026-08-29T11:32:05Z — avance del árbol KDE 2026-08-29 11:32:05 +00:00
Sergio 1fcb96cfe2 estado: cosecha granja 2026-08-29T11:02:06Z — avance del árbol KDE 2026-08-29 11:02:06 +00:00
Sergio f0d8cdfe16 estado: cosecha granja 2026-08-29T10:32:03Z — avance del árbol KDE 2026-08-29 10:32:03 +00:00
Sergio f1354193f8 estado: cosecha granja 2026-08-29T10:02:03Z — avance del árbol KDE 2026-08-29 10:02:03 +00:00
Sergio 0889a009fb estado: cosecha granja 2026-08-29T09:31:55Z — avance del árbol KDE 2026-08-29 09:31:55 +00:00
Sergio cb66e22186 estado: cosecha granja 2026-08-29T09:01:58Z — avance del árbol KDE 2026-08-29 09:01:58 +00:00
Sergio 0fe38ba9f9 estado: cosecha granja 2026-08-29T08:31:47Z — avance del árbol KDE 2026-08-29 08:31:47 +00:00
Sergio d47b9cb3f0 estado: cosecha granja 2026-08-29T08:01:57Z — avance del árbol KDE 2026-08-29 08:01:57 +00:00
Sergio 06f938f4cc estado: cosecha granja 2026-08-29T07:31:45Z — avance del árbol KDE 2026-08-29 07:31:45 +00:00
Sergio 1dbdf7d29b estado: cosecha granja 2026-08-29T07:02:11Z — avance del árbol KDE 2026-08-29 07:02:11 +00:00
Sergio ebd02f17cb estado: cosecha granja 2026-08-29T06:32:09Z — avance del árbol KDE 2026-08-29 06:32:09 +00:00
Sergio 3b8fd7ed86 estado: cosecha granja 2026-08-29T06:02:08Z — avance del árbol KDE 2026-08-29 06:02:09 +00:00
Sergio 240f49e6bb estado: cosecha granja 2026-08-29T05:32:16Z — avance del árbol KDE 2026-08-29 05:32:16 +00:00
Sergio e084fcdb25 estado: cosecha granja 2026-08-29T05:02:27Z — avance del árbol KDE 2026-08-29 05:02:28 +00:00
Sergio c8a7d2ef49 estado: cosecha granja 2026-08-29T04:32:12Z — avance del árbol KDE 2026-08-29 04:32:12 +00:00
Sergio 5dcf94b490 estado: cosecha granja 2026-08-29T04:01:50Z — avance del árbol KDE 2026-08-29 04:01:50 +00:00
Sergio 442524f236 estado: cosecha granja 2026-08-29T03:32:15Z — avance del árbol KDE 2026-08-29 03:32:15 +00:00
Sergio 271c425e11 estado: cosecha granja 2026-08-29T03:02:18Z — avance del árbol KDE 2026-08-29 03:02:19 +00:00
Sergio 7fdc8ed97c estado: cosecha granja 2026-08-29T02:31:55Z — avance del árbol KDE 2026-08-29 02:31:55 +00:00
Sergio 0aeb191d63 estado: cosecha granja 2026-08-29T02:02:28Z — avance del árbol KDE 2026-08-29 02:02:28 +00:00
Sergio 5bbebf1298 estado: cosecha granja 2026-08-29T01:32:15Z — avance del árbol KDE 2026-08-29 01:32:15 +00:00
Sergio 5d3986be4c estado: cosecha granja 2026-08-29T01:01:39Z — avance del árbol KDE 2026-08-29 01:01:39 +00:00
Sergio 7dd2c164ac estado: cosecha granja 2026-08-29T00:31:55Z — avance del árbol KDE 2026-08-29 00:31:55 +00:00
Sergio 68946d7cfa estado: cosecha granja 2026-08-29T00:02:11Z — avance del árbol KDE 2026-08-29 00:02:11 +00:00
Sergio 1a1c4880cf estado: cosecha granja 2026-08-28T23:31:49Z — avance del árbol KDE 2026-08-28 23:31:49 +00:00
Sergio 4beb7ead16 estado: cosecha granja 2026-08-28T23:01:52Z — avance del árbol KDE 2026-08-28 23:01:52 +00:00
SergioandClaude Opus 5 0b1b4b0506 granja: el comentario de farm-up nombraba una golden que el código ya no usa
La cabecera decía 'def 408909310' y la línea 38 usa 417847948 desde el 2026-08-08.
La 408909310 es justo la que NO traía rust ni go — la que dejaba fuera al 76% del
catálogo — así que el comentario apuntaba a la imagen rota.

Un comentario que nombra un id concreto es una referencia, no prosa: si alguien lo
lee y re-apunta IMAGE a mano, revive el bug que el propio fichero documenta debajo.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01LykB7vw38b4Ck1Zij15RQ4
2026-08-28 22:56:19 +00:00
Sergio 0dcd83cfb2 estado: cosecha granja 2026-08-28T22:32:13Z — avance del árbol KDE 2026-08-28 22:32:13 +00:00
Sergio 2055a23bb4 fnm: añadir xz y bzip2 a [deps] — sys-crates de compresión
Sexta de la familia. El arreglo estaba HECHO en disco desde hace horas y lo
reporté como cerrado, pero nunca llegué a commitearlo — sólo se vio al revisar
`git status` por otra cosa. Sin esto, el arreglo se perdía.
2026-08-28 22:07:19 +00:00
Sergio 72773170e3 estado: cosecha granja 2026-08-28T22:02:18Z — avance del árbol KDE 2026-08-28 22:02:19 +00:00
SergioandClaude Opus 5 377760fb77 binutils: --enable-deterministic-archives — la cura de raíz del ar con hora de pared
El wrapper del sandbox (commit anterior) tapaba el síntoma. Esto arregla la causa:
nuestra receta de binutils no pasaba el flag que Alpine SÍ pasa, así que su `ar` y su
`ranlib` estampaban la hora de pared en la cabecera del miembro `/` de cada `.a`.

POR QUÉ AHORA Y NO "AGENDADO", Y POR QUÉ ESTE ORDEN. Arreglar la raíz PRIMERO evita
la parte fea del arreglo por wrapper: al cambiar el hash de binutils (c316212f… →
4b5fbf3b…) los artefactos contaminados caen en DIRECCIONES NUEVAS. No hay transición
"mismo ArtifactHash, otros bytes" — que es justo el peligro que la huella del lab
existe para eliminar. Los viejos quedan superados y podables, no reemplazados en el
sitio. Re-sellar en el sitio habría sido la opción peligrosa.

COSTE, MEDIDO CON yupana radio (no estimado): 422 dependientes transitivos, 365
sellados caen a deuda, las siete imágenes. Se asume a propósito: el corpus ya está en
campaña de reconstrucción (1093/1125) y la cascada se arrastra sola, porque cada
`hammer build` construye sus deps.

El wrapper del sandbox se mantiene como defensa en profundidad: es byte-neutral para
todo lo que ya sellaba con mtime 0, y cubre a cualquier herramienta futura que archive
sin pedir permiso.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01LykB7vw38b4Ck1Zij15RQ4
2026-08-28 21:44:55 +00:00
Sergio abf09cae56 wasm-pack: añadir xz y bzip2 a [deps] — sys-crates de compresión
`unable to find static system library 'lzma'` y `… 'bz2'` en el link, a los
316 s. La receta no tenía `[deps]`. Decimocuarta de la familia.
2026-08-28 21:33:34 +00:00
Sergio 86073080ba estado: cosecha granja 2026-08-28T21:31:47Z — avance del árbol KDE 2026-08-28 21:31:47 +00:00