feat(release): orquestrador fechar release idempotente, auditado e fail-safe [TMFP-65900] #164
Loading…
Reference in a new issue
No description provided.
Delete branch "feat/TMFP-65900-orquestrador-fechar-release"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
O que muda
Terceira peça do "fechar release" no ci-shared (ADR 0022; epic TMFP-60560): o orquestrador. Ele usa o
GitProviderPort(TMFP-65898) e o blocorelease:do ci-config (TMFP-65899).scripts/release/fechar_release.py(lógica) escripts/release/fechar-release.py(CLI). Só stdlib.tmf-ia, fixo no código; falha fechada;tag_pattern; cria se não existe; mesmo SHA → pula; outro SHA → recusa sem escrever nada;dispatch_branche confere o run;hub_close: true): transiciona as issues passadas explicitamente para o status-alvo (padrãoapproved;doneé recusado, é decisão humana) e comenta o resumo em cada uma; issue já no alvo é pulada.pendente, o exit é 1, e a reexecução retoma.Nenhum workflow chama o orquestrador ainda: isso é a TMFP-71790. Ponto para ela: o dispatch roda na ponta da
dispatch_branche a prova do run procura o SHA da tag, então o workflow deve garantir que a tag está na ponta dessa branch.Prova local
Critérios de aceite cobertos por teste: duas execuções seguidas sem segunda tag, run ou transição; dispatch falho com a tag mantida, passo pendente e conclusão na segunda execução; tag em outro SHA recusada sem escrita.
TMFP-65900
🤖 Generated with Claude Code
https://claude.ai/code/session_01ES1xwVdpQV69zEsuLLKzx2