Skip to content

Colômbia · Conteúdo e dados

Colômbia · Sala de Crisis descreve o que é a suíte. Esta página escreve o que até agora vivia apenas na cabeça de quem a operava: o modelo operacional de conteúdo — qual arquivo alimenta qual superfície, com que ritmo cada fonte se atualiza, qual dado entra depois e sob quais regras editoriais. As 14 rotas do mapa de módulos consomem duas trilhas de dados que nunca se misturam: a trilha real (public/data/colombia/real/, 24 arquivos citáveis mais o termômetro de frescor) e a trilha demo (public/data/colombia/fixtures/, sintética por concepção). O detalhe fonte a fonte — ressalvas, licenças, discrepâncias não resolvidas — vive em public/data/colombia/real/MANIFEST.md; esta página é o mapa de operação sobre esse inventário.

Inventário: qual dado alimenta qual superfície

Trilha real

ArquivoFonteSuperfície que o montaO que aporta
seismic-catalog.jsonUSGS FDSNSala de Crisis (camada sísmica)Catálogo de réplicas M2,5+ com horas desde o evento
shakemap-intensity.jsonUSGS ShakeMapSala de Crisis (camada sísmica)Contornos de intensidade MMI
shakemap-departments.jsonUSGS ShakeMap + DANESala de Crisis (camada sísmica)MMI máximo por sede departamental
pager-estimates.jsonUSGS PAGERSala de Crisis (camada sísmica)Distribuições probabilísticas de fatalidades e perdas (modelo, nunca contagem)
dyfi.jsonUSGS Did You Feel ItSala de Crisis (camada sísmica)Relatos cidadãos e CDI máximo
feeds.jsonIFRC GO + GDACSBriefing («Fuentes en vivo»)Feed situacional unificado, deduplicado por URL
ifrc-appeal.jsonIFRC GOBriefing («Fuentes en vivo»)Apelo MDRCO036: solicitado vs. financiado (CHF)
gdacs.jsonGDACSBriefing («Fuentes en vivo»)Alerta vermelho e população exposta (modelo)
external-trackers.jsoncolombiatebusca.comBriefing («Fuentes en vivo»)Contadores do rastreador cidadão, rotulado «não oficial»
pledges.jsonDossiê de imprensa 2026-08-13Fondo Milagro («Respuesta internacional»)Compromissos por doador com status explícito
cat-ddo-terms.jsonDossiê de imprensa 2026-08-13Fondo Milagro («Respuesta internacional»)Termos completos da linha CAT DDO
trm.jsonSuperfinanciera (datos.gov.co)Fondo Milagro («Respuesta internacional»)A única taxa admissível para conversões COP→USD
sitreps.jsonIFRC GOFondo Milagro («Respuesta internacional»)Registros do apelo e relatórios de situação
services-status.jsonAerocivil + MinTIC + pronunciamento + imprensaServiciosRestauração por setor, cada linha com citação e as_of próprios
donation-channels.jsonImprensa oficializadaVerificador de doaçõesCanais autorizados + registro negativo
promesas-tecnologicas.jsonPronunciamentos e o plano tecnológico publicadoRelógio de promessasCompromissos no relógio de 100 dias, status como fatos
satellite-damage.jsonCopernicus EMS (EMSR916)Reconstrução (painel satelital)Evidência de dano independente do Governo
citations-real.json— (registro)Todas as superfícies da trilha realAs 42+ citações que sustentam cada cifra exibida
data-health-colombia.json— (derivado local)Superfície pendenteFrescor fresh|aging|stale de cada arquivo da trilha

Sete arquivos a mais estão assados, tipados e com loader exportado (src/lib/colombia-real-data.ts) mas ainda sem superfície dedicada — denominadores e contexto à disposição de qualquer stream:

ArquivoPapel esperado
seismic-events.jsonA verdade sísmica do evento (hipocentro, magnitude mww); toda superfície que mostre profundidade deve lê-lo, não a constante das fixtures
demographics.jsonDenominador por DIVIPOLA (coorte escolar 5–16, não população total)
health-facilities.jsonDenominador para reconciliar os «179 centros de saúde» (3.051 sedes IPS)
schools.jsonDenominador para as 1.819 sedes afetadas (universo com vigência 2019)
procurement.jsonContratação real publicada: os processos de urgência manifesta a vigiar
fiscal.jsonQuadro fiscal (contexto, jamais impacto)
situation-reports.jsonDestino do swap FIXTURE_TO_REAL da fixture homônima: 1 balanço oficial em vez de 3 cortes

