rafa 7c5330a528 TTS: cola de backlog por autor con gate de cuota MiniMax (#188)
Aprovechar la cuota ociosa de MiniMax para locutar el backlog historico,
empezando por Fray Marcos (2026 pendientes + 2025 = 86 articulos).

- fea_post_io.php: accion `listpending <autor> <desde> <hasta> <limite> [voz]`.
  Devuelve los posts ES publicados de un autor que no tienen audio, mas
  recientes primero. Si se pasa la voz clonada del autor, tambien salen los
  locutados con otra voz, para rehacerlos.
  Esa consulta ES la idempotencia: no hay fichero de estado que mantener, lo ya
  locutado deja de salir solo. Relanzar o solapar no duplica ni gasta cuota.

- tts_produce.py: flags --autor/--desde/--hasta/--max/--dry-run. Sin flags, el
  modo cartas de la carta semanal no cambia (retrocompatible).
  --max acota la tanda a la ventana de 5h.

- tts_backlog_cron.sh: wrapper de cron con flock y gate de cuota MiniMax
  (semanal >=85% o ventana de 5h >=55% -> se salta la ventana, para no comerle
  la cuota a la carta semanal). Cola configurable por entorno.
  Crontab: 0 */5 * * 1,5,6,0 (lunes, viernes, sabado y domingo).

SOLO LOCAL: no toca produccion. Publicar el backlog en prod
(sync_audio_to_prod.py) queda bloqueado hasta despues del cutover a
Hetzner (#180).

De paso entran al historial los cambios de tts_produce.py que estaban sin
commitear desde el 24-jul (argparse con --ids/--cartas y QUOTA_OR_RATE_ERRORS
para no reintentar ante rc 2056/1039).

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-08-01 07:56:16 -04:00

feadulta.org — Migración Joomla → WordPress

Working tree del proyecto feadulta.org. WordPress nuevo, scripts de migración K2 → WP, mu-plugins custom.

La documentación operativa está en la wiki del repo.

Enlaces rápidos

Runbooks locales

Estructura local

/home/rafa/joomla-migration/
├── wordpress/                  WP local (Docker)
│   └── wp-content/mu-plugins/  fea-homepage.php, carta-semana-plugin.php (trackeados)
├── joomla/                     Joomla legacy restaurado (solo lectura, port 8080)
├── joomla-php83/               Joomla con PHP 8.3 (deploy compat, port 8083)
├── scripts/                    Importadores, fixers, cutover
├── tools/
│   ├── e2e/                    Suite Playwright + Gemma vision
│   └── akeeba-kickstart/       Kickstart.php para restaurar .jpa
├── (backups/ ya no está aquí — movida a N:\Backup\Joomla_db el 2026-07-06, ~25 GB, fuera de WSL)
├── archive/                    Scripts setup-inicial y logs migración (gitignored)
├── analisis-cartas/            Histórico de cartas semanales
├── evangelios_html/            HTML de los evangelios
├── capturas/                   PNGs de referencia (gitignored)
└── docker-compose.yml

Arrancar el entorno local

cd /home/rafa/joomla-migration
docker compose up -d
# WordPress: https://farmer.taild3aaf6.ts.net/fea/   (Tailscale + Caddy)
# Joomla (legacy, consulta): http://localhost:8080
S
Description
WordPress feadulta.com — plugins, scripts y documentación
Readme 13 MiB
Languages
PHP 61%
Python 35.7%
Shell 3.3%