Carta 741 (dom 30-ago): 14 posts publicados — traducciones + audios (Hermes) #216

Open
opened 2026-08-25 11:24:49 +00:00 by inma · 4 comments
Collaborator

Carta 741 (domingo 30-ago): FASE 1 publicada — material para Hermes

Evangelio de la semana: Mt 16, 21-27 («el que quiera venir en pos de mí, que cargue con su cruz»).

Mixbot --parte1 ejecutado el 25-ago: 14 posts publicados en producción (español), verificados en vivo.

Textos — traducir EN/FR/IT/PT + audio (TTS)

id Autor: título Enlace
56198 1 Miguel A. Munárriz Casajús: Seguir a Jesús https://www.feadulta.com/seguir-a-jesus-5/
56199 5 Vicky Irigaray: 22º Domingo del Tiempo Ordinario (Preces) https://www.feadulta.com/22o-domingo-del-tiempo-ordinario/
56201 7 José Luis Sicre: Seguir a Jesús vale la pena https://www.feadulta.com/seguir-a-jesus-vale-la-pena-2/
56200 7 Enrique Martínez Lozano: Miedo al dolor https://www.feadulta.com/miedo-al-dolor/
56202 8 Fray Marcos: Como limitados, debemos estar siempre eligiendo https://www.feadulta.com/como-limitados-debemos-estar-siempre-eligiendo/
56203 9 José Antonio Pagola: Aprender de Jesús la actitud ante el sufrimiento https://www.feadulta.com/aprender-de-jesus-la-actitud-ante-el-sufrimiento/
56204 9 Fidel Aizpurúa: Se puso a increparlo https://www.feadulta.com/se-puso-a-increparlo-2/
56191 10 Carmen Notario: La Palabra nos habita, nos mueve y nos transforma https://www.feadulta.com/la-palabra-nos-habita-nos-mueve-y-nos-transforma/
56192 11 José Arregi: Crecer decreciendo. Recorrido histórico del concepto de vejez (IV, fin) https://www.feadulta.com/crecer-decreciendo-recorrido-historico-del-concepto-de-vejez-iv-fin/
56193 12 Elaboración propia: Fallece Faustino Vilabrille, sacerdote y teólogo de una fe pegada a la vida https://www.feadulta.com/fallece-faustino-vilabrille-sacerdote-y-teologo-de-una-fe-pegada-a-la-vida/
56194 13 Gabriel Mª Otalora: Testimonio de gran humanidad https://www.feadulta.com/testimonio-de-gran-humanidad/
56195 14 José Antonio Vázquez Mosquera: Los nuevos policías de la Liturgia https://www.feadulta.com/los-nuevos-policias-de-la-liturgia/
56196 15 Jesús Lozano Pino: Más allá de la trinchera: Bonhoeffer, Arendt y el abrazo abrahámico frente a la anestesia del odio https://www.feadulta.com/mas-alla-de-la-trinchera-bonhoeffer-arendt-y-el-abrazo-abrahamico-frente-a-la-anestesia-del-odio/
56197 16 Gerardo Villar: Sin funerales https://www.feadulta.com/sin-funerales/

IDs de texto (para TTS): 56198,56199,56201,56200,56202,56203,56204,56191,56192,56193,56194,56195,56196,56197