Trilha demo

Tudo o que chega ao nível de pessoa ou operação individual é sintético, leva synthetic: true e monta o banner DATOS DE DEMOSTRACIÓN:

FixtureSuperfícieNota
situation-reports.jsonSala de Crisis, BriefingTraz 2 cortes reconstruido_demo que nunca cruzam para a trilha real
affected-zones.jsonSala de Crisis (mapa)Distribuição municipal demo sobre agregados reais
promises.jsonSala de Crisis («Lo prometido»)Os 17 compromissos do pronunciamento
fondo-ledger.jsonFondo MilagroO livro-razão encadeado por hashes — o fundo não tem livro-razão público real
reconstruction-projects.jsonReconstrução + ficha de obra83 obras demo; a contratação real é procurement.json
relief-programs.jsonAliviosOs 5 programas anunciados como regras legíveis
households.jsonRegistro, AliviosNunca terá equivalente real: dados no nível de pessoa, a plataforma não ingere PII
missing-persons.jsonBuscador de pessoasIgualmente: nunca terá equivalente real
shelters.jsonRede de abrigosSem API pública conhecida
aid-shipments.json, collection-points.jsonLogísticaSem API pública da operação «Colombia Un Solo Corazón»
citations-colombia.json(registro fixture)Citações da trilha demo

Cadência de atualização

Cada fonte tem seu próprio ritmo, e o ritmo está declarado — no MANIFEST como prosa e em bake-colombia-health.ts como limiares numéricos. Três mecanismos:

  • script (API ao vivo)bun run scripts/colombia/ingest-*.ts consulta e re-assa; idempotente, com cache de respostas cruas.
  • manual reverificado — cifras transcritas de fontes oficiais, mas o script sonda as fontes em cada execução (frases de carga de Aerocivil/MinTIC, cadeias do dossiê em pledges, índice de documentos do Banco Mundial) e registra o observado.
  • manual — curadoria contra comunicados; atualiza-se quando a fonte publica.
ArquivoMecanismoLimiar fresh / aging (dias)Candidato a cron?
seismic-events.json, seismic-catalog.jsonscript (ingest-seismic*.ts)2 / 7Sim — o candidato n.º 1 (auto-refresh de réplicas)
shakemap-*.json, pager-estimates.json, dyfi.jsonscript (ingest-seismic-deep.ts)3 / 14Sim (mesma execução das réplicas)
feeds.json, ifrc-appeal.json, gdacs.json, sitreps.jsonscript (ingest-feeds.ts, ingest-sitreps.ts)2 / 7Sim, diário enquanto a operação seguir aberta
trm.jsonscript (ingest-pledges.ts)1 / 4Sim, diário (dia útil)
procurement.jsonscript (ingest-procurement.ts)1 / 3Sim — re-pull frequente durante urgência manifesta (ver roteiro)
external-trackers.jsonscript (ingest-feeds.ts)1 / 3Sim, diário
satellite-damage.jsonscript (ingest-satellite.ts)2 / 7Sim enquanto houver produtos pendentes do EMSR916
demographics.json, schools.json, fiscal.jsonscript90 / 365Não — fontes anuais; uma execução trimestral de verificação basta
health-facilities.jsonscript30 / 90Não — corte periódico do registro
services-status.jsonmanual reverificado (ingest-services.ts)2 / 7Parcial: a sondagem sim; a consolidação é juízo editorial
pledges.json, cat-ddo-terms.jsonmanual reverificado (ingest-pledges.ts)3 / 14 · 7 / 30Parcial: a validação de cadeias sim; linhas novas são curadoria
situation-reports.jsonmanual (transcrição citada)2 / 7Não — substituir pelo boletim da UNGRD é o caminho, não um cron
donation-channels.jsonmanual7 / 30Não — muda só se a Presidência publicar canais
promesas-tecnologicas.jsonmanual7 / 30Não — atualiza-se por marco do relógio (próximo: dia 30)

