Ir para o conteúdo

Skills

chimera-list-exemptions-not-obligations

Um gate que lista o que checar falha aberto — o site que ninguém lembrou de adicionar é o que quebra. Liste as isenções, cada uma com um motivo escrito, e o padrão passa a ser reprovar.

PadrãoProcedência: cleanEstado: activev0.1.0 · Apache-2.0

Conferida por quem revisou e leu o cartão, não reivindicada pelo próprio arquivo. Um cartão que o agente destila durante uma execução que consumiu conteúdo não confiável nasce contaminado e fica retido para revisão antes de alguma vez ser recuperado.

Quando ele vem à mente

  • escrevendo um portão de build
  • aplicando uma regra em todo o pacote
  • lista de arquivos a checar mantida à mão
  • uma superfície perdeu a garantia
  • adicionando um novo ponto de entrada

Evite e Verifique são onde costuma estar o valor. Faça é a seção que todo mundo escreve.

O corpo do cartão acima é uma tradução. O original em inglês é o que a CLI importa, o que o agente lê em execução e o que o hash abaixo atesta.

Gatilho

Você está impondo uma propriedade que precisa valer em todo site de um certo tipo: toda superfície não supervisionada passa pelo profile de governança, todo escritor passa pelo gate, toda rota de API regenera o seu schema. A regra é uma frase, mas os sites são escritos em momentos diferentes por mãos diferentes, e nenhum deles chama a coisa do jeito que os outros chamam.

Não se aplica quando a população é fechada por construção — uma regra sobre as três entradas de uma tabela de despacho já está enumerada pela tabela. Este padrão só compensa o próprio custo quando um site novo pode aparecer num arquivo que ainda não existe.

Faça

  1. Enumere a população mecanicamente. Percorra todo *.py sob o pacote (PACKAGE.rglob("*.py")), e não uma lista escrita à mão dos arquivos de que você por acaso se lembra.
  2. Detecte o site estruturalmente. Faça o parse e percorra a AST atrás da chamada que te interessa; um grep não distingue um registry realmente montado das mesmas palavras dentro de uma docstring, e essa docstring vai existir, porque alguém vai escrever um comentário sobre a correção.
  3. Percorra escopos aninhados e use a cadeia envolvente como chave — chimera/cli/main.py:solve._run_solve. A única superfície que o Chimera perdeu tinha o registry construído dentro de uma closure factory() (chimera/server/manager.py:_gateway_on_message.factory), invisível para uma varredura que só olhava funções de nível superior.
  4. Faça o padrão ser REPROVAR. Mantenha um único EXEMPT: dict[str, str], da chave do site para um motivo escrito, e faça a asserção listar todo site encontrado que não seja uma chave dele.
  5. Escreva o motivo como uma frase sobre aquele site específico, e separe os tipos de motivo. "attended: interactive REPL" (uma pessoa pode apertar Ctrl-C) é uma afirmação muito mais forte que "assembles an equivalent stack from its own flags" — a segunda marca uma implementação duplicada a consolidar, não uma questão resolvida.
  6. Adicione um segundo teste afirmando que toda chave de EXEMPT ainda nomeia um site vivo, para que a lista não sobreviva ao código que ela desculpa e apodreça virando formalidade.

Evite

A lista de obrigações:

SURFACES = ["serve", "cron", "mcp", "a2a", "platform"]   # fails OPEN
for name in SURFACES:
    assert_governed(name)

contra a lista de isenções:

EXEMPT = {"chimera/cli/main.py:chat": "attended: interactive REPL"}   # fails CLOSED
assert not [s for s in every_site_in_the_package() if s not in EXEMPT]

A primeira versão do gate de governança do Chimera era a de cima: fazia o parse de um único arquivo e nomeava cinco superfícies. chimera/server/manager.py — o bot do Discord que o toggle de Messaging do app desktop inicia, o mesmo bot que serve --discord roda — montou o seu registry sem governança por três semanas depois da varredura que supostamente o tinha coberto. Ele nunca estava reprovando no gate. Ele nunca foi olhado.

Evite também uma isenção sem motivo. Um EXEMPT: set[str] pelado é uma lista de checagens a pular que ninguém consegue revisar um ano depois; a frase única é todo o custo da entrada e todo o valor dela.

Verifique

Alimente o gate com um fonte que viola a regra e afirme que ele é pego, inclusive de dentro de uma função aninhada — caso contrário um bug de AST faz o gate passar para sempre e a garantia deixa de existir em silêncio:

src = "def serve():\n    def factory():\n        r = default_registry(ws)\n"
assert _bare_registry_calls(ast.parse(src), "m.py") == [("m.py:serve.factory", 3)]

Depois a outra metade: uma chamada já envolvida no formato conforme não pode ser sinalizada, ou todo site em conformidade precisaria de uma isenção e a lista deixaria de significar qualquer coisa.

A pergunta binária: apague uma entrada de EXEMPT e rode de novo. A suíte fica vermelha nomeando exatamente aquele site? Se não, o gate não está lendo a lista que você pensa que ele lê.

Risco

Inverter a lista transfere o custo para quem adiciona um site novo e legítimo: um PR sem relação nenhuma fica vermelho com um erro sobre governança em que a pessoa não estava pensando. Essa é a troca pretendida, mas só se a mensagem de falha disser as duas formas de se adequar — roteie pelo profile, ou adicione a isenção com um motivo. Um gate que dispara sobre trabalho que ele não foi construído para defender vai sendo contestado até não disparar mais sobre nada.

A detecção estrutural também é mais estreita do que parece. Ela pega o único formato que conhece; uma superfície que monta tools por outra chamada, ou que importa um registry pronto de outro lugar, está fora da varredura, e o build verde não diz nada sobre ela. Prenda a cobertura do arquivo que regrediu, por nome, no seu próprio teste, para que uma varredura que silenciosamente deixe de cobrir aquele arquivo falhe em vez de passar.

Como usar

O cartão é dado. Clone o repositório e importe pelo caminho — o que chega pela rede é tratado como contaminado e fica retido para aprovação, que é o comportamento desejável e a razão de não haver um instalador de uma linha aqui.

git clone https://github.com/brcampidelli/chimera-agent.git
chimera skills-import chimera-agent/skills/chimera-list-exemptions-not-obligations/SKILL.md

Integridade

SHA-256 do arquivo como publicado. Quem importa pode conferir que o que recebeu é o que esta página mostrou.

243034feb6f9a9a06be65cfb2bf4db159e4fbcc0e7210475dffe540600227ef7

Leia o cartão no repositório