Guia para agentes de IA (e humanos) que trabalham somente com o dataset deste repositório. Não descreve a implementação interna de ferramentas de sincronização — apenas o contrato e a integridade dos dados.
Dataset público de dados econômicos oficiais do Brasil, derivado das APIs do Banco Central do Brasil (SGS e PTAX/Olinda), usado como fallback estático por sistemas consumidores. Não é a fonte primária — o BACEN é.
dados/v1/<categoria>/<serie>/
├── metadados.json # autoexplicativo (identificador, nome, unidade,
│ # frequência, provedor, status, referências)
├── somas-verificacao.json # SHA-256 de valores/metadados/anos (sem self-hash)
├── valores.json # somente agregado-e-anual (mensal/anual)
└── anos/<ano>.json # partições anuais; única representação no diário
manifesto.json # catálogo completo e auto-descritivo
esquemas/v1/ # contratos formais (JSON Schema, nomes PT-BR)
scripts/validate_dataset.py # validador independente (stdlib; MIT)
Categorias: inflacao, taxas-de-juros, taxas-de-cambio.
- Datas econômicas:
YYYY-MM-DD(ISO-8601). - Valores: JSON number (nunca string); precisão decimal preservada da fonte.
- Câmbio:
cotacao-compra,cotacao-venda,paridade-compra,paridade-venda,data-hora-fonte(boletim oficial de fechamento PTAX). - Identificadores de máquina em PT-BR: lowercase, hífen, sem acentos
(ex.:
taxas-de-cambio,ultima-observacao). - Registros em ordem cronológica; no máximo uma observação canônica por data.
- O contrato formal vive em
esquemas/v1/*.schema.json.
BACEN é autoritativo. Em qualquer divergência, o valor oficial publicado pelo BACEN vence. Nunca interpole, extrapole, estime, zere, copie valor anterior ou invente observações — "preencher um gap" significa recuperar uma observação oficial que existe na fonte.
agregado-e-anualcontémvalores.json, que deve ser a concatenação exata deanos/*.json.particionado-anualcontém apenasanos/YYYY.json;valores.jsoné proibido nesse layout.- Checksums SHA-256 em
somas-verificacao.json(nunca inclui a si mesmo). - Uma observação local ausente na fonte não é removida automaticamente — isso é anomalia de integridade e exige investigação humana.
- Série cuja fonte parou de publicar é marcada
inativanos metadados; o histórico é preservado.
python3 scripts/validate_dataset.py . # barreira de CI (stdlib, MIT)Valida JSON, estrutura, tipos, datas, ordenação, duplicidades, a relação aplicável entre agregado e partições, checksums, manifesto, metadados, README gerenciado e ausência de dados legados na raiz.
- Consulte a fonte oficial (BACEN) e colete evidência.
- Altere apenas as séries com evidência; siga o template de PR.
- Recalcule
somas-verificacao.jsone atualizemanifesto.jsonse necessário. - Rode o validador localmente antes de abrir o PR.
- O CI revalida tudo de forma independente.
- Observações novas/revisadas com evidência oficial; metadados descritivos;
status de série; novos esquemas versionados (
dados/v2/no futuro).
- Contrato
v1silenciosamente (breaking changes criamdados/v2/); - dados inventados, interpolados ou arredondados arbitrariamente;
- remoção de história sem investigação humana;
- dados fora de
dados/v1/(raiz é só para arquivos de contrato/leitura); - timestamps de "verificação" em arquivos versionados (zero diff artificial).
- Rode o validador.
- Compare com a fonte oficial para a série/data em questão.
- Verifique os checksums e a consistência valores↔anos.
- Se for revisão oficial: registre o valor novo com evidência e siga o processo de contribuição. Se for anomalia: preserve o estado e reporte.