KELVINCode
by entropy lab

PARA DESENVOLVEDORES

Developer Companion e Intent Runtime

O Companion é a camada do dev: o Cloud organiza a missão e o Mac autorizado mantém a fonte, as ferramentas e o trabalho local sob controle explícito.

Em preparação

O fundamento do Intent Runtime está publicado: sete tools kelvin_intents_* abrem uma sessão durável, compilam o pedido num Mission Graph versionado e entregam um nó por vez, com claim atômico e receipt idempotente. A execução ainda não está disponível. Nenhum nó é despachado para um Mac, não existe nó de build, o Evidence Gate ainda não gateia e não há reaper de lease. Hoje o Companion planeja, registra e coordena; ele ainda não executa a missão nem fecha a prova.

Uma intenção, um grafo versionado

Em vez de um agente improvisar um loop sem fim, o Kelvin compila o pedido num Mission Graph imutável, identificado por digest. O template do Alpha cobre feature e fix, e desenha sete nós: intake, preflight, reprodução (só em fix), trabalho do agente, revisão, teste e evidence gate. Cada nó declara dependências, orçamento, timeout, retry e critério de término — destes, o runtime hoje aplica o limite de retry; orçamento e timeout ficam registrados no grafo e ainda não interrompem uma sessão.

Cloud · Mission Graph

recebe
A intenção resumida e o projeto que a pessoa escolheu; não o workspace privado por padrão.
devolve
Plano, estados, claim atômico com lease e receipts idempotentes — nunca um shell.

Mac · Developer Companion

recebe
Um diretório de trabalho escolhido pelo desenvolvedor e um grant de uso único, com quinze minutos de validade e uma lista fechada de operações.
devolve
Digests da árvore antes e depois, e um LocalWorkReceipt. A assinatura ainda não vale como prova: a chave nasce a cada início do app e nenhum lado verifica o receipt. Hoje ele registra o trabalho; ele ainda não o atesta.

O loop que o agente segue

  1. Planejar: “corrija este bug” vira nós, orçamentos e critérios que podem ser lidos antes de qualquer execução. Planejar é read-only: não cria sessão, job nem grant.
  2. Reservar: o Cloud entrega um nó por vez com claim atômico — dois pedidos concorrentes, um vencedor — mais lease e receipt idempotente, e um report que chega tarde é recusado. Reservar worktree, build lane ou Simulator ainda não existe: o grant local aponta para o seu diretório de trabalho, não para uma cópia isolada.
  3. Executar: kelvin_companion_prepare e kelvin_companion_attest existem só no MCP local. Eles resolvem o caminho canônico, recusam symlink, limitam a um punhado de operações declaradas e calculam o digest da árvore antes e depois. Os adapters Codex e Claude ainda não existem: hoje quem edita é a ferramenta que você já usa, dentro do diretório concedido.
  4. Verificar: o grafo já traz os nós de revisão, teste e evidence gate — e é aí que o contrato para. Nada obriga a revisão a ser de outro agente, e o gate ainda não gateia: o Cloud aceita hoje o resultado que o agente declara, sem artefato. Até o Evidence Gate entrar, o estado é demonstrado, não verificado.
  5. Recuperar ou terminar: um report repetido é idempotente e devolve o mesmo receipt, e sessão terminal não reabre. O recovery, não: sem reaper de lease, um agente que morre no meio de um nó deixa a sessão presa até intervenção. Restart de cliente, control plane, Node e Runner é gate de release e ainda não passou.

O que falta antes de “entregue com prova”

A lista é curta e pública: despacho dos nós para um Mac; nó de build e execução dos filhos de Evidence e Room; adapters reais de Codex e Claude; verificação do receipt contra a identidade enrolada do Node; aprovação que de fato bloqueia; reaper de lease e reconciliação; scheduler e mailbox de frota; UI de Intent no dashboard; e o Protocol Mirror, que aprende um protocolo privado só depois, por replay e canário. Nada disso altera os contratos de Evidence, Live, Room ou Artifact, que continuam funcionando com o Companion desligado.

Privacidade e superfícies

Local_private fica no Mac. Cloud_user_submitted é uma escolha explícita para enviar apenas o resumo necessário ao control plane. O Companion não transforma a autoridade do Live MCP em acesso à máquina: o grant local fixa um diretório canônico, recusa symlink e permite uma lista fechada de operações, e é o Mac que decide o que abre.

“O código não vai para o Kelvin Cloud” não é o mesmo que “o código não sai da máquina”. O agente é seu: Codex, Claude ou outro cliente MCP pode enviar fonte ao provedor de modelo que você escolheu, sob o contrato e a configuração desse provedor. O Kelvin não faz proxy desse tráfego nem copia esse contexto para o seu cloud — mas não o impede. Mostrar provedor e fronteira de dados antes do grant, e permitir que uma organização exija adapter local-only, faz parte do desenho e ainda está em preparação.

Artifact/Evidence pode ler e gerar derivados de uma fonte selada sem um Mac ativo. Live/Dojo continua sendo a experiência de sala e execução. O Companion é a terceira camada: ferramentas locais para quem desenvolve com Claude, Codex ou outro agente.