Gleam.br Wiki

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:*

  1. *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.
  2. *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.
  3. *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.