Como funciona
Como o RADAR funciona.
Uma visão técnica para desenvolvedores. O RADAR executa agentes de programação e só fecha uma tarefa depois de ele próprio executar de novo o teste de aceitação dela. O “concluído” de um agente é uma declaração; a nova execução é a prova.
01 O ciclo
Um ciclo para todas as tarefas.
Toda tarefa passa pelo mesmo ciclo, e cada etapa só é executada se a anterior tiver passado.
- 01 · abrir Tarefa e teste de aceitação Escrito antes de o trabalho começar
- 02 · atribuir Um responsável, worktree próprio Lease e fence token
- 03 · trabalhar O agente trabalha Na sua própria cópia do projeto
- 04 · declarar O agente diz que terminou Registrado como declaração, não como resultado
- 05 · verificar O RADAR executa o teste de novo Na revisão atual
- se passar Fechada A prova fica guardada no registro
- se falhar · tentativa n de 3 Reaberta, com a falha anexada O mesmo agente tenta de novo a partir da etapa 03
- depois de 3 tentativas Outro agente assume Até mais 3 tentativas, a partir da etapa 03
- depois de mais 3 A tarefa espera por você O registro recusa novas tentativas
- Abrir
- Uma tarefa é aberta com o objetivo e um comando de aceitação que pode ser executado de novo. O comando é verificado quando a tarefa é aberta, sem ser executado: um critério que não pode rodar como está escrito é recusado nesse momento, e não descoberto no fim.
- Atribuir
- Cada tarefa tem um único responsável por vez, por meio de um lease e de um fence token. Uma escrita de um responsável desatualizado é recusada.
- Trabalhar
- O agente trabalha no seu próprio git worktree, na sua própria branch.
- Declarar
- O aviso do agente de que terminou é registrado como uma declaração. Uma declaração não fecha a tarefa.
- Verificar
- O próprio RADAR executa o comando de aceitação, na revisão atual do trabalho. O relatório do agente é lido, mas não é prova.
- Fechar ou reabrir
- Se o teste passar, a tarefa pode ser fechada, e o registro de verificação fica guardado como prova. Se falhar, a tarefa é reaberta com a falha anexada.
- Limites
- Três tentativas do worker e, depois, três tentativas de outro agente que assume a tarefa. A partir daí, o registro recusa novas tentativas e a tarefa espera por você. Trocar de modelo, de sessão ou de máquina não zera a contagem, e cada nova tentativa precisa dizer o que mudou.
02 O registro
Um registro em que todos os agentes escrevem.
Todos os agentes leem e escrevem no mesmo registro de tarefas: um arquivo SQLite local. Ele é o registro único de quem está com cada tarefa, do que foi declarado e do que o teste mostrou.
- Tarefas
- O objetivo e o comando de aceitação, escritos antes de o trabalho começar.
- Responsável
- O responsável atual de cada tarefa, com o seu lease e o seu fence token.
- Tentativas
- Contadas por tarefa, entre agentes, modelos e máquinas.
- Declarações
- O aviso de um agente de que o trabalho está feito, mantido separado dos resultados.
- Registros de verificação
- Cada execução de aceitação, vinculada ao commit e à árvore de trabalho em que rodou.
- Alterações
- Uma alteração no comando de aceitação é registrada com a versão antiga e a nova; uma liberação manual também é registrada.
Memória
Decisões e lições são notas em Markdown com uma fonte e um escopo. Um índice local as pesquisa offline, e um hook coloca as relevantes diante de um agente antes que ele aja. Como as notas são Markdown simples, você pode abri-las no Obsidian.
03 Isolamento
Cada tentativa na sua própria cópia.
- Cada tentativa trabalha no seu próprio git worktree, na sua própria branch. Dois workers nunca compartilham uma árvore.
- Um worker não pode reescrever o próprio comando de aceitação. Só o gestor pode alterá-lo, e apenas antes de a tarefa ser fechada; toda alteração guarda a versão antiga e a nova.
- O trabalho só chega à sua branch principal depois que a verificação passa, e o comando de aceitação roda mais uma vez após o merge.
- Force-pushes são recusados para todos os papéis.
- Essas regras rodam como código, antes e depois de um modelo ser chamado. Não são um prompt, então um agente não consegue contorná-las com argumentos.
04 Agentes
Os agentes que você já usa.
O RADAR executa Claude Code, Codex CLI, OMP e Hermes Agent, no seu computador ou em servidores Linux próprios. Ele não os substitui: eles continuam fazendo o trabalho.
- Claude Code
- Codex CLI
- OMP
- Hermes Agent
- Um só contrato
- As mesmas regras, o mesmo registro, o mesmo controle de verificação e os mesmos limites de tentativas valem para os quatro.
- Gestor
- O agente com quem você conversa é o gestor: ele abre tarefas, entrega-as aos workers e só fecha uma tarefa com um registro de verificação aprovado.
- Workers
- Os workers fazem o trabalho nos seus próprios worktrees. Eles não podem fechar tarefas nem alterar o seu comando de aceitação.
05 Local em primeiro lugar
Local em primeiro lugar.
O RADAR não precisa de conta nem de nuvem.
- Na sua máquina
- O registro, as notas de memória, os worktrees e cada execução de verificação, no seu computador ou em servidores Linux próprios.
- Precisa de rede
- Seus agentes, que se comunicam com os próprios provedores como já fazem hoje. Qualquer outro serviço externo é opcional e fica desligado até você ativá-lo.
- Requisitos
- Windows ou Linux (o macOS ainda não é compatível), Python 3.12 ou mais recente, e Git. O RADAR usa apenas a biblioteca padrão do Python.
- Custo
- Nenhuma cobrança própria. Os agentes continuam usando as contas em que você os conectou. Uma API paga só é usada se você indicar o provedor e um orçamento.
- Instalação
- Dê ao seu agente de programação o link do repositório e diga “instale isto”. Ele verifica o seu computador, pergunta antes de instalar o que estiver faltando, instala o RADAR em um ambiente virtual e informa o que radar init e radar doctor dizem.
06 Comandos
Uma lista curta de comandos.
Os comandos que você vai usar primeiro. Os marcadores de posição ficam entre colchetes angulares.
| Comando | O que faz |
|---|---|
radar init | Configura o diretório do RADAR e o registro. |
radar doctor | Verifica a instalação e lista os serviços opcionais não configurados. |
radar task new --project P --goal "…" --accept "<command>" | Abre uma tarefa com o seu comando de aceitação. |
radar dispatch <task> | Entrega uma tarefa a um agente, que trabalha no seu próprio worktree. |
radar status | Mostra o sistema inteiro. |
radar verify <task> | Executa de novo o comando de aceitação na revisão atual. |
radar task done <task> --evidence "<verification report>" | Fecha uma tarefa. Recusado até a verificação passar. |
radar collect | Coleta o trabalho concluído. |
radar integrate | Integra o trabalho verificado na main. |
radar stop | Pausa o trabalho e ativa o STOP. |
radar go | Remove o STOP e lista o que pode continuar. |
radar memory search --local "<words>" | Pesquisa as notas de memória offline. |
radar uiradar web | Abre o painel de controle no terminal ou em um navegador. |
radar help --all | Lista todos os comandos. radar <command> -h mostra os detalhes. |
07 O que ele não faz
O que o RADAR não faz.
- Não substitui os seus agentes. Eles continuam escrevendo o código; o RADAR dá a eles um único registro, uma verificação que não podem pular e uma memória.
- Não escreve os seus testes. Uma verificação só é tão boa quanto o seu teste; o RADAR torna o teste explícito antes de o trabalho começar, para que uma pessoa possa lê-lo.
- Não fecha trabalho que não tem teste. Uma tarefa sem um comando de aceitação executável é recusada quando é aberta.
- Não mantém os seus agentes offline. Eles continuam se comunicando com os próprios provedores, como fazem hoje.
- A edição aberta é para desenvolvedores individuais, não para equipes; uma edição para empresas está em desenvolvimento.
08 Situação
Em acesso antecipado
Acesso antecipado agora. Código aberto no lançamento público.
O RADAR está em acesso antecipado. Ele será publicado como código aberto sob a licença Apache-2.0 no lançamento público. Para participar, escreva para nós.