Commit Graph
122 Commits
Author SHA1 Message Date
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
sergio c18988f1d5 estado: cosecha granja 2026-08-06T16:07:52Z — avance del árbol KDE 2026-08-06 12:07:52 -04:00
sergio 6e07646c96 estado: cosecha granja 2026-08-06T15:37:22Z — avance del árbol KDE 2026-08-06 11:37:22 -04:00
sergio c8b0093aa8 estado: cosecha granja 2026-08-05T22:00:09Z — avance del árbol KDE 2026-08-05 18:00:09 -04:00
sergio 50242906de estado: cosecha granja 2026-08-05T21:18:06Z — avance del árbol KDE 2026-08-05 17:18:07 -04:00
sergio 97bcf0673e estado: cosecha granja 2026-08-05T14:42:37Z — avance del árbol KDE 2026-08-05 10:42:37 -04:00
sergio b77cc68a91 estado: cosecha granja 2026-08-05T14:11:28Z — avance del árbol KDE 2026-08-05 10:11:29 -04:00
sergio d55a83e428 estado: cosecha granja 2026-08-05T10:14:35Z — avance del árbol KDE 2026-08-05 06:14:35 -04:00
sergio 987d14b7af estado: cosecha granja 2026-08-05T08:12:53Z — avance del árbol KDE 2026-08-05 04:12:54 -04:00
sergio 71aeb36622 estado: cosecha granja 2026-08-05T04:05:55Z — avance del árbol KDE 2026-08-05 00:05:55 -04:00
sergio eb792b73b9 estado: cosecha granja 2026-08-05T01:00:58Z — avance del árbol KDE 2026-08-04 21:00:58 -04:00
sergio 6fefca620c estado: cosecha granja 2026-08-04T23:29:11Z — avance del árbol KDE 2026-08-04 19:29:11 -04:00
sergio 7f91237282 estado: cosecha granja 2026-08-04T19:47:49Z — avance del árbol KDE 2026-08-04 15:47:49 -04:00
sergio 641e19824a estado: cosecha granja 2026-08-04T16:16:07Z — avance del árbol KDE 2026-08-04 12:16:07 -04:00
sergio 2e9610617e estado: cosecha granja 2026-08-04T11:31:08Z — avance del árbol KDE 2026-08-04 07:31:08 -04:00
sergio a7d1675093 estado: cosecha granja 2026-08-04T11:00:52Z — avance del árbol KDE 2026-08-04 07:00:52 -04:00
sergio 087ee22e3d estado: cosecha granja 2026-08-04T09:29:54Z — avance del árbol KDE 2026-08-04 05:29:54 -04:00
sergio 3a7347634d estado: cosecha granja 2026-08-04T08:28:32Z — avance del árbol KDE 2026-08-04 04:28:32 -04:00
sergio 78cdc18a8c estado: cosecha granja 2026-08-04T07:57:13Z — avance del árbol KDE 2026-08-04 03:57:13 -04:00
sergio 44f49dd2f9 estado: cosecha granja 2026-08-04T03:25:03Z — avance del árbol KDE 2026-08-03 23:25:03 -04:00
sergio 4b5a10f028 estado: cosecha granja 2026-08-04T02:54:42Z — avance del árbol KDE 2026-08-03 22:54:42 -04:00
sergio 6a91d58eea estado: cosecha granja 2026-08-03T19:21:35Z — avance del árbol KDE 2026-08-03 15:21:35 -04:00
sergio 0f2f9ec2ee estado: cosecha granja 2026-08-03T18:20:16Z — avance del árbol KDE 2026-08-03 14:20:16 -04:00