Construo coisas com dados e IA, e desconfio delas antes de publicar.
95,2% deles fecham entre os minutos :40 e :44 de alguma hora.
No grupo de controle, onde o atendente encerra na hora, são 7,8%, quase exatamente o esperado ao acaso. A data de fechamento não registra quem resolveu. Registra uma rotina automática varrendo o que estava velho. Todo o SLA daquela operação media a coisa errada.
O escriba nunca esconde qual regra tomou a decisão.
Ele transforma gravação, PDF e foto de quadro na anotação final, já commitada. O roteamento é uma cascata de três camadas, e o relatório sempre diz qual delas decidiu. Quando erra, o comando de correção conserta o arquivo, os links e a regra. O APRENDIZADOS.md lista seis defeitos que três rodadas de revisão não pegaram.
213 testes que nós quebramos de propósito para saber se prestavam.
Fluxo de emergência para segurança da mulher nas estações da CPTM, no ar em cptm-sos.onrender.com. Cada correção foi verificada por mutação, quebrando o que acabou de ser consertado e conferindo que a suíte reprova. Foi assim que apareceram testes que mediam o elemento errado.
Não confiar que algo funcionou só porque está documentado.
Uma função de anonimização que se recusa a gravar se sobrar um CPF. Um scraper que espera a contagem de linhas parar de crescer, porque tempo fixo gravaria 20 fundos de 547 sem erro e sem aviso. A mesma análise reescrita em SQL, com um script que reprova se as duas implementações discordarem.
Detecção de intrusão e detecção de fraude são o mesmo problema.
Classificação binária em base desbalanceada, onde acurácia engana e o falso positivo tem custo real, e onde explicar a decisão não é opcional. A partir de setembro de 2026 integro um grupo de pesquisa do Ibmec sobre Machine Learning Explicável aplicado à detecção de ataques em redes.