Decisões ADR-0003 2026-08-29

A organização age; a pessoa é a autora; o agente é o committer

Pushes e pull requests usam a credencial da organização, então nada quebra quando uma pessoa sai. Todo commit nomeia o desenvolvedor como author e a thread do agente como committer, então o histórico continua dizendo quem pediu e quem escreveu.

O que estava na mesa

Duas perguntas que puxam em direções opostas. O token OAuth de uma pessoa pertence à pessoa e morre com o acesso dela — numa organização, todo projeto que dependesse dele pararia. Uma credencial da organização sobrevive a saídas mas, usada sozinha, apaga do histórico do repositório quem pediu a mudança.

Os caminhos que pesamos

Tudo em nome da organização. Rejeitado: nenhum rastro humano no repositório; a rastreabilidade presa dentro da plataforma.

A credencial da pessoa quando disponível, a da organização caso contrário. Rejeitada: mantém a dependência do token de uma pessoa e contradiz a regra de que a integração de uma conta pessoal nunca é usada numa organização.

O que escolhemos, e por quê

Duas escolhas independentes, uma por pergunta — e um terceiro campo que o git já tinha.

Para agir, uma organização usa uma credencial da organização: uma instalação de GitHub App, um group access token do GitLab, um service principal do Azure DevOps. Um token pessoal é permitido como saída de emergência, e a interface mostra de quem a integração depende.

Para atribuir, o author de todo commit é o desenvolvedor que executou a demanda, e o corpo do pull request nomeia quem pediu.

E o committer é a thread — o agente que fez o commit, como identidade da plataforma, nunca uma pessoa. Os dois campos do git respondem a duas perguntas: para quem o trabalho foi feito, e quem o escreveu. Um commit que a plataforma faz sozinha leva a plataforma como committer e a pessoa que agiu como author.

Estas regras governam todo repositório em que a plataforma escreve — os repositórios de código do cliente e o repositório de conhecimento do projeto igualmente — e estão enunciadas num lugar só.

O que custou

Um ponto único de falha por organização: um App ou token revogado para todo projeto daquela conta, então o status da integração é monitorado e o dono é alertado. E o ator do push e o autor do commit são identidades diferentes, o que pode surpreender quem lê a interface do provedor sem o contexto.

Desde então

Quando o conhecimento do projeto virou um repositório git hospedado pela plataforma, os commits dele seguiram estas regras sem mudança.