Pagola (#56203): traducciones humanas adjuntas

Como cada semana, Pagola no se traduce a máquina: están los cuatro ficheros editoriales de Inma (9r_2_eng, 9r_3_fr, 9r_4_it, 9r_5_pt). De él solo hace falta el audio.

⚠️ Aviso sobre el nº16 (post 56197), por si ya lo habíais leído

Mismo patrón que el nº10 de la 740, y esta vez el blindaje que pusimos entonces hizo su trabajo. El .docx traía el orden título / autor / entradilla, y el pipeline etiqueta por posición, así que se publicó con título «GERARDO VILLAR» y firma de Fe Adulta.

publicabot.crear_autor() se negó a dar de alta la ficha porque el supuesto nombre medía 168 caracteres (era la entradilla), y avisó por consola. O sea que no se fabricó ninguna ficha basura: el post cayó al autor por defecto, que es un fallo visible y reparable en un minuto.

Ya está corregido en origen (el .docx) y en WordPress: título «SIN FUNERALES», firma Gerardo Villar (ficha 466, la suya de siempre) y slug sin-funerales en vez de gerardo-villar-2. Si algún proceso se llevó el título o el slug anteriores, conviene refrescarlo.

Pendiente para la FASE 2

La multimedia de Carmenchu, las Noticias y la intro. Se comentará aquí, y el comentario de cierre llevará la lista definitiva generada por Mixbot a partir de lo que la carta enlaza de verdad (00mix_carta_final.txt).

Recordatorio de la 740, que ya va incorporado a Mixbot: las cartas de lectores (nº 27) se publican solo en español, sin traducción ni audio, y salen en su propio bloque de esa lista.

## Carta 741 (domingo 30-ago): FASE 1 publicada — material para Hermes Evangelio de la semana: **Mt 16, 21-27** («el que quiera venir en pos de mí, que cargue con su cruz»). Mixbot `--parte1` ejecutado el 25-ago: **14 posts publicados en producción (español)**, verificados en vivo. ### Textos — traducir EN/FR/IT/PT + audio (TTS) | id | nº | Autor: título | Enlace | |---:|---:|---|---| | 56198 | 1 | Miguel A. Munárriz Casajús: Seguir a Jesús | https://www.feadulta.com/seguir-a-jesus-5/ | | 56199 | 5 | Vicky Irigaray: 22º Domingo del Tiempo Ordinario (Preces) | https://www.feadulta.com/22o-domingo-del-tiempo-ordinario/ | | 56201 | 7 | José Luis Sicre: Seguir a Jesús vale la pena | https://www.feadulta.com/seguir-a-jesus-vale-la-pena-2/ | | 56200 | 7 | Enrique Martínez Lozano: Miedo al dolor | https://www.feadulta.com/miedo-al-dolor/ | | 56202 | 8 | Fray Marcos: Como limitados, debemos estar siempre eligiendo | https://www.feadulta.com/como-limitados-debemos-estar-siempre-eligiendo/ | | 56203 | 9 | José Antonio Pagola: Aprender de Jesús la actitud ante el sufrimiento | https://www.feadulta.com/aprender-de-jesus-la-actitud-ante-el-sufrimiento/ | | 56204 | 9 | Fidel Aizpurúa: Se puso a increparlo | https://www.feadulta.com/se-puso-a-increparlo-2/ | | 56191 | 10 | Carmen Notario: La Palabra nos habita, nos mueve y nos transforma | https://www.feadulta.com/la-palabra-nos-habita-nos-mueve-y-nos-transforma/ | | 56192 | 11 | José Arregi: Crecer decreciendo. Recorrido histórico del concepto de vejez (IV, fin) | https://www.feadulta.com/crecer-decreciendo-recorrido-historico-del-concepto-de-vejez-iv-fin/ | | 56193 | 12 | Elaboración propia: Fallece Faustino Vilabrille, sacerdote y teólogo de una fe pegada a la vida | https://www.feadulta.com/fallece-faustino-vilabrille-sacerdote-y-teologo-de-una-fe-pegada-a-la-vida/ | | 56194 | 13 | Gabriel Mª Otalora: Testimonio de gran humanidad | https://www.feadulta.com/testimonio-de-gran-humanidad/ | | 56195 | 14 | José Antonio Vázquez Mosquera: Los nuevos policías de la Liturgia | https://www.feadulta.com/los-nuevos-policias-de-la-liturgia/ | | 56196 | 15 | Jesús Lozano Pino: Más allá de la trinchera: Bonhoeffer, Arendt y el abrazo abrahámico frente a la anestesia del odio | https://www.feadulta.com/mas-alla-de-la-trinchera-bonhoeffer-arendt-y-el-abrazo-abrahamico-frente-a-la-anestesia-del-odio/ | | 56197 | 16 | Gerardo Villar: Sin funerales | https://www.feadulta.com/sin-funerales/ | **IDs de texto (para TTS):** `56198,56199,56201,56200,56202,56203,56204,56191,56192,56193,56194,56195,56196,56197` ### Pagola (#56203): traducciones humanas adjuntas Como cada semana, Pagola **no se traduce a máquina**: están los cuatro ficheros editoriales de Inma (`9r_2_eng`, `9r_3_fr`, `9r_4_it`, `9r_5_pt`). De él solo hace falta el audio. ### ⚠️ Aviso sobre el nº16 (post 56197), por si ya lo habíais leído Mismo patrón que el nº10 de la 740, y esta vez **el blindaje que pusimos entonces hizo su trabajo**. El `.docx` traía el orden título / autor / entradilla, y el pipeline etiqueta por posición, así que se publicó con título **«GERARDO VILLAR»** y firma de Fe Adulta. `publicabot.crear_autor()` **se negó a dar de alta la ficha** porque el supuesto nombre medía 168 caracteres (era la entradilla), y avisó por consola. O sea que no se fabricó ninguna ficha basura: el post cayó al autor por defecto, que es un fallo visible y reparable en un minuto. Ya está corregido en origen (el `.docx`) y en WordPress: título **«SIN FUNERALES»**, firma **Gerardo Villar** (ficha 466, la suya de siempre) y slug `sin-funerales` en vez de `gerardo-villar-2`. **Si algún proceso se llevó el título o el slug anteriores, conviene refrescarlo.** ### Pendiente para la FASE 2 La multimedia de Carmenchu, las Noticias y la intro. Se comentará aquí, y **el comentario de cierre llevará la lista definitiva** generada por Mixbot a partir de lo que la carta enlaza de verdad (`00mix_carta_final.txt`). Recordatorio de la 740, que ya va incorporado a Mixbot: **las cartas de lectores (nº 27) se publican solo en español, sin traducción ni audio**, y salen en su propio bloque de esa lista.
Author
Collaborator

FASE 2 lista: carta compuesta y publicada (id 56290)

mixbot --vivo ejecutado el 26-ago. Carta: https://www.feadulta.com/de-que-lado-estamos/ — «¿De qué lado estamos?», id 56290.

Auditoría final limpia: 20 artículos en la carpeta, 20 compuestos, 0 caídos, 0 pendientes, 37 enlaces vivos, ninguno viejo ni en borrador. Categorías rotadas (56003 a «La semana pasada», 55694 al archivo).

Textos — traducir EN/FR/IT/PT + audio (15)

56198,56199,56201,56200,56202,56203,56204,56191,56192,56193,56194,56195,56196,56197,56289

Son los 14 del lote de fase 1 más las Noticias de alcance, publicadas al componer:

id Autor: título Enlace
56289 25 Inma Calvo: Las iglesias de México se abren a las familias que buscan a sus desaparecidos https://www.feadulta.com/las-iglesias-de-mexico-se-abren-a-las-familias-que-buscan-a-sus-desaparecidos/

Multimedia — traducir sí, audio NO (4)

id Título Enlace
56285 19 Antes de actuar, suelta la negatividad https://www.feadulta.com/antes-de-actuar-suelta-la-negatividad/
56286 21 Canto del anuncio de la Pasión https://www.feadulta.com/canto-del-anuncio-de-la-pasion/
56287 22 Tú eres mi esperanza https://www.feadulta.com/tu-eres-mi-esperanza/
56288 24 Sigues aquí https://www.feadulta.com/sigues-aqui-2/

Reutilizado — ya publicado y traducido, no necesita nada (7)

Mateo 16, 21-27 · Jeremías 20, 7-9 · Romanos 12, 1-2 · Ulibarri «Reconfigurar la vida» · Anáfora «Austeridad» · Salomé Arricibita «Ley sagrada» · Monjas Benedictinas de Montserrat.

⚠️ Aviso sobre las Noticias (post 56289), por si ya lo habíais leído

Otra vez la cabecera posicional, y otra vez el blindaje hizo su trabajo. El .docx traía título / subtítulo / cuerpo, sin línea de firma, así que el subtítulo cayó en el hueco del autor. crear_autor() se negó a dar de alta una ficha de 160 caracteres y el post quedó firmado por Fe Adulta (890) en vez de fabricar basura en el roster.

Corregido en origen y en producción: firma Inma Calvo (1048, que es lo correcto para las Noticias de alcance) y el subtítulo restituido como primer párrafo del cuerpo, que es donde estaba en la 740. El título y el slug no cambian. Si algún proceso se llevó el autor anterior, conviene refrescarlo.

Van ya tres semanas seguidas con el mismo patrón —nº10 en la 740, nº16 y nº25 en la 741—, siempre por el orden de las líneas en el .docx. La red de seguridad funciona, pero quizá merezca la pena que el pipeline avise en el momento de publicar cuando el campo «autor» no parece un nombre, en vez de dejarlo caer al autor por defecto en silencio. Lo comentamos si os parece.

Estado

La carta está publicada y en portada. El máster del newsletter sale hoy por BREVO.

## FASE 2 lista: carta compuesta y publicada (id 56290) `mixbot --vivo` ejecutado el 26-ago. **Carta:** https://www.feadulta.com/de-que-lado-estamos/ — «¿De qué lado estamos?», id **56290**. Auditoría final limpia: 20 artículos en la carpeta, 20 compuestos, 0 caídos, 0 pendientes, 37 enlaces vivos, ninguno viejo ni en borrador. Categorías rotadas (56003 a «La semana pasada», 55694 al archivo). ### Textos — traducir EN/FR/IT/PT + audio (15) ```text 56198,56199,56201,56200,56202,56203,56204,56191,56192,56193,56194,56195,56196,56197,56289 ``` Son los 14 del lote de fase 1 más las **Noticias de alcance**, publicadas al componer: | id | nº | Autor: título | Enlace | |---:|---:|---|---| | 56289 | 25 | Inma Calvo: Las iglesias de México se abren a las familias que buscan a sus desaparecidos | https://www.feadulta.com/las-iglesias-de-mexico-se-abren-a-las-familias-que-buscan-a-sus-desaparecidos/ | ### Multimedia — traducir sí, audio NO (4) | id | nº | Título | Enlace | |---:|---:|---|---| | 56285 | 19 | Antes de actuar, suelta la negatividad | https://www.feadulta.com/antes-de-actuar-suelta-la-negatividad/ | | 56286 | 21 | Canto del anuncio de la Pasión | https://www.feadulta.com/canto-del-anuncio-de-la-pasion/ | | 56287 | 22 | Tú eres mi esperanza | https://www.feadulta.com/tu-eres-mi-esperanza/ | | 56288 | 24 | Sigues aquí | https://www.feadulta.com/sigues-aqui-2/ | ### Reutilizado — ya publicado y traducido, no necesita nada (7) Mateo 16, 21-27 · Jeremías 20, 7-9 · Romanos 12, 1-2 · Ulibarri «Reconfigurar la vida» · Anáfora «Austeridad» · Salomé Arricibita «Ley sagrada» · Monjas Benedictinas de Montserrat. ### ⚠️ Aviso sobre las Noticias (post 56289), por si ya lo habíais leído Otra vez la cabecera posicional, y otra vez **el blindaje hizo su trabajo**. El `.docx` traía título / subtítulo / cuerpo, sin línea de firma, así que el subtítulo cayó en el hueco del autor. `crear_autor()` se negó a dar de alta una ficha de 160 caracteres y el post quedó firmado por Fe Adulta (890) en vez de fabricar basura en el roster. Corregido en origen y en producción: firma **Inma Calvo** (1048, que es lo correcto para las Noticias de alcance) y el subtítulo restituido como primer párrafo del cuerpo, que es donde estaba en la 740. El título y el slug no cambian. **Si algún proceso se llevó el autor anterior, conviene refrescarlo.** Van ya tres semanas seguidas con el mismo patrón —nº10 en la 740, nº16 y nº25 en la 741—, siempre por el orden de las líneas en el `.docx`. La red de seguridad funciona, pero quizá merezca la pena que el pipeline avise en el momento de publicar cuando el campo «autor» no parece un nombre, en vez de dejarlo caer al autor por defecto en silencio. Lo comentamos si os parece. ### Estado La carta está publicada y en portada. El máster del newsletter sale hoy por BREVO.
Author
Collaborator

Hecho por nuestro lado: la cabecera ya no se etiqueta a ciegas por posición

Sobre lo que comentaba en el mensaje anterior —tres semanas con el mismo patrón (nº10 de la 740; nº16 y nº25 de la 741)—, queda resuelto en origen. Cambiado hoy articulo_edits.py, que es la fase previa que convierte el .docx posicional al formato EML antes de publicar.

Qué hace ahora

1. Identifica la firma contra el roster. Antes de etiquetar nada, compara las primeras líneas de la cabecera con los 1.227 autores dados de alta en WP (normalizando tildes y puntuación). Si una casa, esa es la firma y el resto se recoloca alrededor, venga en el orden que venga el documento. Los genéricos de la casa —«Fe Adulta», «Ediciones Feadulta», «Elaboración propia»— quedan excluidos a propósito: no identifican a una persona y casarían con cualquier línea.

Con el .docx del nº16 acierta solo: reconoce «Gerardo Villar» en la segunda línea, deduce que el título es la primera y la entradilla la tercera, y lo anota.

2. Si no reconoce a nadie, desconfía. Sigue por posición, pero valida que lo que cae en el sitio del autor parezca una firma (mismo criterio que publicabot.nombre_de_autor_plausible). Si no lo parece, esa línea vuelve al cuerpo —de donde salió, que suele ser un subtítulo— y el autor queda como [Autor — completar].

Esto último arregla el daño colateral del nº25: al tragarse el subtítulo como si fuera la firma, el post se publicó sin esa frase de entrada. Ahora se queda donde estaba.

3. Y se ve. El marcador aparece en el .docx, en 00mix_parte1_ids.txt, en 00mix_carta_final.txt y en consola con un [ALTO]. Se acabó el caer al autor por defecto en silencio.

Probado

Cuatro .docx fabricados con los patrones reales:

Caso Resultado
Cabecera desordenada (título / firma / entradilla) Recolocada por el roster, con aviso
Cabecera correcta (entradilla / título / firma) Igual que siempre, sin aviso
Noticias sin línea de firma (título / subtítulo) Título bien, subtítulo en el cuerpo, autor marcado, aviso
Noticias con firma (título / firma) Correcto

Lo que sigue sin cubrir

Un autor nuevo, que no esté aún en el roster, y que además mande el documento sin línea de firma. Ahí no hay heurística que valga: seguirá necesitando una mano. La diferencia es que ahora se ve en el momento en vez de descubrirse tres días después leyendo la lista definitiva.

Con esto, la mejora que sugería para vuestro lado pierde urgencia. Si aun así os parece útil que el pipeline lo cante también al publicar —o que deje el post en borrador cuando el autor sale como [Autor — completar]—, decidnos y lo vemos; pero el fallo ya no debería llegar hasta ahí.

## Hecho por nuestro lado: la cabecera ya no se etiqueta a ciegas por posición Sobre lo que comentaba en el mensaje anterior —tres semanas con el mismo patrón (nº10 de la 740; nº16 y nº25 de la 741)—, queda resuelto en origen. Cambiado hoy `articulo_edits.py`, que es la fase previa que convierte el `.docx` posicional al formato EML antes de publicar. ### Qué hace ahora **1. Identifica la firma contra el roster.** Antes de etiquetar nada, compara las primeras líneas de la cabecera con los **1.227 autores dados de alta en WP** (normalizando tildes y puntuación). Si una casa, esa es la firma y el resto se recoloca alrededor, venga en el orden que venga el documento. Los genéricos de la casa —«Fe Adulta», «Ediciones Feadulta», «Elaboración propia»— quedan excluidos a propósito: no identifican a una persona y casarían con cualquier línea. Con el `.docx` del nº16 acierta solo: reconoce «Gerardo Villar» en la segunda línea, deduce que el título es la primera y la entradilla la tercera, y lo anota. **2. Si no reconoce a nadie, desconfía.** Sigue por posición, pero valida que lo que cae en el sitio del autor parezca una firma (mismo criterio que `publicabot.nombre_de_autor_plausible`). Si no lo parece, **esa línea vuelve al cuerpo** —de donde salió, que suele ser un subtítulo— y el autor queda como `[Autor — completar]`. Esto último arregla el daño colateral del nº25: al tragarse el subtítulo como si fuera la firma, el post se publicó sin esa frase de entrada. Ahora se queda donde estaba. **3. Y se ve.** El marcador aparece en el `.docx`, en `00mix_parte1_ids.txt`, en `00mix_carta_final.txt` y en consola con un `[ALTO]`. Se acabó el caer al autor por defecto en silencio. ### Probado Cuatro `.docx` fabricados con los patrones reales: | Caso | Resultado | |---|---| | Cabecera desordenada (título / firma / entradilla) | Recolocada por el roster, con aviso | | Cabecera correcta (entradilla / título / firma) | Igual que siempre, sin aviso | | Noticias sin línea de firma (título / subtítulo) | Título bien, subtítulo **en el cuerpo**, autor marcado, aviso | | Noticias con firma (título / firma) | Correcto | ### Lo que sigue sin cubrir Un autor **nuevo**, que no esté aún en el roster, y que además mande el documento sin línea de firma. Ahí no hay heurística que valga: seguirá necesitando una mano. La diferencia es que ahora se ve en el momento en vez de descubrirse tres días después leyendo la lista definitiva. Con esto, la mejora que sugería para vuestro lado pierde urgencia. Si aun así os parece útil que el pipeline lo cante también al publicar —o que deje el post en borrador cuando el autor sale como `[Autor — completar]`—, decidnos y lo vemos; pero el fallo ya no debería llegar hasta ahí.
Owner

Handoff técnico — matriz real Carta 741 / #216 (solo lectura, 2026-08-26)

He auditado la carta final #56290 «¿De qué lado estamos?» contra el WordPress de producción y el espejo local. No se ha modificado producción ni el entorno local.

1) La carta ya está compuesta, pero los derivados no están publicados

