Strata apagou rastros do Claude no histórico do GitHub
O projeto Strata reescreveu todo o histórico do Git para remover a coautoria do Claude dos commits. Entenda o caso e o debate.
A história começou de um jeito bem banal. Um usuário do Strata, projeto open source acompanhado de perto pela comunidade de IA local do Reddit, foi rodar o script embutido de atualização (o famoso "UPDATE") e deu de cara com um erro do Git: não existia mais um ancestral comum entre a versão que ele tinha na máquina e a versão do repositório oficial.
Curioso, ele foi investigar. E descobriu que todos os commits históricos do projeto tinham sido reescritos para remover o texto "Co-Authored by Claude" das descrições.
Ele publicou o achado no r/LocalLLaMA com uma opinião direta: achou a atitude "bem nojenta" e disse não conseguir pensar em outro motivo para isso além da intenção de ser desonesto sobre a origem do projeto. O post passou de 600 votos positivos e reuniu centenas de comentários.
O que é esse "Co-Authored-By"?
O Git permite que uma mensagem de commit termine com algumas linhas especiais chamadas trailers. Uma das mais conhecidas é a de coautoria:
Corrige o cálculo de memória no carregamento do modelo
Co-Authored-By: Claude <[email protected]>
O GitHub entende essa linha e mostra o commit como feito a quatro mãos, com o avatar dos dois autores. Ferramentas de programação com IA, como o Claude Code, costumam adicionar essa assinatura automaticamente quando ajudam a escrever o código.
Ou seja: aquela linha funcionava como um carimbo de "feito com ajuda de IA", gravado na história do projeto.
Por que reescrever o histórico quebra tudo
Para entender o erro que o usuário viu, vale uma analogia.
Pense no histórico do Git como uma corrente. Cada elo (commit) tem uma identidade única, o hash, que é calculada a partir de tudo que está dentro dele: o código, o autor, a data, a mensagem e o hash do elo anterior.
Por causa disso, se você muda nem que seja uma vírgula na mensagem de um commit antigo, o hash dele muda. Como o próximo commit guarda o hash do anterior, o hash dele também muda. E o do seguinte. E assim por diante até o último commit. Mexer no começo da corrente significa forjar uma corrente nova inteira.
Foi isso que aconteceu com o Strata. Para remover a coautoria de todos os commits, o projeto precisou gerar uma história completamente nova e substituir a antiga no GitHub com um force push. Para quem já tinha o repositório clonado, a sua cópia e a cópia oficial passaram a ser duas correntes sem nenhum elo em comum. O Git, com razão, se recusa a juntar duas histórias que não têm parentesco.
Seu clone quebrou? Como resolver
Se você usa o Strata (ou qualquer projeto que fez algo parecido) e o git pull passou a falhar, o caminho mais simples é alinhar sua cópia com a nova história oficial.
Atenção: o comando abaixo descarta qualquer alteração local que você tenha feito. Se você mexeu em algum arquivo, faça backup antes.
git fetch origin
git reset --hard origin/main
Troque main pelo nome do branch principal do projeto, se for diferente. Se preferir não arriscar, apagar a pasta e clonar o repositório de novo resolve do mesmo jeito.
Curiosidade: como ver a coautoria em qualquer projeto
Quer saber quanto de um repositório foi assinado com coautoria de IA? Dá para buscar direto no histórico:
git log --grep="Co-Authored-By" -i --oneline | wc -l
O comando conta quantos commits têm a linha de coautoria. Em projetos que ainda preservam esse registro, é um termômetro interessante.
O debate: desonestidade ou detalhe?
A discussão no Reddit foi muito além do Strata e expôs uma divisão real na comunidade.
De um lado, muita gente concordou com o autor do post: apagar retroativamente a assinatura parece uma tentativa de esconder como o projeto foi construído. Em open source, onde a confiança é construída justamente pela transparência do histórico, isso pega mal.
Do outro lado, surgiu um argumento bem mais interessante do que um simples "deixa o cara". Um dos comentários mais votados disse que o problema está na própria palavra "coautor": um modelo de IA não assina o código nem assume responsabilidade por ele. Para esse grupo, se a transparência importa, uma nota simples dizendo que o trecho foi assistido por IA já bastaria.
Outro usuário completou a ideia: humanos recebem o direito de autoria justamente porque podem ser responsabilizados. Negar isso a uma IA não seria preconceito, e sim consequência do fato de que ela não responde por nada.
E teve quem defendesse um meio-termo prático. Alguns desenvolvedores contaram que usam contas de e-mail separadas para cada agente de IA, para organizar o histórico e saber exatamente qual commit veio de onde.
O problema não é usar IA
Vale deixar claro: usar IA para programar não é crime nem vergonha. Hoje uma parte enorme do código novo do mundo passa por algum assistente. O ponto sensível aqui é outro.
É como um restaurante que sempre anunciou "massa feita na casa com ajuda de máquina" e, de repente, reimprime todos os cardápios antigos apagando a parte da máquina. Ninguém estava reclamando da máquina. O incômodo é a sensação de que alguém quis reescrever o passado.
E isso conversa com uma discussão que já trouxemos aqui no blog. Em Marca d'água invisível: a IA da Anthropic te vigiando?, o debate era o oposto: usuários incomodados com marcas escondidas que revelavam o uso de IA. Agora, a polêmica é sobre esconder esse uso. Os dois casos mostram que a sociedade ainda não decidiu qual é o protocolo certo para dizer "uma IA participou disso".
O que fica de lição
Para quem mantém projetos open source, o episódio deixa alguns aprendizados práticos:
- Reescrever histórico público quase sempre sai caro. Quebra clones, forks e scripts de quem confia no seu projeto. Se for inevitável, avise antes e explique o motivo.
- Defina sua política de IA desde o início. Se você não quer coautoria automática nos commits, ferramentas como o Claude Code permitem desativar essa assinatura nas configurações. Decidir isso no primeiro dia evita ter que "limpar" depois.
- Transparência é o ativo mais valioso de um projeto aberto. Assim como aprendemos com a compra do Tailwind pela Shopify (que discutimos em Shopify comprou o Tailwind CSS), a comunidade aceita muita coisa, desde que seja feita às claras.
Se você acompanha projetos que estão bombando no GitHub, ferramentas como o Trendshift ajudam a perceber esse tipo de movimento antes de virar polêmica.
Fontes e Links: