Ir para o conteúdo principal
DOCOD Runtime

O runtime não torna agentes mais inteligentes.Torna o processo verificável quando eles não são.

O DOCOD Runtime é a implementação open source de referência do método DOCOD.

Ele deriva o estado de engenharia diretamente dos arquivos do projeto, verifica relações, hashes, aprovações e evidências, e impede que um gate continue verde quando aquilo que o sustentava mudou.

  • Sem banco próprio.
  • Sem índice mantido à mão.
  • Sem memória de agente como fonte de verdade.

The files are the state.

Open source · zero-install (Node ≥18, YAML vendorizado) · model-neutral

O método define a disciplina. O runtime torna parte dela executável.

O runtime é uma implementação de referência, não a disciplina.

Define · Orchestrate · Confirm · Observe · [re]Define

O método organiza como intenção vira decisão, como o trabalho é coordenado, como resultados são confirmados, como o sistema é observado e como aprendizado volta para o próximo ciclo.

  • Ele não redefine a disciplina.
  • Não substitui julgamento humano.
  • Não aprova nada por conta própria.

Seu papel é tornar verificável aquilo que não deveria depender da memória, da interpretação ou da palavra de um agente.

Nada disso é novo. Esse é o ponto.

PRD, requisitos, design reviews, ADRs, planos de teste, runbooks e postmortems não foram inventados para a era da IA.

É o SDLC, o Software Development Life Cycle.

A disciplina que engenharia de software usa há décadas para transformar intenção em sistemas que podem ser construídos, testados, operados e evoluídos.

O DOCOD não substitui esse ciclo.

Ele o reorganiza para um ambiente em que agentes participam cada vez mais da execução.

SDLC clássicoMovimento DOCODArtefatos que você já conhece
Planejamento e viabilidadeDefinebusiness case
Requisitos e análiseDefinePRD, FRD, user stories
Design e arquiteturaOrchestratesystem design, data design, security design, API contract, ADR
ImplementaçãoOrchestratetasks, code, evidence
Testes e verificaçãoConfirmtest plan, QA, design review, code review
Deploy e operaçãoObserveSLOs, runbooks, playbooks, release notes
Manutenção e evolução[re]Definepostmortem, impact analysis, novo ciclo

A tabela mostra onde cada artefato costuma nascer.

ADRs, RFCs, trade-offs e impact analysis são transversais. Eles aparecem quando uma decisão exige, não porque existe uma fase fixa reservada para eles.

A equação se inverteu duas vezes

Durante anos, equipes abandonaram partes do lifecycle por uma razão legítima: manter a disciplina custava mais do que escrever o código.

Os documentos viraram entrada de execução

Um desenvolvedor humano preenche uma lacuna com experiência, contexto informal, conversa de corredor ou julgamento acumulado.

Um agente não recebe nada disso por padrão. Ele recebe contexto.

Quando esse contexto está incompleto, ele não para necessariamente. Ele infere. E uma inferência plausível ainda pode produzir software errado.

Quanto mais execução você delega, mais explícita precisa ser a engenharia que orienta essa execução.

O custo de manter a disciplina caiu

Agentes também ajudam a entrevistar, estruturar requisitos, comparar documentos, encontrar inconsistências, manter artefatos e propagar mudanças.

O que antes parecia apenas documentação sobre o sistema passa a participar da própria execução dele.

A especificação deixa de ser papelada sobre o trabalho. Ela passa a programar o contexto dentro do qual o trabalho acontece.

Da disciplina descrita à disciplina verificada

O SDLC tradicional descreve uma disciplina. O runtime acrescenta mecanismos para verificar se partes dela continuam verdadeiras.

Ele não apenas registra que algo foi aprovado.

Ele verifica se a aprovação ainda corresponde ao conteúdo atual.

Não apenas registra que um artefato depende de outro.

Ele detecta quando o input vivo mudou.

Não apenas pede que um agente cite evidência.

Ele verifica mecanicamente aquilo que pode verificar.

E quando a capacidade necessária não existe:

ele não fabrica um pass.

DOCOD não substitui o SDLC. Ele torna o SDLC operacional para engenharia de software com agentes.

Não há um segundo sistema de estado para sincronizar

O estado é recalculado dos arquivos, sempre.

Toda vez que o runtime roda, ele lê o projeto novamente.

  • O estado não vem de um banco.
  • Não vem de um índice atualizado por alguém.
  • Não vem de uma conversa anterior.

Ele é derivado dos arquivos que existem agora.

  • Se um documento mudou, a consequência aparece.
  • Se uma aprovação não corresponde mais ao conteúdo, ela deixa de ser válida.
  • Se um artefato downstream ainda aponta para um input anterior, ele fica stale.

Nada precisa lembrar que o evento aconteceu. O estado atual emerge do que está no disco.

Você pode diagnosticar antes de adotar

Um sistema legado não precisa ser convertido inteiro antes que o runtime ajude. O modo diagnóstico aponta para o repositório e devolve o mapa com proveniência: o que foi observado, o que foi inferido, o que veio de alguém de fora. Sem criar pins, sem criar gates, sem congelar baseline.

Pre-read, not pre-approved.

O que é método e o que pertence a um harness