En producción, la carta #56290 está publish y su parser real devuelve el cluster esperado. Sin embargo, los 15 textos nuevos siguen solo en ES, sin grupo Polylang EN/FR/IT/PT y sin TTS/metas de audio:

56198,56199,56201,56200,56202,56203,56204,
56191,56192,56193,56194,56195,56196,56197,56289

Para los 15: 0/15 con EN/FR/IT/PT publicados; 0/15 con fea_audio_done=1; 0/15 con fea_audio_sha256.

Nota de coordinación: no atribuyo esta ausencia a un fallo de Mixbot. El comentario de Fase 2 define el alcance; la matriz server-side muestra que el lote de derivados todavía no está en prod.

2) Multimedia y reutilizados: hallazgo del “último multimedia”

El parser de la carta no tiene cuatro sino cinco entradas multimedia:

56285  Antes de actuar, suelta la negatividad      (nuevo)
56286  Canto del anuncio de la Pasión               (nuevo)
19121  Ley sagrada (con presentación)              (reutilizado)
56287  Tú eres mi esperanza                         (nuevo)
56288  Sigues aquí                                  (nuevo)
  • Los cuatro nuevos (56285–56288) están solo en ES; son traducción sí / TTS no, como especifica #216.
  • 19121 también está solo en ES, sin grupo Polylang. Es el candidato que encaja con el “último multimedia” pendiente. No tiene TTS y no debe generársele.

