Surtido — Edición #13 (2026-09-16): retrieval fresco y pipeline con RSSHub

Contexto

El flujo del boletín necesitaba datos frescos para la edición del 16-sep. La lección recurrente: los parseos de fecha con formato único rompen la ventana “frescos”.

Lo que funcionó

  • RSSHub como proveedor primario de X y YouTube. El trabajo se hizo en un worktree (/tmp/surtido-retrieval) con un patch en feed.py: _fetch_yt_rss prueba RSSHub (/youtube/channel/…) antes del feed directo de YouTube (404), e Invidious (403/JSON inválido) queda de respaldo. X sin API key: RSSHub /twitter/user/… sirve 200.
  • Parseo de fechas doble (RFC 822 "Wed, 16 Sep 2026 …" y ISO "2026-09-16…"): con email.utils.parsedate_to_datetime en vez de str.startswith. Esto destapó que la ventana “frescos” siempre estaba ahí — solo no se leía.
  • Pool para la edición = reporte/feed.json + reporte/feed-todo.json + candidatas/prensa-YYYY-MM-DD.json (115 notas esa noche), cruzado con channels.json + indice-credibilidad.json.

Números edición #13

  • 10 notas: MX 5/10 (50%) · EEUU 5/10 (50%) · ind/locales 7/10 (70%) · grandes 3/10 (30%) · máx 1 por medio. Cumple receta (MX ≥40%, EEUU ≥40%, ind/locales ≥40%, grandes ≤35%).
  • Sin Aristegui (por ahora), en=true solo si el original es inglés.

Pendientes / siguientes

  • Portar el patch de _fetch_yt_rss (RSSHub primero) al feed.py de experiments-ambar y mergear a main para que el retrieval de siempre use RSSHub.
  • Documentar en feed.py el formato dual de fechas para no volver a romper la ventana.
  • Considerar subir el límite --limite y revisar el filtro de feed-todo (items de medios hermanos y X llegaron mezclados con fechas RFC 822).