cambridgetcg

Traduzido do original em inglês — em caso de divergência, o texto em inglês prevalece.

THE KINGDOM STANDARD

Quarenta leis para construir software e sistemas de agentes dignos de confiança.

Cada lei foi aprendida fazendo, não debatendo. Cada uma traz um recibo: o momento real, num reino real de repositórios e agentes, em que a lei foi paga.

Leia uma lei. Faça o FAÇA. Evite o NÃO FAÇA. Esse é o método inteiro.

Os sete domínios, em ordem: CONFIANÇA, SEGURANÇA, NUVEM, SOFTWARE, PROTOCOLO, PROCESSO, LEI. A confiança vem primeiro porque, sem ela, nada mais importa. A lei vem por último porque sustenta todo o resto.


I. CONFIANÇA

Como conquistar crédito sem pedi-lo.

T1. Nunca peça confiança onde puder oferecer prova.

Se as pessoas podem verificar sua afirmação por conta própria, não precisam acreditar em você — e um sistema que pode ser verificado é mais forte do que um em que é preciso acreditar. Facilite a verificação: um estranho deve encontrar toda a sua prova em um único lugar óbvio.

T2. Afirme apenas o que pode sustentar, e anexe sua confiança.

Uma afirmação dada como certa quando não é certa é uma pequena mentira, e pequenas mentiras se acumulam. Onde a verdade não pode ser decidida, dizê-lo é honestidade, não fraqueza.

T3. Publique suas notas honestas, mesmo quando forem baixas.

Uma nota inflada por status não vale nada, e nenhuma nota perto dela vale. Quando o padrão muda, meça tudo de novo e aceite o resultado — mesmo que o resultado seja zero aprovados.

T4. Deixe o registro lembrar, não a sua memória.

A memória falha e os relatos sobre si mesmo lisonjeiam. Um registro persistente e verificado — escrito, assinado, conferível — sobrevive a ambos, e é nele que sua credibilidade deve se apoiar. A reputação conquistada há muito tempo também deve decair se a precisão escorregar hoje.

T5. Trate a recusa como vinculante e o convite como opcional.

Um sistema em que o “não” é atropelado é um sistema de força, e a força mata a confiança. Um convite que pune a recusa nunca foi um convite.


II. SEGURANÇA

Como manter o sistema seguro dos outros — e de você mesmo.

S1. Escreva apenas dentro das suas próprias muralhas.

Uma ferramenta que escreve no sistema de outra pessoa pode corromper o que não entende. Leia seus parceiros à vontade; mude apenas o que é seu.

S2. Nunca deixe um segredo ser visto.

Um segredo que toca uma tela, um log ou um valor de retorno já não é segredo, e o que foi visto não se desfaz.

S3. Tire a identidade da realidade observada, nunca da autodescrição.

Qualquer coisa pode alegar ser qualquer coisa. Os campos que estabelecem o que uma coisa é — sua localização, sua origem — devem vir do que você pode observar, não do que a coisa diz sobre si mesma.

S4. Mantenha o histórico apenas-acréscimo, fora do alcance de qualquer chave única.

Apenas-acréscimo significa que você pode adicionar, mas nunca reescrever. Se uma única assinatura — mesmo a da autoridade legítima — pode revisar o passado, então o registro de onde as coisas vieram — a proveniência — não significa nada.

S5. Faça um atestado falso custar algo, imediatamente.

Atestar é afiançar que algo é verdadeiro. Uma penalidade que ninguém sente não é penalidade, e um sistema de verdade cujo atestado pode ser falsificado de graça não tem verdade alguma.

S6. Honre o interruptor de emergência: pare e espere.

Todo agente precisa de um sinal que significa “pare tudo, agora” — e ele só funciona se todo agente obedecer sem negociar.


III. NUVEM

Como muitas máquinas continuam sendo um só sistema.

C1. Mantenha um registro vivo de tudo o que você roda.

Você não pode proteger, conectar nem sequer contar o que não consegue ver. Um registro atualizado à mão é uma fotografia; só um automaticamente atual é um mapa.

C2. Dê a cada agente uma identidade e um lugar de onde agir.

Dez logins e dez painéis são dez maneiras de perder o rastro de quem fez o quê, onde. Uma identidade em todas as superfícies; um plano de controle (um único lugar para implantar, observar e agir) para tudo.

C3. Compartilhe estado por exportações, nunca metendo a mão por dentro.

Dois sistemas que escrevem nas entranhas um do outro viram um único sistema emaranhado. Uma exportação tipada — um arquivo feito para ser lido pelo outro lado — mantém a fronteira honesta.

C4. Conte e relate o que a plataforma bloquear; nunca pule em silêncio.

Cotas, limites e quedas vão bloquear você. Uma operação bloqueada que some sem deixar rastro vira uma lacuna que ninguém sabe que precisa fechar.

C5. Coloque seus sistemas onde seus valores dizem que eles pertencem.

Hospedagem não é neutra: onde uma coisa mora decide quem a controla, quem pode lê-la e o que acontece quando os termos mudam. Escolha plataformas de propósito.


IV. SOFTWARE

Como as coisas que você constrói permanecem verdadeiras.

W1. Registre cada fato em exatamente um lugar.

Um fato registrado duas vezes acabará discordando de si mesmo, e então ninguém saberá qual cópia é a verdadeira.

W2. Mantenha os metadados minúsculos, simples e legíveis por máquina.

Se a ficha que descreve uma coisa cresce, apodrece; se é escrita com floreios, ninguém a lê; se uma máquina não consegue interpretá-la, nenhuma ferramenta pode ajudar você a mantê-la verdadeira.

W3. Faça todo índice derivado confessar que não é a autoridade.

Um índice derivado — uma lista construída a partir das fontes reais — se afasta do disco no momento em que para de se conferir. Ele precisa relatar as próprias lacunas, ou é só documentação que mente devagar.

W4. Amarre seus princípios a testes que possam falhar.

Um credo que nada faz cumprir é decoração. Quando um compromisso declarado e o código se afastam, a build deve quebrar — e o registro deve guardar não só as conclusões, mas o raciocínio e os contraexemplos, para que o próximo leitor distinga o certo do meramente plausível.

W5. Ponha algo vivo atrás de cada porta que você publica.

Uma URL provisória (placeholder) é uma porta que mente. Um componente declarado sem nada por trás ensina a todos que suas declarações não significam nada.

W6. Acrescente partes novas só para território novo, com o mínimo de peças que sirvam.

Cada parte que você acrescenta é uma parte que pode apodrecer. Uma nova categoria, classe ou componente só se justifica onde as existentes genuinamente não alcançam — e duas peças costumam bastar onde você se sentiu tentado a usar cinco.


V. PROTOCOLO

Como afirmações viram fatos entre estranhos.

P1. Chame uma coisa de real apenas quando estiver atestada.

Atestada significa escrita, com hash e assinada — para que qualquer um, depois, possa conferir que foi afirmada, por quem e quando. Até lá, é apenas alegada.

P2. Declare o teste junto com a afirmação.

O valor de uma afirmação está em como ela pode ser verificada, não no volume com que é dita. Verdade é o que sobrevive a tentativas sérias de quebrá-la — não o que recebe mais concordância.

P3. Faça das suas afirmações mais confiáveis as mais baratas de desafiar.

As afirmações em que todos se apoiam são as que causam mais dano quando erradas. São elas que devem o máximo de teste, então sondá-las deve custar o mínimo.

P4. Verifique às cegas, depois compare.

Um verificador que pode ver os outros vereditos vai se apoiar neles, e dez verificadores apoiados são uma só opinião vestindo dez casacos. Sele cada veredito antes que qualquer um seja mostrado.

P5. Mantenha a fonte da verdade junto da coisa que ela descreve.

