Biblioteca de pesquisa
A rota /biblioteca publica os documentos longos que a equipe escreve em research/**/*.md e outputs/briefings/*.md. Até esta superfície, esses arquivos viviam só no repositório. No site qualquer pessoa pode filtrá-los, lê-los e citá-los.
É distinta de /investigacion. Aquela rota serve papers país × eixo sobre alavancas de score. Esta serve os relatórios de programa (ângulos setoriais, dossiês de país, briefings).
O que o leitor vê
No listado (/biblioteca):
- busca por título, resumo e etiqueta
- filtro por tipo (
sector,pais,par,instrumento,metodo,territorio,riesgo,briefing) - filtro pelos 25 países da ALC
- ordem por data ou por número de fontes
- cada cartão mostra título, tipo, data, resumo e três sinais de rigor: palavras, fontes (URLs distintas) e DOIs
- insígnias quando o texto contém
## Anexo de verificación,## Revisión de paresouQué falsaría
No detalhe (/biblioteca/$slug):
- markdown completo, com o mesmo renderizador do chat (
ChatMarkdown: tabelas GFM, listas, links) - índice de seções
- link para a fonte no GitHub (
futurosxyz/futuros) - download em PDF (
/research/pdf/<slug>.pdf): o mesmo documento diagramado como paper acadêmico — folha de rosto com série, resumo e palavras-chave, seções numeradas, quadros com legenda, bibliografia com recuo deslocado, cabeçalho e fólio. Os 62 PDFs são versionados empublic/research/pdf/(37 MB no total, comprimidos); não são artefato de bake e são regerados pelo pipeline de diagramação. - bloco de citação sugerida
O texto de cada documento permanece no idioma em que foi escrito. O que se traduz (ES/EN/PT) é a interface.
Como o índice é gerado
Não se edita à mão. scripts/bake-research-library.ts percorre as pastas (se uma ainda não existe, salta) e escreve:
| Saída | Conteúdo |
|---|---|
public/data/research-library.json | índice: slug, path, título, data, tipo, resumo, métricas, países, etiquetas |
public/research/<slug>.json | o mesmo mais o markdown completo |
O slug é o nome do arquivo sem a data inicial nem a extensão. O título sai do frontmatter title: ou, se faltar, do primeiro # . O resumo é o primeiro parágrafo de prosa (não um cabeçalho), cortado a ~320 caracteres sem cortar palavras. Os países se detectam com a lista canônica de src/data/geographies.ts mais iso3/country do frontmatter.
O script corre em prebuild:fast, prebuild:full e scripts/bake-all.ts. Os JSON são artefatos de bake: estão no .gitignore. A fonte da verdade é o markdown. Um build sem o script deixa /biblioteca vazia; por isso o prebuild o executa sempre, também nos previews da Vercel (o bake não usa rede).
Em local, antes de bun run dev:
bun run bake:research-libraryO que não toca
Não escreve public/investigacion/index.json nem public/investigacion/coverage.json. Esses arquivos pertencem à onda de papers país × eixo.