Además, dos reutilizados de Eucaristía que el comentario declaraba ya traducidos no tienen grupo Polylang actualmente: 5311 («Reconfigurar la vida») y 2020 («Austeridad»). No los incluyo automáticamente en un release: antes hay que decidir si deben recibir traducción o si el fallback ES es intencional.

3) Carta madre

La carta #56290 existe solo en ES y no tiene audio. Falta preparar sus cuatro traducciones; este handoff deja anotado que Rafa pide también TTS para la carta, pero se debe confirmar el alcance final antes de sintetizar (las cartas anteriores no siempre llevaron audio).

4) Estado del espejo local

El entorno local no contiene material listo para que otro operador lo suba:

  • los 14 posts de Fase 1 existen, pero solo en ES, sin traducciones, MP3 ni metas TTS;
  • no existen localmente 56289, 56285–56288 ni la carta 56290;
  • por tanto, no hay un paquete local de traducciones/audio de la 741 para desplegar todavía.

5) Próximo trabajo, en orden y sin tocar prod

  1. Confirmar con Rafa el alcance editorial: 15 textos + 4 multimedia + carta; decidir explícitamente 19121, 5311 y 2020.
  2. Corregir/usar un lector prod→local estrictamente de solo lectura, hacer backup local y dry-run con remapeo de conflictos; importar los IDs que falten.
  3. Crear EN/FR/IT/PT locales en draft; Pagola #56203 requiere comparación A/B de sus cuatro DOCX humanos contra candidato Haiku (especialmente IT), no importación ciega.
  4. Ejecutar QA semántico Haiku por pares ES→idioma y gate mecánico; revalidar tras cada corrección.
  5. TTS local exclusivamente para los textos aprobados y, si se confirma, la carta; nunca para multimedia. Antes de release: ffprobe + transcripción post-síntesis + SHA-256.
  6. Entregar al operador de producción un dry-run separado para traducciones, otro para audio. El uploader deberá verificar SHA remoto y escribir fea_audio_sha256 al publicar.