O padrão de cron (referência, sem adotar ainda)

O repositório já tem o mecanismo: vercel.json declara crons da Vercel (hoje um, { "path": "/api/alerts-digest", "schedule": "0 13 * * 1" }). Esse é o padrão a seguir quando a atualização for automatizada — nenhum é adicionado nesta onda, porque as ingestões da Colômbia são scripts de repositório que escrevem arquivos assados e commitados: um cron da Vercel só invoca uma rota serverless, então automatizar exige primeiro decidir entre (a) uma rota /api/ que re-ingere e serve do cache sem tocar a árvore, ou (b) um job agendado de CI que executa ingest-all.ts e commita o diff (que, graças à idempotência, só existe quando a fonte realmente se moveu). Essa é uma decisão de arquitetura, não de conteúdo, e fica registrada aqui como pendente.

O termômetro: data-health-colombia.json

bun run scripts/colombia/bake-colombia-health.ts lê os 24 arquivos da trilha, junta a marca ingest.retrieved_at de cada um com sua cadência declarada e assa a classificação fresh | aging | stale por arquivo (mais o intervalo de as_of por linha onde existe, como em services-status.json). Os limiares são por fonte: uma TRM de três dias atrás está vencida, uma série anual do Banco Mundial de três meses atrás está fresca. O arquivo declara citations: [] porque é derivado local — não há fonte upstream a citar.

Registro pendente no gate. data-health-colombia.json ainda não figura nos SPECS de scripts/colombia/check-real-data.ts. O motivo original — outro branch da mesma onda editava esse arquivo — ficou para trás com a integração da onda 4; o que resta é uma decisão de desenho do gate: registrá-lo obriga a abrir uma exceção à regra genérica «linhas ⇒ ao menos uma citação» para arquivos derivados com citations: [], e uma exceção ao gate se abre de propósito, no seu próprio PR, nunca de passagem numa integração. Até lá, o checker de MANIFEST não o exige e o bake roda fora do prebuild.

Roteiro: próximos dados

Priorizado por impacto sobre esforço. «Porteira» nomeia o que precisa acontecer fora do repositório para a linha ser possível.

#CandidatoO que desbloqueiaEsforçoImpactoPorteira
1Boletim UNGRD / EDAN legível por máquina, quando publicadoSubstitui o pronunciamento transcrito como fonte de registro do balanço oficial — a substituição n.º 1 declarada no MANIFEST. Com dois ou mais cortes, a Sala de Crisis desenha tendência real em vez de um pontoBaixo–médio (a forma SituationReport já existe)AltoA UNGRD publicar; hoje a cadeia documental termina num discurso
2Re-pulls SECOP II durante urgência manifesta + bandeiras OCDSA linha de base são 2 processos de urgência manifesta em 2026-08-11; o pico virá com os 12 meses de contratação direta do Decreto 1171. Re-pull frequente + bandeiras vermelhas do padrão OCDS (proponente único, adjudicação ultrarrápida, concentração por contratado, preço desviado da mediana) sobre dados reais — hoje o motor de risco roda sobre fixturesMédio (ingest-procurement.ts existe; faltam cadência e regras)Alto — a superfície anticorrupção centralNenhuma: o SECOP II é público
3DANE população municipal totalFecha a lacuna n.º 1 de REAL_DATA_GAPS: denominadores reais por município em vez da coorte escolar 5–16Médio (download de planilha, não API: parser + citação da vigência)AltoNenhuma, mas é ingestão manual versionada
4Auto-refresh de réplicas (USGS em cron)O catálogo deixa de envelhecer entre execuções manuais; a camada sísmica da Sala se mantém sozinhaBaixo (o script idempotente já existe; falta o mecanismo do padrão de cron)MédioA decisão de arquitetura (a)/(b) acima
5Comunicados da Medicina LegalContadores forenses (corpos recebidos / identificados / entregues, com. 06: 230/205/140) como manual_cited, para que o Buscador de pessoas reconcilie as quatro cifras paralelas de desaparecidos — oficial 287–496 vs. 4.211 no rastreador cidadãoMédio (sem API; transcrição citada por comunicado)Médio–altoA Medicina Legal seguir publicando comunicados numerados
6Alertas IDEAMCamada de ameaça secundária (chuvas/deslizamentos sobre os 5 departamentos) para Logística e Abrigos — os 24+ deslizamentos que isolaram o epicentro são o precedenteMédioMédioUma API/feed do IDEAM alcançável do host de ingestão
7Camadas censitárias granulares do DANE (quadra/seção)Planejamento fino de abrigos e registro: densidade e vulnerabilidade sob cada AOI satelitalAlto (geodados pesados, cruzamento espacial)Alto no médio prazoNenhuma, mas exige ferramental geoespacial novo
8Cruzamento Registraduría / SISBÉN para dedup do RUDO gargalo apontado pela pesquisa: o RUD é manual, offline, sem dedup, operado por 403 municípios, e porteira de todo benefício por domicílioAltoAltoPorteira dura: convênio (MOU) com o Estado. Não são dados públicos e a plataforma não os ingere — esta linha existe para dizer explicitamente que só procede dentro de um piloto oficial com acesso regrado. Até lá, o dedup demo do Registro segue sendo demo

