Investigue e corrija

Execuções de correção

Um agente por issue chega ao veredito, rastreia a causa e abre a pull request, em uma única thread que você lê de cima a baixo.

Uma execução de correção é o agente trabalhando uma issue. Cada issue recebe no máximo uma: uma thread do tipo fix_run que chega ao veredito e, em um problema confirmado, continua trabalhando até a correção na mesma conversa.

O que faz

A thread é onde você lê toda a história: o trabalho conforme acontece, as evidências a um clique de distância na sua linhagem, e o resultado ao final. A execução lê o alerta ou a descoberta, a consulta por trás dela, métricas e logs recentes em torno do disparo, mudanças recentes e o seu código. Antes de agir, ela escreve a cadeia causal na thread: o sinal, o mecanismo, o componente e o caminho de código que o produzem, o gatilho e o raio de impacto, cada elo respaldado por evidências nomeadas ou marcado como desconhecido.

Como funciona

  1. Uma execução começa quando uma verificação ou um alerta conectado produz uma descoberta, quando um agente em uma thread de chat abre uma issue a partir do problema que você está discutindo, ou quando você escolhe Investigate em uma issue.
  2. O agente lê as evidências e chega a um de dois vereditos, confirmed ou dismissed. Uma descoberta que corresponde a uma issue existente se junta a ela em vez de iniciar uma segunda execução.
  3. Em um problema confirmado, o mesmo agente rastreia a causa e escreve a cadeia causal.
  4. Quando uma mudança de código corrige a causa em um repositório conectado, a execução abre a pull request por meio do autofix. Quando nenhuma pull request pode corrigi-la, a execução levanta um escalonamento que nomeia o que uma pessoa precisa fazer.
  5. Toda etapa entra na linha do tempo de atividade da issue, ao lado de detecções, redetecções e das suas próprias notas.

Resultados

Após cada turno do agente, o Polylane classifica a execução.

ResultadoDescrição
resolvedCausa raiz encontrada e o problema está corrigido ou se recuperou.
diagnosedCausa raiz encontrada, mas a correção ainda não chegou.
inconclusiveO agente não conseguiu se decidir sobre uma causa.
false_positiveA descoberta não apontava para um problema real.
failedA execução terminou em um erro.

Uma execução também pode pausar, o que impede o monitoramento de cutucá-la para reinvestigar até que a issue se resolva.

Estado de pausaDescrição
needs_human_actionA correção exige algo que só você pode fazer.
needs_decisionO agente precisa de uma decisão sua antes de continuar.
awaiting_changeO agente está aguardando uma correção ser entregue, por exemplo uma pull request aguardando revisão. Este estado pausa em silêncio.
failedA execução encontrou um erro que não conseguiu contornar.

Os três estados que precisam de uma pessoa são registrados como escalonamentos, mostrados no cartão de resultado na thread e listados no preset Needs you, para que o mesmo pedido nunca notifique você duas vezes.

Onde encontrar

As execuções de correção aparecem em Threads ao lado das threads de chat, e o preset Needs you lista as que aguardam uma pessoa. A Lineage na barra lateral da thread guarda o registro por trás da execução: Issue abre as evidências e a linha do tempo da issue, Escalation abre o que o agente pediu de você com Mark as handled, e Check abre a avaliação que detectou o problema. O menu da issue carrega Investigate, Investigate again, View investigation e View triggering check.

Configurar

Em Settings > Workspace, o cartão Investigations define Investigate automatically from: a menor severidade que inicia uma execução de correção por conta própria. Issues abaixo dela mantêm seu veredito e ficam retidas, e a thread delas oferece Start investigation para que alguém do seu time as assuma. Vereditos nunca são retidos: toda issue confirmada é visivelmente confirmada, e o piso só adia o trabalho que vem depois.

Relacionado

  • Issues para o registro que toda execução de correção trabalha.
  • Threads para ler, parar e compartilhar a execução.
  • Escalations para os pedidos que uma execução pausada levanta.
  • Autofix para a pull request que uma execução abre.