Files
feadulta/docs/releases/enrique-2026-07-25-prod-dry-run.md
T
rafa df7bf98ef1 Apunta los scripts de sync prod al Hetzner nuevo y suma trabajo pendiente
- sync_translations_to_prod.py / sync_audio_to_prod.py / sync_carta_from_prod.py:
  migran de FEA_PROD_HOST/PASS (CDMON, password) a FEA_PROD_SSH_HOST/PASS +
  FEA_PROD_DOCKER_CONTAINER (Hetzner/Coolify, auth por clave), con wrapping
  docker exec y el fix del bug de redirecciones (wc -c/cat) resuelto en el host
  en vez de dentro del contenedor.
- fea_translate_helper.php: subcomando clone_new para clonar en ID local nuevo
  cuando el ID de prod ya está ocupado localmente.
- translate_post.py: --dry-run.
- tts_produce.py: --allow-default-voice (voz Nico solo si se permite
  explícitamente para autores sin voz clonada) + fix voice_for_author.
- minimax_tts.py: parámetro speed en t2a/_synth_chunk.
- mirror-antiguo/deploy/nginx-mirror.conf: redirects de URLs históricas de
  catálogo y vista imprimible EFFA.
- Importaciones humanas de Pagola (carta 738) + scripts/manifest de la
  fase A Enrique, y release_issue181_prod.sh / cdmon-retire-fewp1.sh.
- .gitignore: excluye docs/backups/ (dumps SQL, mismo motivo que backups/*).

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
2026-08-05 07:09:29 -04:00

3.5 KiB

Release dry-run — Enrique Martínez Lozano / carta «Hacia el corazón»

Estado: preparado localmente; no ejecutado en producción.

Validación local completada

  • Comentario ES: #55041El tesoro está ya en nosotros
    • Categorías: Comentarios al evangelio + Feadulta.
    • Audio: tts/55041.mp3, 2,221,101 bytes, voz NicoFeadulta2026.
    • QA Haiku: aprobado tras correcciones objetivas EN/FR/IT.
  • Traducciones del comentario: EN #55047, FR #55048, IT #55049, PT #55050.
  • Carta local ES: #55042Hacia el corazón (slug técnico de preview conservado).
    • Traducciones: EN #55051, FR #55052, IT #55053, PT #55054.
    • QA Haiku: contenido aprobado tras correcciones; 24 enlaces con destino traducido se repuntaron. Los 12 enlaces externos que quedan son fallback ES: no existe post destino traducido en local (verificado por post_title exacto y Polylang).
  • Render comprobado en Tailscale:
    • Comentario ES: título correcto, categorías correctas y reproductor HTML5 visible.
    • Carta FR: título correcto; Enrique aparece tras Fray Marcos y antes de Pagola.

Evidencia de producción (sólo lectura server-side)

  • Carta real: #54914, título Hacia el corazón, estado publish.
  • Hash actual de contenido prod: 5e7eb1b880bfc6311edb78ac8b6e81639f5b4502282a1b182c610b1d01308b69.
  • Hash candidato local: 6fdb4929fcb5b49b7f2dc1deb7c6f5be70983af866d44c5d5c27d2866c09418c.
  • La carta candidata lleva fea_phase_a_source_prod_id=54914; por tanto debe actualizar #54914, no crearse una carta nueva.

Dry-runs que pasaron

# Crea solamente el grupo nuevo del comentario (ES + EN/FR/IT/PT): 5 posts draft
python3 scripts/sync_translations_to_prod.py --ids 55041 --dry-run

# Sube y asocia solamente el MP3 de Enrique
python3 scripts/sync_audio_to_prod.py --ids 55041 --dry-run

Ambos devolvieron ok/error=1/0 (audio) y un grupo Polylang de cinco posts (comentario).

Guardarraíl crítico

NO ejecutar:

python3 scripts/sync_translations_to_prod.py --ids 55041,55042

El dry-run demostró que clonaría #55042 como una segunda carta ES. No actualiza la carta real #54914.

Release que debe ejecutar Rafa (producción)

  1. Backup de producción y snapshot server-side de #54914.
  2. Crear el grupo nuevo del comentario desde #55041 (ES + EN/FR/IT/PT), inicialmente en draft; anotar los IDs reales de producción.
  3. Subir tts/55041.mp3 y asociarlo al ID ES real creado en producción.
  4. Actualizar solamente título/contenido de la carta real #54914 con el candidato local #55042; mantener título Hacia el corazón, autor, fecha y estado existentes.
  5. Crear EN/FR/IT/PT de la carta contra el origen real #54914 y enlazarlas en Polylang. No clonar otra ES.
  6. Releer por servidor los IDs creados y #54914; comprobar:
    • Enrique sólo está en Evangelio y comentarios al Evangelio, tras Fray Marcos y antes de Pagola.
    • No aparece en Artículos seleccionados.
    • Cada carta enlaza a Enrique en su mismo idioma.
    • El reproductor del ES carga tts/55041.mp3.
  7. Sólo tras esas lecturas, promover los drafts de producción a publish.

Rollback

  • Restaurar el backup de producción previo.
  • Alternativamente, restaurar el contenido/hash previo de #54914 y despublicar el nuevo grupo + audio de Enrique.

Backups locales relacionados

  • docs/backups/enrique-translations-20260725T004921Z/
  • docs/backups/enrique-carta-fr-final-20260725T012649Z/
  • docs/backups/enrique-pre-tts-20260725T013021Z/