Quatro camadas, e elas não são um pipeline.

Method

A disciplina neutra. O ciclo e os princípios que independem de modelo, linguagem ou ferramenta.

Contracts

Agentes, regras, skills e contratos que definem responsabilidades, entradas, saídas e condições.

Adapter

A camada que materializa o método dentro de um harness. Slash commands, subagents e integrações pertencem aqui.

Instance

O projeto real. Sua configuração, seus artefatos, suas decisões e seu estado.

Files → Derive → Gate → Human decision

E depois lê os arquivos novamente.

A governança tem corpo, não só princípios

Papéis contratados, skills neutras, e um verificador que não é o produtor.

28 agentes
Cada um tem uma responsabilidade e entrega um artefato. Não é persona com prompt elaborado: é papel com contrato, entradas, saídas e condições.
39 artefatos
Cada um com dono declarado. Artefato sem dono é artefato que ninguém mantém, e é onde a governança costuma vazar primeiro.
13 skills
Prática reutilizável que vários agentes podem precisar. Não é documento nem fase: é craft, e é neutra em relação a modelo, linguagem e ferramenta.
Quem produz não confirma
O executor da tarefa constrói e coleta evidência. Quem verifica é outro contrato, e ele confere o comportamento contra o requisito, não contra a narrativa de quem escreveu o código. A aprovação continua sendo ato humano.

Troca o adapter. O método permanece.

O que muda entre harnesses é o adapter. O método, os contratos e o estado derivado dos arquivos não mudam. Um harness passa a ser suportado ganhando um adapter, não reescrevendo a disciplina.

Acrescente os seus.

A lista de papéis não está codificada no runtime: agentes, skills e artefatos são DECLARADOS em registros. Um projeto pode acrescentar os seus escrevendo o contrato e registrando-o, do mesmo jeito que os que vêm na caixa. O que o método fixa é a forma do contrato, não quem está nele.

São essas peças que dão corpo à governança. Sem elas, o que sobra é ethos.

DOCOD não é outro agente que escreve software para você

Governança em volta dos agentes. Não um agente melhor.

  • O runtime não tenta tornar um modelo mais inteligente.
  • Não aumenta magicamente a capacidade de raciocínio do agente.
  • Não transforma probabilidade em determinismo.

Ele coloca contratos, estado derivado, evidência e gates ao redor da execução.

Porque a pergunta importante não é apenas:

O agente consegue fazer isso?

É também:

Como sabemos o que ele deveria fazer, o que realmente fez, e se ainda podemos confiar nesse resultado depois que o projeto mudou?

Confiança precisa sobreviver à troca de agente

Nada se auto-aprova.

Aprovação pertence ao conteúdo

Quando uma pessoa aprova um artefato, o runtime grava quem aprovou, quando, e o hash do conteúdo aprovado.

Se o arquivo for alterado depois, o hash deixa de corresponder. A aprovação anterior não continua verde por conveniência: ela se torna inválida, e aquilo que depende dela é reavaliado.

Mudança upstream aparece downstream

Artefatos registram os inputs dos quais dependem. Quando um input vivo muda, o runtime detecta mecanicamente que a relação ficou stale.

Entender como aquela mudança deve ser propagada continua exigindo análise. Detectar que a premissa antiga não é mais a mesma, não: o input reaparece como stale e o downstream é re-bloqueado.

Verificação não é “o agente disse que passou”

O runtime verifica mecanicamente aquilo que consegue provar: se o frontmatter realmente parseia, se o status é permitido pelo método, se o hash da aprovação ainda bate com o conteúdo, e se os hashes dos inputs ainda batem com as fontes vivas. A lista completa de checks e warnings vive no manual.

Algumas condições falham o gate. Outras aparecem como warnings. E um pass também declara seus limites: pass silencioso não ensina.

Ausência de evidência não é sucesso

NOT VERIFIED é melhor do que uma garantia inventada.

Se uma capacidade necessária para verificar alguma coisa não existe no ambiente, o runtime não trata ausência de evidência como sucesso.

Sem ambiente de carga
performance not verified
Sem a ferramenta necessária
check not run
Sem a capacidade que o harness deveria oferecer
a limitação aparece para o usuário

Missing capability is not permission to improvise.

Governança executável não é autonomia total

O que o runtime não promete.

  • aprovação autônoma
  • LLMs determinísticos
  • zero alucinação
  • automação integral do SDLC
  • verificação formal
  • reconstrução perfeita de sistemas legados
  • identidade criptográfica do aprovador
  • independência epistemológica real entre dois agentes do mesmo modelo
  • uma fábrica de software que remove humanos da responsabilidade

Ele automatiza trabalho.

Não responsabilidade.

DOCOD Runtime

O método organiza a responsabilidade.O runtime torna seus gates verificáveis.

  • Agentes podem mudar.
  • Modelos podem mudar.
  • Harnesses podem mudar.

O projeto continua precisando saber:

  • o que foi decidido,
  • o que mudou,
  • o que ainda é válido,
  • o que está bloqueado,
  • e por que alguém deveria confiar no resultado.

É para isso que o runtime existe.

Open source · zero-install (Node ≥18, YAML vendorizado) · model-neutral