GBR: ADR-0007 Consolidação da Camada de Rede ('Layer 0') e Padrão Rigoroso de Documentação (Release v1.0.0) | Wiki
Documentação de engenharia e especificações técnicas da Gleam-BR.
GBR: ADR-0007 Consolidação da Camada de Rede ("Layer 0") e Padrão Rigoroso de Documentação (Release v1.0.0)
- *Status:* Aceite
- *Data:* 2026-05-01
*Contexto:*
Para a apresentação da infraestrutura base (gbr_p2p) a parceiros de due diligence técnica e possíveis investidores corporativos, o código necessitava de transcender o estado de "P&D" (Pesquisa e Desenvolvimento) para o de "Produto Empresarial". Havia dívida técnica cosmética (comentários herdados de estilo C, uso de funções obsoletas) e ausência de documentação do ciclo de vida das máquinas de estado.
*Decisão:*
-
*Saneamento e Padronização Gleam:* Erradicação de comentários estilo C (
/* ... */) em prol do padrão oficial de documentação Gleam (////), garantindo a extração automática de documentação limpa via HexDocs. Substituição de estruturas condicionais inseguras (if) porcase(Pattern Matching exaustivo). -
*Documentação Explícita de Criptografia e Estado:* Formalização dos cabeçalhos nos ficheiros core.
*
connection.gleam: Documentação gráfica do pipeline de estado (Negotiating -> Handshaking -> Multistream -> Active) e do backpressure (active: once). *lib.rs: Registo formal da estratégia Zero-Copy e da delegação de carga para Dirty Schedulers na Erlang VM para os bindings criptográficos. -
*Congelamento da API (Release 1.0.0):* Afirmação da estabilidade dos contratos FFI e das funções públicas, aplicando a Tag oficial do Git (
v1.0.0-network-layer).
*Consequências:*
- *Positivas:* Confiança técnica absoluta transmitida ao mercado; curva de aprendizagem drasticamente reduzida para novos engenheiros que integrem a equipa; garantia de que aplicações de nível superior (Anel 1 a 4) podem ser desenvolvidas sobre uma base imutável e previsível.
-
*Negativas/Riscos:* A fixação de versão impõe a necessidade de lidar com processos rígidos de Semantic Versioning no futuro (qualquer alteração no contrato do
HostouRouterexigirá a libertação de uma versão2.0.0, aumentando a inércia a mudanças disruptivas no protocolo base).