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

ADR 0016: mudanza del directorio hecha, con lo que no estaba en el plan

Los cuatro bind-mounts desde /mnt/cosecha hacia dentro del arbol eran lo que
hacia imposible un mv a secas, y no estaban previstos. Tampoco que ~/hammer
fuera un symlink que quedaba colgado.

Avisar al otro agente sirvio: hammer-9f aporto dos sitios con la ruta absoluta
fuera del repo que no estaban en el inventario.

Verificado por el ciclo real del cron de las 20:00 desde la ruta nueva, que
ademas pusheo al gitea renombrado. Token de renombre revocado.

f297d93b7eb82b6f34899db45e5e54d833c1facf · by Sergio · (1 month ago) · parent 17f8f4fb8 · browse the tree at this commit

Semantic delta

No definition changed: this change is text, documentation or data.

1 files · +26 −5

diff --git a/docs/adr/0016-renombre-takana.md b/docs/adr/0016-renombre-takana.md
index 355cce33..8543f8ff 100644
--- a/docs/adr/0016-renombre-takana.md
+++ b/docs/adr/0016-renombre-takana.md
@@ -238,11 +238,32 @@ simplemente deja de cosechar. El directorio es lo **último** que se toca, y con
      Va junto con esa deuda, no antes.
    - ⚠ **`hammer-farm.service` y `/opt/hammer`** — despliegue coordinado en el worker: parar,
      renombrar, `daemon-reload`, arrancar. Reversible, pero es hacia afuera.
-   - ⛔ **`/mnt/vvv/hammer`, el directorio del repo** — **necesita decisión y coordinación.** El
-     cron lo referencia por ruta absoluta, y sobre todo: **hay otro agente trabajando en este
-     directorio ahora mismo** (se le vieron ficheros sin commitear y commits entrando durante esta
-     sesión). Moverlo le rompe la sesión en el medio, que es exactamente lo que el preámbulo de
-     `CLAUDE.md` existe para evitar.
+   - ✅ **`/mnt/vvv/hammer` → `/mnt/vvv/takana`, y el repo renombrado en gitea a `sergio/takana`**
+     (2026-09-09 ~20:00Z). Se coordinó primero: se avisó a las dos sesiones `hammer-*` y `hammer-9f`
+     contestó «vía libre», con los locks comprobados libres y sin builds en vuelo.
+
+     **Lo que hacía imposible un `mv` a secas** —y no estaba en el plan— eran **cuatro bind-mounts
+     desde `/mnt/cosecha` hacia dentro del árbol** (`store`, `work/out`, `.dev-fs/cache`,
+     `work/tarballs`), con sus entradas en `/etc/fstab`. Secuencia: sacar el cron, desmontar los
+     cuatro, `mv`, reescribir `fstab`, remontar, reponer el cron con la ruta nueva.
+
+     **Y dos cosas más que sólo aparecieron al mirar:**
+     - `~/hammer` era un **symlink a `/mnt/vvv/hammer`** y quedó **colgado**. Ahora hay `~/takana`
+       y `~/hammer` apuntando los dos a `/mnt/vvv/takana`, con la misma lógica de alias que el
+       binario.
+     - `hammer-9f` aportó dos sitios fuera del repo con la ruta absoluta que no estaban en el
+       inventario: `~/.config/zellij/layouts/rescate.kdl` y `~/.config/shuma/tandas.ron`.
+       Corregidos. *Avisar sirvió para algo más que la cortesía.*
+
+     **Verificado de punta a punta, no por inspección:** el ciclo del cron de las 20:00 corrió
+     completo desde la ruta nueva (`20:00:00Z → 20:02:18Z`), regeneró los nueve JSON del grafo y
+     **commiteó y pusheó al gitea renombrado**. Hash de zlib intacto, 1327 artefactos en el store.
+
+     El token de gitea que se creó para el renombre (`write:repository`) **se revocó** al terminar;
+     comprobado que responde 401.
+
+     Los `bwrap` de otra sesión que seguían vivos no se rompieron: `bwrap` resuelve sus montajes al
+     arrancar y el `mv` fue un rename, así que conservan el inodo.
 
    **Deuda que sigue abierta desde la etapa 4:** rehacer el baseline `of_tree` del selfhost.