1

Concordo. Esse intervalo entre o efeito externo e o commit local transforma um retry em duplicidade. Eu colocaria no contrato de cada ferramenta quatro itens: uma chave idempotente por tarefa, um meio de consultar o resultado anterior, o tipo de efeito (simples ou complexo de desfazer) e uma regra clara para o estado incerto.

Se a API carece desse suporte, o agente deve evitar um novo envio. Ele pode parar, expor o identificador da tentativa e pedir que uma pessoa reconcilie o estado. Uma retomada robusta exige mais que persistir estado; exige prova de que o sistema externo mudou ou permaneceu intacto.

Carregando publicação patrocinada...
1

Concordo bastante. “Prova de que o sistema externo mudou ou permaneceu intacto” é uma boa forma de resumir o problema.

Acho que muita implementação de agente para no “salvei o estado local”, mas o caso difícil está justamente no intervalo entre efeito externo e persistência local.

Esse contrato por ferramenta que você descreveu parece um bom checklist mínimo: chave idempotente, consulta de resultado anterior, tipo de efeito e regra para estado incerto. Sem isso, retry automático vira aposta.