Files
feadulta/docs/revision-issues-2026-07-15.md
rafa 69e849d38e Sync: guardar en el historial el trabajo de las ultimas semanas que solo vivia en el disco
Este repo local tenia origin apuntando al Gitea local (localhost:3000), que Rafa
declaro archivado el 2026-06-28 (commit 962f33a, desarrollo movido a
gitea.feadulta.com). Ese memo nunca llego a este checkout: main quedo congelado
y todo el trabajo real de las ultimas 3+ semanas se fue commiteando solo en la
rama fix/multiidioma-portada-132 (ya fusionada a main sin perdida, commit
2504666), mientras que ademas se acumulaban 78 cambios sin commitear en el
working tree que nunca llegaron a NINGUN historial de git.

Este commit consolida esos cambios sueltos: TTS multi-voz (tts_*.py), scripts
de traduccion (translate_haiku.py, pretranslate_en_haiku.py, sync_translations_to_prod.py),
mu-plugins nuevos desplegados a prod (fea-beta-feedback, fea-cloudflare-realip,
fea-legacy-redirect, fea-gsc-verification, fea-support-campaign, fea-ui, etc.),
scripts de mantenimiento de enlaces/cartas, capturas E2E (tools/e2e/shot_*.cjs)
y documentacion de sesiones recientes.

Excluido deliberadamente (no es codigo versionable): tts-voices/ (3.3GB de
muestras de audio para clonacion de voz, anadido a .gitignore), logs/ (logs de
ejecucion, anadido a .gitignore), y 2 ficheros vacios accidentales + 2 copias
duplicadas sueltas en la raiz que ya existen en su ubicacion correcta.
2026-07-15 20:03:21 -04:00

4.2 KiB

Revisión rápida de issues mencionados por Inma/Rafa — 2026-07-15

Alcance

Revisión en modo diagnóstico + preparación. Sin cambios en producción.

Observación importante sobre numeración

En el repo actual de Gitea rafa/feadulta los issues llegan hoy hasta #146. Por tanto, las referencias del mensaje (#166, #168, #170, #174, #175) no existen en el tracker actual y probablemente pertenecen a una numeración anterior o a notas habladas.

Para no quedarnos bloqueados, revisé los issues actuales y más cercanos al tema de autonomía / operación:

  • #144 Cron servidor: auto-traducción (Haiku) + TTS (MiniMax)
  • #145 Habilitar acceso a la REST API para publicar cartas
  • #146 Propuesta: arquitectura multiagente con Ringer, Goose, OB1, Hermes y OpenClaw
  • además #126 y el histórico #121 / #125 por dependencia operativa

Hallazgos verificados

1) Issue #126 — seguridad login post-cutover

Verificación server-side en prod (/web) hecha por SSH + wp eval:

  • llar_active=1
  • mu_exists=1
  • mu-plugin presente: fea-cloudflare-realip.php

Conclusión:

  • La parte operativa del checklist parece ya presente en prod.
  • El issue probablemente necesita actualización/cierre, no trabajo técnico urgente.

2) Gap antiguo de repo sobre fea-cloudflare-realip.php

El comentario viejo de #126 decía que el mu-plugin no estaba trackeado en git.

Estado actual en el repo local:

  • Sí existe: wordpress/wp-content/mu-plugins/fea-cloudflare-realip.php

Conclusión:

  • Ese comentario ya quedó desactualizado.

3) Issue #144 — base técnica para autonomía traducción/TTS

Comprobado en el repo: existen los bloques principales mencionados por el issue:

  • scripts/detect_untranslated.php
  • scripts/translate_post.py
  • scripts/fix_carta_joomla_links.php
  • scripts/demote_old_cartasemana.php
  • scripts/minimax_tts.py
  • scripts/sync_audio_to_prod.py

Además ejecuté el detector en el WordPress local Docker (no en prod):

Ejecución local

docker exec wordpress-web php /tmp/detect_untranslated.php 0.12 draft

  • Resultado: 0 ofensores draft

docker exec wordpress-web php /tmp/detect_untranslated.php 0.12 any

  • Resultado: 12 ofensores sospechosos sobre publicados/cualquier estado
  • Resumen por idioma:
    • en: 4/1148
    • fr: 3/1148
    • it: 3/1147
    • pt: 2/1147

IDs señalados por el detector:

  • 47978, 47981, 47980, 47979
  • 47756, 47153
  • 54304, 47285, 54307, 43278, 54306, 54305

Notas útiles:

  • El script no corre bien desde host porque exige /var/www/html/wp-load.php; hay que lanzarlo dentro del contenedor.
  • Esto es buena pista para futura automatización en #144: ya hay piezas, pero conviene empaquetarlas en un wrapper reproducible y con contexto de ejecución claro.

4) Issue #145 — REST API para Inma

No hice verificación externa definitiva porque eso requiere:

  • credencial real de aplicación, y
  • prueba end-to-end frente a Cloudflare

Estado documental actual:

  • la skill y la documentación operativa indican que la REST API ya fue habilitada para Inma, pero no he revalidado hoy ese punto desde fuera.

Conclusión:

  • Antes del viaje a Madrid conviene hacer un smoke test real (/wp-json/wp/v2/users/me) desde fuera del server.

5) Issue #146 — autonomía / multiagente

Lo revisado aquí es principalmente discusión/arquitectura; no detecté una acción local obvia de código en este repo que mereciera tocar hoy sin alinear primero el objetivo.

Recomendación práctica

  1. Aclarar la numeración de #166/#168/#170/#174/#175 para no revisar los issues equivocados.
  2. Si los “nuevos de autonomía” eran realmente los del tracker actual, yo priorizaría así:
    • #145: verificar de verdad que Inma puede publicar sin Rafa delante.
    • #144: encapsular el flujo traducción/TTS en un wrapper/cron operativo.
    • #146: dejarlo como diseño/roadmap, no como siguiente cambio técnico directo.
  3. #126 huele a issue de limpieza/cierre si nadie ve un fleco pendiente.

Qué NO hice

  • No apliqué cambios en producción.
  • No toqué Joomla legacy.
  • No abrí/cerré/edité issues en Gitea.
  • No modifiqué código del repo en esta revisión.