GBR: ADR-0016 Coreografia de Processos via CRDTs e State Channels (BPM-CRDT) | Wiki
Documentação de engenharia e especificações técnicas da Gleam-BR.
GBR: ADR-0016 Coreografia de Processos via CRDTs e State Channels (BPM-CRDT)
- *Status:* Aceito
- *Data:* 2026-05-01
*Contexto:*
A orquestração de processos de negócio (BPMN) em uma rede descentralizada enfrenta o problema do "Maestro Único". Se o nó coordenador cai, o processo trava. Os documentos sugerem a transição de uma Orquestração (centralizada) para uma Coreografia (descentralizada). Para isso, é necessário que múltiplos agentes concordem com o estado de um processo (ex: "Tarefa A concluída") sem um banco de dados central, mesmo em condições de rede instáveis.
*Decisão:*
- *Sincronização via CRDTs:* Adotar Conflict-free Replicated Data Types para o estado das instâncias de processo. Isso permite que cada nó atualize o progresso localmente e a rede converja para o estado correto automaticamente.
- *Ancoragem em State Channels:* Utilizar a lógica de Canais de Estado para registrar apenas os hashes (CIDs) de transições críticas, mantendo o tráfego pesado (XML/JSON de contexto) fora do consenso global, circulando apenas via P2P.
- *Validação Formal (TLA+):* Utilizar TLA+ para verificar a ausência de deadlocks na coreografia de agentes antes da implementação em Gleam.
*Consequências:*
- *Positivas:* Resiliência extrema; ausência de ponto único de falha; escalabilidade para milhares de agentes em "enxame".
- *Negativas/Riscos:* Complexidade elevada na implementação da lógica de mesclagem (merge) dos estados dos CRDTs.