Pull requests — como revisar, decidir e aplicar — MOJ docs

Pull requests — como revisar, decidir e aplicar

Este é o padrão para todo PR nos repositórios do MOJ (cdmoj, mojtools, judge, moj-cli), de contribuidor de fora ou de dentro. Vale para quem mantém e para os agentes (Claude Code). Nasceu da revisão dos PRs #33–#39 do cdmoj em 29/09/2026: ali a revisão adversária achou defeitos reais em PRs que pareciam certos, e as decisões do mantenedor trouxeram premissas que nenhum revisor tinha.

Quem envia um PR: veja Para quem contribui no fim.

Princípios

  1. Quem decide é o mantenedor, PR a PR. Nada é aplicado, mesclado, fechado ou comentado por conta própria.
  2. Adversário antes de opinião. Cada PR passa por revisores cujo trabalho é tentar QUEBRÁ-LO, com evidência. Ler o diff e achar bonito não é revisão.
  3. Validação das recomendações. O que o revisor concluiu passa por um validador que confere as afirmações que sustentam a recomendação na fonte primária (arquivo:linha, git show).
  4. Nada vai ao GitHub antes de o mantenedor ver tudo pronto: diffs, testes, rascunhos dos comentários.
  5. Mesclar não é deployar. Deploy é decisão à parte, e nunca com prova no ar. Ver DEPLOY.md.

1. Levantamento

2. Revisão adversária

3. Decisão

4. Execução (depois da aprovação)

5. Publicação (só com o OK do mantenedor)

  1. Push dos nossos commits no branch do PR (git push; o gh pr checkout já apontou para o fork).
  2. gh pr merge N --merge: merge commit, o padrão desde o #31/#32.
  3. Confira que git diff <integração> origin/master está VAZIO: o que foi ao ar é o que foi testado.
  4. Comentários educados, em português, concretos (arquivo:linha e o porquê):
  5. Depois:

Para quem contribui

Um PR entra mais rápido quando: