Commit Graph
144 Commits
Author SHA1 Message Date
Sergio abfcd45cc3 estado: cosecha granja 2026-08-27T10:31:58Z — avance del árbol KDE 2026-08-27 10:31:58 +00:00
Sergio 729ad0d687 estado: cosecha granja 2026-08-27T10:01:56Z — avance del árbol KDE 2026-08-27 10:01:56 +00:00
Sergio ac506b4d1b estado: cosecha granja 2026-08-27T09:31:57Z — avance del árbol KDE 2026-08-27 09:31:57 +00:00
Sergio 1d32b034de estado: cosecha granja 2026-08-27T09:02:01Z — avance del árbol KDE 2026-08-27 09:02:01 +00:00
Sergio acd156de4d estado: cosecha granja 2026-08-27T08:31:58Z — avance del árbol KDE 2026-08-27 08:31:58 +00:00
Sergio 8eedd414e2 estado: cosecha granja 2026-08-27T08:02:12Z — avance del árbol KDE 2026-08-27 08:02:12 +00:00
Sergio ae2cbc1c03 estado: cosecha granja 2026-08-27T07:31:55Z — avance del árbol KDE 2026-08-27 07:31:55 +00:00
Sergio 4f35256305 estado: cosecha granja 2026-08-27T07:02:02Z — avance del árbol KDE 2026-08-27 07:02:02 +00:00
Sergio e26e32b16e estado: cosecha granja 2026-08-27T06:32:04Z — avance del árbol KDE 2026-08-27 06:32:04 +00:00
Sergio 624cfbce3e estado: cosecha granja 2026-08-27T06:02:01Z — avance del árbol KDE 2026-08-27 06:02:01 +00:00
Sergio e3fda11875 estado: cosecha granja 2026-08-27T05:32:00Z — avance del árbol KDE 2026-08-27 05:32:00 +00:00
Sergio e578873243 estado: cosecha granja 2026-08-27T05:02:04Z — avance del árbol KDE 2026-08-27 05:02:04 +00:00
Sergio 3fa0fc3817 estado: cosecha granja 2026-08-27T04:32:44Z — avance del árbol KDE 2026-08-27 04:32:45 +00:00
Sergio 6d72101795 estado: cosecha granja 2026-08-27T04:02:10Z — avance del árbol KDE 2026-08-27 04:02:10 +00:00
Sergio f5decc26b1 estado: cosecha granja 2026-08-26T19:01:29Z — avance del árbol KDE 2026-08-26 19:01:29 +00:00
Sergio fd2dc39a83 estado: cosecha granja 2026-08-26T18:00:25Z — avance del árbol KDE 2026-08-26 18:00:25 +00:00
Sergio b6c469d28f estado: cosecha granja 2026-08-26T17:00:23Z — avance del árbol KDE 2026-08-26 17:00:23 +00:00
Sergio fba59f0267 estado: cosecha granja 2026-08-26T16:30:22Z — avance del árbol KDE 2026-08-26 16:30:23 +00:00
Sergio 1d72626004 estado: cosecha granja 2026-08-26T16:00:18Z — avance del árbol KDE 2026-08-26 16:00:18 +00:00
Sergio 136133f3d2 estado: cosecha granja 2026-08-23T19:00:37Z — avance del árbol KDE 2026-08-23 19:00:37 +00:00
SergioandClaude Opus 5 90d9ee1b06 estado: el grafo medía 71 selladas donde hay 415 — le faltaba el manifiesto
`work/farm-sellados.txt` habia desaparecido. Es una de las DOS fuentes con las
que `build-state.py` resuelve presencia (la otra, `respaldo-sellados.txt`, sigue
del 2026-08-12), y sin ella el grafo no ve nada de lo que la granja sello desde
entonces: 415 -> 71 selladas, 363 -> 707 de deuda.

Es exactamente lo que el propio script advierte en su cabecera —"un grafo viejo
miente con la misma cara que uno fresco, pero uno recien escrito miente con mas
autoridad"—. El latido lo regenero y lo pusheo a las 17:30 con los numeros
malos, que es el caso peor: un worker sembrado contra ese grafo se habria puesto
a reconstruir ~344 recetas que existen.

El manifiesto se reconstruye desde el volumen `harkaq-cosecha`, montado de SOLO
LECTURA en gioser (mismo hel1 que el volumen y el Storage Box, asi que no hace
falta el helper efimero de `harkaq-vol.sh collect`). 2749 artefactos.

Los 2 directorios vacios del volumen (`.mirror-tmp`, `.bootstrap-tmp`) quedan
FUERA por la regla 3 del CLAUDE.md; ninguno de los 2749 con nombre de hash esta
vacio, verificado con `find -type d -empty`, no supuesto.

Foto real: base 43/51, cli 62/74, escritorio-mirada 28/31. El grafo CIERRA.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01Xd5DComN9Nu47TBpYMBHBn
2026-08-23 18:26:15 +00:00
Sergio bfc8dc72c4 estado: cosecha granja 2026-08-23T17:30:32Z — avance del árbol KDE 2026-08-23 17:30:32 +00:00
SergioandClaude Opus 5 58d31618b7 hash: el toolchain del lab entra en hash_inputs — el corpus entero se re-hashea
Decision del usuario tras la medicion de los 4 kernels: dos labs con distinto
rustc producian bytes distintos en la MISMA direccion, y el store no tenia
como notarlo. Ahora el toolchain es una entrada del ArtifactHash.

QUE ENTRA: 29 paquetes del rootfs cuya VERSION puede cambiar los bytes —
compiladores/enlazadores (gcc, clang, llvm, binutils, rust, cargo), las libs
de codegen de gcc (gmp, mpfr4, mpc1, isl), el runtime que se enlaza (musl,
libgcc, libstdc++, libatomic, libgomp) y los headers que se compilan dentro
(linux-headers, fortify-headers). NO entra el rootfs entero: cada paquete de
mas invalida el corpus en cada bump, y con edge rodante curl se actualiza sin
que cambie una sola instruccion emitida.

Quedan fuera a proposito, y no es una afirmacion de que no influyan: los
autotools y las shells pueden cambiar ficheros generados. Es una decision de
coste. Si algun dia se ve una divergencia que rastree ahi, se anaden — y ese
dia el corpus se re-hashea otra vez.

DE DONDE SALE: del apk db del rootfs REAL (cfg.rootfs, que respeta
HAMMER_LAB/HAMMER_ROOTFS), no de docs/state/lab-toolchain.lock. El lock sigue
siendo el registro legible que viaja por git; hashearlo permitiria sellar con
un lab distinto del declarado. Derivar la ruta del padre del store se
descarto: esa suposicion ya rompio al worker cuando su store se anclo a un
volumen (ver defaults_for_store_with_lab).

SIN CAMINO SILENCIOSO: el parametro es obligatorio, no Option. Sin rootfs
falla y dice que hacer. Un default aqui reintroduciria la divergencia que
esto cierra.

Trae test de regresion de un fallo MUDO: la primera lista de prefijos llevaba
el guion de version (`gcc-`) y en el apk db el campo P: es solo el nombre
(`gcc`) ⇒ no casaba ninguno y la huella salia la del conjunto vacio. Un hash
valido, constante e inutil, que mirando el hash no se nota.

COSTE, medido y no estimado: sealed 768 -> 0, debt 777. Los 1745 artefactos
del respaldo quedan SUPERADOS, no perdidos. Ninguna imagen queda lista.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
2026-08-10 18:30:21 +00:00
SergioandClaude Opus 5 f961b3863f estado: los 4 kernels vuelven a sellado — y la prueba de bit-repro FALLA
sealed 764 -> 768, deuda kernel=4 -> 0. Los cuatro reconstruidos en gioser y
subidos al respaldo.

La prueba pedida era: como el .config no cambia, el bzImage deberia salir
identico en una direccion nueva. NO sale identico, y la causa NO es la
receta.

Los cuatro dan la MISMA firma. El config instalado difiere en exactamente 4
lineas y ninguna es del cambio:

  CONFIG_RUSTC_VERSION=109600      -> 109700
  CONFIG_RUSTC_LLVM_VERSION=220103 -> 220108

Es rust 1.96 (laptop) vs 1.97 (gioser, resuelto de Alpine edge). Las lineas
de USB4/THUNDERBOLT/REISERFS son identicas viejo vs nuevo en las cuatro ⇒ la
correccion de receta es inerte, como se habia predicho. Y Rust NI SIQUIERA
ESTA ACTIVADO en estos kernels: Kconfig sondea el rustc del entorno y graba
su version igual.

Vale para las DOS ramas (6.16.12 y 7.1.2), asi que es del sistema, no de una
version de kernel.

Lo que esto destapa importa mas que el experimento: el toolchain del rootfs
NO esta en hash_inputs. Si no se hubiera tocado la receta, gioser habria
sellado bytes distintos en la MISMA direccion que el laptop, y el store no
tiene como notarlo. docs/state/lab-toolchain.lock avisa de la divergencia
pero no la impide.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
2026-08-10 16:55:08 +00:00
SergioandClaude Opus 5 b88930234f estado: los 4 kernels pasan a deuda tras el renombrado USB4
sealed 768 -> 764, debt 9 -> 13, clase kernel=4. Consecuencia esperada del
cambio de hash: las recetas son correctas, los artefactos del store son de
la version anterior. Reconstruirlos deberia dar un kernel identico byte a
byte en una direccion nueva — util como prueba de bit-repro, ya que el
.config no cambia.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
2026-08-10 14:08:18 +00:00
SergioandClaude Opus 5 be9732add7 estado: drenaje en gioser — escritorio-mirada cierra 31/31
Selladas 6: wayland, wayland-protocols, libxkbcommon, mesa, mirada-compositor
y mirada-greeter. Corpus 766 -> 768, deuda 11 -> 9, y la clase rust
desaparece. El perfil escritorio-mirada pasa a 31/31.

Las cuatro primeras figuraban como selladas y no lo estaban: el respaldo
tiene 7 artefactos VACIOS (mesa, wayland, wayland-protocols, libxkbcommon x2,
dbus x2), --listar los cuenta por nombre de directorio, build-state los toma
por buenos y hammer build hace cache-hit sobre el directorio vacio. Sellaba
sin construir y salia 0. Un ausente falla ruidosamente; un vacio llega hasta
el final diciendo que todo fue bien.

Para construirlas hacian falta dos piezas del lab que gioser no tenia: zig
0.13.0 (lo pinean 84 recetas, y se busca por directorio versionado, no por
el symlink) y el paso apk del rootfs, que trae rust/cargo. Quedan bloqueadas
gnome-session (no hay receta de GTK3 en el corpus) y gnome-settings-daemon
(geocode-glib existe, esta en deuda y no figura en su [deps]).

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
2026-08-10 12:49:07 +00:00
sergio a18bb48110 estado: cosecha granja 2026-08-10T04:00:27Z — avance del árbol KDE 2026-08-10 00:00:27 -04:00
sergio 759401b616 estado: grafos regenerados tras la mudanza — mismos totales, ahora con sealed_remoto 2026-08-09 21:22:42 -04:00
sergio a8b6a09276 estado: cosecha granja 2026-08-09T15:50:11Z — avance del árbol KDE 2026-08-09 11:50:11 -04:00
sergio 458afec6db estado: cosecha granja 2026-08-09T05:39:24Z — avance del árbol KDE 2026-08-09 01:39:24 -04:00
sergio 2ec3ac2ce8 estado: cosecha granja 2026-08-08T23:25:49Z — avance del árbol KDE 2026-08-08 19:25:49 -04:00
sergio f879a802cb estado: cosecha granja 2026-08-08T15:49:28Z — avance del árbol KDE 2026-08-08 11:49:34 -04:00
sergio 5ed64aa44a estado: cosecha granja 2026-08-08T15:16:41Z — avance del árbol KDE 2026-08-08 11:16:41 -04:00
sergio d55e7c6e61 estado: cosecha granja 2026-08-08T14:44:57Z — avance del árbol KDE 2026-08-08 10:44:57 -04:00
sergio a920b7aa3d estado: cosecha granja 2026-08-08T14:12:32Z — avance del árbol KDE 2026-08-08 10:12:32 -04:00
sergio 57ebfcaf19 estado: cosecha granja 2026-08-08T13:41:25Z — avance del árbol KDE 2026-08-08 09:41:25 -04:00
sergio 75a572ea71 estado: cosecha granja 2026-08-08T13:10:01Z — avance del árbol KDE 2026-08-08 09:10:01 -04:00
sergio ca83c2ae6e estado: cosecha granja 2026-08-08T05:24:30Z — avance del árbol KDE 2026-08-08 01:24:30 -04:00
sergio 0e6d84361b estado: cosecha granja 2026-08-08T04:51:57Z — avance del árbol KDE 2026-08-08 00:51:57 -04:00
sergio f8a2ead7e4 estado: cosecha granja 2026-08-08T04:20:33Z — avance del árbol KDE 2026-08-08 00:20:33 -04:00
sergio 8e8a2f80ee estado: cosecha granja 2026-08-08T03:48:05Z — avance del árbol KDE 2026-08-07 23:48:05 -04:00
sergio 8325a706b2 estado: cosecha granja 2026-08-08T02:14:09Z — avance del árbol KDE 2026-08-07 22:14:09 -04:00
sergio dd8baa7560 estado: cosecha granja 2026-08-08T01:43:22Z — avance del árbol KDE 2026-08-07 21:43:22 -04:00
sergio 142a8774a6 estado: cosecha granja 2026-08-08T01:12:13Z — avance del árbol KDE 2026-08-07 21:12:13 -04:00
sergio a287091d2a estado: cosecha granja 2026-08-08T00:40:56Z — avance del árbol KDE 2026-08-07 20:40:56 -04:00
sergio 6060b9bbcd estado: cosecha granja 2026-08-07T16:49:23Z — avance del árbol KDE 2026-08-07 12:49:23 -04:00
sergio 809b154586 estado: cosecha granja 2026-08-07T12:15:14Z — avance del árbol KDE 2026-08-07 08:15:14 -04:00
sergio dd0926df24 estado: cosecha granja 2026-08-07T11:32:45Z — avance del árbol KDE 2026-08-07 07:32:45 -04:00
sergio 6f215a12dd estado: cosecha granja 2026-08-07T04:14:38Z — avance del árbol KDE 2026-08-07 00:14:38 -04:00
sergio 3605bf63b2 estado: cosecha granja 2026-08-07T00:12:22Z — avance del árbol KDE 2026-08-06 20:12:22 -04:00