Achamos um erro de 8 anos escondido na Loteria Federal
A Loteria Federal é a mais antiga do Brasil. Sorteia desde os anos 1960, quartas e sábados, e cada concurso tem um número sequencial oficial dado pela Caixa. Devia ser o tipo de dado mais chato e confiável que existe — número sobe, data acompanha, sem mistério.
Fomos atrás de 22 concursos que faltavam no nosso banco. Achamos um bug nosso. E, escondido atrás dele, achamos um erro de oito anos na própria fonte oficial.
O sintoma: quatro concursos que a Caixa mandou, mas nosso sistema recusou
Dos 22 concursos faltantes, 18 eram gap real — a API da Caixa respondia 404 pra eles, simples assim, não tínhamos o que buscar. Mas 4 concursos (2123, 2482, 2948, 3052) tinham payload recebido, processado, guardado — e mesmo assim não viravam resultado nenhum no banco.
O motivo: nosso sistema identifica cada sorteio da Federal por data, e cada um desses 4 tinha a mesma data de apuração de outro concurso vizinho já processado. Pro nosso parser, “dois sorteios na mesma data” só podia significar uma coisa — duplicata — e ele descartava o segundo.
Só que a Federal às vezes sorteia mais de uma vez no mesmo dia de fato (feriados, arranjos especiais de calendário). Confundir “mesmo dia” com “mesmo sorteio” era o bug: o identificador correto de um concurso é o número que a Caixa dá a ele, não a data. Corrigimos o parser pra usar o número oficial como identidade real e só cair para “mesmo dia” como desambiguador de sequência — nunca como motivo de descarte.
Três dos quatro pares (2122/2123, 2947/2948, 3046/3052) se resolveram exatamente assim: dois sorteios reais, datas coincidentes por acaso de calendário, agora ambos guardados. Mas o quarto par não fechou tão limpo.
O quarto par: 743 números de distância, não vizinho nenhum
O concurso 2482 dividia data com o concurso 1739 — não um vizinho direto, mas quatorze anos de distância. Isso não tem explicação de “duas extrações no mesmo dia”. Uma das duas datas estava simplesmente errada.
Olhamos os vizinhos reais do 2482 pra descobrir qual:
| concurso | data (fonte oficial CEF) |
|---|---|
| 2480 | 15/10/1988 |
| 2481 | 19/10/1988 |
| 2482 | 22/10/1980 |
| 2483 | 26/10/1988 |
| 2484 | 29/10/1988 |
O dia e o mês do 2482 — 22/10 — encaixam perfeitamente na sequência quarta/sábado da Federal entre os vizinhos de 1988. Só o ano destoa: um erro de oito anos, provavelmente digitação ou transcrição perdida no sistema legado da Caixa, décadas atrás, e nunca corrigido.
Não é bug nosso. É a fonte oficial errada na própria origem.
O que fizemos com isso — e o que deliberadamente não fizemos
Corrigimos o fato: analytics.fact_ticket_draws, a tabela que alimenta o site, passou a mostrar 22/10/1988 pro concurso 2482.
Não tocamos no payload bruto. A resposta original da API da Caixa, com 22/10/1980, continua guardada exatamente como veio — de propósito. É a evidência primária do erro, preservada caso a própria Caixa corrija o dado algum dia e alguém queira comparar.
E não corrigimos os outros três pares. A evidência ali é mais fraca — o que destoa é o dia da semana, não o ano, e sem uma checagem de vizinhança tão conclusiva quanto a do 2482 não dá pra afirmar qual data está certa. Achados reais, registrados, mas sem confiança suficiente pra virar correção pública. Ficam em aberto:
- 2122/2123 (ambos quarta 19/12/1984): falta um sábado regular (22/12) entre os dois vizinhos — pode ser extração especial de fim de ano.
- 2947/2948 (ambos quarta 24/08/1994): mesma coisa, falta o sábado 27/08/1994.
- 3046/3052 (mesma data, mas 6 números de distância — não são nem vizinhos diretos): a região ao redor já é irregular por conta própria, com dois sábados seguidos sem quarta no meio e um sorteio caindo num domingo, dia em que a Federal não costuma sortear.
Três pequenos mistérios de calendário, sem solução ainda — matéria pra outro dia.
Por que registrar isso em vez de simplesmente corrigir e seguir
Dava pra corrigir os quatro pares com a mesma lógica de neighbor-check e nunca falar nisso. Optamos por não fazer isso por dois motivos.
Primeiro: mudar a data oficial de um sorteio é uma decisão de integridade de dado, não um detalhe de engenharia — exige evidência forte o bastante pra defender publicamente, e nem todo achado bate essa barra. Segundo: um erro de oito anos escondido há décadas na fonte de dado mais antiga do país não é vergonha nossa nem da Caixa — é só o tipo de coisa que acontece em qualquer sistema legado grande o suficiente. Registrar em público, número por número, é como alguém confia no que a gente mostra na tela sem ter que confiar na nossa palavra.
Se alguém da Caixa Econômica Federal ler isso: o concurso 2482 do seu próprio sistema está marcado com o ano errado desde 1980. Adoraríamos ver corrigido na fonte.
Toda a investigação — números exatos, datas, o que foi corrigido e o que ficou deliberadamente intocado — está registrada e disponível na página de transparência.