Dois tickets verdes ainda podem discordar
Um conflito textual significa que o Git não pode combinar alterações. Um conflito semântico significa que os comportamentos solicitados são incompatíveis, mesmo quando o rebase é bem-sucedido e os testes são aprovados. As árvores de trabalho isolam os arquivos de trabalho; eles não provam que as intenções são compatíveis.
Por exemplo, o ticket A exige a negação de desconto para contas gratuitas; o ticket B exige que seja disponibilizado a todos. Ambas as suítes podem permanecer verdes se percorrerem caminhos diferentes. Defina a regra compartilhada e teste o mesmo caso, em vez de apenas resolver a diferença.
Pré-qualifique e solicite trabalhos relacionados
A pré-qualificação examina tickets ativos e pode identificar dependências funcionais. Quando a sobreposição requer ordenação, A torna-se um pré-requisito para B: B espera que A termine e se integre antes de trabalhar em uma base contendo seu resultado. A edição do mesmo arquivo por si só não requer necessariamente essa dependência.
Uma solicitação ampla pode ser dividida em tickets secundários. O trabalho independente ocorre em paralelo; dependências ordenam o resto. O pai então verifica o resultado combinado. Esta análise reduz colisões, mas não garante que todas as contradições de negócio serão detectadas.
Verifique a versão integrada
O agente faz commit em sua árvore de trabalho com os ganchos do projeto habilitados. A fila de integração serializa tickets para o mesmo projeto; commits são rebaseados no branch base mais recente. Se a base avançou, o agente deverá executar novamente os testes e verificações do projeto afetados e, em seguida, inspecionar os testes adicionados ou modificados por outros tickets. Um rebase limpo é insuficiente.
Os ganchos executam apenas as verificações configuradas: um gancho de formatação não valida uma regra de negócios. A integração e os testes ponta a ponta devem cobrir as interações entre recursos junto com os testes unitários.
O que ainda precisa de uma decisão
Os testes verdes não garantem a ausência de conflitos semânticos. Uma expectativa ausente nos testes pode passar despercebida. Solicitações contraditórias exigem critérios de aceitação explícitos e uma decisão sobre a regra pretendida antes da integração; a revisão humana continua útil para essa decisão. A desativação da mesclagem automática mantém o resultado na guia Revisão.
Ao preparar um ticket, nomeie a função compartilhada, identifique os tickets relacionados e especifique a regra comum e um exemplo de regressão. A contagem de mensagens por ticket não é uma garantia de qualidade nem uma promessa de eliminar todas as revisões.
Consulte o guia de integração e árvore de trabalho, a documentação de orquestração e o artigo sobre dependências e pai tickets.