ajuste no contas

This commit is contained in:
T3782834
2026-09-01 11:24:03 -03:00
parent 9ed4782f9d
commit 397b831fd3
428 changed files with 2294 additions and 4648 deletions

View File

@@ -0,0 +1,22 @@
# Workflow execution ID por transação
## Contrato
`workflow_execution_id` pertence à execução de workflow da transação ativa, não à sessão.
- Nova transação que inicia workflow: nova execução (`WorkflowRuntime.arun(..., execution_id=None)` gera UUID novo).
- Mesmo workflow pausado: `retomar_workflow` reutiliza o `execution_id` via `aresume`.
- Transação encerrada: o ID permanece apenas como histórico/evidência e não pode iniciar outra execução.
- Uma nova transação não herda `transaction_id` nem `workflow_execution_id` de estado terminal anterior.
## Alterações
- `contas_mcp/.../main.py`: chamadas que iniciam workflow removem `workflow_execution_id` residual e deixam `WorkflowRuntime` gerar um ID novo.
- `retomar_workflow`: permanece o único caminho que reutiliza ID existente.
- `agent_runtime.py`: `_set_active_transaction` só reutiliza `transaction_id` de transação realmente ativa e remove `workflow_execution_id` residual ao abrir uma nova transação.
## Testes
- 4 testes específicos do contrato: PASS.
- 95 testes de workflows/transações/cancelamento relacionados: PASS.
- Suite `tests/migration`: 837 PASS / 2 FAIL históricos não relacionados.