1

Pitch: Daedalus: um plano de controle local que transforma especificação em código revisado e testado

Fala, galera! Quero compartilhar um projeto open source que venho construindo

Daedalus: https://github.com/ozzono/daedalus

O que é

O Daedalus é um control plane local, escrito em Go e orquestrado pelo Temporal, que transforma uma especificação em código funcionando, revisado e testado, sem nunca tocar na sua cópia de trabalho.

A ideia central: você passa um repositório, um ID de issue e a descrição da tarefa. O Daedalus cria um worktree git isolado e roda ali dentro dois loops com gate de revisão, tudo confinado via ai-jail (o único caminho gravável é o próprio worktree):

  1. Implementação: um agente (Claude Code por padrão; também suporta opencode, Amp, pi e aider) implementa a mudança, enquanto um agente revisor aprueba o código. O loop roda até a aprovação.
  2. Testes: o agente escreve a suíte de testes, que precisa passar na suíte nativa do repositório e na aprovação do revisor de testes. Se o revisor perceber que falta mudança de implementação, ele devolve o finding para o loop de código e o processo recomeça de onde parou.

Como o Temporal oferece execução durável, cada passo é auditável na UI dele e sobrevive a reinícios do worker. Uma execução que morre ou se estaciona (cota do provider estourada, revisor travado) preserva o trabalho, e o daedalus continue retoma de onde parou.

Como usar

# instala o CLI
go install github.com/ozzono/daedalus/cmd/daedalus@latest

# sobe um servidor Temporal local
temporal server start-dev

# cria a config, ajusta e inicia o worker
daedalus init
mkdir -p ~/.config/daedalus && cp config-example.yaml ~/.config/daedalus/config.yaml
daedalus worker

# dispara um pipeline
daedalus run /caminho/do/repo 42 "Adicione um endpoint /health que retorna 200."

Ao final, o trabalho aprovado fica preservado num branch tipo daedalus/issue-42-1726320000. Dá para acompanhar tudo pela UI do Temporal (http://127.0.0.1:8233) ou usar daedalus list, daedalus attach e daedalus guide para listar, reconectar e direcionar uma execução em andamento sem reiniciá-la.

Por que pode te interessar

  • Segurança: o agente roda "preso" num worktree descartável, e seu checkout nunca é alterado.
  • Qualidade: nada é entregue sem aprovação de revisor + testes verdes, em duas fases.
  • Resiliência: execução durável; crashes e limites de quota não perdem o trabalho.
  • Flexibilidade: multi-agente (claude, opencode, amp, pi, aider) e multi-provider via config.
  • Experiência de uso: o trabalho passa a ser de arquitetura e decisão e, ao final, a depender da necessidade, de verificação do resultado.

O projeto está em evolução, e feedback é muito bem-vindo, seja sobre a arquitetura, a UX do CLI ou ideias de features. Sinta-se convidado a usar e, havendo melhorias e sugestões, a contribuir.

Repo: https://github.com/ozzono/daedalus

Carregando publicação patrocinada...