tawasuyu

sergio/takana

> Una distribución Linux construida con un laboratorio funcional y hermético en el > sótano, y una terminal mutable, clásica y anárquica en el piso de arriba — diseñada > desde el suelo para que una IA programadora entienda, modifique y co…

TOML 1435Shell 145Markdown 88Rust 852973 Definitions

granja: golden NUEVA con Rust y Go — desbloquea el 76% del catálogo

Imagen 417847948 («hammer-golden-rust-go-2026-08-08») reemplaza a 408909310 como default de
farm-up.

EL PROBLEMA QUE CIERRA: hammer invoca `cargo vendor` y el toolchain Go en el HOST, no dentro
del sandbox — el vendoreo pasa ANTES de entrar a la caja. La golden vieja no los traía, así que
la granja no podía construir NINGUNA receta Rust ni Go: COSMIC entero, las 228 Rust y las 362
Go del corpus. El 76% del catálogo dependía de UNA SOLA máquina, el hub — justo lo que el
respaldo de ayer intentaba dejar de asumir.

VERIFICADO ANTES DE SNAPSHOTEAR, no después: `cosmic-bg` —que minutos antes moría con
`spawn cargo vendor: No such file`— sella en el worker. Un snapshot de una máquina a medio
arreglar es peor que ninguno.

MISMAS VERSIONES QUE EL HUB (cargo/rustc 1.96.0, go 1.26.4) a propósito: introducir un skew de
toolchain nuevo mientras se arregla otro es cómo se fabrican los fallos que nadie reproduce. Y
1.96 es además el techo MSRV del sandbox ya documentado.

NO RELAJA LA HERMETICIDAD: cargo/go son herramientas de FETCH, del mismo orden que `git` para
clonar. El build sigue ocurriendo dentro del sandbox con el árbol ya vendoreado. Es lo contrario
del caso «no engordar el rootfs del worker», que habla del rootfs DEL SANDBOX.

El PATH queda persistido en /etc/profile.d/hammer-toolchain.sh para que sobreviva a los logins
no interactivos de la granja. Y la imagen trae el store del worker al momento del snapshot (KDE
y GNOME reconstruidos hoy), así que los workers nuevos arrancan con más caché.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>

889720cac0bf07d48565b3e439e9d42d37fea629 · by sergio · (2 months ago) · parent c7dd6652c · browse the tree at this commit

Semantic delta

No definition changed: this change is text, documentation or data.

1 files · +17 −1

diff --git a/scripts/farm/farm-up.sh b/scripts/farm/farm-up.sh
index 6a3f2bc0..7e1ed347 100755
--- a/scripts/farm/farm-up.sh
+++ b/scripts/farm/farm-up.sh
@@ -19,7 +19,23 @@
 set -euo pipefail
 
 N="${1:-1}"
-IMAGE="${IMAGE:-408909310}"
+# ── GOLDEN 417847948 (2026-08-08): la anterior NO TENÍA RUST NI GO ─────────────────────────────
+# `hammer` invoca `cargo vendor` (y el toolchain Go) en el HOST, no dentro del sandbox: el vendoreo
+# pasa ANTES de entrar a la caja. La golden vieja (408909310) no los traía, así que la granja no
+# podía construir NINGUNA receta Rust ni Go — o sea COSMIC entero, las 228 Rust y las 362 Go del
+# corpus: **el 76% del catálogo sólo se podía construir en el hub**, una sola máquina.
+#
+# Esta imagen añade cargo/rustc 1.96.0 y go 1.26.4, **las mismas versiones que el hub**, para no
+# introducir un skew de toolchain nuevo mientras se arregla otro. Verificado antes de snapshotear:
+# `cosmic-bg` —que minutos antes moría con `spawn cargo vendor: No such file`— sella en el worker.
+#
+# NO relaja la hermeticidad: cargo/go son herramientas de FETCH, del mismo orden que `git` para
+# clonar. El build sigue ocurriendo dentro del sandbox con el árbol ya vendoreado. Es lo contrario
+# del caso «no engordar el rootfs del worker», que habla del rootfs DEL SANDBOX.
+#
+# Trae además el store del worker al momento del snapshot (KDE y GNOME reconstruidos el 2026-08-08),
+# así que los workers nuevos arrancan con más caché que antes.
+IMAGE="${IMAGE:-417847948}"
 TYPE="${TYPE:-ccx23}"
 LOCATION="${LOCATION:-hel1}"
 SSHKEY="${SSHKEY:-desarrollo@jlsoltech.com}"