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

docs: SDD 23 §8 — el orden de las tandas importa más que su tamaño, y ADR 0012 acaba de morder

Activar strip_debug en tres bibliotecas BASE (expat, zstd, ncurses) re-hasheó 54 recetas en
cascada, incluida la cadena wlroots/sway. Tocar cincuenta HOJAS no habría costado ninguna
reconstrucción extra. El desplegador ordena alfabéticamente y debe ordenar por profundidad en
el grafo, de hoja a raíz.

Y ADR 0012 —la carrera del árbol de fuentes, 'pendiente sin decidir' desde hace meses— acaba de
morder: adwaita-hello murió con error 39 (Directory not empty). Una reconstrucción masiva es
exactamente el escenario que lo dispara, así que decidirlo deja de ser opcional si la etapa 4
va a correr en paralelo.

Más dos lecciones de operación: un drenaje largo no puede vivir dentro del ssh (se cortó a las
14 de 54), y la flota efímera reusa IPs, así que la clave de host cambia y cada conexión grita
MITM — conviene que farm-up lo limpie solo.

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

f12303e3ab7bced6aff36b2e4619fae6130128bb · por sergio · (hace 2 meses) · padre b38db3f35 · ver el árbol en este commit

Delta semántico

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

1 archivos · +34 −0

diff --git a/docs/23-plan-rehasheo.md b/docs/23-plan-rehasheo.md
index efc54b0a..17757eed 100644
--- a/docs/23-plan-rehasheo.md
+++ b/docs/23-plan-rehasheo.md
@@ -279,3 +279,37 @@ Este documento se equivocó tres veces seguidas y las tres se corrigieron midien
 
 **Un test hay que diseñarlo contra la pregunta, no contra lo que es fácil de comparar.** Comparar
 con lo que hay en el store es cómodo; comparar dos builds de hoy es lo que contesta.
+
+---
+
+## 8. Etapa 4 en marcha — y la lección que faltaba en el plan: **el orden importa más que la tanda**
+
+La primera tanda activó `strip_debug` en `expat`, `zstd` y `ncurses`. Son **bibliotecas base**, así
+que re-hashearon en cascada **54 recetas**, incluida la cadena `wlroots`/`sway` sellada la noche
+anterior. No se pierde nada —los artefactos viejos siguen en el store y en el respaldo, y las recetas
+están en git— pero el perfil `escritorio-sway` deja de cerrar 121/121 hasta reconstruirlas.
+
+⇒ **La tanda correcta no es «las 25 siguientes por orden alfabético», sino las HOJAS del grafo
+primero, o un nivel entero de una vez con la granja arriba.** Tocar tres bibliotecas base costó 54
+reconstrucciones; tocar cincuenta hojas no habría costado ninguna extra. `scripts/desplegar-strip.sh`
+toma las candidatas en orden alfabético y eso hay que cambiarlo: debe ordenar por profundidad en el
+grafo, de hoja a raíz.
+
+### Operación: dos cosas que cuestan una corrida cada una
+- **Un drenaje largo NO puede vivir dentro del `ssh`.** La primera pasada se cortó a las 14 de 54 al
+  caerse la sesión. Va con `nohup` en el worker, siempre.
+- **La flota efímera reusa IPs** ⇒ la clave de host cambia y cada conexión grita MITM. Se limpia con
+  `ssh-keygen -R <ip>`, pero con workers que van y vienen esto se repetirá: conviene que `farm-up` lo
+  haga solo al crear la máquina.
+
+### Fallos de la primera pasada — ninguno nuevo, y uno que ya estaba avisado
+| receta | causa |
+|---|---|
+| `dwarves` | el muro de libdw/musl, ya documentado como frente propio |
+| `dbus` | «Unhandled python exception» de meson |
+| `adwaita-hello` | **error 39 (Directory not empty)** — la carrera del árbol de fuentes del **ADR 0012** |
+
+El último merece subrayado: **ADR 0012 lleva meses «pendiente sin decidir» y acaba de morder**. Dos
+builds de la misma dep se pisan el árbol de `work/sources` y lo dejan a medias. Una campaña de
+reconstrucción masiva es exactamente el escenario que lo dispara, así que decidirlo deja de ser
+opcional si la etapa 4 va a correr en paralelo.