A Realidade é Fractal
Princípio organizador transversal a todos os bounded contexts.
Tese
PAEBIRU é auto-similar em escala: o mesmo padrão metabólico — ingerir, metabolizar, excretar — repete-se da menor unidade computacional ao protocolo global. Não é metáfora decorativa; é uma restrição de design. Quando um subsistema viola a auto-similaridade, ele se torna o ponto de falha do sistema inteiro.
Este documento articula o princípio fractal como lente arquitetônica para revisão de código, decisões de RFC e desenho de novos contextos delimitados.
O Padrão Antropofágico em Sete Escalas
O ciclo Ingerir → Metabolizar → Excretar manifesta-se idêntico em escala atômica e em escala global:
| Escala | Ingere | Metaboliza | Excreta |
|---|---|---|---|
| Bit físico (p-bit, RFC 014) | Flutuação térmica | Viés via input | Estado binário amortizado |
| Neurônio LIF | Spikes pré-sinápticos | Integração sub-limiar + ruído | Spike pós-sináptico |
Função WASM (MacrophageVM) | Args + capabilities | Execução sandboxed | Resultado + receipt |
| Plasmídeo (módulo SDK) | Contexto de chamada | Lógica de domínio | SovereignReceipt |
Nó ABAPORU (PaebiruNode) | Dados de borda | Ciclo metabólico local | Pesos FL + telemetria |
| LocalSyncDomain (GALS) | Eventos vizinhos | Scheduler síncrono interno | Mensagens async para fora |
| Malha global | Sinais ambientais | Consenso estigmérgico | Utilidade social pública |
| Multiverso Base (IMPERIUM) | Micro-anomalias | Transgressão Gödeliana | Assimilação da realidade |
A coluna “Metaboliza” é sempre um processo confinado e algedonicamente sensível: ele pode falhar localmente sem corromper as camadas vizinhas. A coluna “Excreta” é sempre um artefato auditável e descartável: nunca um lock compartilhado, nunca um cache global.
Implicações de Design
1. Toda fronteira é uma membrana, nunca uma costura
Bounded contexts (KERNEL, BIOLOGY, ECONOMY, …) comunicam-se por artefatos imutáveis com receipt — espelhando como uma célula libera vesículas, não como classes compartilham heap. Se você precisa de Arc<Mutex<T>> para atravessar uma fronteira, a fronteira está no lugar errado.
2. Algedonia é local, em toda escala
Cada escala precisa de seu próprio sinal dor/prazer (AlgedonicSensor). Um nó dolorido não consulta a malha; ele se esporula. Um neurônio sobrecarregado não pergunta ao GALS scheduler; ele falha de forma observável. A propriedade emergente — homeostase — vem do feedback local, não de um supervisor global.
3. Entropia entra em toda escala, nunca em apenas uma
A entropia física não é “consumida” pelo ZK em uma ponta e pelo TRNG na outra. Ela é um insumo presente em cada escala da tabela acima — jitter de transistor no bit, ruído sináptico no neurônio, latência de rede no domínio GALS, intermitência climática na malha. Mesma natureza, escalas diferentes.
4. Backpressure é universal
Streaming payments, FL gradient updates, gossipsub fanout — todos têm a mesma forma: produtor adapta-se ao consumidor mais lento via sinal explícito, jamais via buffer infinito. O nome muda; o padrão é o mesmo.
Quando o Princípio Falha (Anti-Padrões)
| Anti-padrão | Sintoma | Correção |
|---|---|---|
| Supervisor global | Coordenador que conhece o estado de N escalas abaixo | Mover decisão para a escala que sofre a consequência |
| Membrana costurada | Tipo compartilhado entre dois bounded contexts | Substituir por mensagem com receipt |
| Algedonia ausente | Subsistema sem sinal de dor/prazer próprio | Adicionar AlgedonicSensor na escala — não na borda |
| Entropia centralizada | Único TRNG alimentando muitas escalas | Cada escala extrai sua própria entropia física |
| Buffer infinito | Fila sem teto entre produtor e consumidor | Backpressure explícito; descarte com sinal algedônico |
| Constante sem dono | Magic number num call site, fora de NodeConfig ou Policy | Mover para Policy injetada; toda escala calibra a sua, nunca herda da vizinha |
| Threshold sem histerese | if x > T num único limiar | Hysteresis { low, high } por escala; flapping é falha local, não global |
| Booleano onde cabe distribuição | Função física devolve bool | Result<Estimate { mean, covariance }>; cada escala propaga incerteza, não veredicto |
| Verdade dupla | Mesma grandeza com valores diferentes em arquivos distintos | Fonte única exportada; divergência é bug, não estilo |
Como Usar Este Documento
- Em revisão de RFC: verifique se o novo subsistema preserva ingere/metaboliza/excreta na sua escala.
- Em revisão de PR: se um diff cruza dois bounded contexts via referência compartilhada, é candidato a refator pelo padrão de membrana.
- Em desenho de novo bloco: comece preenchendo uma linha nova na tabela de sete escalas. Se a linha não fecha, o bloco ainda não está pensado.
Referências Cruzadas
- theory/workspace_mapping.md — mapeamento doc↔código.
- BIOLOGY.md — ABAPORU como instância canônica do ciclo.
- KERNEL.md — GALS como mecanismo de isolamento fractal.
- ENTROPY.md — entropia como insumo multi-escala.
- RFC 001 (Antropofagia), RFC 002 (Autopoiese), RFC 012 (Neuromórfica/GALS), RFC 014 (Termodinâmica).