7.3 KiB
Handoff — Carta 46956 «Entre todos» (sesión 2026-06-17)
Estado para que Codex continúe. Se hizo TODO en local (Docker wordpress-web/wordpress-mysql). Nada está en prod todavía. El despliegue a prod quedó pendiente y SIN hacer (Rafa quiere ir por partes).
Repo: /home/rafa/joomla-migration (= remoto Gitea rafa/feadulta). Ver también wiki «Ciclo carta nueva» y memoria del ciclo.
1. Qué se hizo en LOCAL (todo verificado)
Carta y artículos
- Carta 46956 «Entre todos» (ES). Estaba en estado
futurepor desfase de zona horaria (server US detrás de Madrid) → publicada (post_status=publish, fecha 2026-06-18). Issue #87 (cerrado). - 19 artículos con
_carta_id=46956(IDs 46937–46955). De ellos 15 son ES (46937–46951) y 4 ya venían en otros idiomas desde Joomla. - Cluster multiidioma 46951–46955 = el MISMO artículo en 5 idiomas; enlazado en Polylang:
{es:46951, fr:46952, en:46953, it:46954, pt:46955}(no se tradujo, ya estaba).
Traducciones (motor Haiku)
- Carta + 14 artículos ES → EN/FR/IT/PT = 60 posts (IDs 46959–47018),
publish. - Motor:
FEA_ENGINE=haiku(nuevo flag enscripts/translate_post.py) → usa Claude Haiku 4.5 víatranslate_haiku.py. API key en/home/rafa/portfolio-tracker/.env. Coste ~0.6–0.8 €/carta.- Comando:
FEA_ENGINE=haiku python3 scripts/translate_post.py --carta 46956 --langs en,fr,it,pt --status draft(luego publicado).
- Comando:
Evangelio / lecturas bíblicas (issue #88)
- El pasaje ES
MATEO 10, 26-33(post 2682) solo existía en ES. Política: DESCARGAR la Biblia oficial, NO traducir con LLM. - Descargado de bolls.life y creados 4 posts (IDs 47079–47082), enlazados Polylang a 2682, cat "Lecturas bíblicas" mapeada,
publish:- EN=Douay-Rheims (católica), PT=CNBB (católica), IT=Nuova Riveduta 2006 (única moderna IT), FR=Bible du Semeur (no hay católica libre en bolls).
- Scripts:
scripts/fetch_lectura_bolls.py(descarga) +scripts/create_lecturas.php(crea posts).
Enlaces internos de las cartas
Las cartas traían enlaces Joomla legacy es/buscadoravanzado/item/<k2_id>-<slug>.html (rotos) y luego enlaces al pasaje ES. Arreglado en 2 pasos:
scripts/fix_carta_joomla_links.php— mapeaitem/<id>por meta_fgj2wp_old_k2_id→ permalink WP del artículo en el idioma de cada carta.scripts/repoint_carta_links.php— repunta enlaces ya-permalink que apuntaban al ES → a la traducción del idioma de la carta (p.ej. el evangelio).APPLY=1 CARTA=46956 docker exec ... php /tmp/<script>.php. Sin mapear (se dejan):tablon-de-anuncios,noticias-de-alcance, ítem18151 el-buen-humor(fuera del delta), multimedia9155.
Categorías "carta de la semana"
scripts/demote_old_cartasemana.php— deja encartasemana(term 6) solo la carta nueva en CADA idioma (count=1 → el menú redirige directo al single). Movía las cartas anteriores a "cartas de otras semanas". Aplicado: count=1 en es/en/fr/it/pt.
Verificación local (vía Caddy, NO localhost:8081)
- Cartas:
/fea/entre-todos/,/fea/en/among-all/,/fea/fr/entre-tous/,/fea/it/tra-tutti/,/fea/pt/entre-todos-2/— todas publish. - Menú "carta de la semana" por idioma → 302 al single de cada idioma.
- Evangelio enlaza al pasaje en su idioma (47079–47082), todos HTTP 200.
2. Estado de PROD (verificado read-only 2026-06-17)
SSH correcto: sshpass -p 'C6c2A!mAl3Wj.BQF' ssh feadulta@134.0.10.170 (la pass que dio Rafa 6Rm2qOF@eundwpda es de cPanel/FTP, NO sirve para SSH). wp-cli en /web/wp-nuevo. NO scp (usar ssh 'cat > ruta').
- MAX post ID en prod = 46809. Los IDs locales nuevos (46937–47082) están LIBRES en prod.
- La carta de esta semana NO está en prod. La "carta de la semana" actual en prod es la anterior: 45018 «La puerta pequeña» (2026-06-13).
- El pasaje ES 2682
MATEO 10,26-33SÍ está en prod (post viejo). Faltan sus 4 traducciones.
3. PENDIENTE: desplegar la carta 46956 a prod (lo que paró Rafa)
Objetivo: que la carta de esta semana se vea bien en prod en los 5 idiomas. Implica el delta ES + traducciones + evangelios + estructura. Rafa quiere ir por partes (NO hacer todo de golpe sin su OK).
⚠️ Problema de coincidencia de IDs (clave)
La regla "IDs ES coinciden local↔prod" se ha ROTO: prod va por detrás (max 46809) mientras local hizo el delta cuando su max era 46936. Una reimportación fresca desde Joomla en prod asignaría IDs ~46810, distintos de los locales, y rompería el casado de traducciones/enlaces.
- Enfoque recomendado: replicar los posts locales a prod preservando los IDs (46937–47082 + nada de 2682 que ya está), ya que están libres en prod. Es decir, NO reimportar desde Joomla: volcar el contenido local (ES + traducciones + evangelios) a prod con
wp_insert_post/inserción con ID explícito, reconstruir Polylang + categorías + metas (_carta_id,_fgj2wp_old_k2_id), y aplicar los mismos arreglos de enlaces y degradado de categoría. - Revisar
scripts/sync_translations_to_prod.py(opción A, ya validada para traducciones reusando texto local) y adaptarlo/extenderlo para incluir el delta ES y los pasajes del evangelio con ID preservado.
Checklist prod (por partes, con OK de Rafa en cada salto)
- Delta ES a prod: carta 46956 + artículos 46937–46955 con IDs preservados, metas (
_carta_id,_fgj2wp_old_k2_id), categorías, idioma ES. Revisar. - Cluster multiidioma 46951–46955: enlazar Polylang en prod (los 5 ya existirían tras paso 1).
- Traducciones EN/FR/IT/PT (carta + artículos): 46959–47018 con IDs preservados, Polylang, categorías.
- Evangelio: crear en prod las 4 traducciones del 2682 (47079–47082) enlazadas a 2682 (que ya está en prod). Reusar
fetch_lectura_bolls.py+create_lecturas.phpadaptado aFEA_WP_LOAD=/web/wp-nuevo/wp-load.php. - Enlaces internos en prod:
fix_carta_joomla_links.php+repoint_carta_links.php(conFEA_WP_LOADde prod). - Degradar carta anterior en prod:
demote_old_cartasemana.php CARTA=46956(mueve 45018 y traducciones a "otras semanas", deja count=1 por idioma). - Verificar vía Cloudflare/web: cartas y evangelio en los 5 idiomas (NB: en prod Cloudflare bloquea curl; verificar con
wp evalo navegador). - (Después) TTS de la carta nueva — paso 5 del ciclo, prioritario sobre el gap.
4. Scripts nuevos de esta sesión (en scripts/)
fix_carta_joomla_links.php— enlaces Joomla.html→ permalink WP por idioma.repoint_carta_links.php— repunta enlaces ya-permalink al idioma de la carta.publish_carta.php— draft→publish de carta+artículos+traducciones, corrige fechas futuras (timezone).demote_old_cartasemana.php— deja count=1 encartasemanapor idioma.fetch_lectura_bolls.py+create_lecturas.php— descarga e inserta pasajes bíblicos (issue #88).translate_post.py— añadido flagFEA_ENGINE=haiku.
5. Issues Gitea relacionados
- #84 — Migrar delta carta nueva (prerequisito scripts; ya corregidos).
- #87 — Carta no aparecía (estado
futurepor timezone). CERRADO. - #88 — Lecturas bíblicas solo en ES → descargar EN/FR/IT/PT. ABIERTO (esta semana hecha en local; backfill histórico pendiente).
- Crear/usar el issue de despliegue a prod (este handoff) para el seguimiento.