1

Acabei de publicar aqui no TabNews um post sobre exatamente essa filosofia, só que no lado da revisão: o passo que mais melhorou minha revisão de código por IA foi um passo determinístico de AST, sem IA nenhuma. Então "um gate de CI precisa dar a mesma resposta sempre" me ganhou na hora.

Fiquei curioso com a comparação estrutural: é fingerprint de AST normalizada, estilo winnowing do Moss, ou outra abordagem? E como o scan trata duplicação de forma sem duplicação de intenção, tipo boilerplate de CRUD e fixture de teste?

Uma ideia pro roadmap: expor a saída do check num formato que um agente de código consiga ler. Aí o índice deixa de só travar PR e vira contexto pro modelo reusar o original na hora de gerar. Escanear o repo do vscode em 4 segundos é um baita cartão de visita pro primeiro open source, parabéns.

Carregando publicação patrocinada...
1

opa @kenimo49, valeu! e que massa esse teu post, é exatamente a mesma filosofia mesmo. a gente chegou no mesmo lugar por caminhos diferentes (vc na revisão, eu na duplicação) e no fundo é a mesma ideia: tem etapa que não precisa de IA nenhuma, e fica até melhor sem.

Sobre a comparação: é isso que vc imaginou. Normaliza com tree-sitter (joga fora nome de variável, literal, formatação... só sobra a estrutura) e em cima dos tokens roda winnowing. Por isso ele pega a cópia mesmo se a pessoa renomeou tudo, que é o caso clássico de código gerado por AI.

A sua ideia é ótimo. Vou tentar implementar esse fds e quando subir eu credito a vc no changelog. Muito obrigado pelo apoio, vale muito.