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 1411Shell 141Markdown 84Rust 832898 Definiciones

el latido se pone al día antes de commitear — si no, late y no publica, para siempre

`cosecha-cron.sh` commitea el estado y lo empuja, pero nunca hacía `pull`. En el hub no se notaba:
el árbol lo mantiene al día el agente que trabaja ahí. Al mover el latido a una caja donde NO hay
nadie trabajando —que es justo lo que pide la puerta 4— el repo se queda atrás en el primer push
ajeno y a partir de ahí TODOS los ciclos fallan el push, cada uno anotando «reintenta próximo
ciclo». Un latido que late y no publica.

`git pull --ff-only`, y nunca `--rebase`: este script corre en un árbol COMPARTIDO con otros agentes
y ahí un `pull --rebase` ya se llevó un commit por delante (regla 2 ter). Fast-forward no reescribe
nada: o adelanta limpio, o falla sin tocar el árbol y se anota en el log.

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

2271cc3c107fcb8c1212834c124657f0e79b57be · por Sergio · (hace 1 mes) · padre 897b4eaf2 · 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 −0

diff --git a/scripts/farm/cosecha-cron.sh b/scripts/farm/cosecha-cron.sh
index d95ae806..b1d22253 100755
--- a/scripts/farm/cosecha-cron.sh
+++ b/scripts/farm/cosecha-cron.sh
@@ -429,6 +429,21 @@ fi
 # 4. Commitear SÓLO el estado firme (el avance que el humano sigue). Recetas nuevas que YO autoré se
 # commitean aparte, a mano, para no meter autoría a medias en un commit de cron.
 if [ "${NO_COMMIT:-}" != "1" ]; then
+  # ── PONERSE AL DÍA ANTES DE COMMITEAR (2026-09-17) ────────────────────────────────────────────
+  # El latido commitea y empuja, pero nunca se ponía al día: en el hub eso no se notaba porque el
+  # árbol lo mantiene al día el agente que trabaja ahí. Al mover el latido a una caja donde NO hay
+  # nadie trabajando, el repo se queda atrás en el primer push ajeno y a partir de ahí **todos los
+  # ciclos fallan el push**, cada uno anotando «reintenta próximo ciclo» — un latido que late y no
+  # publica, para siempre.
+  #
+  # `--ff-only` a propósito, y nunca `--rebase`: este script corre en un árbol COMPARTIDO con otros
+  # agentes (regla 2 ter de CLAUDE.md, donde un `pull --rebase` se llevó un commit por delante).
+  # Fast-forward no reescribe nada: o adelanta limpio, o falla sin tocar el árbol y se anota.
+  if git pull --ff-only -q origin main 2>/dev/null; then
+    echo "==> repo al día (ff)"
+  else
+    echo "==> no se pudo adelantar por ff (árbol con cambios o historia divergente) — sigo igual"
+  fi
   git add docs/state/subcomandos.txt docs/state/raices.txt docs/state/sonames.txt docs/state/servicios.txt docs/state/build-state.json docs/state/build-state-kde.json docs/state/build-state-gnome.json docs/state/build-state-cosmic.json docs/state/build-state-wlr.json docs/state/drenaje.json docs/state/fuentes-vigia.json docs/state/kernel-contract.txt docs/state/static-audit.txt docs/state/keystones.json docs/state/duplicados.json 2>/dev/null || true
   if ! git diff --cached --quiet 2>/dev/null; then
     # ⚠ ACOTADO POR PATHSPEC (`-- <rutas>`), no sólo por el `git add` de arriba: el índice es