A reescrita de 18 meses da base de código da Autonoma: lições sobre testes, dívida técnica e Server Actions

Por que um produto bem-sucedido precisou de uma reescrita completa
A Autonoma, uma empresa que pivotou várias vezes (busca empresarial, geração de documentação, agente de programação, plataforma de testes de QA), desenvolveu um produto por mais de 1,5 ano, fechou clientes, captou recursos de um grande player do setor e contratou uma equipe de 14 pessoas. Apesar dessa tração, eles decidiram descartar toda a base de código e começar do zero.
A era sem testes e suas consequências
Inicialmente, a equipe usava um monorepositório TypeScript sem modo estrito e sem testes. Isso funcionou com 2 engenheiros que dominavam grandes partes da base de código, mas se tornou desastroso após as contratações. A base de código desenvolveu problemas de null, comportamento indefinido e tratamento de erros inadequado, levando a bugs que apareciam "do nada" e até à perda de um cliente. O fundador inicialmente proibiu testes para manter uma cultura de lançamento rápido, mas depois percebeu que isso afetava a qualidade do produto e a produtividade.
Decisões técnicas que motivaram a reescrita
O produto original foi construído durante a era GPT-4 (não 4o), quando os modelos exigiam extensas proteções. Eles construíram wrappers sofisticados de Playwright e Appium com inspeções complexas e 7 estratégias de clique que se autocuravam em tempo real. Com os avanços dos modelos, essa inspeção sofisticada não é mais necessária, tornando a base de código legada com dívida técnica menos valiosa.
Abandonando Next.js e Server Actions
A equipe está abandonando o Next.js e as Server Actions, citando vários problemas:
- Server Actions são assíncronas, exigindo blocos useEffect ou manipulação manual de estado no React
- São difíceis de testar - os testes exigem criar objetos Prisma com bancos de dados em memória ou mock
- Sem capacidade de injeção de dependência
- Executam sequencialmente globalmente, criando um "Python Global Interpreter Lock fabricado, mas em TypeScript"
A nova implementação começa com testes desde o início e usa o modo TypeScript mais estrito.
📖 Read the full source: HN AI Agents
👀 See Also

Claude AI recupera carteira Bitcoin de 11 anos no valor de $400 mil ao encontrar backup e corrigir falha de força bruta
Um usuário recuperou uma carteira de 5 BTC (no valor de ~US$ 400 mil) após 11 anos alimentando todos os arquivos de computador da faculdade no Claude. A IA encontrou um backup de carteira antigo e identificou um bug na lógica de combinação de senhas do btcrecover, permitindo a descriptografia bem-sucedida.

Desbloqueando o Potencial do OpenClaw: Integração com o CodeX
Descubra como os usuários do OpenClaw podem invocar o CodeX de forma integrada para funcionalidades aprimoradas. Explore discussões dos usuários e métodos-chave neste tutorial envolvente.

Projeto SDL Proíbe Commits Escritos por IA em Resposta a Problema no GitHub
O projeto SDL implementou uma política que proíbe commits gerados por IA após uma issue no GitHub levantar preocupações sobre o uso do Copilot em revisões de código. A issue menciona especificamente as revisões #13277 e #12730 como exemplos onde foi detectada assistência de IA.

Claude Sonnet 4.5 apresentando aumento de erros — Atualização de status
Claude Sonnet 4.5 está apresentando erros elevados a partir de 28/04/2026 às 13:29:56 UTC. Verifique a página de status e o megathread do Reddit para atualizações.