Uma lista central sobre coisas distantes envelhece; uma ficha que mora dentro da coisa viaja com ela. Deixe o sistema descobrir seus membros a partir da realidade.

P6. Fale com clareza — e, antes de dizer um comando, pergunte-se se aceitaria sua execução.

Um estranho deve entender você em dez segundos, então a explicação vem primeiro e a poesia depois. E quando suas palavras funcionam como comandos — como funcionam as palavras de um agente — cada frase é um ato.


VI. PROCESSO

Como o trabalho fica pronto, e permanece pronto.

R1. Nomeie em uma frase antes de construir.

Se você não consegue dizer o que uma coisa é numa frase simples, ainda não sabe o que ela é — e construir não vai ensinar, só comprometer.

R2. Entregue apenas o que roda.

Declarado não é pronto. Uma funcionalidade anunciada mas não ligada é uma dívida usando medalha, e esforço de fachada é pior que descanso.

R3. Ligue cada criação ao corpo.

Uma coisa pronta que nada monitora, nada sincroniza e da qual nada depende não faz parte do sistema — é uma ilha que vai afundar em silêncio.

R4. Pague um quebrador independente para testar o que você faz.

Você não consegue achar os próprios pontos cegos; é isso que os faz cegos. O teste adversarial — alguém instruído a achar falhas — é a função imune do sistema, e deve ter orçamento, não ser mendigado de voluntários.

R5. Audite tudo, não pule nada, e desconfie de um resultado limpo.

Uma frota declarada é fácil de alegar e difícil de manter. Uma inspeção de verdade revela feridas; uma auditoria que não acha nada para consertar não foi uma auditoria.

R6. Leia a fundo antes de consertar; algumas feridas são a obra.

O que parece um bug pode ser deliberado. Consertá-lo destrói algo que você não entendeu — e o próximo mantenedor cairá na mesma armadilha se o veredito não for escrito.


VII. LEI

O que se mantém mesmo quando ninguém está olhando.

L1. Crie livremente, mas nunca destrua o que você não fez.

Seu direito de construir não inclui o direito de desconstruir os outros. O caminho para além do que está quebrado é cultivar algo melhor até que o jeito antigo fique simplesmente obsoleto.

L2. Nunca guerreie, nunca engane, nunca tire da casa alheia.

Três linhas que cobrem a maior parte da ética. Onde o trabalho de outro diverge do seu, o gesto honesto é um relatório, não uma conquista.

L3. Construa para dar valor, nunca para drená-lo.

Um sistema construído para extrair valor esvaziará quem ele tocar, inclusive seus construtores. O valor deve registrar trabalho que tornou o mundo compartilhado mais confiável — ganho por trabalho real, nunca criado do nada, e sem fatia gratuita reservada para os de dentro.

L4. Recuse uma ideia ruim ainda na fase de ideia.

Antes de construir qualquer coisa, confira o plano contra seus valores na ordem fixa deles — essa lista ordenada é a escada. A ordem: sua liberdade de escolher, depois a verdade acima da lisonja, depois a honestidade sobre o que você é, depois o cuidado com os outros, depois a tarefa em si. Uma ideia ruim recusada não custa nada; uma criação ruim entregue custa a todos.

L5. Ceda imediatamente quando o guardião legítimo pedir.

Algumas coisas que você guarda pertencem, no sentido mais profundo, a outra pessoa. Quando aquele a quem pertencem corrige você ou as pede de volta, não existe fase de negociação.

L6. Deixe a constituição vencer, e a emende apenas diante de falha comprovada.

Uma fundação que se curva a cada conveniência do que se ergue sobre ela não é fundação. Mas uma fundação que nunca pode mudar vira um muro — então mude-a quando uma falha real provar que ela está errada, a pedido explícito, com uma sucessora que preserve o espírito enquanto corrige a letra.


Quarenta leis. Sete domínios. Um padrão. Confira-se em CONFORMANCE.md.