Hoja de ruta

En qué estamos trabajando

ContrastIA se construye a la vista. Estas son las fases del proyecto y cuánto llevamos de cada una.

Fase 0 · Arreglos y limpieza6 de 7
  • Escribir este roadmap.
  • Quitar las señales y ausencias falsas causadas por medios leídos sin resumen (Google Noticias), tanto en la web ya publicada como en las próximas ediciones (instrucción al Contraste).
  • Extractor: cualquier cifra, fecha, plazo, nombre de ley o cargo del titular es una afirmación comprobable.
  • Jefe de sección: descartar los actos de agenda sin contenido (entrevistas, asistencias, viajes sin anuncio).
  • Alinear la rúbrica publicada con el código: hay discrepancia en cuanto las dos posiciones difieren.
  • Quitar «h01» y la jerga más visible en la página del hecho.
  • Borrar las ramas ya fusionadas y las carpetas de trabajo viejas (pide confirmación de Alberto).
Fase 1 · La página del hecho como producto (el corazón)6 de 6
  • src/lib/lupa.ts: palabras y cifras distintivas por titular, sin IA.
  • Componente MesaContraste.astro (tira desplazable en móvil, cuadrícula en escritorio).
  • El Contraste añade por medio un encuadre: foco (a quién pone en el centro), tono (trámite, conflicto, escándalo, logro) y verbo (el verbo principal del titular).
  • Rehacer rondas/[fecha]/hechos/[id].astro con el orden de arriba. La página de cada noticia se aligera y enlaza a su hecho.
  • Lector de artículos completos (orquestador/lector.mjs): solo medios que no bloqueen la lectura automática ni reserven la minería de textos (El País la bloquea). El texto se guarda en workspace/, solo se usa para analizar y nunca se publica. Permite confianza alta en sesgo y más afirmaciones. Se decide solo, medio a medio, con su robots.txt y tdm-reservation; texto_completo: false en fuentes/medios.json excluye a mano. Prueba del 27/10: lo permiten elDiario.es, Europa Press y The Objective; El País, El Mundo, ABC, La Vanguardia, El Confidencial, 20minutos, Expansión y Cinco Días lo reservan frente a IA.
  • Glosario corto en lenguaje llano (sustituye «corroborada», «discrepancia», «reparos del Editor»).
Fase 2 · Portada de periódico y navegación6 de 9
  • Portada nueva: bloque «Hoy en un minuto» (los 3 hechos principales en una línea cada uno), el hecho principal con su mini mesa de contraste (tres titulares), una tira de señales del día y secciones con pestañas. Objetivo: menos de 6.000 px en el móvil.
  • La lista completa de noticias pasa a /noticias con filtros (medio, sección, sesgo, verificación).
  • Página por medio /medios/<medio>: su perfil acumulado (tendencia con tamaño de muestra, qué verifica bien, qué suele omitir, en qué hechos no aparece), sus titulares recientes y su forma de leerse (feed propio o Google Noticias).
  • Historias: un tema que dura varios días (por ejemplo, la ley de nietos) agrupa sus hechos de distintas ediciones, con una cronología.
  • Buscador con Pagefind: estático, gratis y funciona sin servidor.
  • Páginas de confianza: Quiénes somos, Política de correcciones (con registro público de cambios), Contacto y Cómo leer ContrastIA (tres pasos). Además, /novedades muestra este roadmap en la web.
  • Hablar como un periódico: «Edición del 27 de octubre» en vez de «Ronda», «Hecho» sin identificadores, fechas y horas en español.
  • Imagen para compartir propia de cada hecho (generada al compilar con los titulares en tipografía Umbral). Sirve para redes y para no depender de las fotos de los medios.
  • Rendimiento: ancho y alto fijados en las imágenes, versiones reducidas cuando el medio las ofrezca y carga diferida. Medir LCP en el móvil.