Duas lacunas conhecidas seguem abertas fora desta tabela porque não dependem de nós: o catálogo do SGC (endpoints inalcançáveis do host de ingestão — restauraria a sismicidade M2–M4 que o USGS não vê) e o appname do ReliefWeb (trâmite humano da OCHA; aprovado, a cobertura volta sem tocar código). Ambas estão medidas com citações próprias.

Princípios de conteúdo

Estas são as regras editoriais da trilha real. Todas são impostas pelo gate (check-real-data.ts) onde uma máquina pode impô-las; onde não pode, estão escritas aqui e no MANIFEST.

1 · Duas trilhas, zero mistura

Real e demo vivem em diretórios separados com o mesmo envelope de esquema. synthetic nunca se infere; o banner de demonstração o lê do envelope. Um arquivo da trilha real com linhas e sem citação registrada quebra o build. A consequência operacional: migrar uma superfície é mudar uma rota (FIXTURE_TO_REAL), nunca copiar linhas de uma trilha à outra — os cortes reconstruido_demo da fixture de balanços jamais cruzam, e o checker verifica.

2 · sin_datos é um estado de primeira classe

Um resultado vazio é um achado. Chocó com 3 processos no SECOP é o dado (o departamento do epicentro é o de menor capacidade contratual instalada do país), não um erro de consulta; 9 dos 33 ativos de serviços são assados sem cifra porque circularam na sala de crise sem fonte citável, e o validador rejeita uma linha sin_datos que leve cifra igual que rejeita uma linha com cifra sem citação. Preencher um buraco com um substituto plausível destruiria a única coisa que a plataforma vende. Uma superfície que precisa de um dado que não existe mostra a lacuna (REAL_DATA_GAPS).

3 · Ofertas não são recibos

Todo compromisso financeiro leva status explícito: ofrecido, confirmado, desembolsado, denegado. O gate rejeita qualquer linha multilateral ou bilateral marcada desembolsado porque nenhum desembolso ao Estado consta no registro — os USD 1,3 bilhão das manchetes são ofertas. A disciplina se estende à moeda (todo montante leva currency + unit; «mil millones» jamais se traduz «billones») e aos agregados de imprensa, que vivem como contexto e nunca como linhas somáveis. A oferta negada (as 100 t de El Salvador) é assada com sua citação: uma recusa também é parte do balanço.

4 · Procedência de citações: o caso «cada peso»

O caso de estudo que fixa a regra. A manchete do Infobae de 13 de agosto — «cada peso girado quedará expuesto» — circulou como se fosse um compromisso de transparência do Governo. Não é: a frase é de Lorena Gutiérrez, decana da Universidad de San Buenaventura, descrevendo como funciona o artigo 215 (revisão automática da Corte, controle do Congresso, jurisdição dos órgãos de controle). O Governo não fez nenhum compromisso de painel, dados abertos, veeduria nem auditoria para o Fondo Milagro. A citação que é mesmo do Presidente é anterior ao sismo: em 23 de julho, sobre um repasse à UNGRD, exigiu «garantizar la trazabilidad de cada peso» (El Universal). Confundir as duas teria posto na boca do Governo uma promessa que não existe — e teria entregado de graça o argumento da plataforma, que é precisamente que essa promessa falta.

