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 604Rust 56Shell 36Markdown 281227 Definiciones

el latido no revierte: BORRA — y el primer intento de la tanda se evaporó entero

El §7.terdecies contó que el latido había revertido una receta entre dos builds. Falta
la mitad, y es peor: su `rsync -az --delete` borra todo lo que no esté en el árbol del
hub. El script de la tanda y su log estaban en /opt/takana —el sitio que parece natural—
y el ciclo de las 10:30 se los llevó; el `sh` que los ejecutaba murió con ellos.

Lo que quedó fue un flock esperando un lock para nadie y un tail -F sobre un fichero que
ya no existía: desde afuera se ve IDÉNTICO a una tanda encolada y paciente. Se leyó así
veinte minutos.

Dos correcciones, una frase: lo efímero vive fuera de /opt/takana, y las recetas las
siembra el latido (sembrarlas a mano es pelearse con él cada media hora). El
relanzamiento ESPERA a que el hash pedido aparezca, con su propio límite y su mensaje.

Y un dato que no estaba escrito: el latido siembra al EMPEZAR el ciclo y hace su
`git pull --ff-only` al TERMINARLO, así que un commit recién empujado tarda DOS ciclos
en llegar al worker. Además su clon es /opt/takana del anfitrión, que no es el clon
donde se trabaja.

77eb0aa6b268438cb36f64025b91bd8e30b52e8e · por Sergio · (hace 1 mes) · padre f263ae73e · ver el árbol en este commit

Delta semántico

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

1 archivos · +22 −0

diff --git a/docs/26-atuq-envoltorio-gecko.md b/docs/26-atuq-envoltorio-gecko.md
index 3a277b04..0d6f8993 100644
--- a/docs/26-atuq-envoltorio-gecko.md
+++ b/docs/26-atuq-envoltorio-gecko.md
@@ -4014,6 +4014,28 @@ porque el latido revirtió una receta entre dos builds de la misma tanda. Quedó
 la tanda de otro frente (once recetas del monorepo subiendo a `c7545339a`), que es lo que el lock
 del ADR 0012 hace y para lo que está.
 
+###### ⚠⚠ Y el latido no revierte: BORRA — el primer intento se evaporó entero
+
+El §7.terdecies contó que el latido había revertido una receta entre dos builds. Falta la mitad:
+su `rsync -az --delete` no sólo pisa lo que difiere, **borra todo lo que no esté en el árbol del
+hub**. El primer lanzamiento de esta tanda puso el script y su log en `/opt/takana/` —que parece
+el sitio natural, es donde está todo lo demás— y en el ciclo de las 10:30 desaparecieron los dos.
+El `sh` que estaba ejecutando el script murió con él. Lo que quedó fue un `flock` esperando un lock
+para nadie, y un `tail -F` sobre un fichero que ya no existía: **desde afuera se ve idéntico a una
+tanda encolada y paciente**, que es como se leyó durante veinte minutos.
+
+Y la misma barrida revirtió la receta sembrada a mano, que era la otra mitad del error: seguir
+sembrando recetas al worker por `rsync` propio es pelearse con el latido cada media hora. Las dos
+correcciones son una sola frase: **lo efímero vive fuera de `/opt/takana` (acá, `/root`), y las
+recetas las siembra el latido**. El relanzamiento espera a que el hash pedido APAREZCA en el worker
+en vez de fallar, con su propio límite y su propio mensaje (`SIN SEMILLA`).
+
+ℹ Y el latido siembra al EMPEZAR el ciclo y se pone al día (`git pull --ff-only`) al terminarlo, así
+que un commit recién empujado tarda **dos** ciclos en llegar al worker, no uno. Se acortó a cero
+haciendo ese `pull` a mano en el clon del latido —`/opt/takana` del anfitrión, que no es el clon
+donde se trabaja (`/work/sergio/takana`): son dos árboles distintos y esa distinción no estaba
+escrita en ningún lado—.
+
 ##### El OCTAVO lugar: nadie vigilaba que la receta no se quedara DETRÁS de su propio paquete
 
 `test-atuq-boveda-coherente.py` miraba siete lugares y los siete preguntaban lo mismo: ¿la pieza