v0.19.1.es.md
docs/i18n/release-notes/v0.19.1.es.md
Tesserae v0.19.1 — doctor deja de dudar de los daemons vivos
<!-- translations:start -->
English · 한국어 · 中文 · 日本語 · Русский · Français · Deutsch
<!-- translations:end -->
Lanzado 2026-07-11 · PyPI · GitHub release · pip install --upgrade tesserae==0.19.1
Una sola corrección de bug, que merece un patch porque doctor --fix podía actuar sobre ella.
El bug
En macOS, la identidad del pidfile del engine usa ps -o lstart=, cuya salida depende del locale. Un daemon iniciado bajo un shell con locale coreano registra 2026년 7월 11일…; un verificador ejecutándose bajo un locale inglés lee Sat Jul 11… para el mismo instante. El desajuste se interpretaba como reutilización de PID, así que tesserae doctor reportaba un daemon del engine vivo como un pidfile obsoleto — y --fix ofrecía borrar el pidfile debajo del proceso en ejecución, abriendo la puerta a un segundo daemon.
La corrección
La invocación de ps queda fijada a LC_ALL=C, de modo que escritor y lector renderizan a partir de ahora la hora de inicio de forma idéntica. Para pidfiles escritos por builds anteriores, owner_is_alive gana un rescate unidireccional: cuando los renderizados de la hora de inicio discrepan, una coincidencia exacta de la línea de comandos completa restaura el veredicto de vivo. El rescate solo puede ampliar "vivo" — un PID genuinamente reciclado sigue leyéndose como obsoleto porque ambas señales de identidad difieren.
Encontrado en vivo en una máquina con locale coreano minutos después de iniciar el daemon del engine de 0.19.0; con tests de regresión en ambas direcciones (desajuste de locale → vivo, verdadera reutilización de PID → obsoleto) más una guarda a nivel de código fuente de que la llamada a ps permanece fijada al locale.