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 1572Shell 203Rust 109Markdown 993728 Sutichaykuna

fix(granja): el clon de la granja podía quedarse atrás para siempre, y eso ya pasó

Los dos caminos de adelanto de rama se bloquean JUNTOS en cuanto otro agente empuja código: el
`merge --ff-only` no puede porque `docs/state/` está modificado (lo acaba de reescribir el
generador), y el `reset --mixed` tampoco porque exige que el árbol ya tenga TODO lo que el ff
tocaría — y el código del otro agente no lo tiene. Resultado medido hoy: el clon que siembra al
worker se quedó **106 commits y dos días** atrás y la granja construyó recetas que no estaban en
ningún commit.

Se añade un último recurso: soltar `docs/state/` —que es salida NUESTRA y acabamos de publicarla, o
sea que el commit remoto contiene exactamente lo que hay en el disco— y volver a intentar el ff. Es
un no-op de contenido: las mismas rutas vuelven en el mismo ff, idénticas.

Se descarta SÓLO `docs/state/`, nunca recetas ni código: lo de otro agente no se toca ni para
desatascarse. Y va guardado por «el índice no tiene nada» por el mismo motivo que el `reset --mixed`
de arriba — el índice es estado compartido (regla 2).

Si aun así no puede, el mensaje ya no dice sólo «lo publicado NO depende de eso»: dice que el ÁRBOL
QUE SE SIEMBRA sí depende, y dónde mirar. Esa era la frase que hizo que dos días de deriva pasaran
por normales.

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

d6a94e160c488c30b290eabe24db9e8518eff7f5 · ruwaq Sergio · (6 p'unchaw ñawpaq) · tayta 739b7423e · kay commitpi sach'ata qhaway

Semántico sayk'uy

Mana ima sutichaypas t'ikrakurqanchu: qillqalla, yachachiylla utaq willaylla t'ikrakurqan.

1 qillqakuna · +21 −0

diff --git a/scripts/farm/publicar-estado.sh b/scripts/farm/publicar-estado.sh
index a14acebd..f8b72af2 100755
--- a/scripts/farm/publicar-estado.sh
+++ b/scripts/farm/publicar-estado.sh
@@ -204,6 +204,27 @@ while :; do
       git reset --mixed -q "$commit" \
         && echo "   rama local al día (el árbol ya tenía el contenido publicado)" \
         || echo "   la rama local queda detrás — lo publicado NO depende de eso"
+    # ── ÚLTIMO RECURSO: SOLTAR NUESTRA PROPIA SUCIEDAD Y VOLVER A INTENTAR EL FF ────────────────
+    # Los dos caminos de arriba se bloquean juntos en cuanto OTRO agente empuja código: el `ff` no
+    # puede porque `docs/state/` está modificado, y el `reset --mixed` tampoco porque exige que el
+    # árbol ya tenga TODO lo que el ff tocaría —y el código del otro no lo tiene—. Resultado medido
+    # el 2026-10-15: el clon que siembra al worker se quedó **106 commits y dos días** atrás, y la
+    # granja construyó recetas que no estaban en ningún commit. Esto es el eslabón que faltaba.
+    #
+    # `docs/state/` es salida NUESTRA y acabamos de publicarla: en este punto el commit remoto
+    # contiene exactamente lo que hay en el disco, así que descartar esas rutas es un no-op de
+    # contenido —vuelven en el mismo ff, idénticas— y desbloquea el adelanto. Se descarta SÓLO
+    # `docs/state/`, nunca recetas ni código: lo de otro agente no se toca ni para desatascarse.
+    # Guardado por el índice vacío por lo mismo que el `reset --mixed`: es estado compartido.
+    elif git diff --cached --quiet HEAD 2>/dev/null \
+         && [ -n "$(git diff --name-only HEAD -- docs/state 2>/dev/null)" ]; then
+      git checkout -- docs/state 2>/dev/null
+      if git merge --ff-only -q "$commit" 2>/dev/null; then
+        echo "   rama local al día (soltando docs/state, que es salida propia ya publicada)"
+      else
+        echo "   la rama local queda detrás — lo publicado NO depende de eso, pero el ÁRBOL QUE SE"
+        echo "     SIEMBRA sí: mirá \`git status\` en $ROOT antes de que la granja muela algo viejo"
+      fi
     else
       echo "   la rama local queda detrás (hay cambios propios en el árbol) — lo publicado NO depende de eso"
     fi