gioser

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 1389Shell 137Markdown 80Rust 802602 Definiciones

takana etapa 3a: los cargo build emiten los DOS binarios

Va solo y ANTES de cambiar ninguna invocación, a propósito. El worker compila
desde fuente (farm-worker-loop.sh) y la siembra excluye /target: si primero
cambiara las llamadas a `takana` y después el build, habría una ventana en la
que el worker sincroniza scripts nuevos y sigue teniendo sólo el binario viejo
— y eso no falla ruidosamente, deja de cosechar en silencio.

Con los dos emitidos, cualquier orden de sincronización queda sano.

7b6da600d6d4145fe092d913320c9b8d491f7bbc · por Sergio · (hace 1 mes) · padre 80319d9ba · ver el árbol en este commit

Delta semántico

Ninguna definición cambió: el cambio es de texto, documentación o datos.

4 archivos · +6 −6

diff --git a/scripts/farm/farm-lab-sync.sh b/scripts/farm/farm-lab-sync.sh
index 396b5670..9a15684f 100755
--- a/scripts/farm/farm-lab-sync.sh
+++ b/scripts/farm/farm-lab-sync.sh
@@ -57,7 +57,7 @@ log "3/4 recompilando hammer en el worker (el binario debe traer el lab en hash_
 # anterior, calcula la huella vieja y el paso 4 falla sin que se vea por qué (2026-08-12).
 $SSH "root@$IP" "cd $REMOTE && . \$HOME/.cargo/env 2>/dev/null
   find crates -name '*.rs' -exec touch {} +
-  cargo build --release --bin hammer 2>&1 | tail -2"
+  cargo build --release --bin takana --bin hammer 2>&1 | tail -2"
 
 log "4/4 EVIDENCIA: ¿el worker sella en la misma dirección que el hub?"
 h_hub=$("$ROOT/target/release/hammer" --store "$ROOT/store" hash "$TESTIGO" | tail -1)
diff --git a/scripts/farm/farm-worker-loop.sh b/scripts/farm/farm-worker-loop.sh
index 87230f27..bff9cb2e 100755
--- a/scripts/farm/farm-worker-loop.sh
+++ b/scripts/farm/farm-worker-loop.sh
@@ -170,7 +170,7 @@ QUEUES="${QUEUES:-recipes/incoming recipes/incoming-go recipes/incoming-gnome re
 # no cambió nada, minutos en frío. Si cargo falla, seguimos con el binario que haya (mejor que abortar).
 if command -v cargo >/dev/null 2>&1; then
   echo "$(date -u +%FT%TZ) rebuild hammer desde el source rsync-eado (evita el fósil de la golden)…"
-  cargo build --release --bin hammer -j"$JOBS" 2>&1 | tail -2 || echo "  ⚠ rebuild falló — uso el binario existente"
+  cargo build --release --bin takana --bin hammer -j"$JOBS" 2>&1 | tail -2 || echo "  ⚠ rebuild falló — uso el binario existente"
 fi
 
 # EL MISMO REBUILD, PERO POR CICLO Y NO SÓLO AL ARRANCAR (2026-09-06). El bloque de arriba corre
@@ -192,11 +192,11 @@ fi
 rebuild_si_hace_falta() {
   command -v cargo >/dev/null 2>&1 || return 0
   bin=target/release/hammer
-  [ -x "$bin" ] || { echo "$(date -u +%FT%TZ) no hay binario: compilando"; cargo build --release --bin hammer -j"$JOBS" 2>&1 | tail -2; return 0; }
+  [ -x "$bin" ] || { echo "$(date -u +%FT%TZ) no hay binario: compilando"; cargo build --release --bin takana --bin hammer -j"$JOBS" 2>&1 | tail -2; return 0; }
   # ¿Algún fuente más nuevo que el binario? (Cargo.lock incluido: un bump de dep también cuenta.)
   if [ -n "$(find crates Cargo.toml Cargo.lock -newer "$bin" -type f -print -quit 2>/dev/null)" ]; then
     echo "$(date -u +%FT%TZ) el source es más nuevo que el binario ⇒ recompilo hammer"
-    cargo build --release --bin hammer -j"$JOBS" 2>&1 | tail -2 || echo "  ⚠ rebuild falló — sigo con el binario existente"
+    cargo build --release --bin takana --bin hammer -j"$JOBS" 2>&1 | tail -2 || echo "  ⚠ rebuild falló — sigo con el binario existente"
   fi
 }
 
diff --git a/scripts/farm/vps-setup.sh b/scripts/farm/vps-setup.sh
index ddaced47..ea919c47 100755
--- a/scripts/farm/vps-setup.sh
+++ b/scripts/farm/vps-setup.sh
@@ -138,7 +138,7 @@ fi
 . "$HOME/.cargo/env"
 
 echo "==> 5. build hammer (target/release/hammer)"
-cargo build --release --bin hammer
+cargo build --release --bin takana --bin hammer
 
 echo "==> 6. rootfs Alpine edge + zig (bootstrap reproducible; varios min la 1ra vez)"
 ./scripts/bootstrap-devfs.sh
diff --git a/scripts/why-differs-barrido.sh b/scripts/why-differs-barrido.sh
index 4f5d96ea..9671c88e 100755
--- a/scripts/why-differs-barrido.sh
+++ b/scripts/why-differs-barrido.sh
@@ -74,7 +74,7 @@ def solo_metadatos(d):
 
 def main():
     if not HAMMER.exists():
-        sys.exit(f"falta {HAMMER} (cargo build --release --bin hammer)")
+        sys.exit(f"falta {HAMMER} (cargo build --release --bin takana --bin hammer)")
 
     grupos = sellados_por_nombre()
     nombres = sorted(grupos)