From 8730aad34e868068796f9c85ca4e4c89cfb43fa6 Mon Sep 17 00:00:00 2001 From: Sergio Date: Wed, 9 Sep 2026 18:25:58 +0000 Subject: [PATCH] takana etapa 3b: las 49 invocaciones pasan a ./target/release/takana MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Los llamadores EJECUTABLES: scripts/ (incluida toda la granja), los runbooks y CLAUDE.md. Seguro porque la 3a ya garantiza que el worker emite los dos binarios, y porque en farm-lab-sync.sh el cargo build remoto precede a la invocación remota en el mismo script. Verificado: sintaxis de los 49 (bash -n / py_compile — ojo que why-differs-barrido.sh es Python con extensión .sh) y `takana hash` devuelve hash real sobre el store. NO se toca en esta etapa, a propósito: - La variable de entorno HAMMER=. Es interfaz de los scripts entre sí y hay llamadores que la fijan; renombrarla va con la etapa 4. - docs/evidencia/ y los HANDOFF: son REGISTRO de lo que se corrió ese día. Reescribir un comando dentro de una evidencia la falsifica. - docs/state/: es generado, se regenera solo. - Los ADR y los docs de diseño: texto, y `hammer` sigue funcionando. Van con la etapa 5, que es la de churn de texto. --- CLAUDE.md | 4 ++-- docs/runbooks/armador-de-kernel.md | 2 +- docs/runbooks/cosmic-desktop.md | 4 ++-- docs/runbooks/stage1-vm-boot.md | 4 ++-- scripts/atuq-nested.sh | 2 +- scripts/build-farm.sh | 2 +- scripts/build-state.py | 4 ++-- scripts/consenso.sh | 2 +- scripts/cosmic/cosmic-nested.sh | 2 +- scripts/cosmic/hydrate-cosmic.sh | 2 +- scripts/cosmic/metal-desktop-image.sh | 2 +- scripts/cosmic/qemu-desktop-image.sh | 2 +- scripts/farm/build-timed.sh | 2 +- scripts/farm/campana-deuda.sh | 2 +- scripts/farm/cosecha-cron.sh | 2 +- scripts/farm/farm-lab-sync.sh | 4 ++-- scripts/farm/farm-worker-loop.sh | 2 +- scripts/farm/harkaq-campana-vol.sh | 4 ++-- scripts/farm/harkaq-campana.sh | 8 ++++---- scripts/farm/harvest-go.sh | 4 ++-- scripts/farm/saldar-deuda-static.sh | 4 ++-- scripts/farm/vps-setup.sh | 2 +- scripts/fuentes/mirror-env.sh | 2 +- scripts/gnome/hydrate-gnome.sh | 2 +- scripts/gnome/qemu-desktop-image.sh | 4 ++-- scripts/harkaq/harkaq-trace-build.sh | 4 ++-- scripts/hydrate-profile.py | 2 +- scripts/kde/complete-closure.sh | 2 +- scripts/kde/hydrate-fhs.sh | 2 +- scripts/kde/hydrate-from-store.sh | 2 +- scripts/lib/libs-compartidas-desde-store.sh | 2 +- scripts/lib/pid1-desde-store.sh | 4 ++-- scripts/mirada-usb.sh | 2 +- scripts/product-userland-from-repo.sh | 2 +- scripts/provee.py | 2 +- scripts/qorpa/evidence-probe.sh | 2 +- scripts/qorpa/pressure-vessel-probe.sh | 2 +- scripts/reconstruir-corpus.sh | 2 +- scripts/static-audit.sh | 2 +- scripts/store-gc.sh | 4 ++-- scripts/test-atuq-inicio.py | 2 +- scripts/test-atuq-nativo.py | 2 +- scripts/test-atuq-rootfs.py | 2 +- scripts/test-atuq-ruteo.py | 2 +- scripts/test-guardianes-wasm.sh | 2 +- scripts/verificar-repro.sh | 2 +- scripts/vigia-imagen.py | 2 +- scripts/vigia-sonames.py | 2 +- scripts/why-differs-barrido.sh | 2 +- 49 files changed, 64 insertions(+), 64 deletions(-) diff --git a/CLAUDE.md b/CLAUDE.md index 90deb40e..81887b0f 100644 --- a/CLAUDE.md +++ b/CLAUDE.md @@ -7,13 +7,13 @@ trabajo de otro sin enterarse. El resto del diseño está en `docs/`. ## 1. Todo `hammer build` va envuelto en `flock` ```sh -flock work/.farm-build.lock ./target/release/hammer --store ./store build +flock work/.farm-build.lock ./target/release/takana --store ./store build ``` Para una tanda, tomar el lock una sola vez y no por receta: ```sh -flock work/.farm-build.lock bash -c 'for r in ...; do ./target/release/hammer --store ./store build "$r"; done' +flock work/.farm-build.lock bash -c 'for r in ...; do ./target/release/takana --store ./store build "$r"; done' ``` **Por qué.** `hammer build` comparte `work/sources/-` entre todas las recetas. Dos builds diff --git a/docs/runbooks/armador-de-kernel.md b/docs/runbooks/armador-de-kernel.md index 2891a34d..68006d3b 100644 --- a/docs/runbooks/armador-de-kernel.md +++ b/docs/runbooks/armador-de-kernel.md @@ -99,7 +99,7 @@ no resuelven. `plan` no escribe en `recipes/` por su cuenta: ese directorio es e ⚠ **Y al construirla, `hammer build` va SIEMPRE bajo el lock compartido:** ```sh -flock work/.farm-build.lock ./target/release/hammer --store ./store build recipes/linux-derivada.toml +flock work/.farm-build.lock ./target/release/takana --store ./store build recipes/linux-derivada.toml ``` `hammer build` comparte `work/sources/-` entre todas las recetas. Dos builds simultáneos diff --git a/docs/runbooks/cosmic-desktop.md b/docs/runbooks/cosmic-desktop.md index b792f254..baaaa44f 100644 --- a/docs/runbooks/cosmic-desktop.md +++ b/docs/runbooks/cosmic-desktop.md @@ -352,8 +352,8 @@ cerró hoy en GNOME. ```sh cd ~/hammer -./target/release/hammer --store store hash recipes/incoming-cosmic/.toml # dry-run, ~2ms -./target/release/hammer build recipes/incoming-cosmic/.toml --store store +./target/release/takana --store store hash recipes/incoming-cosmic/.toml # dry-run, ~2ms +./target/release/takana build recipes/incoming-cosmic/.toml --store store ``` ## 🏔 EL ESCRITORIO ENTERO, DIBUJADO (2026-08-04) diff --git a/docs/runbooks/stage1-vm-boot.md b/docs/runbooks/stage1-vm-boot.md index f9a1aa19..51e5930e 100644 --- a/docs/runbooks/stage1-vm-boot.md +++ b/docs/runbooks/stage1-vm-boot.md @@ -26,7 +26,7 @@ - **Herramientas host**: `qemu-system-x86_64`, un kernel x86_64 (`/boot/vmlinuz-*`), `cpio`, `gzip`. - **Espacio/tiempo**: construir `arje-zero` vendorea las deps del **monorepo tawasuyu entero** — es pesado y lento la primera vez (se cachea después). -- **El binario `hammer`**: `cargo build --release -p hammer-cli` ⇒ `./target/release/hammer`. +- **El binario `hammer`**: `cargo build --release -p hammer-cli` ⇒ `./target/release/takana`. > El store debe vivir en la raíz del repo (`./store`) para que `BuildConfig` resuelva > `.dev-fs/alpine` como hermano (`store/..` = repo root). El toolchain de Stage 1 **no** es el de @@ -35,7 +35,7 @@ ## 2. Stage 0 — ingerir la semilla (zig) ```sh -export HAMMER=./target/release/hammer +export HAMMER=./target/release/takana export STORE=./store "$HAMMER" --store "$STORE" bootstrap stage0 \ diff --git a/scripts/atuq-nested.sh b/scripts/atuq-nested.sh index d6371c98..2e0d9f5a 100755 --- a/scripts/atuq-nested.sh +++ b/scripts/atuq-nested.sh @@ -16,7 +16,7 @@ # va en la lista de raíces por eso, no por completismo. set -eu ROOT="$(cd "$(dirname "$0")/.." && pwd)"; cd "$ROOT" -H="$ROOT/target/release/hammer" +H="$ROOT/target/release/takana" # ── EL ROOTFS VA EN EL MISMO MOUNT QUE EL STORE, Y NO ES UN CAPRICHO ─────────────────────────── # `hydrate` proyecta con HARDLINKS, y `linkat()` rechaza cruzar un punto de montaje aunque los dos diff --git a/scripts/build-farm.sh b/scripts/build-farm.sh index 47851bfc..05dfac88 100755 --- a/scripts/build-farm.sh +++ b/scripts/build-farm.sh @@ -23,7 +23,7 @@ STORE="${STORE:-./store}" REPO="${REPO:-$ROOT/dist/repo}" KEY="${KEY:-$ROOT/dist/keys/release.ed25519}" DISTRO="${DISTRO:-dev}" -HAMMER="${HAMMER:-$ROOT/target/release/hammer}" +HAMMER="${HAMMER:-$ROOT/target/release/takana}" PROMOTE="${PROMOTE:-1}" JOBS="${JOBS:-$(( $(nproc) - 2 ))}"; [ "$JOBS" -ge 1 ] || JOBS=1 diff --git a/scripts/build-state.py b/scripts/build-state.py index 63bf7601..e53c68b5 100755 --- a/scripts/build-state.py +++ b/scripts/build-state.py @@ -34,7 +34,7 @@ # # Uso: scripts/build-state.py # regenera docs/state/build-state.json + resumen # scripts/build-state.py --check # exit 1 si hay unhashable o deps huérfanas (gate CI) -# Env: HAMMER (def target/release/hammer), STORE (def ./store). +# Env: HAMMER (def target/release/takana), STORE (def ./store). import json, os, subprocess, sys, glob, tomllib from pathlib import Path @@ -44,7 +44,7 @@ import yupana # la YUPANA: el motor de dependencias INVERSAS que cruza TODAS la ROOT = Path(__file__).resolve().parent.parent os.chdir(ROOT) -HAMMER = os.environ.get("HAMMER", str(ROOT / "target/release/hammer")) +HAMMER = os.environ.get("HAMMER", str(ROOT / "target/release/takana")) STORE = os.environ.get("STORE", str(ROOT / "store")) CHECK = "--check" in sys.argv # `--kde`: además del corpus canónico, cubre la cola `recipes/incoming-kde/` (206 recetas del diff --git a/scripts/consenso.sh b/scripts/consenso.sh index 556e83b6..513c5dc6 100755 --- a/scripts/consenso.sh +++ b/scripts/consenso.sh @@ -57,7 +57,7 @@ while [ "$i" -le "$N" ]; do --exclude '*.png' --exclude '/content*' ./ "root@$ip:/opt/hammer/" >/dev/null 2>&1 hN=$($SSH "root@$ip" "export PATH=\$HOME/.cargo/bin:\$PATH; cd /opt/hammer && \ cargo build --release -q -p hammer-cli 2>/dev/null; \ - timeout ${POR:-900} ./target/release/hammer build $RECETA --store \$PWD/store 2>/dev/null \ + timeout ${POR:-900} ./target/release/takana build $RECETA --store \$PWD/store 2>/dev/null \ | grep -oE '^b3:[a-f0-9]{64}' | head -1" 2>/dev/null | tr -d '\r') echo " → ${hN:-FALLÓ}" [ -n "$hN" ] && echo "$hN $name" >> "$OUT/$n.hashes" diff --git a/scripts/cosmic/cosmic-nested.sh b/scripts/cosmic/cosmic-nested.sh index f711b1d9..a4d7ce03 100755 --- a/scripts/cosmic/cosmic-nested.sh +++ b/scripts/cosmic/cosmic-nested.sh @@ -53,7 +53,7 @@ mkdir -p "$OUT" # GL por software. Se resuelve por HASH VIGENTE (`hammer hash`), no por el más reciente del store: # con dos artefactos del mismo paquete conviviendo, la fecha miente. if [ -z "${MESA+x}" ]; then - MH=$(./target/release/hammer --store ./store hash recipes/mesa-llvmpipe.toml 2>/dev/null | tr -d "\n" | sed "s/b3://") + MH=$(./target/release/takana --store ./store hash recipes/mesa-llvmpipe.toml 2>/dev/null | tr -d "\n" | sed "s/b3://") MESA=$(ls -d store/"$MH"-mesa-llvmpipe 2>/dev/null || true) [ -n "${MESA:-}" ] || echo " ⚠ sin mesa-llvmpipe sellado: el compositor NO va a poder iniciar EGL" >&2 fi diff --git a/scripts/cosmic/hydrate-cosmic.sh b/scripts/cosmic/hydrate-cosmic.sh index e329bba4..6b6d1905 100755 --- a/scripts/cosmic/hydrate-cosmic.sh +++ b/scripts/cosmic/hydrate-cosmic.sh @@ -21,7 +21,7 @@ set -uo pipefail ROOT="$(cd "$(dirname "$0")/../.." && pwd)"; cd "$ROOT" RFS="${RFS:-work/cosmic-rootfs}"; STORE="${STORE:-./store}"; LINK="${LINK:-static}" -HAMMER="${HAMMER:-./target/release/hammer}"; KEEP="${KEEP:-0}" +HAMMER="${HAMMER:-./target/release/takana}"; KEEP="${KEEP:-0}" if [ $# -gt 0 ]; then TARGETS=("$@") diff --git a/scripts/cosmic/metal-desktop-image.sh b/scripts/cosmic/metal-desktop-image.sh index d47da48e..fea89890 100755 --- a/scripts/cosmic/metal-desktop-image.sh +++ b/scripts/cosmic/metal-desktop-image.sh @@ -80,7 +80,7 @@ ln -sf /usr/lib/musl/lib/libc.so "$MERGED/usr/lib/libc.musl-x86_64.so.1" # no habría tenido con quién hablar aunque el GL fuese perfecto. Se descubrió corriendo `cosmic-start` # sobre la imagen de metal por primera vez (antes sólo se validaba que llegara al prompt). echo "==> inyectando arje-logind-compat (el login1 del fractal) + su política" -if ALC="${ALC:-store/$(./target/release/hammer --store store hash recipes/arje-logind-compat.toml 2>/dev/null | tail -1 | sed 's/^b3://')-arje-logind-compat}"; [ -d "$ALC" ]; then +if ALC="${ALC:-store/$(./target/release/takana --store store hash recipes/arje-logind-compat.toml 2>/dev/null | tail -1 | sed 's/^b3://')-arje-logind-compat}"; [ -d "$ALC" ]; then install -Dm755 "$ALC"/usr/bin/arje-logind-compat "$MERGED"/usr/bin/arje-logind-compat install -d "$MERGED/usr/share/dbus-1/system.d" cp -a --remove-destination "$ALC"/usr/share/dbus-1/system.d/. "$MERGED"/usr/share/dbus-1/system.d/ 2>/dev/null || true diff --git a/scripts/cosmic/qemu-desktop-image.sh b/scripts/cosmic/qemu-desktop-image.sh index e26d422c..8e703283 100755 --- a/scripts/cosmic/qemu-desktop-image.sh +++ b/scripts/cosmic/qemu-desktop-image.sh @@ -73,7 +73,7 @@ echo "==> inyectando arje-logind-compat (el login1 del fractal) + su política" # cosmic-comp pregunta por su sesión igual que mutter y kwin. El daemon no entra por el cierre porque # nadie lo declara como dep de build. Se elige por `hammer hash` —la receta de HOY—, no por el más # reciente del store. Su política D-Bus viaja DENTRO del artefacto desde 2026-07-30. -if ALC="${ALC:-store/$(./target/release/hammer --store store hash recipes/arje-logind-compat.toml 2>/dev/null | tail -1 | sed 's/^b3://')-arje-logind-compat}"; [ -d "$ALC" ]; then +if ALC="${ALC:-store/$(./target/release/takana --store store hash recipes/arje-logind-compat.toml 2>/dev/null | tail -1 | sed 's/^b3://')-arje-logind-compat}"; [ -d "$ALC" ]; then install -Dm755 "$ALC"/usr/bin/arje-logind-compat "$MERGED"/usr/bin/arje-logind-compat install -d "$MERGED/usr/share/dbus-1/system.d" cp -a --remove-destination "$ALC"/usr/share/dbus-1/system.d/. "$MERGED"/usr/share/dbus-1/system.d/ 2>/dev/null || true diff --git a/scripts/farm/build-timed.sh b/scripts/farm/build-timed.sh index 6c5c57c7..6e25d6ac 100755 --- a/scripts/farm/build-timed.sh +++ b/scripts/farm/build-timed.sh @@ -19,7 +19,7 @@ # # Sale con el MISMO código que `hammer build` (transparente para el llamador). set -u -HAMMER="${HAMMER:-./target/release/hammer}" +HAMMER="${HAMMER:-./target/release/takana}" STORE="${STORE:-./store}" UMBRAL="${UMBRAL_TIEMPO:-3}" f="${1:?uso: build-timed.sh }" diff --git a/scripts/farm/campana-deuda.sh b/scripts/farm/campana-deuda.sh index 1430e7ea..e94f2446 100755 --- a/scripts/farm/campana-deuda.sh +++ b/scripts/farm/campana-deuda.sh @@ -30,7 +30,7 @@ HAMMER_DIR="${HAMMER_DIR:-/opt/hammer}" # qué contener a este script, así que un `$0` relativo se pierde seguro. YO="$(cd "$(dirname "$0")" && pwd)/$(basename "$0")" cd "$HAMMER_DIR" -HAMMER="${HAMMER:-$HAMMER_DIR/target/release/hammer}" +HAMMER="${HAMMER:-$HAMMER_DIR/target/release/takana}" STORE="${STORE:-$HAMMER_DIR/store}" LOG="${LOG:-/var/log/campana-deuda.log}" diff --git a/scripts/farm/cosecha-cron.sh b/scripts/farm/cosecha-cron.sh index ed68a4bf..aa171d12 100755 --- a/scripts/farm/cosecha-cron.sh +++ b/scripts/farm/cosecha-cron.sh @@ -78,7 +78,7 @@ if [ -s "$FLEET_FIJA" ]; then { grep -vE '^[[:space:]]*(#|$)' "$FLEET_FIJA" || true; cat "$FLEET" 2>/dev/null || true; } \ | awk 'NF && !visto[$1]++' > "$FLEET.seed" && mv "$FLEET.seed" "$FLEET" fi -HAMMER="${HAMMER:-$ROOT/target/release/hammer}" +HAMMER="${HAMMER:-$ROOT/target/release/takana}" # Workers efímeros reciclan IPs ⇒ no fijar known_hosts (hub-and-spoke, worker sin secretos). SSH="ssh -i $SSH_KEY -o UserKnownHostsFile=/dev/null -o StrictHostKeyChecking=no -o BatchMode=yes -o LogLevel=ERROR -o ConnectTimeout=15" diff --git a/scripts/farm/farm-lab-sync.sh b/scripts/farm/farm-lab-sync.sh index 9a15684f..429f950e 100755 --- a/scripts/farm/farm-lab-sync.sh +++ b/scripts/farm/farm-lab-sync.sh @@ -60,8 +60,8 @@ $SSH "root@$IP" "cd $REMOTE && . \$HOME/.cargo/env 2>/dev/null 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) -h_w=$($SSH "root@$IP" "cd $REMOTE && ./target/release/hammer --store ./store hash $TESTIGO 2>&1 | tail -1") +h_hub=$("$ROOT/target/release/takana" --store "$ROOT/store" hash "$TESTIGO" | tail -1) +h_w=$($SSH "root@$IP" "cd $REMOTE && ./target/release/takana --store ./store hash $TESTIGO 2>&1 | tail -1") echo " hub : $h_hub" echo " worker : $h_w" if [ "$h_hub" = "$h_w" ]; then diff --git a/scripts/farm/farm-worker-loop.sh b/scripts/farm/farm-worker-loop.sh index bff9cb2e..79a88dd5 100755 --- a/scripts/farm/farm-worker-loop.sh +++ b/scripts/farm/farm-worker-loop.sh @@ -191,7 +191,7 @@ fi # esto cuesta un `find`. rebuild_si_hace_falta() { command -v cargo >/dev/null 2>&1 || return 0 - bin=target/release/hammer + bin=target/release/takana [ -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 diff --git a/scripts/farm/harkaq-campana-vol.sh b/scripts/farm/harkaq-campana-vol.sh index 19163625..4c48666f 100755 --- a/scripts/farm/harkaq-campana-vol.sh +++ b/scripts/farm/harkaq-campana-vol.sh @@ -28,7 +28,7 @@ export HARKAQ_TIMEOUT="${HARKAQ_TIMEOUT:-300}" # SinEvidencia (o cero) en silencio — el falso `Hermetico` de D9 mudado al orquestador. abi=$(python3 -c 'import ctypes;print(ctypes.CDLL("libc.so.6").syscall(444,None,0,1))' 2>/dev/null) [ "${abi:-0}" -ge 7 ] || { echo "ABORTO: Landlock ABI ${abi:-?} < 7"; exit 4; } -strings ./target/release/hammer 2>/dev/null | grep -q harkaq || { echo "ABORTO: el binario no tiene la jaula"; exit 4; } +strings ./target/release/takana 2>/dev/null | grep -q harkaq || { echo "ABORTO: el binario no tiene la jaula"; exit 4; } echo "$(date -u +%FT%TZ) campaña-vol: ABI $abi, jaula ✓, auto-shutdown tras $IDLE_CICLOS ciclos idle" autodestruir() { @@ -59,7 +59,7 @@ while :; do tmp="recipes/.hk-$n.toml" sed "s/^name *= *\"$n\"/name = \"$n-hkm\"/" "recipes/$n.toml" > "$tmp" - timeout "$POR_RECETA" ./target/release/hammer build "$tmp" --store "$PWD/store" \ + timeout "$POR_RECETA" ./target/release/takana build "$tmp" --store "$PWD/store" \ > "$OUT/$n.log" 2>&1 rm -f "$tmp" # El sufijo -hkm sella un artefacto que después pega en caché y bloquea la re-medición diff --git a/scripts/farm/harkaq-campana.sh b/scripts/farm/harkaq-campana.sh index 7982260a..3364b6c4 100755 --- a/scripts/farm/harkaq-campana.sh +++ b/scripts/farm/harkaq-campana.sh @@ -38,15 +38,15 @@ if [ "${abi:-0}" -lt 7 ]; then exit 4 fi -# Gate 2: ¿el binario TIENE harkaq dentro? La golden hornea un `target/release/hammer` viejo y el +# Gate 2: ¿el binario TIENE harkaq dentro? La golden hornea un `target/release/takana` viejo y el # rsync excluye /target ⇒ si el `cargo build` del provisioning no corrió, el worker construye # alegremente SIN LA JAULA y produce cero veredictos. Pasó: la primera corrida molió 2 recetas con # un binario del 29/06 (0 ocurrencias de "harkaq") y las marcó "sin veredicto" como si fuera culpa # de las recetas. Ocho horas así son la noche entera perdida — y el log diría "salteada", nunca # "estoy ciego". Es el falso `Hermetico` de D9 mudado al orquestador: la ausencia como respuesta # tranquilizadora. -if ! strings ./target/release/hammer 2>/dev/null | grep -q harkaq; then - echo "ABORTO: ./target/release/hammer NO tiene harkaq compilado (¿corrió el cargo build?)." +if ! strings ./target/release/takana 2>/dev/null | grep -q harkaq; then + echo "ABORTO: ./target/release/takana NO tiene harkaq compilado (¿corrió el cargo build?)." echo " Sin esto la campaña muele sin jaula y produce 0 veredictos, en silencio." exit 4 fi @@ -64,7 +64,7 @@ while :; do # rompe la resolución de deps.build, que son relativas al dir de la receta. tmp="recipes/.hk-$n.toml" sed "s/^name *= *\"$n\"/name = \"$n-hkm\"/" "recipes/$n.toml" > "$tmp" - timeout "$POR_RECETA" ./target/release/hammer build "$tmp" --store "$PWD/store" \ + timeout "$POR_RECETA" ./target/release/takana build "$tmp" --store "$PWD/store" \ > "$OUT/$n.log" 2>&1 rm -f "$tmp" grep '^\[harkaq\] {' "$OUT/$n.log" | sed 's/^\[harkaq\] //' > "$OUT/$n.verdicts" diff --git a/scripts/farm/harvest-go.sh b/scripts/farm/harvest-go.sh index d8f8dd54..c8f6ad4f 100755 --- a/scripts/farm/harvest-go.sh +++ b/scripts/farm/harvest-go.sh @@ -17,7 +17,7 @@ # # Uso (cron): */DohubVPS cd /home/sergio/hammer && scripts/farm/harvest-go.sh root@1.2.3.4 >>work/harvest-go.log 2>&1 # Env: SSH_KEY (def ~/.ssh/github5), REMOTE (def /opt/hammer), STORE (def ./store), REPO (def dist/repo), -# KEY (def dist/keys/release.ed25519), DISTRO (def dev), HAMMER (def target/release/hammer), +# KEY (def dist/keys/release.ed25519), DISTRO (def dev), HAMMER (def target/release/takana), # SEAL_TIMEOUT (def 60s: techo del cache-hit; más = sería build local ⇒ skip). set -u @@ -29,7 +29,7 @@ STORE="${STORE:-$ROOT/store}" REPO="${REPO:-$ROOT/dist/repo}" KEY="${KEY:-$ROOT/dist/keys/release.ed25519}" DISTRO="${DISTRO:-dev}" -HAMMER="${HAMMER:-$ROOT/target/release/hammer}" +HAMMER="${HAMMER:-$ROOT/target/release/takana}" SEAL_TIMEOUT="${SEAL_TIMEOUT:-60}" QUEUE="recipes/incoming-go" REVIEW="tandas/needs-review-weekend" diff --git a/scripts/farm/saldar-deuda-static.sh b/scripts/farm/saldar-deuda-static.sh index bf37581c..aec9ac29 100755 --- a/scripts/farm/saldar-deuda-static.sh +++ b/scripts/farm/saldar-deuda-static.sh @@ -23,11 +23,11 @@ # Uso: scripts/farm/saldar-deuda-static.sh # construye toda la deuda # DRY=1 scripts/farm/saldar-deuda-static.sh # sólo LISTA la deuda, no construye # SKIP_GUI=1 scripts/farm/saldar-deuda-static.sh # salta el stack GUI (default si no hay DISPLAY-cap) -# Env: HAMMER (def target/release/hammer), STORE (def ./store), JOBS no aplica (serie, por deps). +# Env: HAMMER (def target/release/takana), STORE (def ./store), JOBS no aplica (serie, por deps). set -u ROOT="$(cd "$(dirname "$0")/../.." && pwd)"; cd "$ROOT" -HAMMER="${HAMMER:-$ROOT/target/release/hammer}" +HAMMER="${HAMMER:-$ROOT/target/release/takana}" STORE="${STORE:-$ROOT/store}" DRY="${DRY:-0}" # El stack GUI no construye en el laptop (zig-skew rompe cairo). Default: saltarlo salvo que se pida. diff --git a/scripts/farm/vps-setup.sh b/scripts/farm/vps-setup.sh index ea919c47..f2dbd6a4 100755 --- a/scripts/farm/vps-setup.sh +++ b/scripts/farm/vps-setup.sh @@ -137,7 +137,7 @@ if ! command -v cargo >/dev/null 2>&1; then fi . "$HOME/.cargo/env" -echo "==> 5. build hammer (target/release/hammer)" +echo "==> 5. build hammer (target/release/takana)" cargo build --release --bin takana --bin hammer echo "==> 6. rootfs Alpine edge + zig (bootstrap reproducible; varios min la 1ra vez)" diff --git a/scripts/fuentes/mirror-env.sh b/scripts/fuentes/mirror-env.sh index 1a912c0b..99aef38c 100644 --- a/scripts/fuentes/mirror-env.sh +++ b/scripts/fuentes/mirror-env.sh @@ -1,7 +1,7 @@ # mirror-env.sh — activa el mirror de fuentes (ADR 0013). Se hace `source`, no se ejecuta: # # . scripts/fuentes/mirror-env.sh -# flock work/.farm-build.lock ./target/release/hammer --store ./store build +# flock work/.farm-build.lock ./target/release/takana --store ./store build # # Sin esto `hammer build` va derecho a upstream, que es el comportamiento de siempre: el mirror es # ADITIVO y su ausencia nunca rompe un build. Por eso no está horneado en el binario — un default diff --git a/scripts/gnome/hydrate-gnome.sh b/scripts/gnome/hydrate-gnome.sh index 1577b695..c2178a78 100755 --- a/scripts/gnome/hydrate-gnome.sh +++ b/scripts/gnome/hydrate-gnome.sh @@ -18,7 +18,7 @@ set -uo pipefail ROOT="$(cd "$(dirname "$0")/../.." && pwd)"; cd "$ROOT" RFS="${RFS:-work/gnome-rootfs}"; STORE="${STORE:-./store}"; LINK="${LINK:-static}" -HAMMER="${HAMMER:-./target/release/hammer}"; KEEP="${KEEP:-0}" +HAMMER="${HAMMER:-./target/release/takana}"; KEEP="${KEEP:-0}" # Por defecto se hidratan DOS raíces, no una. accountsservice no es dep de build de gnome-shell —no # aparece en su meson.build ni en su cierre— sino dep de RUNTIME: la capa JS del shell hace # `imports.gi.AccountsService` y gjs resuelve el typelib al arrancar. Todo lo que el shell carga por diff --git a/scripts/gnome/qemu-desktop-image.sh b/scripts/gnome/qemu-desktop-image.sh index a29ccb40..f3712228 100755 --- a/scripts/gnome/qemu-desktop-image.sh +++ b/scripts/gnome/qemu-desktop-image.sh @@ -102,7 +102,7 @@ echo "==> inyectando arje-logind-compat (el login1 del fractal)" if [ -n "${ALC_BIN:-}" ] && [ -x "$ALC_BIN" ]; then install -Dm755 "$ALC_BIN" "$MERGED"/usr/bin/arje-logind-compat echo " ⚠ binario LOCAL (no sellado): $ALC_BIN" -elif ALC="${ALC:-store/$(./target/release/hammer --store store hash recipes/arje-logind-compat.toml 2>/dev/null | tail -1 | sed 's/^b3://')-arje-logind-compat}"; [ -d "$ALC" ]; then +elif ALC="${ALC:-store/$(./target/release/takana --store store hash recipes/arje-logind-compat.toml 2>/dev/null | tail -1 | sed 's/^b3://')-arje-logind-compat}"; [ -d "$ALC" ]; then install -Dm755 "$ALC"/usr/bin/arje-logind-compat "$MERGED"/usr/bin/arje-logind-compat # …y su POLÍTICA D-Bus, que desde 2026-07-30 viaja en el artefacto. Se copia, no se escribe: el # dueño del fichero es el paquete. Ojo — inyectar «sólo el binario» era el bug que destapó la @@ -128,7 +128,7 @@ echo "==> inyectando arje-polkit-compat (el PolicyKit1 del fractal) + su políti # libs-only a propósito (el demonio lo pone arje), así que nadie servía ese nombre y gnome-shell # esperaba 25 s por cada uno. # ⚠ El shim autoriza TODO (postura de sistema confiado ya tomada por arje) — ver su receta. -if APC="${APC:-store/$(./target/release/hammer --store store hash recipes/arje-polkit-compat.toml 2>/dev/null | tail -1 | sed 's/^b3://')-arje-polkit-compat}"; [ -d "$APC" ]; then +if APC="${APC:-store/$(./target/release/takana --store store hash recipes/arje-polkit-compat.toml 2>/dev/null | tail -1 | sed 's/^b3://')-arje-polkit-compat}"; [ -d "$APC" ]; then install -Dm755 "$APC"/usr/bin/arje-polkit-compat "$MERGED"/usr/bin/arje-polkit-compat install -d "$MERGED/usr/share/dbus-1/system.d" cp -a --remove-destination "$APC"/usr/share/dbus-1/system.d/. "$MERGED"/usr/share/dbus-1/system.d/ 2>/dev/null || true diff --git a/scripts/harkaq/harkaq-trace-build.sh b/scripts/harkaq/harkaq-trace-build.sh index 0d9cd832..03089f03 100644 --- a/scripts/harkaq/harkaq-trace-build.sh +++ b/scripts/harkaq/harkaq-trace-build.sh @@ -16,14 +16,14 @@ # de Opus, se coordina allá. Este script existe para medir HOY la señal declaradas-vs-usadas. # # uso: harkaq-trace-build.sh [store] [outdir] -# env: HAMMER (def ./target/release/hammer), TRACE (def /tmp/harkaq-trace), NORM (def +# env: HAMMER (def ./target/release/takana), TRACE (def /tmp/harkaq-trace), NORM (def # scripts/harkaq/harkaq-trace-norm.py) # deja en outdir: traza-fase-N.txt (crudas), canonica.txt, sello.txt, resumen.txt set -euo pipefail RECETA="${1:?uso: harkaq-trace-build.sh [store] [outdir]}" STORE="${2:-./store}" OUT="${3:-/tmp/harkaq-trace-pilot}" -HAMMER="${HAMMER:-./target/release/hammer}" +HAMMER="${HAMMER:-./target/release/takana}" TRACE="${TRACE:-/tmp/harkaq-trace}" NORM="${NORM:-scripts/harkaq/harkaq-trace-norm.py}" mkdir -p "$OUT"; rm -f "$OUT"/traza-fase-*.txt "$OUT"/canonica.txt "$OUT"/resumen.txt diff --git a/scripts/hydrate-profile.py b/scripts/hydrate-profile.py index c344af16..20d4f87a 100755 --- a/scripts/hydrate-profile.py +++ b/scripts/hydrate-profile.py @@ -34,7 +34,7 @@ import yupana import targets as targets_mod ROOT = yupana.ROOT -HAMMER = str(ROOT / "target/release/hammer") +HAMMER = str(ROOT / "target/release/takana") def opcion(nombre, defecto=None): diff --git a/scripts/kde/complete-closure.sh b/scripts/kde/complete-closure.sh index 572f386e..706b4fae 100644 --- a/scripts/kde/complete-closure.sh +++ b/scripts/kde/complete-closure.sh @@ -9,7 +9,7 @@ set -uo pipefail ROOT="$(cd "$(dirname "$0")/../.." && pwd)"; cd "$ROOT" STORE="${STORE:-./store}"; RFS="${RFS:-work/kde-store-rootfs}"; LINK="${LINK:-static}" -HAMMER="${HAMMER:-./target/release/hammer}" +HAMMER="${HAMMER:-./target/release/takana}" CUTOFF="${CUTOFF:-$(date -d 'today 00:00' +%s 2>/dev/null || echo 9999999999)}" # sonames provistos por la base (no soberanos aún / runtime del sistema): no hidratar. BASE_SONAMES="libc.so libc.musl-x86_64.so.1 ld-musl-x86_64.so.1 libc.so.6 ld-linux-x86-64.so.2 libm.so.6 libdl.so.2 libpthread.so.0 librt.so.1 libresolv.so.2" diff --git a/scripts/kde/hydrate-fhs.sh b/scripts/kde/hydrate-fhs.sh index 6823cf16..eff790ef 100644 --- a/scripts/kde/hydrate-fhs.sh +++ b/scripts/kde/hydrate-fhs.sh @@ -16,7 +16,7 @@ REPO="${REPO:-work/repo-kde}"; TRUST="${TRUST:-dist/keys}"; STORE="${STORE:-./st RFS="${RFS:-work/kde-rootfs}" # TARGETS = uno o varios paquetes tope (unión de cierres). TARGET (singular) sigue soportado. TARGETS="${TARGETS:-${TARGET:-qt6-qtdeclarative}}" -HAMMER="${HAMMER:-./target/release/hammer}" +HAMMER="${HAMMER:-./target/release/takana}" DB="$RFS/var/lib/hammer/installed.json" # cierre transitivo de TODOS los targets, leído del índice (deps + aliases ya resuelven). Excluimos diff --git a/scripts/kde/hydrate-from-store.sh b/scripts/kde/hydrate-from-store.sh index 8e4a8fba..422fef5d 100644 --- a/scripts/kde/hydrate-from-store.sh +++ b/scripts/kde/hydrate-from-store.sh @@ -15,7 +15,7 @@ set -uo pipefail ROOT="$(cd "$(dirname "$0")/../.." && pwd)"; cd "$ROOT" REPO="${REPO:-work/repo-kde}"; STORE="${STORE:-./store}"; LINK="${LINK:-static}" -RFS="${RFS:-work/kde-store-rootfs}"; HAMMER="${HAMMER:-./target/release/hammer}" +RFS="${RFS:-work/kde-store-rootfs}"; HAMMER="${HAMMER:-./target/release/takana}" TARGETS="${TARGETS:-${TARGET:-qt6-qtdeclarative}}" # CUTOFF: por defecto medianoche de hoy (excluye rebuilds de la sesión). Pasá 9999999999 para no filtrar. CUTOFF="${CUTOFF:-$(date -d 'today 00:00' +%s 2>/dev/null || echo 9999999999)}" diff --git a/scripts/lib/libs-compartidas-desde-store.sh b/scripts/lib/libs-compartidas-desde-store.sh index d57e42f4..1c552285 100644 --- a/scripts/lib/libs-compartidas-desde-store.sh +++ b/scripts/lib/libs-compartidas-desde-store.sh @@ -30,7 +30,7 @@ inyectar_libs_compartidas() { recetas="${LIBS_COMPARTIDAS:-libffi-shared expat-shared bzip2-shared}" echo "==> libs compartidas del store (el cierre sólo trae los .a)" for n in $recetas; do - hash=$(./target/release/hammer --store store hash "recipes/$n.toml" 2>/dev/null | tail -1 | sed 's/^b3://') + hash=$(./target/release/takana --store store hash "recipes/$n.toml" 2>/dev/null | tail -1 | sed 's/^b3://') dir="store/$hash-$n" if [ -n "$hash" ] && [ -d "$dir" ]; then cp -a --remove-destination "$dir"/usr/lib/*.so* "$merged"/usr/lib/ 2>/dev/null || true diff --git a/scripts/lib/pid1-desde-store.sh b/scripts/lib/pid1-desde-store.sh index a838a97a..d42a1136 100644 --- a/scripts/lib/pid1-desde-store.sh +++ b/scripts/lib/pid1-desde-store.sh @@ -30,7 +30,7 @@ inyectar_pid1() { local merged="$1" base="${2:-}" az echo "==> PID1: arje-zero desde el store${base:+ (no desde $base)}" - az="${AZ:-store/$(./target/release/hammer --store store hash recipes/arje-zero.toml 2>/dev/null | tail -1 | sed 's/^b3://')-arje-zero}" + az="${AZ:-store/$(./target/release/takana --store store hash recipes/arje-zero.toml 2>/dev/null | tail -1 | sed 's/^b3://')-arje-zero}" if [ -d "$az" ] && [ -x "$az/usr/bin/arje-zero" ]; then install -Dm755 "$az"/usr/bin/arje-zero "$merged"/usr/bin/arje-zero local viejo="" @@ -38,7 +38,7 @@ inyectar_pid1() { echo " ✓ $(basename "$az" | cut -c1-12)${viejo:+ (el de $base era de $viejo)}" else echo " ✗ falta arje-zero sellado en store/ — la imagen usaría el PID1 CONGELADO${base:+ de $base}" >&2 - echo " construílo: ./target/release/hammer build recipes/arje-zero.toml --store store" >&2 + echo " construílo: ./target/release/takana build recipes/arje-zero.toml --store store" >&2 return 1 fi } diff --git a/scripts/mirada-usb.sh b/scripts/mirada-usb.sh index 52227a95..1451e347 100644 --- a/scripts/mirada-usb.sh +++ b/scripts/mirada-usb.sh @@ -23,7 +23,7 @@ ROOT="$(cd "$(dirname "$0")/.." && pwd)"; cd "$ROOT" STORE="${STORE:-./store}" DEVFS="${DEVFS:-.dev-fs/alpine}" RFS="${RFS:-work/mirada-rootfs}" -HAMMER="${HAMMER:-target/release/hammer}" +HAMMER="${HAMMER:-target/release/takana}" PACKAGE="${PACKAGE:-1}" [ -d "$DEVFS" ] || { echo "no existe $DEVFS (corré scripts/bootstrap-devfs.sh)" >&2; exit 1; } diff --git a/scripts/product-userland-from-repo.sh b/scripts/product-userland-from-repo.sh index 685a4210..dd858d9c 100755 --- a/scripts/product-userland-from-repo.sh +++ b/scripts/product-userland-from-repo.sh @@ -37,7 +37,7 @@ for pkg in $PKGS_LIST; do printf " - %-16s (no está en el repo, salteado)\n" "$pkg"; skip=$((skip+1)); continue fi if NO_PROXY=localhost NIX_STORE="${NIX_STORE:-$HOME/.nixstore}" \ - "$ROOT/target/release/hammer" --store "$STORE" install "$pkg" \ + "$ROOT/target/release/takana" --store "$STORE" install "$pkg" \ --repo "$REPO" --prefix "$RFS" --trust "$TRUST" --require-signed --db "$DB" \ >/dev/null 2>"$RFS/.install-$pkg.log"; then printf " ✓ %-16s\n" "$pkg"; ok=$((ok+1)); got="$got $pkg" diff --git a/scripts/provee.py b/scripts/provee.py index dc915b8c..9b95afa0 100755 --- a/scripts/provee.py +++ b/scripts/provee.py @@ -42,7 +42,7 @@ import yupana ROOT = yupana.ROOT STORE = os.environ.get("HAMMER_STORE", str(ROOT / "store")) -HAMMER = str(ROOT / "target/release/hammer") +HAMMER = str(ROOT / "target/release/takana") CACHE = ROOT / "work/provee-cache.json" diff --git a/scripts/qorpa/evidence-probe.sh b/scripts/qorpa/evidence-probe.sh index 14b41662..e05a04cc 100755 --- a/scripts/qorpa/evidence-probe.sh +++ b/scripts/qorpa/evidence-probe.sh @@ -18,7 +18,7 @@ set -eu QORPA_ROOT="${HAMMER_QORPA_ROOT:-/var/lib/hammer/qorpa}" -HAMMER="${HAMMER_BIN:-./target/release/hammer}" +HAMMER="${HAMMER_BIN:-./target/release/takana}" ID="${1:-arch-probe}" export HAMMER_QORPA_ROOT="$QORPA_ROOT" diff --git a/scripts/qorpa/pressure-vessel-probe.sh b/scripts/qorpa/pressure-vessel-probe.sh index 01051bfa..cffa6243 100755 --- a/scripts/qorpa/pressure-vessel-probe.sh +++ b/scripts/qorpa/pressure-vessel-probe.sh @@ -21,7 +21,7 @@ set -eu QORPA_ROOT="${HAMMER_QORPA_ROOT:-/var/lib/hammer/qorpa}" -HAMMER="${HAMMER_BIN:-./target/release/hammer}" +HAMMER="${HAMMER_BIN:-./target/release/takana}" ID="${1:-sniper-probe}" UBUNTU_URL="https://cdimage.ubuntu.com/ubuntu-base/releases/24.04/release/ubuntu-base-24.04.3-base-amd64.tar.gz" diff --git a/scripts/reconstruir-corpus.sh b/scripts/reconstruir-corpus.sh index 2b132ce2..d62109c2 100755 --- a/scripts/reconstruir-corpus.sh +++ b/scripts/reconstruir-corpus.sh @@ -31,7 +31,7 @@ set -uo pipefail ROOT="$(cd "$(dirname "$0")/.." && pwd)"; cd "$ROOT" -HAMMER="${HAMMER:-$ROOT/target/release/hammer}" +HAMMER="${HAMMER:-$ROOT/target/release/takana}" STORE="${STORE:-./store}" LOCK="$ROOT/work/.farm-build.lock" LOG="${LOG:-$ROOT/work/reconstruccion.log}" diff --git a/scripts/static-audit.sh b/scripts/static-audit.sh index ebea5b63..5808182a 100755 --- a/scripts/static-audit.sh +++ b/scripts/static-audit.sh @@ -37,7 +37,7 @@ set -eu HUB="$(cd "$(dirname "$0")/.." && pwd)" cd "$HUB" STORE="${STORE:-$PWD/store}" -HAMMER="${HAMMER:-$HUB/target/release/hammer}" +HAMMER="${HAMMER:-$HUB/target/release/takana}" if [ $# -gt 0 ]; then recetas="" diff --git a/scripts/store-gc.sh b/scripts/store-gc.sh index f7dfd4cf..eadc39e4 100755 --- a/scripts/store-gc.sh +++ b/scripts/store-gc.sh @@ -35,10 +35,10 @@ # # Uso: scripts/store-gc.sh [--aplicar] [--huerfanos] # (sin --aplicar es un DRY-RUN: mide y no borra) -# Env: STORE (def ./store) HAMMER (def ./target/release/hammer) JOBS (def 8) +# Env: STORE (def ./store) HAMMER (def ./target/release/takana) JOBS (def 8) set -uo pipefail ROOT="$(cd "$(dirname "$0")/.." && pwd)"; cd "$ROOT" -STORE="${STORE:-./store}"; HAMMER="${HAMMER:-./target/release/hammer}"; JOBS="${JOBS:-8}" +STORE="${STORE:-./store}"; HAMMER="${HAMMER:-./target/release/takana}"; JOBS="${JOBS:-8}" APLICAR=0; HUERFANOS=0 for a in "$@"; do case "$a" in diff --git a/scripts/test-atuq-inicio.py b/scripts/test-atuq-inicio.py index 013f49d1..360e8f55 100644 --- a/scripts/test-atuq-inicio.py +++ b/scripts/test-atuq-inicio.py @@ -35,7 +35,7 @@ import zipfile ROOT = os.path.dirname(os.path.dirname(os.path.abspath(__file__))) RFS = os.environ.get("RFS", "/mnt/cosecha/escritorios/atuq-rootfs") ALPINE = os.path.join(ROOT, ".dev-fs/alpine") -HAMMER = os.path.join(ROOT, "target/release/hammer") +HAMMER = os.path.join(ROOT, "target/release/takana") STORE = os.environ.get("HAMMER_STORE", os.path.join(ROOT, "store")) EXT_ID = "sonda-inicio@atuq.tawasuyu" diff --git a/scripts/test-atuq-nativo.py b/scripts/test-atuq-nativo.py index 8d56e66d..6d9f41ff 100644 --- a/scripts/test-atuq-nativo.py +++ b/scripts/test-atuq-nativo.py @@ -47,7 +47,7 @@ import zipfile ROOT = os.path.dirname(os.path.dirname(os.path.abspath(__file__))) RFS = os.environ.get("RFS", "/mnt/cosecha/escritorios/atuq-rootfs") ALPINE = os.path.join(ROOT, ".dev-fs/alpine") -HAMMER = os.path.join(ROOT, "target/release/hammer") +HAMMER = os.path.join(ROOT, "target/release/takana") STORE = os.environ.get("HAMMER_STORE", os.path.join(ROOT, "store")) EXT_ID = "nativa@atuq.tawasuyu" diff --git a/scripts/test-atuq-rootfs.py b/scripts/test-atuq-rootfs.py index 3884deca..4fd42300 100755 --- a/scripts/test-atuq-rootfs.py +++ b/scripts/test-atuq-rootfs.py @@ -48,7 +48,7 @@ import sys ROOT = os.path.dirname(os.path.dirname(os.path.abspath(__file__))) RFS = os.environ.get("RFS", "/mnt/cosecha/escritorios/atuq-rootfs") STORE = os.environ.get("HAMMER_STORE", os.path.join(ROOT, "store")) -HAMMER = os.path.join(ROOT, "target/release/hammer") +HAMMER = os.path.join(ROOT, "target/release/takana") # Lo que el corpus NO provee y las imágenes copian del devfs. Documentado, no olvidado. DEL_LAB = {"libc.so", "libc.musl-x86_64.so.1", "ld-musl-x86_64.so.1"} diff --git a/scripts/test-atuq-ruteo.py b/scripts/test-atuq-ruteo.py index ca6f7e54..e16cfbc4 100755 --- a/scripts/test-atuq-ruteo.py +++ b/scripts/test-atuq-ruteo.py @@ -56,7 +56,7 @@ import time ROOT = os.path.dirname(os.path.dirname(os.path.abspath(__file__))) RFS = os.environ.get("RFS", "/mnt/cosecha/escritorios/atuq-rootfs") ALPINE = os.path.join(ROOT, ".dev-fs/alpine") -HAMMER = os.path.join(ROOT, "target/release/hammer") +HAMMER = os.path.join(ROOT, "target/release/takana") STORE = os.path.join(ROOT, "store") # ── LOS PUERTOS LOS ELIGE EL SISTEMA, Y NO ES UN DETALLE ────────────────────────────────────── # Estaban fijos en 8099/9099 y el 2026-09-07 esta prueba dio «NO concluyente» durante media hora por diff --git a/scripts/test-guardianes-wasm.sh b/scripts/test-guardianes-wasm.sh index 565ca2d4..77879fa2 100755 --- a/scripts/test-guardianes-wasm.sh +++ b/scripts/test-guardianes-wasm.sh @@ -29,7 +29,7 @@ trap fin EXIT # hace pasar por el actual y la prueba mide otra cosa. Y es, además, la demostración de para qué # sirve el control: sin él eso se habría leído como "4 en verde, guardianes ok". art() { - h=$(./target/release/hammer --store "$STORE" hash "recipes/$1.toml" 2>/dev/null | tail -1) + h=$(./target/release/takana --store "$STORE" hash "recipes/$1.toml" 2>/dev/null | tail -1) h=${h#b3:} [ -n "$h" ] && [ -d "$STORE/$h-$1" ] && printf '%s' "$STORE/$h-$1" } diff --git a/scripts/verificar-repro.sh b/scripts/verificar-repro.sh index 3bea545a..098dfeee 100755 --- a/scripts/verificar-repro.sh +++ b/scripts/verificar-repro.sh @@ -48,7 +48,7 @@ # Env: STORE (def ./store) N (def 30, tamaño de la muestra) set -uo pipefail ROOT="$(cd "$(dirname "$0")/.." && pwd)"; cd "$ROOT" -STORE="${STORE:-./store}"; HAMMER="${HAMMER:-./target/release/hammer}"; N="${N:-30}" +STORE="${STORE:-./store}"; HAMMER="${HAMMER:-./target/release/takana}"; N="${N:-30}" # ── EL LOCK LO TOMA EL SCRIPT, Y ANTES DE TOCAR NADA ─────────────────────────────────────────── # Este script llama a `hammer build`, y la regla 1 del repo es que todo build va envuelto en el diff --git a/scripts/vigia-imagen.py b/scripts/vigia-imagen.py index 6550d997..fee65af2 100644 --- a/scripts/vigia-imagen.py +++ b/scripts/vigia-imagen.py @@ -57,7 +57,7 @@ import targets as targets_mod ROOT = yupana.ROOT STORE = os.environ.get("HAMMER_STORE", str(ROOT / "store")) -HAMMER = str(ROOT / "target/release/hammer") +HAMMER = str(ROOT / "target/release/takana") # Invariantes que un perfil NO cumple A PROPÓSITO. Un ✗ permanente por una decisión ya tomada es # deuda fantasma —la misma figura que la terna GNOME que hubo que sacar de targets.toml para que el diff --git a/scripts/vigia-sonames.py b/scripts/vigia-sonames.py index 5a9cb0fc..35db14ba 100755 --- a/scripts/vigia-sonames.py +++ b/scripts/vigia-sonames.py @@ -43,7 +43,7 @@ import targets as targets_mod ROOT = yupana.ROOT STORE = os.environ.get("HAMMER_STORE", str(ROOT / "store")) -HAMMER = str(ROOT / "target/release/hammer") +HAMMER = str(ROOT / "target/release/takana") _cache = {} def artefacto(cola, nombre): diff --git a/scripts/why-differs-barrido.sh b/scripts/why-differs-barrido.sh index 9671c88e..a4112922 100755 --- a/scripts/why-differs-barrido.sh +++ b/scripts/why-differs-barrido.sh @@ -38,7 +38,7 @@ import sys RAIZ = pathlib.Path(__file__).resolve().parent.parent STORE = RAIZ / "store" -HAMMER = RAIZ / "target/release/hammer" +HAMMER = RAIZ / "target/release/takana" LIMITE = int(os.environ.get("LIMITE", "0")) SALIDA_JSON = os.environ.get("JSON") # Un artefacto puede pesar GB (qt6, kernels): hashearlo entero para el barrido no aporta.