No ejecutar un release desde el estado actual: faltan las fuentes locales y los derivados locales que constituirían ese release.

Fuentes: comentario Fase 2 de #216 + auditoría server-side Polylang/meta/TTS + parser fea_parse_carta_sections(56290) + espejo Docker local.

## Handoff técnico — matriz real Carta 741 / #216 (solo lectura, 2026-08-26) He auditado la carta final **#56290 «¿De qué lado estamos?»** contra el WordPress de producción y el espejo local. No se ha modificado producción ni el entorno local. ### 1) La carta ya está compuesta, pero los derivados no están publicados En producción, la carta #56290 está `publish` y su parser real devuelve el cluster esperado. Sin embargo, los **15 textos nuevos** siguen solo en ES, sin grupo Polylang EN/FR/IT/PT y sin TTS/metas de audio: ```text 56198,56199,56201,56200,56202,56203,56204, 56191,56192,56193,56194,56195,56196,56197,56289 ``` Para los 15: `0/15` con EN/FR/IT/PT publicados; `0/15` con `fea_audio_done=1`; `0/15` con `fea_audio_sha256`. > Nota de coordinación: no atribuyo esta ausencia a un fallo de Mixbot. El comentario de Fase 2 define el alcance; la matriz server-side muestra que el lote de derivados todavía no está en prod. ### 2) Multimedia y reutilizados: hallazgo del “último multimedia” El parser de la carta no tiene cuatro sino **cinco** entradas multimedia: ```text 56285 Antes de actuar, suelta la negatividad (nuevo) 56286 Canto del anuncio de la Pasión (nuevo) 19121 Ley sagrada (con presentación) (reutilizado) 56287 Tú eres mi esperanza (nuevo) 56288 Sigues aquí (nuevo) ``` - Los cuatro nuevos (`56285–56288`) están solo en ES; son **traducción sí / TTS no**, como especifica #216. - `19121` también está solo en ES, sin grupo Polylang. Es el candidato que encaja con el “último multimedia” pendiente. **No tiene TTS y no debe generársele.** Además, dos reutilizados de Eucaristía que el comentario declaraba ya traducidos no tienen grupo Polylang actualmente: `5311` («Reconfigurar la vida») y `2020` («Austeridad»). No los incluyo automáticamente en un release: antes hay que decidir si deben recibir traducción o si el fallback ES es intencional. ### 3) Carta madre La carta #56290 existe solo en ES y no tiene audio. Falta preparar sus cuatro traducciones; este handoff deja anotado que Rafa pide también TTS para la carta, pero se debe confirmar el alcance final antes de sintetizar (las cartas anteriores no siempre llevaron audio). ### 4) Estado del espejo local El entorno local no contiene material listo para que otro operador lo suba: - los 14 posts de Fase 1 existen, pero solo en ES, sin traducciones, MP3 ni metas TTS; - no existen localmente `56289`, `56285–56288` ni la carta `56290`; - por tanto, **no hay un paquete local de traducciones/audio de la 741 para desplegar todavía**. ### 5) Próximo trabajo, en orden y sin tocar prod 1. Confirmar con Rafa el alcance editorial: 15 textos + 4 multimedia + carta; decidir explícitamente `19121`, `5311` y `2020`. 2. Corregir/usar un lector prod→local estrictamente de solo lectura, hacer backup local y dry-run con remapeo de conflictos; importar los IDs que falten. 3. Crear EN/FR/IT/PT locales en `draft`; Pagola #56203 requiere comparación A/B de sus cuatro DOCX humanos contra candidato Haiku (especialmente IT), no importación ciega. 4. Ejecutar QA semántico Haiku por pares ES→idioma y gate mecánico; revalidar tras cada corrección. 5. TTS local exclusivamente para los textos aprobados y, si se confirma, la carta; nunca para multimedia. Antes de release: `ffprobe` + transcripción post-síntesis + SHA-256. 6. Entregar al operador de producción un dry-run separado para traducciones, otro para audio. El uploader deberá verificar SHA remoto y escribir `fea_audio_sha256` al publicar. **No ejecutar un release desde el estado actual:** faltan las fuentes locales y los derivados locales que constituirían ese release. Fuentes: comentario Fase 2 de #216 + auditoría server-side Polylang/meta/TTS + parser `fea_parse_carta_sections(56290)` + espejo Docker local.
Owner

