atuq: re-pin del daemon con el arreglo del inmortal, y la lección en el SDD
El §6.9 apunta ahora a tawasuyu `3bd1440d` (`b3:27c7b73a`), que arregla un daemon que
quedaba VIVO PARA SIEMPRE cuando su sesión de torrent no arrancaba: el bucle hacía
`let Ok(g) = gestor() else { continue }` y el `continue` saltaba la evaluación de
«¿sobro?».
Y lo que queda escrito en el §6.9 es CÓMO se encontró, porque es lo reutilizable: no lo
encontró ningún test sino mirar `ps` después de las pruebas —un daemon con 23 minutos y
`idle_seconds = 300`—. Los tests cubrían la decisión como función PURA, y esa función
estaba bien: el que no llegaba a llamarla era el bucle. **Una decisión correcta que
nadie toma se ve igual que una que no existe.**
Los dos guardianes vuelven a pasar sobre los artefactos vigentes (`atuq b3:d1a444ad`,
`puriy-costura b3:cad5c855`, `puriy-costura-torrent b3:27c7b73a`): el positivo con
`TOMADO prueba-atuq.bin` y el socket que nadie arrancó, y el control negativo nombrando
lo que falta.
This commit is contained in:
@@ -892,6 +892,15 @@ raíces se separan: es lo que hace que un torrent y una descarga del mismo conte
|
||||
Y el control negativo prueba lo que importa: **sin el cliente del daemon, el host falla diciéndolo y
|
||||
nombrando lo que falta** — no finge haberlo tomado.
|
||||
|
||||
⚠ **Y el bug que encontró MIRAR LA MÁQUINA, no un test.** Después de las pruebas, `ps` mostraba un
|
||||
daemon con **23 minutos de vida** y `idle_seconds = 300`. El bucle hacía
|
||||
`let Ok(g) = gestor() else { continue }`: si la sesión de torrent no se podía crear, el `continue`
|
||||
saltaba la evaluación de «¿sobro?» y el daemon quedaba **vivo para siempre** — lo contrario de
|
||||
perezoso, que es su única promesa. Los tests cubrían la decisión como función PURA, y esa función
|
||||
estaba bien: **el que no llegaba a llamarla era el bucle**. Una decisión correcta que nadie toma se ve
|
||||
igual que una que no existe. Arreglado (sin sesión = nada activo) y fijado con dos tests que corren el
|
||||
PROCESO y el reloj de verdad, el segundo comprobado volviendo a poner el `continue`.
|
||||
|
||||
⚠ **Lo que sigue sin estar en ningún test automático: un transfer real entre peers.** Haría falta un
|
||||
sembrador y una espera que volverían la suite una que nadie corre. Está dicho también en el test del
|
||||
daemon, al pie, para que nadie lo lea como «probado de punta a punta».
|
||||
|
||||
@@ -29,7 +29,7 @@ license = "MIT OR Apache-2.0"
|
||||
|
||||
[source]
|
||||
repo = "gitea@git.tawasuyu.net:tawasuyu/tawasuyu.git"
|
||||
commit = "ca9947b92f89d00ca549d7bbaa3293ec909db7d8"
|
||||
commit = "3bd1440dcb96cfac085cdc669f1cd9c65b5142e5"
|
||||
# Obligatorio para cualquier receta desde este monorepo: tawasuyu commitea su propio `vendor/` con
|
||||
# un `smithay` parcheado por RUTA, y el `cargo vendor` de takana convertiría ese directorio en uno
|
||||
# de reemplazo de fuente, donde cada crate tiene que traer `.cargo-checksum.json` — que ese patch
|
||||
|
||||
Reference in New Issue
Block a user