Skip to content

Biblioteca de investigación ​

La ruta /biblioteca publica los documentos largos que el equipo escribe en research/**/*.md y outputs/briefings/*.md. Hasta esta superficie, esos archivos vivían solo en el repositorio. En el sitio cualquiera puede filtrarlos, leerlos y citarlos.

Es distinta de /investigacion. Aquella ruta sirve papers país × eje sobre palancas de score. Esta sirve los informes de programa (ángulos sectoriales, dossiers de país, briefings).

Qué ve el lector ​

En el listado (/biblioteca):

  • buscador por título, resumen y etiqueta
  • filtro por tipo (sector, pais, par, instrumento, metodo, territorio, riesgo, briefing)
  • filtro por los 25 países de ALC
  • orden por fecha o por número de fuentes
  • cada tarjeta muestra título, tipo, fecha, resumen y tres señales de rigor: palabras, fuentes (URLs distintas) y DOIs
  • insignias cuando el texto contiene ## Anexo de verificación, ## Revisión de pares o Qué falsaría

En el detalle (/biblioteca/$slug):

  • markdown completo, con el mismo renderizador que el chat (ChatMarkdown: tablas GFM, listas, enlaces)
  • índice de secciones
  • enlace a la fuente en GitHub (futurosxyz/futuros)
  • descarga en PDF (/research/pdf/<slug>.pdf): el mismo documento compuesto como paper académico — portada con serie, resumen y palabras clave, secciones numeradas, cuadros con leyenda, bibliografía con sangría francesa, encabezado y folio. Los 62 PDF se versionan en public/research/pdf/ (37 MB en total, comprimidos); no son artefacto de bake, se regeneran con el pipeline de composición.
  • bloque de cita sugerida

El texto de cada documento queda en el idioma en que se escribió. Lo que se traduce (ES/EN/PT) es la interfaz.

Cómo se genera el índice ​

No se edita a mano. scripts/bake-research-library.ts recorre las carpetas (si una aún no existe, la salta) y escribe:

SalidaContenido
public/data/research-library.jsoníndice: slug, path, título, fecha, tipo, resumen, métricas, países, etiquetas
public/research/<slug>.jsonlo mismo más el markdown completo

El slug es el nombre de archivo sin la fecha inicial ni la extensión. El título sale del frontmatter title: o, si falta, del primer # . El resumen es el primer párrafo de prosa (no un encabezado), recortado a ~320 caracteres sin cortar palabras. Los países se detectan con la lista canónica de src/data/geographies.ts más iso3/country del frontmatter.

El script corre en prebuild:fast, prebuild:full y scripts/bake-all.ts. Los JSON son artefactos de bake: están en .gitignore. La fuente de verdad es el markdown. Un build sin el script deja /biblioteca vacía; por eso el prebuild lo ejecuta siempre, también en previews de Vercel (el bake no usa red).

En local, antes de bun run dev:

bash
bun run bake:research-library

Qué no toca ​

No escribe public/investigacion/index.json ni public/investigacion/coverage.json. Esos archivos pertenecen a la ola de papers país × eje.

Cada cifra con su fuente — la trazabilidad es el contrato.