A tentação é universalizar: se funciona na Netflix, funciona em todo lugar. Mas a sabedoria é saber quando não aplicar o que se sabe — pôr trilho onde se pede estrada erra tanto quanto pôr estrada onde se pede trilho.
A sabedoria não é saber tudo. É saber quando não aplicar o que se sabe. — adaptado de Aristóteles
O Capítulo 3 apresentou quatro padrões em que encapsulamento e autonomia operacional produzem sistemas mais resilientes e coerentes — e revelou que cada um é, ao mesmo tempo, solução e prótese. A tentação natural é universalizar: se funciona na Netflix, funciona em todo lugar. Mas a generalização é ingênua. Há contextos — ontologicamente distintos — em que a autonomia operacional não é possível, ou pior, em que forçá-la destrói a solução que se quer construir. Este capítulo percorre esses contextos, não para dizer “nunca use esses princípios”, mas para desenvolver a discriminação ontológica: a capacidade de reconhecer quando o componente deve permanecer alopoiético — quando rigidez e determinismo são virtude, não limitação. É o que separa o arquiteto do engenheiro que aplica receitas.
Os padrões do Capítulo 3 partilham uma premissa: baixo acoplamento permite autonomia, que gera escala e resiliência. Mas e quando a natureza do problema exige acoplamento rígido, estado global conhecido, coerência que a autonomia local não pode quebrar? Uma instituição transfere R$ 100 milhões entre duas contas. A Saga diria: deixe cada serviço decidir. Mas entre o débito e o crédito há um intervalo em que o dinheiro sumiu; se a conta de destino falha e a compensação também, os R$ 100 milhões evaporaram — ou pior, viram crime financeiro. Aqui o valor não é autonomia; é certeza, e a certeza exige a transação atômica que viola a autonomia. O mesmo numa UTI: se a ventilação aumenta a oxigenação enquanto a farmacologia administra um betabloqueador, cada sistema acertou isoladamente e juntos podem matar o paciente. É preciso uma visão integrada que veja todos os parâmetros e coordene cada componente conforme o estado do todo.
São domínios em que a interação tem efeito emergente não-local e a falha de coerência tem custo existencial — morte, falência. Neles, os padrões do Capítulo 3 não servem, e voltar ao acoplamento não é desconhecer o princípio: é reconhecer que o contexto ontológico mudou. O componente deve permanecer alopoiético. O determinismo é força; graus de liberdade aqui seriam irresponsabilidade. A contraindicação não é contra o PS+ — é a favor da discriminação.
Todos os padrões do Capítulo 3 supõem alguma latência tolerável: o Circuit Breaker espera segundos, a Saga admite atraso entre transações, o mesh acrescenta um salto de proxy, o CQRS convive com consistência eventual. Mas há contextos em que o milissegundo é a vida. Um algoritmo de trading vê o preço mover e precisa decidir em dez milissegundos; em onze, perde a oportunidade; em cem, perde tudo. Some um Circuit Breaker, um mesh, uma Saga, e de repente são dezessete milissegundos — a janela fechou. O que funciona é o oposto: acoplamento absoluto, código monolítico, predição, risco e execução em microssegundos. Sacrifica-se escala para ganhar velocidade, e em trading a velocidade é a sobrevivência. O carro autônomo decide em dezesseis milissegundos, no ritmo de 60 Hz da câmera, se freia; em vinte, pode colidir. Sensores, processamento integrado em tempo real, atuadores — não há como ter autonomia operacional quando o ciclo de decisão são dezenas de milissegundos.
Onde a decisão precisa ocorrer abaixo de cem milissegundos e a latência de coordenação compromete a viabilidade, a distribuição não cabe. O componente de tempo real deve ser alopoiético: o determinismo temporal é requisito existencial, e introduzir graus de liberdade onde o milissegundo mata é o erro simétrico ao de manter rigidez onde a adaptação é necessária.
O Service Mesh supõe que observar não instrui: o sistema é observado e mantém a autonomia. Mas há contextos em que a observação gera um conhecimento que precisa instruir, ou o sistema falha. Um auditor externo descobre um desvio de R$ 5 milhões; se apenas observa e relata, a instituição pode ignorar — na prática, o auditor instrui: “isto precisa ser corrigido”. Um time de segurança detecta uma exfiltração de dados; se apenas observa, a exfiltração continua — na prática, ele ordena: “bloqueie a conta, isole a máquina”. A observabilidade sem poder de instrução, aqui, é um brinquedo; é preciso hierarquia com poder de parar e forçar.
Nesses contextos, o observador tem informação que o operador não pode ter a autonomia de ignorar, e o custo de não instruir é violação de conformidade, segurança ou integridade. O enforcement de compliance e de segurança deve ser alopoiético: a regra é fixa, a ação corretiva é determinística. O que pode ser heteropoiético é a detecção — o guard rail epistêmico que observa padrões e sinaliza anomalias; mas a correção, essa pede determinismo.
O CQRS supõe que se possa separar com clareza o modelo de escrita do de leitura — um é a fonte da verdade, o outro, projeção. Mas há contextos em que a verdade não é singular, em que observador e observação se acoplam tão fundo que não há separação possível. Treina-se um modelo para prever qual candidato será um bom funcionário, e ele diz: os da universidade X tendem a ser melhores. Você implementa — passa a contratar de X — e depois observa: de fato, os de X são melhores. Mas é verdade, ou é porque você contratou mais deles e lhes deu mais oportunidades? A leitura foi distorcida pela escrita; não há verdade independente, apenas um laço em que a sua ação determina o que você observa. Separar escrita de leitura é impossível.
Quando observador e observado estão acoplados a ponto de o ato de medir mudar o que se mede, o CQRS é inadequado. É preciso reconhecer o acoplamento e desenhar a favor dele, não contra ele.
Os quatro contextos não são uma crítica aos padrões do Capítulo 3; são um exercício de discriminação — reconhecer qual natureza cada contexto exige. Circuit Breaker, Saga, Service Mesh e CQRS funcionam extraordinariamente bem em certos domínios; postos num domínio de acoplamento necessário, de frequência crítica, de conhecimento assimétrico ou de entropia alta, não trazem ganho, só complexidade sem benefício. A imagem viária resume a discriminação: o trilho é alopoiético — caminho fixo, determinismo é virtude, e o trem que improvisa descarrila; o campo aberto é autopoiético — liberdade total, o organismo navega por conta própria; a estrada com faixas é heteropoiético — entradas acordadas, saídas por contrato, liberdade no meio, onde os guard rails constituem a liberdade em vez de restringi-la.
E há um segundo erro a evitar, simétrico do primeiro. Até aqui o livro tratou do Erro 1 — pôr componentes alopoiéticos, rígidos, onde o contexto exige adaptação; o erro histórico da engenharia. Mas o mercado, hipnotizado por agentes de IA, está prestes a cometer o Erro 2: pôr componentes heteropoiéticos, com graus de liberdade, onde o contexto exige determinismo. A promessa de “inteligência em todo lugar” é sedutora — um agente que negocia preços, aprova transações, decide dosagens —, e os quatro contextos deste capítulo mostram exatamente onde ela seria catastrófica. Você não quer um agente que improvise com R$ 100 milhões; quer a transação atômica. Não quer um agente que pondere a 60 Hz; quer o pipeline determinístico. Não quer um agente que interprete a regra de compliance; quer o enforcement rígido. A discriminação protege contra os dois erros: a sabedoria não está em eleger uma natureza sobre a outra, mas em reconhecer qual cada contexto pede.
Isso vale para o próprio PS+, que também tem verossimilhança limitada. Pensar a organização respeitando o encapsulamento dos domínios pessoais funciona onde as pessoas conseguem manter esse encapsulamento sem serem instruídas — mas há contextos em que a autonomia é impossível: a operação militar em curso, a cirurgia em andamento, a resposta a uma crise, a conformidade severa. Forçar PS+ ali seria desastre. Por isso, quando você chegar ao Livro 3, a primeira pergunta não será “como faço?”, mas “é verossímil usar isto aqui?” e “que natureza o componente deve ter neste ponto?” — porque errar essa resposta custa mais do que desconhecer a resposta para “como”.
Pôr trilho onde se pede estrada erra tanto quanto pôr estrada onde se pede trilho.