main local y origin/main son dos historias sin ancestro comun (ver #194).
Analisis del agente: de las 46 commits solo-en-local, el unico contenido que
no esta ya reflejado en origin/main via el snapshot de julio (PR #179) son
estos 10 ficheros de docs/ (guias, handoffs, planes, benchmark, revisiones de
issues). Copiados tal cual desde main con "git show main:docs/X > docs/X".
Redactada una password SSH y una password cPanel/FTP en texto plano que
tenia handoff-carta-46956-2026-06-17.md (servidor CDMON antiguo) antes de
subirlo -- ver .env, nunca en docs versionados.
Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
Los tres scripts asumian el CDMON viejo (134.0.10.170, sin Docker): host y
password hardcodeados, y el helper PHP ejecutandose directamente en el host.
Desde el cutover a Hetzner (Coolify/Docker, 2026-08-03) eso ya no aplica.
- FEA_PROD_HOST/FEA_PROD_PASS pasan a FEA_PROD_SSH_HOST/FEA_PROD_SSH_PASS
(mismo nombre en los tres scripts; sync_carta_from_prod.py ya los usaba).
- Nueva FEA_PROD_DOCKER_CONTAINER: si esta definida, el helper se sube y se
ejecuta con "docker exec -i" dentro del contenedor en vez de en el host.
- Auth por clave (ed25519 claude-code@feadulta): sshpass solo se usa si
FEA_PROD_SSH_PASS no esta vacia.
- Fix del gotcha de "docker exec CONTENEDOR cmd < ruta": esa redireccion la
resuelve el HOST, no el contenedor. El wrapping va dentro de "sh -c" para
que la redireccion se resuelva en el sitio correcto (afecta a la subida
del helper y a la verificacion de tamano del mp3 en audio).
Verificado: dry-run de los tres contra el WP local, y una lectura real de
prod (sync_carta_from_prod.py --carta 55487 --dry-run) que recupero
correctamente el cluster de la carta 738 y el contenido de un post concreto.
Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
Este repo llevaba desde el 28-jun sin actualizarse (salvo sync_carta_from_prod.py).
Se pone al dia con 3 semanas de trabajo que solo vivian en el checkout local
completo del proyecto:
- Fix del buscador (issue #178): AND obligatorio en FULLTEXT (antes devolvia
practicamente todo el sitio con cualquier busqueda), exclusion de paginas
indice residuales de la migracion K2, soporte de frase exacta entre comillas.
- Nuevos mu-plugins ya desplegados a prod: fea-carta-id-api, fea-cloudflare-realip,
fea-crear-autor-api, fea-gsc-verification, fea-legacy-redirect (cutover
Joomla->WP, ver issue #162).
- TTS multi-voz por autor, scripts de traduccion, sync de audio a prod,
homenajes Mardones/Galarreta.
Se mantiene la estructura plana del repo (mu-plugins/ + scripts/, sin el
wordpress/wp-content/ del checkout completo) tal y como documenta el README:
es la convencion establecida para este repo, mas limpia para quien solo
necesita leer el codigo. Anadido .gitignore (cache de Python que no debia
commitearse).
Fuente: checkout local completo del proyecto, rama main (commit 69e849d).