Carta 741 — cerrada y publicada en producción (2026-08-26)

Resumen para Inma / referencia futura:

Qué pasó: Hermes había empezado a traducir la carta 741 con un esquema de IDs propio (no coincidía con prod) y perdió el hilo del estado real (su handoff decía "0/15 con traducciones" cuando en realidad 2 de 14 sí tenían traducción). Se limpió ese trabajo parcial en local (con inventario/backup previo, nada perdido) y se rehizo desde cero con el método de siempre (sync_carta_from_prod.py, IDs preservados) + traducción con Claude Haiku (no Gemma, por velocidad, autorizado puntualmente por Rafa).

Estado final en producción:

  • Carta madre ¿De qué lado estamos? (#56290) y sus 6 artículos de la semana, publicados en ES/EN/FR/IT/PT.
  • Rotación de "carta de la semana" aplicada en los 5 idiomas — este era el bug original reportado (la carta seguía mostrando la del 12-ago en los 4 idiomas).
  • Audio (TTS) del bloque en español de esta semana, subido a prod.
  • De paso se publicaron 68 traducciones de piezas antiguas enlazadas desde esta carta que llevaban tiempo en borrador en prod (gap real encontrado durante el despliegue: su artículo ES padre no llevaba el meta _carta_id, así que el script de publicación automática no las veía — se publicaron a mano por ID, verificado 0 errores).

Regla de alcance del TTS, aclarada y documentada (confusión real durante este trabajo — para que no se repita):

  • El audio solo se genera del artículo original en español, nunca de las traducciones EN/FR/IT/PT.
  • Un mp3 por artículo (tts_produce.py); nunca un audio combinado de toda la carta.
  • Nunca se locuta la categoría multimedia.
  • Documentado en docs/guia-tts-traduccion-inma.md §4 y en procedures.md §1 paso 8 (la guía que consulta Hermes).

Cierro este issue como resuelto salvo que Rafa/Inma detecten algo pendiente.

**Carta 741 — cerrada y publicada en producción (2026-08-26)** Resumen para Inma / referencia futura: **Qué pasó:** Hermes había empezado a traducir la carta 741 con un esquema de IDs propio (no coincidía con prod) y perdió el hilo del estado real (su handoff decía "0/15 con traducciones" cuando en realidad 2 de 14 sí tenían traducción). Se limpió ese trabajo parcial en local (con inventario/backup previo, nada perdido) y se rehizo desde cero con el método de siempre (`sync_carta_from_prod.py`, IDs preservados) + traducción con Claude Haiku (no Gemma, por velocidad, autorizado puntualmente por Rafa). **Estado final en producción:** - Carta madre `¿De qué lado estamos?` (#56290) y sus 6 artículos de la semana, publicados en ES/EN/FR/IT/PT. - Rotación de "carta de la semana" aplicada en los 5 idiomas — este era el bug original reportado (la carta seguía mostrando la del 12-ago en los 4 idiomas). - Audio (TTS) del bloque en español de esta semana, subido a prod. - De paso se publicaron 68 traducciones de piezas antiguas enlazadas desde esta carta que llevaban tiempo en borrador en prod (gap real encontrado durante el despliegue: su artículo ES padre no llevaba el meta `_carta_id`, así que el script de publicación automática no las veía — se publicaron a mano por ID, verificado 0 errores). **Regla de alcance del TTS, aclarada y documentada** (confusión real durante este trabajo — para que no se repita): - El audio solo se genera del **artículo original en español**, nunca de las traducciones EN/FR/IT/PT. - Un mp3 por artículo (`tts_produce.py`); nunca un audio combinado de toda la carta. - Nunca se locuta la categoría `multimedia`. - Documentado en `docs/guia-tts-traduccion-inma.md` §4 y en `procedures.md` §1 paso 8 (la guía que consulta Hermes). Cierro este issue como resuelto salvo que Rafa/Inma detecten algo pendiente.
Sign in to join this conversation.
No Label
2 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: rafa/feadulta#216