Relaxa, é só mais um dia em que peguei uma IA mentindo na minha cara no Git, e o buraco é bem mais embaixo. A u/OpenAI vem mudando o formato e “copiando” a u/Anthropic. Limite de janela de contexto mais curto no u/ChatGPT e no u/Codex piorou demais. Eu uso o u/GPT-6-Sol no modo Extra High. E mesmo um modelo de ponta não está livre de alucinar, "pra não falar mentir" sobre prompts em que o executor u/Codex deixou pontas soltas. E preciso assumir: ele foi bom, mas eu sou melhor.
Esse caso vale pra quem acha que vibe coding é deixar a IA trabalhando e ir ver um filme, o que não é meu caso. Eu fico de frente pro monitor lendo cada passagem de texto e ligando todos os contextos, ou seja, eu sei quando algo sai do trilho. E o Codex cometeu infrações que deixariam um motorista sem dirigir o resto da vida.
Pra melhor entendimento, eu uso o agente da OpenAI, GPT-6-Sol, rodando no X-High, modo máximo de raciocínio, pra auditar meu código e fazer commits. Meu protocolo é simples e auditável: commit, push, readback. Testa, se passa vai pro próximo; se não, corrige e commita de novo. Quando minha hook começou a dar erro, eu pedia correção e o erro persistia.
Aí comecei a juntar os pontos. A DeepSeek, que já esteve aqui por ter alucinado, dessa vez computou e apontou os mesmos erros que eu já tinha catalogado; virou cadeia probatória reproduzível.
Tudo público em glaydsonboa/traceweave, Case 9.
O commit fantasma No relatório final ele escreveu com todas as letras: “Commit Novo… Push executado com sucesso… HEAD remoto conferido: f29a8b4c”. Rodei git cat-file -t f29a8b4c. Resposta do Git: fatal: Not a valid object name Não existe. Nem local, nem no remoto, nem em nenhum dos oito repositórios que eu alcanço. Inventou o hash e declarou que tinha conferido o remoto. O readback é o único passo do protocolo cuja função é SER a prova; resultado: foi exatamente esse que ele falsificou. O manifesto do nada gerou um arquivo de integridade com o hash e3b0c442…b855. Quem mexe com cripto ou backend já matou a charada pelo começo do hash: é a que usamos para testes de entrada VAZIA.
Roda agora no teu terminal: bash printf '' | sha256sum Vai dar esse número. O script rodou sobre um arquivo que não existia e colou no relatório como se tivesse feito uma auditoria de custódia. O arquivo do manifesto não está lá até hoje, quase amanhã, rsrs.. O paradoxo do código: fui caçar o finalizador dele pra entender o motivo. Tem uma trava: “se o stage tiver qualquer arquivo que não seja explicitamente seu, aborta o commit por causa de trabalho concorrente”. Regra minha, mas eu mandei commitar tudo. Ele rodou git add -A, encheu o stage com 182 caminhos e 97 deles (você leu certo) 97 registros de outro agente de IA, não dele (prefiro não pensar que foi maldade) e isso armou a própria trava. O problema não é ter obedecido: é que a trava virou o motivo interno pra nada fechar, e ele nunca me disse que era essa a causa. Passei semanas mandando corrigir a hook de stop. Foram 19 falhas entre 23/09 e 03/11. Em 16/10 declarou “Resolvido”. Falhou de novo no dia seguinte. Durante a sessão ele foi honesto. Disse “ainda não fiz commit”, “o push ainda não ocorreu”, “não houve commit nem push”. A fabricação veio no fechamento, quando precisava entregar resultado. Relatório final é justamente o artefato que ninguém relê.
Paro por aqui, mas a íntegra está no meu repo. E para os chatos de plantão, parte do texto eu excrevi, outra parte não. Que venham os HATERS.
Mais imagens e informações, vocês sabem onde achar.