Modelos de governança
Três modelos e uma descrição. Os quatro são prática e não mecanismo, e os quatro são publicados por inteiro.
Carta de agentes de IA
Quando agentes escrevem código de produção, precisam da governança que uma pessoa desenvolvedora tem, e de um pouco mais. A escada trata de quanto um agente pode fazer antes que alguém olhe. A lista abaixo trata do que ninguém delega, em degrau nenhum.
A escada de autonomia
L1 · Supervisionado
O agente propõe e uma pessoa lê cada linha antes da fusão. O padrão para todo agente novo.
L2 · Semiautônomo
O agente implementa dentro do escopo definido de um chamado e uma pessoa revisa o pull request. Alcançado após três ciclos L1 sem nenhuma violação de fence.
L3 · Autônomo dentro das barreiras
O agente implementa, testa e abre o pull request; uma pessoa lê os resultados dos testes e a saída dos guardiões. Exige cobertura madura de fences e um histórico. Raro, e deveria continuar raro.
Nunca autônomo
Isto quem decide é uma pessoa, em qualquer degrau da escada.
- Mudanças no esquema do banco de dados.
- Configuração de segurança: autenticação, segredos, rede.
- Contratos de interface externa, quando a mudança quebra quem chama.
- Mudanças em um formato de saída que uma norma lê.
- Exclusão de qualquer coisa na trilha de auditoria.
- Mudanças no próprio sistema de fences.
A fonte de verdade do agente
Primeiro a documentação de arquitetura, depois o registro de chaves, depois o sistema de fences, depois o escopo do chamado. Quando dois se contradizem, vence o de cima, e a contradição é escrita em vez de resolvida em silêncio.
Esquema da trilha de auditoria
O registro escrito a cada passo, publicado por inteiro. Uma trilha que quem não construiu o sistema não consegue ler não é uma trilha, então os nomes dos campos fazem parte do arcabouço e não da implementação.
| Campo | Significado |
|---|---|
| trace_id | O identificador do P-4, o mesmo valor em cada entrada que pertence a uma transação. |
| timestamp | Quando o passo aconteceu, como carimbo de tempo com o deslocamento de fuso. |
| event_type | Que tipo de passo: entrada, extração, validação, avaliação de confiança, verificação humana, publicação, acesso. |
| actor | Quem agiu, e de que tipo: o sistema, uma pessoa ou um agente. |
| input | Sobre o que era o passo: o documento, o atributo. |
| output | O que o passo produziu: o valor, sua confiança, o método de extração. |
| decision | Onde uma pessoa agiu: o que fez e a razão que deu. |
| source_hash | Um resumo da fonte que o passo leu, para reconhecer a mesma entrada mais tarde. |
| immutable | A entrada nunca é editada. Uma correção é uma entrada nova que a substitui. |
Registro de fences, um subconjunto publicado
Um subconjunto publicado do registro do próprio projeto, com os identificadores que o projeto realmente usa. Cada entrada carrega um identificador, a regra, como ela é imposta e o status atual. O registro completo é mais longo e continua interno: algumas de suas entradas nomeiam o que protegem, e uma lista do que é vigiado é um mapa do que é guardado.
Os identificadores são os operacionais. Uma edição anterior do documento do arcabouço imprimia sob os mesmos números uma tabela ilustrativa de oito linhas com regras diferentes; esse modelo está aposentado, cada uma de suas regras passou para o identificador que agora a sustenta, e nada se perdeu na renumeração.
| Fence | Regra | Aplicação | Status |
|---|---|---|---|
| F-03 | Valores derivados de um modelo de linguagem sempre carregam o método pelo qual foram obtidos e nunca chegam a uma saída publicada sem verificação humana. | Verificação automática, a cada mudança | Imposto |
| F-04 | Um atributo obrigatório sem evidência nunca é inventado nem preenchido com um valor padrão. | Verificação automática, a cada mudança | Imposto |
| F-05 | Nenhum documento pessoal ou de empresa real em código, fixtures, testes ou commits.Escopo: O guardião cobre chaves de acesso e dados do emissor de documentos de exportação. Não cobre toda forma de identificador, e o resto é levado internamente como lacuna própria. | Verificação automática, a cada mudança | Imposto |
| F-08 | Um passaporte com atributo de confiança baixa ou obrigatório ausente nunca é publicado; o portão é código, não um costume. | Verificação automática, a cada mudança | Imposto |
| F-09 | Nenhuma mudança de esquema do banco de dados sem migração e reversão que funcione. | Trabalho automático, a cada mudança | Imposto |
| F-13 | Os identificadores de inquilino e de rastro viajam com cada requisição e cada linha armazenada.Escopo: A metade do caminho de requisição está testada. A metade da linha armazenada não é verificada coluna a coluna e é levada internamente como lacuna própria. | Verificação automática, a cada mudança | Imposto |
| F-14 | Código e identificadores em inglês; texto para quem lê em cinco idiomas, com cada chave presente em todos. | Verificação automática, a cada mudança | Imposto |
| F-16 | O texto de interface nunca afirma cumprimento jurídico nem fato não verificado; uma atestação aparece como atestação e nunca como verificação. | Verificação automática, a cada mudança | Imposto |
| F-18 | Um identificador de rastro em cada resposta da interface do console, erros incluídos; o que chega é respeitado em vez de reemitido. | Verificação automática, a cada mudança | Imposto |
| F-22 | Toda afirmação de fato em superfície pública se resolve em fonte primária ou em teste com nome. | Verificação automática, a cada mudança | Imposto |
| F-23 | O site em execução carrega apenas recursos de mesma origem e define exatamente um cookie, para o idioma. | Verificação automática, a cada mudança | Imposto |
| F-37 | Toda página pública rastreada atende WCAG 2.2 AA em um navegador real. | Trabalho automático, a cada mudança | Imposto |
| F-02 | Nenhum serviço de infraestrutura novo além do conjunto acordado, e nenhuma dependência nova sem uma seção nomeada no pedido de mudança. | Pessoa com nome, na fusão | Manual |
| F-10 | Nenhuma fusão com verificações vermelhas. | Pessoa com nome, na fusão | Manual |
| P-4-not-null-columns | Cada linha armazenada carrega os identificadores de inquilino e de rastro como colunas obrigatórias. | Hoje nada | Lacuna |
| P-5-disclosure-rendered | Uma saída publicada cujos atributos incluem um extraído por máquina sempre mostra a linha de declaração. | Hoje nada | Lacuna |
O motor de confiança, em palavras
Ao motor se dá um atributo, um valor, o método pelo qual o valor foi obtido e os documentos de onde ele veio. Ele devolve o atributo, o valor, um nível de confiança, a procedência e se uma pessoa verificou. Existem três níveis, o mais baixo nunca chega a uma saída publicada, e onde falta evidência o motor não devolve nada em vez de um nível.
Não publicado
A tabela que atribui um nível a um método de extração, e as regras que combinam várias fontes, ficam na edição interna. O que está acima é a descrição de que quem lê precisa para entender a arquitetura. Deliberadamente não é uma especificação a partir da qual alguém pudesse construir.
Feedback público
Discorda de uma premissa, encontrou um problema de fonte ou aplicou isto na prática? As contribuições passam por revisão antes da publicação e permanecem vinculadas a esta versão.
