Dados B3 › O que erramos ·
English
O que erramos e consertamos
São 68 defeitos que encontramos no nosso próprio banco. Cada um está aqui com a data em que foi achado e com o invariante que hoje impede que volte — clique no código para ver o teste na página de transparência.
A frase “confia, a base é boa” não vale nada vinda de quem vende a base. Esta lista vale, porque quem esconde erro não publica tabela de erros.
Ela não é curada. O critério de entrada é mecânico: o invariante conta uma história datada. Eu não escolho o que aparece — para um defeito sair daqui, o teste dele teria que ser apagado, e isso reprova a bateria antes de qualquer publicação.
2026
- 2026-09-07
I-N43
ACHADO VARRENDO O SITE INTEIRO. Procurei palavras que só existem em português nas 75 páginas `?lang=en`. Oito acusaram, e sete eram FALSO POSITIVO do jeito mais instrutivo possível: `COMPANHIA ENERGÉTICA DE BRASÍLIA` é o nome legal da empresa e `Patrimônio líquido` é o nome da conta na CVM. Nome próprio e rótulo de fonte primária não se traduzem — traduzi-los seria inventar um dado que a fonte não tem. - 2026-09-06
MCP10
ELA JÁ ESTAVA ERRADA. O llms.txt anunciava 10 ferramentas quando o conector expunha 15: `scores`, `fii`, `fiis_ranking`, `screener_fiis` e `auditar_amostra` ficaram invisíveis para toda IA que lê o llms.txt — que é exatamente a porta de entrada delas. Um terço do produto existia e não era anunciado, e nada avisava, porque as duas listas envelhecem em silêncio uma longe da outra. - 2026-09-06
I-N42
O CONTEÚDO QUE UM CONCORRENTE NÃO COPIA. Cada invariante desta casa nasceu de um defeito real e guarda a história com data no docstring. Eram 65 histórias, escritas ao longo de meses, e nenhuma tinha saído do código. "Confia, a base é boa" não vale nada vindo de quem vende a base; a lista dos próprios erros vale. - 2026-09-06
I-N41
A PÁGINA FICAVA UM ANO PARADA. A série anual só existe depois que o exercício fecha, então uma companhia que entregou o 2T em julho continuava exibindo o último ano cheio, e as 455 páginas ficavam IDÊNTICAS por doze meses. O dado trimestral estava no banco desde sempre — faltava chegar em quem lê. Página que muda a cada trimestre é o que um buscador e uma IA têm motivo para revisitar; a que muda uma vez por ano, não. - 2026-09-06
I-N40
UMA FERRAMENTA PUBLICADA E MORTA. O servidor MCP expõe `metodologia()`, que chamava este índice e fazia `.json()` no retorno — e o retorno era HTML, sempre. Qualquer IA que chamasse a ferramenta recebia erro de parsing, não resposta. O defeito sobreviveu porque LER uma página (`/metodologia/{nome}.md`) sempre funcionou: só o índice quebrava, e nada no site exercitava esse caminho. - 2026-09-06
I-N37
O MOTIVO RECORRENTE DE VOLTAR. Depois de 820 páginas abertas e um buscador, o site era um dicionário: consulta-se e vai-se embora. Esta página é o que muda isso, e é o que uma IA cita quando alguém pergunta "o que aconteceu com a empresa X esta semana". - 2026-09-06
I-B64
TODO DEPLOY DE DOMINGO RECONSTRUÍA O BANCO INTEIRO. A memória de "esta semana já foi feita" era uma variável local do laço, e ela zera junto com o processo. Publiquei quatro vezes num domingo e o build começou quatro vezes, cada um matando o anterior. Numa instância de 1 CPU o efeito é direto no visitante: medi p50 de 1,9 s, p90 de 7,6 s e picos de 13 s — inclusive no `/robots.txt`, que é uma constante e não toca no banco. Site lento também gasta orçamento de rastreamento, e havia 40 páginas "detectadas, mas não indexadas" esperando. - 2026-09-06
I-B63
A TENTAÇÃO TEM NOME E TEM CONCORRENTE. A ITR não traz o 4º trimestre isolado; ele sai de `DFP − acumulado até o 3T`. A conta fecha por construção e é o que um concorrente direto faz. Nós não fazemos: o número derivado entraria na MESMA lista dos que a companhia reportou, carregando o erro de dois arquivos e apagando a fronteira entre "a empresa publicou" e "nós calculamos" — que é a fronteira que este banco inteiro existe para manter. Quem quer o ano fechado tem a série anual, que é o dado reportado. - 2026-09-05
TR35
A PROMESSA ESTAVA ACIMA DO DADO. A nota dizia "cada linha carrega o ticker e o código CVM, então os conjuntos se cruzam entre si e com a sua própria base". Era falso para 1 linha em cada 6 — 11.739 de 71.085 em `indicadores`, espalhadas por 96 companhias. - 2026-09-05
I-N36
REFERÊNCIA TEM NOME. O /sobre explicava a empresa operadora e não dizia quem faz o site. Site sem dono visível é a primeira coisa que buscador e IA descontam, e a última pendência do raio-x de 03/09. A ordem das credenciais é de propósito — a CPA-20 fala com o mercado, a perícia fala com "auditável" — e a profissão de origem fica de fora, porque não é credencial deste produto. - 2026-09-05
I-N34
AS 820 PÁGINAS NASCERAM ILHAS. Cada uma só era alcançada pelo hub ou pelo sitemap. Para o buscador, página que nenhuma outra página cita é a última da fila — e era o que o Search Console mostrava: 40 "detectadas, mas não indexadas". Para a pessoa, quem olha a WEG quer ver a Randon ao lado. O agrupamento sai da classificação da própria CVM. - 2026-09-05
I-B61
O BURACO QUE O DETECTOR ANTIGO DEIXAVA. O `escala_divergente` acha o exercício com DEZENAS de contas fora de escala, e o desenho a jusante se apoia numa premissa: se TUDO está mil vezes errado, o fator se cancela na divisão, então ROE e margem seguem válidos e são publicados. - 2026-09-04
TR34
O PONTO CEGO DO TR16. O TR16 é o teste que exige "toda página HTML pública medida", e ele descarta, por construção, TODA rota com parâmetro no caminho: - 2026-09-04
I-N32
É O PEDIDO LITERAL : "tem que aceitar várias camadas de filtros até sobrar os que a pessoa tem interesse". Um buscador em que o segundo filtro SUBSTITUI o primeiro parece funcionar — devolve resultado, não dá erro — e não faz o serviço. É o tipo de defeito que só aparece quando alguém confere a contagem. - 2026-09-04
I-N31
A RESTRIÇÃO QUE DEFINIU O DESENHO. A escolha natural para um buscador é montar a tabela no navegador: mais fácil de escrever e mais fluido de usar. Só que aí a IA e o buscador recebem uma página vazia — e a superfície pública aberta em 03 e 04/09, com 820 páginas, vale justamente porque o conteúdo está no HTML. - 2026-09-04
I-N30
A CONTRADIÇÃO QUE ISTO ENCERRA. As 500 amostras de auditoria estavam no sitemap com um raciocínio correto — "ferramenta que só abre URL indexada para na porta se a URL não estiver no sitemap", que travou dois dos três auditores externos. Só que a página da amostra é `noindex`, e página `noindex` NUNCA é indexada, esteja no sitemap ou não. As duas intenções se anulavam: a ferramenta continuava parando na porta e as 500 URLs ocupavam 36% do sitemap, numa casa onde o Google já reportava 40 páginas "detectada, mas não indexada". - 2026-09-04
I-N29
POR QUE ESTE, E NÃO O QUE EU IA ESCREVER. Eu tinha escrito um invariante exigindo que esta rota abrisse a PÁGINA para `Accept: */*`, por analogia com o /fiis. A bateria me parou, e estava certa: as duas situações são diferentes. No /fiis, `*/*` recebia 401 — porta fechada. Aqui recebe os 63 KB inteiros, e o JSON não é consolo, é O ARTEFATO: `audit_id`, `sample_key` e `sample_score` são a prova que o auditor cita depois, e o protocolo publicado manda pedir `application/json`. - 2026-09-04
I-N28
A QUARTA VEZ NESTA FAMÍLIA, e desta vez o erro foi meu, horas depois de escrever a página. A rota nasceu negociando por `_quer_html`, que exige `text/html` EXPLÍCITO. Medido em produção: - 2026-09-04
I-N25
MESMA JOGADA DA PÁGINA DE EMPRESA , com uma diferença: a URL é a mesma do JSON, e o formato sai do `Accept`. Navegador lê; agente consome. Se alguém trocar a ordem (JSON para navegador, ou gate no HTML), os 101 links do hub voltam a dar num 401 explicado — explicado, mas fechado, que é o que deixava os fundos invisíveis para buscador e IA. - 2026-09-04
I-B59
O INVARIANTE QUE FALTAVA, e a falta dele custou 25 dias. A bateria tinha 266 verificações sobre o CONTEÚDO dos números — se o balanço fecha, se a identidade do imposto bate, se a flag aparece — e NENHUMA sobre a IDADE deles. Nenhuma perguntava "esse dado é de quando?". - 2026-09-03
PR06
46 CHECKOUTS ABERTOS, ZERO PAGOS. No último passo o cliente via um nome que o site nunca havia mencionado. O nome público no Stripe virou "Dados B3", mas a razão social continua sendo outra e é ela que aparece na nota — então a página diz isso ANTES, em vez de deixar a descoberta para o instante do cartão. - 2026-09-03
PR05
O FUNIL MEDIU O CUSTO DO ATRITO. O plano grátis é uma assinatura de R$ 0, e o caminho para ela era o mesmo checkout do Pro — sem pedir cartão, mas com a cara de um formulário de pagamento. Resultado: 47 pessoas abriram, 16 concluíram. Um terço. Pedir que alguém atravesse uma tela de cobrança para pegar algo grátis é atrito sem contrapartida nenhuma. - 2026-09-03
MED15
POR QUE. A estratégia virou "tornar quem já usa dependente do produto e monetizar depois". Isso exige saber se alguém VOLTA — e essa era exatamente a pergunta sem instrumento: o contador vivia num dicionário em memória (`api._uso_diario`), zerado a cada restart. Sabíamos que 16 chaves foram criadas e NADA sobre o que aconteceu depois. - 2026-09-03
I-N22
É O PONTO INTEIRO DA PÁGINA. Ela existe porque o site era invisível de três jeitos ao mesmo tempo: o sitemap tinha 568 URLs e 503 eram amostras de auditoria (zero de empresa), quem buscava "ROIC da WEG" achava sete concorrentes e não nos achava, e a IA perguntada pelo ROE do Itaú batia num 401 e respondia com outro site. - 2026-09-03
I-N20
POR QUE. O painel devolve as 30 páginas mais vistas, e a última tinha 28 visitas. Página de fato nasce com cinco: some da lista, e "não apareceu" vira "ninguém acessou" na cabeça de quem lê — eu quase reportei zero para onze páginas por causa disso. A correção foi listar cada uma explicitamente, o que só funciona enquanto a lista estiver completa. - 2026-09-02
I-H11
POR QUE. `covenant` e `companhia_fora_do_universo` não dependem de nada que o rebuild refaz — saem de arquivos versionados em `derivado/`. O caminho oficial (subir DATA_VERSION) custaria ~26 minutos de reconstrução num build que já morreu de OOM e que, numa das vezes, derrubou uma auditoria externa em andamento. O boot carrega o que faltar. - 2026-09-01
TR33
ELE ESTAVA ERRADO A NOSSO FAVOR POR TRÊS SEMANAS. A tabela dizia que a bolsai não tinha conector MCP, tinha metodologia só "parcial" e custava ~R$ 43 trimestral. Hoje: conector MCP nativo instalável em uma linha, metodologia publicada citando conta CVM, e R$ 49/mês com plano grátis de 200/dia — praticamente o nosso preço. - 2026-09-01
I-N19
DEFEITO DE DESCOBERTA ACHADO EM PRODUÇÃO. A primeira versão negociava por `_quer_html`, que exige `text/html` EXPLÍCITO: - 2026-09-01
I-N16
A IDEIA VEIO COM A PREMISSA DESATUALIZADA, E ISSO A MELHOROU. Chegou como "a partir de 2026 as empresas têm que reportar, aparecendo em 2027". Era verdade até 29/05/2026, quando a Resolução CVM 244 REVOGOU a obrigatoriedade — não adiou. - 2026-09-01
I-N15
O FATO QUE A PÁGINA CARREGA : o Banco do Brasil publicou o lucro em 3.09.01 até 2019 e em 3.11.01 de 2020 em diante; o Itaú ficou em 3.09.01 a série inteira. Quem raspa a CVM com código fixo acerta o Itaú, erra o BB de 2020 em diante, e NÃO RECEBE ERRO — recebe vazio ou o número de outra linha. - 2026-08-31
I-N14
ESCREVÊ-LA CONSERTOU UM DEFEITO ANTES DE PUBLICAR NADA. Ao montar a decomposição dos 8.012 indicadores suprimidos, 1.062 apareceram com flag NULA — suprimidos sem motivo declarado. Numa página cujo assunto é "por que falta", 13% de "não sei" é a página se contradizendo. - 2026-08-31
I-N13
PRIMEIRA PÁGINA DE FATO, e a régua vem de medição. Em 30 dias as IAs buscaram a home 209 vezes, o /comparativo 15, a /metodologia/multiplos 14 — e os VINTE guias conceituais somaram 7. A IA já sabe o que é P/L; ela busca quem responde o que ela NÃO sabe. - 2026-08-30
PG01
O PORTÃO FOI ENXUGADO POR UM MOTIVO REAL, E ENXUGAR É PERIGOSO. Quatro reconstruções seguidas morreram sem registrar falha, com o serviço caindo por inteiro aos ~57 min. `test_navegacao` respondia por 185s dos ~220s da bateria — 84% —, varrendo o site inteiro pelo TestClient com o banco novo de 1,8 GB aberto ao lado. Ele saiu do portão. - 2026-08-30
AUD15
SEM ISTO A REGRA NOVA NÃO ERA ATACÁVEL POR TERCEIROS. Publicávamos as contas que ENTRARAM (`onde_procurar`) e nada sobre as que ficaram de fora. Um auditor querendo derrubar a exclusão de custo de dívida — que mudou 232 EBITDAs — não via o que foi excluído nem por quê. - 2026-08-30
AUD14
O QUE O AUDITOR AINDA NÃO PODIA CONFERIR. Ele provou, de forma independente, que a amostra é o topo da ordenação do universo. Mas o TAMANHO do universo continuava sendo afirmação solta: o /saude publicava 71.293 indicadores e o /auditoria/universo entregava 63.281 chaves, com uma diferença de 8.012 que não aparecia em lugar nenhum. - 2026-08-30
AUD13
A OBJEÇÃO MAIS FINA QUE RECEBEMOS. O sexto auditor conferiu os 10 `sample_score` — todos batiam — e escreveu: - 2026-08-30
AUD12
ACHADO DO SEXTO AUDITOR EXTERNO. No BPAC11 2024, `contas_cvm_declaradas` dizia 3.11.01 e 2.03−2.03.09 enquanto `contas_realmente_usadas` dizia 3.09.01 e 2.08. Declarado ≠ usado. - 2026-08-30
AUD11
O MODO DE FALHA QUE FECHOU SEIS TENTATIVAS EXTERNAS ERA TRANSPORTE, NÃO ARITMÉTICA. Medido em produção: a mesma rota variou de 1,9 s a 48,7 s em seis chamadas, com uma estourando 60 s. Localmente ela leva 136 ms — não é o algoritmo, é contenção numa instância de 0,5 CPU servindo 1,8 GB de SQLite em disco de rede. - 2026-08-30
AUD10
O PROMPT COLOCAVA UMA MENTIRA NA BOCA DE QUEM COLA. Ele abria com "Eu não sou o dono dela e não tenho interesse no resultado" — e quem mais cola este prompt somos NÓS. O quinto auditor externo apontou: a auditoria abriu com "não sou o dono" e o desfecho chegou em primeira pessoa, "culpa nossa, corrigido". - 2026-08-29
MED12
A BRECHA DO MED07, ACHADA AO CONFERIR O /conector. O MED07 cobra o selo de quem USA marcador — e a página que ensina a IA a se conectar escapava por não usar nenhum: tinha "400+ empresas" e "16 anos" digitados. Os valores reais eram 456 e 17. - 2026-08-29
MED07
A REGRA JÁ ESTAVA ESCRITA E APLICADA PELA METADE. O docstring de `_selo_de_versao` diz "para QUALQUER página que carregue contagem ao vivo" — e o selo estava em duas das quatro. `/metodologia` anunciava "{{N_TESTES}} testes" e `/chave` "{{N_EMPRESAS}} companhias" sem nenhuma data: quem caísse numa cópia indexada via um número e não tinha como saber que estava velho. - 2026-08-29
MED04
ELE FICOU MUDO COM 7 FALHAS EM PRODUÇÃO. Acendia com `estado == "falhou"`, mas o laço regrava "rodando" ao começar cada nova tentativa — então o alarme apagava durante todo build em curso. Com o pytest estourando o teto de hora em hora, `/saude` chegou a responder `falhas: 7`, o erro de timeout e `atencao: null` na mesma linha, e a produção passou dois dias servindo base antiga. - 2026-08-29
AUD09
PRIMEIRO ACHADO DE DADO VINDO DE AUDITOR EXTERNO DESDE O GROK. Claude Chat, semente própria 582917, partindo de UM caso: a Suzano 2023 somava "Amortização do custo de transação, ágio e deságio" ao D&A e inflava o EBITDA em 0,34%. Ele não declarou divergência porque não tinha o CSV para mostrar a conta — e registrou a ressalva. Estava certo. - 2026-08-29
AUD08
QUINTA TENTATIVA EXTERNA, E O DIAGNÓSTICO MAIS PRECISO ATÉ AGORA. O revisor (Claude) escolheu a própria semente, montou a URL e a ferramenta dele RECUSOU: ela só abre URL que já apareceu na conversa ou num resultado de busca. Como o buscador não indexou o domínio, não havia caminho por link. - 2026-08-29
AUD07
QUARTA TENTATIVA EXTERNA TRAVADA NO MESMO TIPO DE PORTA. O revisor (GPT, semente 731947) leu a home de 47 KB e NÃO conseguiu ler `/auditoria/amostra/731947/25`. A rota respondia 200 em 1,4s — o problema era ser 142 KB de JSON cru, formato que ferramenta de navegação trunca. - 2026-08-29
AUD05
EU AFIRMEI QUE A REGRA NÃO ESTAVA DOCUMENTADA, E ESTAVA ERRADO. Procurei em `web/metodologia.html` — que é só o molde — e num diretório `conteudo/metodologia*.md` que não existe. O texto vive em `metodologia/fontes_e_padronizacao.md`, item 2, e está no ar desde sempre: "Consolidado primeiro; se a empresa não consolida em um ano, caímos para as individuais". - 2026-08-29
AUD04
ACHOU UM DEFEITO NA PRIMEIRA EXECUÇÃO : a DMPL tem uma dimensão a mais. CD_CVM + ORDEM_EXERC + CD_CONTA isola UMA linha em BPA, BPP, DRE e DFC — e devolveu SEIS na ELETROPAULO 2022, uma por coluna do patrimônio. Eu teria publicado uma coordenada ambígua para todo item vindo da DMPL, o auditor escolheria uma das seis no escuro, acharia um número que EXISTE, e reportaria divergência contra uma base correta. - 2026-08-29
AUD02
ISTO QUASE FOI PUBLICADO COMO "compare o SHA-256 e ele tem de bater". A CVM republica os zips — Last-Modified do de 2024 é 23/08/2026, dois dias DEPOIS da nossa ingestão. Um auditor que baixasse hoje teria hash diferente e concluiria adulteração. - 2026-08-28
I-B53
ACHADO ATACANDO A ITR , e a investigação começou no lugar errado. A auditoria de mutação apontou 11 empresa-anos com a soma dos trimestres valendo 2 a 3 vezes o exercício, e eu registrei como "série trimestral inflada, causa desconhecida". Era o contrário: a ITR estava certa, e a DFP anual é que estava malformada. - 2026-08-27
I-B52
SOBREVIVENTE DA RODADA 4, e o mais produtivo de todos : tripliquei as receitas trimestrais de uma empresa e nada reclamou. - 2026-08-27
I-B51
SOBREVIVENTE DA RODADA 4 : apaguei os 9.870 lançamentos de JCP e nenhum invariante reclamou. O dividend yield de quem paga JCP cairia quase pela metade, silenciosamente. - 2026-08-27
I-B50
SOBREVIVENTE DA RODADA 4 DA AUDITORIA DE MUTAÇÃO : desviei o `pl_ttm` em 40% e nada reclamou. O I-B43 recalcula indicadores ANUAIS a partir dos fatos; a série trimestral não tinha equivalente. - 2026-08-27
I-B48
SOBREVIVENTE DA RODADA 3 : editei uma reapresentação para dizer que os dois valores eram IGUAIS, e nada reclamou. - 2026-08-27
I-B47
SOBREVIVENTE DA RODADA 3 : troquei o `data_version` do banco por um rótulo inventado e nenhum teste reclamou. - 2026-08-27
I-B46
SOBREVIVENTE DA RODADA 3 DA AUDITORIA DE MUTAÇÃO. A rodada 1 encontrou que nenhum indicador era recalculado e nasceu o I-B43. Aí a taxa foi a 100%, e 100% quase sempre significa que o conjunto de ataques é fácil demais — não que o sistema esteja seguro. - 2026-08-27
I-B45
SOBREVIVENTE DA AUDITORIA DE MUTAÇÃO : inverti o sinal do preço de um múltiplo e nenhum invariante reclamou. Preço negativo não é número errado, é número IMPOSSÍVEL — e impossível passando é sinal de que ninguém olha essa camada. - 2026-08-27
I-B44
DOIS SOBREVIVENTES DA AUDITORIA DE MUTAÇÃO : apaguei a flag de um ROE e o aviso de empresa-casca de outro indicador. Nada reclamou. - 2026-08-27
I-B43
ACHADO POR AUDITORIA ADVERSARIAL DE MUTAÇÃO. Injetei defeitos no dado e medi quantos a bateria pegava: 11 de 15. Um dos sobreviventes foi DOBRAR uma margem líquida sem tocar nos fatos — e nada reclamou. - 2026-08-26
I-B42
GAP ACHADO POR AUDITORIA EXTERNA. A regra de escala divergente suprimia indicador absoluto e múltiplo, mas os FATOS continuavam saindo limpos: a CEPE5 de 2019 publicava pl_total = 1.629.052 quando o comparativo do ano seguinte diz 1.629.000.000. Quem lê /fatos ou o /dump recebia o número mil vezes errado sem nenhuma marca — e uma auditoria tropeçou exatamente nisso, listando a queda como anomalia da base. - 2026-08-26
I-B41
COMO APARECEU, E O MODO IMPORTA. O arquivo da CVM repete a mesma conta, no mesmo exercício e mesma ordem, com VALORES DIFERENTES e nada que as distinga — mesmo GRUPO_DFP, mesmas datas, mesma descrição. A REVEE de 2023 publica lucro 1,00 e 0,00 na mesma linha do plano. - 2026-08-26
I-B40
NASCEU DE UMA AUDITORIA QUE NÃO CONSEGUIU CONCLUIR. Uma sessão montou esta ponte para a WEGE3 e parou no meio: o `/fatos` não expunha OCI nem dividendos, então dava para chegar à suspeita e não à conclusão. O achado dela era falso alarme — a queda de R$ 4,6 bi no patrimônio era transação de capital com os sócios, declarada na DFP — mas o BURACO que a impediu de confirmar era real, e a ponte é justamente a checagem que pega erro de patrimônio. - 2026-08-25
TR32
INCIDENTE REAL. Uma mudança quebrou o caminho trimestral do build. O `except` registrava no log, tentava de novo a cada hora, o banco antigo seguia servindo — e o site parecia perfeitamente normal por DEZESSEIS HORAS. O desenho protegeu o usuário, porque nada meio construído foi publicado, mas protegeu bem demais: escondeu o problema de nós junto. - 2026-08-25
TR29
RISCO APONTADO PELO REVISOR EXTERNO , e ele está certo: a página de histórico pode produzir exatamente a impressão de certeza que existe para combater. Publicar "80/80" lê como "a base não tem erro". O que 80/80 significa é apenas "não foi encontrada divergência nestes 80 casos" — não sustenta afirmação sobre a população, ainda mais quando a maior parte das conferências foi feita por nós. - 2026-08-25
TR27
SUGESTÃO DO REVISOR EXTERNO, aceita inteira. O sorteio por hash consertou a reprodutibilidade, mas sobrava um buraco que ele nomeou: daqui a três anos o universo terá outro tamanho, e alguém que tenha publicado uma auditoria não consegue PROVAR que determinado caso pertencia àquela amostra. Sem prova, o resultado publicado vira palavra contra palavra — que é exatamente o que este endpoint existe para eliminar. - 2026-08-25
TR26
ACHADO CONTRA O NOSSO PRÓPRIO INTERESSE. Rodei as três sementes do revisor externo na versão nova da base para mandar a ele o diff caso a caso. Não havia diff: dos 75 casos, ZERO se repetiam. O universo tinha saído de 63.406 para 63.375 linhas e o sorteio era POSICIONAL — remover 31 linhas desloca todas as outras. - 2026-08-25
I-B39
NASCEU DE UM ERRO MEU, no mesmo dia em que escrevi a regra. O crescimento passou a usar o comparativo reapresentado, com fallback carimbado `denominador_sem_comparativo` para quem não tem comparativo. Só que a busca do comparativo casava `fato.item='receita'`, e financeira grava `receita_interm`: as 277 séries de banco caíram TODAS no fallback e nenhuma usou a regra nova. O commit afirmava "banco recebe a mesma regra" — falso. - 2026-08-25
I-B37
NASCEU DE UMA RECONSTRUÇÃO CONTRA O ZIP BRUTO DA CVM , feita depois que um revisor externo conseguiu auditar só 5 dos 75 casos porque a ferramenta dele recusa `application/zip`. Dos 64 reconstruíveis, 63 bateram ao sexto decimal. O 64º não era erro de conta: era ambiguidade de DEFINIÇÃO. - 2026-08-22
I-TR05
Nasceu de dois defeitos achados no mesmo dia , e o primeiro era pior que o segundo.
Os números desta página são ao vivo. Versão do dado 2026-09-01-supressao-declarada · página gerada em 2026-09-08 09:57 UTC. Se isto não bater com o /saude, você está lendo uma cópia em cache.
Início ·
Metodologia ·
Transparência ·
Auditar