A regra que fica: toda citação textual leva autor, cargo, data, veículo e link; uma manchete nunca se atribui ao citado; e a paráfrase se marca como tal. Nos dados, isso é o campo de citação textual de promesas-tecnologicas.json e as citações por linha de services-status.json e pledges.json; na prosa, é esta disciplina.

5 · Citações vivas

Uma citação não é um adorno estático: leva retrieved_at, URL e licença, e onde a fonte é alcançável se reverifica em cada execução — os boletins da Aerocivil contra sua frase de carga, as linhas do dossiê cadeia por cadeia, o índice de documentos do Banco Mundial em cada bake de pledges. Se o texto de um boletim muda, a execução o marca em vez de sustentar a transcrição em silêncio. As fontes inalcançáveis (INVIAS 403, ReliefWeb sem appname) mantêm sua citação registrada precisamente para que a lacuna seja mensurável. data-health-colombia.json é a agregação desta disciplina: a idade de cada bake contra o ritmo de sua fonte.

O plano do Dia 30 — 2026-09-06

O plano tecnológico do Governo corre com um relógio de 100 dias; o corte dos dias 1–30 («Encender el motor») vence por volta de 6 de setembro de 2026, com quatro entregáveis anunciados: o Decreto de Transparencia Digital, o piloto de blockchain na Ecopetrol, Ana IA ativada e o inventário nacional de conectividade. A pesquisa de agosto o chamou de o sinal binário mais limpo sobre se este Governo constrói infraestrutura de transparência ou a narra. Nesse dia a suíte tem que capturar o resultado, seja qual for.

O que o relógio deve capturar (/colombia/reloj)

PassoDetalhe
1 · Veredicto por promessaCada compromisso com vencimento no dia 30 passa a cumplido (com o instrumento como citação: número do decreto, evidência do piloto, URL do inventário) ou a vencido (com a busca do instrumento registrada e datada — a ausência também se cita)
2 · Sem estados intermediários sem citaçãoen_curso em 6 de setembro exige evidência publicada de avanço; «dizem que avança» não é um estado
3 · Casos já conhecidosA Ana IA já «existe» em domínio de um fornecedor sem presença gov.co nem aviso de privacidade — se isso for apresentado como cumprimento, a linha o registra com essa nota, não com um check
4 · Bake no mesmo diapromesas-tecnologicas.json se atualiza e se assa em 6 de setembro, não depois; a data da atualização é parte do registro

O que o briefing deve capturar (/colombia/briefing)

  • O veredicto do dia 30 como bloco principal: o que se prometeu para os dias 1–30, qual instrumento apareceu, qual não.
  • O relógio do artigo 215: se o decreto de emergência econômica foi publicado (em 13 de agosto seu número seguia sem publicação), sua janela de 30 dias já venceu ou está por vencer — e com ela a condição prévia do CAT DDO (promulgação do decreto), que toca cat-ddo-terms.json e pledges.json.
  • A tendência de urgência manifesta: re-pull do SECOP II contra a linha de base (2 processos em 11 de agosto); um mês depois do sismo, a contagem e sua curva são o indicador anticorrupção mais legível da suíte.
  • Os produtos satelitais do Chocó: as entregas de Quibdó e Istmina eram esperadas em 14 de agosto — no dia 30, ou estão em satellite-damage.json ou sua ausência é um achado que o briefing diz.
  • O estado da substituição do balanço: já existe boletim da UNGRD legível por máquina ou a fonte de registro segue sendo um discurso de três semanas atrás?
  • O financiamento do apelo MDRCO036 (CHF 0 financiados no corte de agosto) e a trajetória de restauração de serviços.
  • O termômetro completo: nessa manhã rodam ingest-all.ts + bake-colombia-health.ts; nenhuma cifra do briefing do dia 30 pode sair de um bake stale.

A execução do dia

bash
bun run scripts/colombia/ingest-all.ts --refresh   # todas as fontes ao vivo
# curadoria: promesas-tecnologicas.json · services-status.json · pledges.json
bun run scripts/colombia/bake-colombia-health.ts   # frescor da trilha
bun run scripts/colombia/check-real-data.ts        # o gate, antes de publicar

Cada número com sua fonte — a rastreabilidade é o contrato.