GBR: Requisitos de Roteamento Dinâmico e Execução Externa (Dispatcher & Sandbox) | Wiki
Documentação de engenharia e especificações técnicas da Gleam-BR.
GBR: Requisitos de Roteamento Dinâmico e Execução Externa (Dispatcher & Sandbox)
*Requisitos Ubíquos (Ubiquitous Requirements)*
-
*UBQ-01:* O
gbr_dispatcherdeve operar em total agnosticismos de domínio, desconhecendo quaisquer estruturas de telemetria, Pub/Sub ou processos de negócios, focando unicamente na alocação, recuperação e cache ETS de processos OTP. -
*UBQ-02:* O
gbr_sandboxdeve garantir que a execução de qualquer motor de script externo seja monitorada por temporizadores estritos (Timeouts), convertendo processos com tempo excedido em falhas nativas seguras e não bloqueantes.
*Requisitos Orientados a Eventos (Event-Driven Requirements)*
-
*EVD-01:* Quando múltiplas requisições simultâneas tentarem despachar mensagens para um Alvo (Target) cujo Ator ainda não existe, o sistema
gbr_dispatcherdeve utilizar a diretivainsert_newpara eleger atômica e exclusivamente um único processo encarregado da instanciação do Ator. -
*EVD-02:* Quando um comando for acionado no
gbr_sandboxe a máquina hospedeira não possuir o motor de execução instalado (ex:python3ounodenão encontrados /ENOENT), o wrapper Erlang Port deve interceptar a falha em nível de socket do Sistema Operacional e retornar um Objeto de Erro legível sem travar a thread de testes (gleeunit) ou a VM.
*Requisitos Orientados a Estado (State-Driven Requirements)* - *STD-01:* Enquanto o processo "vencedor" da trava atômica estiver a invocar o construtor do novo Ator, todos os processos "perdedores" da concorrência devem entrar em um estado de suspensão temporária (Micro-Retry Lock-Free), repetindo as pesquisas ao ETS de forma passiva até que o novo registro de Ator seja propagado em memória.
*Requisitos de Funcionalidades Opcionais / Futuras (Optional Feature Requirements)*
-
*OPT-01:* O sistema de execução isolada (
gbr_sandbox) poderá, futuramente, determinar autonomamente qual motor invocar ao analisar o cabeçalho Shebang (#!/usr/bin/env ...) do ficheiro do script, em vez de depender de configurações fixas injetadas (hardcode) pelo roteador da aplicação. -
*OPT-02:* Para clientes operando sob políticas de conformidade Zero-Trust rigorosas em nível de S.O., o
gbr_sandboxdeverá ser capaz de delegar os processos nativos a instâncias enclausuradas via utilitários Linux KVM/Firecracker, limitando privilégios de I/O em disco para além da mera tolerância a falhas computacionais.