diff --git a/scripts/reconstruir-corpus.sh b/scripts/reconstruir-corpus.sh index 003cacec..1b6ac12b 100755 --- a/scripts/reconstruir-corpus.sh +++ b/scripts/reconstruir-corpus.sh @@ -66,7 +66,15 @@ ts() { date -u +%Y-%m-%dT%H:%M:%SZ; } # staging. Construyendo por orden alfabético, tras un día de máquina no habría NI UNA imagen # completa. Se ordena por objetivo: primero las clausuras de los perfiles de `targets.toml` # (base, cli, escritorio-*), después todo lo demás. Así cada perfil que cierra es utilizable ya. -ORDEN="$ROOT/work/reconstruccion-orden.txt" +# ORDEN se puede IMPONER desde fuera (2026-08-23): `ORDEN=work/faltan-perfiles.txt` corre una lista +# concreta en vez del corpus entero, y hereda gratis el flock, el vigía de disco y el log de acá. +# Nació de tener 17 recetas sueltas —las que cierran las seis imágenes— y ninguna forma de pasarlas +# sin reconstruir 780. Si el fichero ya existe y no está vacío, NO se regenera: la lista del que +# llama manda. Admite tanto rutas `recipes/…/x.toml` como nombres a secas. +ORDEN="${ORDEN:-$ROOT/work/reconstruccion-orden.txt}" +if [ -s "$ORDEN" ] && [ -n "${ORDEN_IMPUESTO:-}" ]; then + echo " orden IMPUESTO desde $ORDEN ($(grep -c . "$ORDEN") entradas) — no regenero" +else python3 - "$ORDEN" <<'PY' import json, os, sys, subprocess # Las raíces salen de `targets.toml` vía su expansor oficial (scripts/targets.py), NO de los nodos @@ -114,6 +122,7 @@ with open(sys.argv[1], "w") as fh: fh.write("\n".join(pri + resto) + "\n") print(f" orden: {len(pri)} de perfil primero, {len(resto)} de catálogo después") PY +fi mapfile -t RECETAS < "$ORDEN" # ── PARTICIÓN ENTRE WORKERS: SHARD=i/N ──────────────────────────────────────────────────────────