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 188Rust 55Shell 30Markdown 281211 Definiciones

vigía: medir los FS donde hammer gasta, no el del repo

El store de hammer se mudó al volumen harkaq-cosecha (/dev/sdb, bind-mount
sobre ./store, work/sources y work/repos; CARGO_HOME también). Desde eso,
medir `$ROOT` mide /mnt/vvv, que hammer COMPARTE con tawasuyu y que ya no
es donde gasta.

Por qué se movió: tawasuyu repuebla su target a ~62 G/h. El 27/08 se le
liberaron 92,9 GiB con cargo clean, se lanzó la campaña con 64 G libres y
70 min después el disco estaba en 237 MB — la tanda abortó en cosmic-applets
por un disco que no era suyo. El cargo clean sirve para un pico, no para
financiar una campaña larga: el vecino lo recupera entero en una hora.

El vigía ahora toma el mínimo de {STORE, work/sources, CARGO_HOME}. Con
$ROOT veía 46 G y bajando; ahora ve 84 G reales.

483a6ec25a41dbcf549bff7beb125d7b7ea1d91c · por Sergio · (hace 1 mes) · padre 993fc239e · ver el árbol en este commit

Delta semántico

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

1 archivos · +15 −5

diff --git a/scripts/reconstruir-corpus.sh b/scripts/reconstruir-corpus.sh
index 1b6ac12b..55c5fc5c 100755
--- a/scripts/reconstruir-corpus.sh
+++ b/scripts/reconstruir-corpus.sh
@@ -49,14 +49,24 @@ SECO=0; [ "${1:-}" = "--seco" ] && SECO=1
 # era 138 G libres en el repo y 19 G en `/`, o sea que el vigía habría dado luz verde mientras el que
 # se llenaba de verdad era el otro — y llenar `/` no rompe una tanda, rompe la máquina. Se toma el
 # MÍNIMO de los dos. Si comparten FS, `df` devuelve lo mismo dos veces y esto es inocuo.
+#
+# ── 2026-08-27: MIRA DÓNDE SE GASTA, NO DÓNDE ESTÁ EL REPO ──────────────────────────────────────
+# Medir `$ROOT` dejó de ser correcto al mudar el store al volumen `harkaq-cosecha`. `$ROOT` es
+# /mnt/vvv, que hammer COMPARTE con tawasuyu, y tawasuyu repuebla su target a ~62 G/h: el 27/08 se
+# comió los 92 G que se le habían liberado en 70 minutos y el vigía abortó la tanda por un disco
+# que hammer ya ni usaba. Un vigía que mide el disco de OTRO no protege la tanda, la mata.
+# Ahora se miden los tres sitios donde hammer SÍ crece —store, árboles de fuentes y CARGO_HOME—
+# y se toma el mínimo. Si comparten FS, `df` repite el número y esto es inocuo.
 CARGO_H="${CARGO_HOME:-$HOME/.cargo}"
 avail_gb() { df -BG --output=avail "$1" 2>/dev/null | tail -1 | tr -dc 0-9; }
 libre_gb() {
-  local a b
-  a=$(avail_gb "$ROOT"); b=$(avail_gb "$CARGO_H")
-  [ -z "${a:-}" ] && a=999999
-  [ -z "${b:-}" ] && b=999999
-  [ "$a" -le "$b" ] && echo "$a" || echo "$b"
+  local m=999999 v d
+  for d in "$STORE" "$ROOT/work/sources" "$CARGO_H"; do
+    [ -e "$d" ] || continue
+    v=$(avail_gb "$d"); [ -z "${v:-}" ] && continue
+    [ "$v" -lt "$m" ] && m=$v
+  done
+  echo "$m"
 }
 ts() { date -u +%Y-%m-%dT%H:%M:%SZ; }