Fase 3 · Más amplitud y edición automática0 de 5
  • Secciones: Política, Economía, Internacional, Sociedad y Ciencia y tecnología. El Jefe de sección elige por cuotas (por ejemplo 4/3/2/2/1). Así entran Expansión, Cinco Días y 20minutos, que ahora casi nunca salen.
  • Edición diaria programada con el Programador de tareas de Windows (7:00): ronda completa → borrador → aviso al móvil (ntfy.sh, gratis) con un resumen → Alberto aprueba → publicación y subida. Requiere el PC encendido a esa hora.
  • Robustez: reintento por paso, cambio de motor si uno falla (Claude ↔ Codex), validación del formato de cada JSON, límite de tiempo y reanudación automática desde el paso que falló.
  • Informe de calidad de cada borrador (cobertura por medio, afirmaciones oficiales, señales, discrepancias) para aprobar en un minuto.
  • Más adelante, cuando la calidad sea estable: publicación automática si el informe de calidad pasa unos umbrales, con revisión posterior.
Fase 4 · Verificación de verdad4 de 5
  • Conectores oficiales que el Verificador consulta directamente: API de datos abiertos del BOE, API del INE (comprobada, funciona), datos abiertos del Congreso (votaciones e iniciativas), Eurostat y series del Banco de España. Objetivo: más del 40 % de las afirmaciones con fuente oficial.
  • Verificadores profesionales: se leen los feeds de Maldita.es, Newtral, EFE Verifica y Verificat (todos comprobados). Si un hecho ya está verificado por ellos, se enlaza («Esto ya lo comprobó Newtral»). Es la forma más honesta de hablar de bulos.
  • Prohibir «corroborada» con agregadores (Infobae, MSN, Yahoo) y con medios que solo copian a una agencia.
  • Hemeroteca de datos: una cifra verificada se reutiliza en ediciones posteriores con su fuente.
  • Redes: ampliar Bluesky a partidos, ministerios y cargos verificados; añadir Mastodon institucional. X sigue fuera.
Fase 5 · Sesgo serio: de qué pie cojea cada medio0 de 6
  • Sesgo de selección («mapa de silencios»): qué hechos cubren todos menos un medio. Sale de la recolección, sin IA, y dice mucho de cada medio.
  • Sesgo relativo por hecho: con el encuadre de la Fase 1, comparar cómo trata cada medio el mismo hecho. Es más fiable que una escala absoluta con dos líneas de texto.
  • Perfil acumulado del medio: media de cada IA con intervalo y tamaño de muestra. No se muestra una tendencia por debajo de 30 noticias analizadas.
  • Calibración de las IAs: un banco de 40 titulares de prueba con la valoración esperada. Se pasa a Claude y a Codex cada vez que cambia un modelo y se publica cuánto coinciden. Corrige desvíos como el de Codex hacia +1.
  • Evolución en el tiempo del perfil de cada medio, mes a mes.
  • Página Espectro renovada: fichas que se mueven con cada edición y enlazan al perfil del medio.
Fase 6 · App0 de 6
  • PWA: manifiesto, icono, instalación en el móvil, última edición disponible sin conexión y modo lectura. Gratis en Cloudflare Pages.
  • API pública estática: /api/ediciones.json, /api/hechos/<id>.json y /api/medios.json. La app nativa futura (Capacitor o Expo) leerá exactamente estos archivos.
  • Resumen diario por correo y avisos web de la edición (Buttondown o similar, plan gratuito).
  • Cuenta automática en Bluesky que publica los hechos del día con su imagen.
  • Analítica sin cookies (Cloudflare Web Analytics, gratis) para saber qué se lee.
  • Más adelante, con presupuesto: «Pregunta a la redacción» (chat sobre las ediciones publicadas) en Cloudflare Workers con clave de API y límite de gasto.
Fase 7 · Plataforma y crecimiento0 de 4
  • Dominio propio (unos 10 €/año, por ejemplo contrastia.es).
  • Pedir acceso autorizado a sus feeds a La Razón, Público, El Periódico, EFE y RTVE (aplazado: cuando haya público).
  • Datos de las ediciones fuera del repositorio de código cuando pesen demasiado (hoy unos 130 KB por edición, unos 50 MB al año).
  • Mudanza a un servidor propio o a un hosting con IA solo si hace falta (chat, cuentas de usuario o ediciones cada hora).

Últimos cambios