download-stream: 4 bugs fijados y pusheados
(cb12341). Diagnóstico de un hang con tty y una grabación de
1h30m que murió al minuto 45: el timer systemd
download-stream.timer (jueves 18:45) hizo
pkill -f radio01.ferozo.com y mató la corrida manual; el
handler de error además borró el parcial (irrecuperable: btrfs +
discard=async, sin snapshots). Fixes: -nostdin (hang bajo
tty — ffmpeg lee stdin para el handler interactivo),
-rw_timeout 15s (connect-stall: banner → silencio eterno),
stale-kill dinámico (DURATION+960s en vez de pkill
indiscriminado — nunca más mata una grabación legítima), parciales ≥60s
se conservan (check de ffprobe agregado), flag --no-kill.
El fix -rw_timeout de la primera pasada había fallado
silenciosamente (edit sin match) — detectado por review Rule of 5.
Rule of 5 review del script: convergió en Stage 3,
verdict READY (with notes). 1 HIGH (rw_timeout no aplicado), 4 MEDIUM.
Aplicados los top 3 + LOWs que salían gratis. Pendientes menores
fileados como issue de beads (--duration sin valor crashea
con set -u; --duration 0).
publish-episodio: bug crítico encontrado y arreglado
(8f34b9e)."${FILES[*]}" + sort colapsaba todas
las entradas num:file:bname en UN string separado por espacios → el case
*.wav nunca matcheaba → la conversión WAV→MP3 jamás se
disparaba y gh recibía rutas corruptas. Fix:
printf '%s\n' "${ARRAY[@]}" | sort. Verificado en dry-run:
--update 005 ahora dispara correctamente "Sin MP3 —
convirtiendo con to-mp3 (V0)" para 005-20260910.wav.
Estado: episodios 001–003 y 005 ya publicados como
GH Releases. episodio-005 existe con otro asset —
re-publicar versión editada con
./scripts/publish-episodio --update 005 cuando haya
edición.
Recuperación de audio: la grabación manual borrada
(17:59–18:45, 45 min) es irrecuperable (btrfs + discard=async, sin
snapshots). La ventana 18:45–20:15 quedó cubierta por la grabación del
timer (stream_20260910_184504_5400s.mp3, 81MB).
Next: jueves 18:45 el timer graba con el script
fixed sin cambios de config. Si falla algo del stream, revisar
~/.whisper/repos/ak/akielbowicz/el-mundo-ha-vivido-equivocado/env.md
(nota nueva: stream recording infra).