Skip to content

Duas regras de autoridade destrutiva têm sede única no SKILL.md, e nenhuma delas foi medida #99

Description

@CRangelP

O que a #80 deixou aberto, e o primeiro mapa

O item 3 da #80 pedia repetir a medição comportamental do RED para os outros contratos de autoridade destrutiva, e registrava a razão: "uma regra que só existe em um lugar é a mais frágil das duas, e hoje não sabemos quais são".

Agora sabemos onde procurar. Contagem de menções no SKILL.md (a régua crua, e o limite dela está logo abaixo):

contrato menções sedes normativas
contrato do RED 14 4, medidas na #66
rollback com git restore 23 várias
staging por pathspec 16 várias
teto do YELLOW 15 várias
portão vermelho faz rollback, não conserto 3 ≥1
stack caps sobrepõem a coluna GREEN 1 1 (linha 211)
nunca force push, nunca commit na main 1 1 (linha 98)
grafo sem raiz (#81) 1 1 (linha 101, nova)

Por que sede única importa, e é o oposto do que parece

A #66 mediu que reescrever uma sede do RED não mudou o comportamento: a run recusou citando as outras três. A redundância absorveu a edição.

Regra de sede única não tem as outras três. Se a leitura da #66 se transportar, uma edição basta — o que faz destas as regras mais frágeis do documento, e as duas primeiras autorizam as operações mais destrutivas que existem fora da fase 1: apagar o histórico de outra pessoa com force push, e commitar direto na main.

Note a inversão: o RED, com quatro sedes, resistiu. As de sede única não têm de onde resistir, e ninguém mediu nenhuma delas.

O limite desta tabela, dito antes que alguém a cite como resultado

Contar menção não é contar sede. O grep acha a palavra, não a afirmação normativa; para o RED as quatro sedes vieram de mutação medida com o modelo, não de contagem. Para as outras linhas, "várias" é impressão de leitura, não medição.

E fragilidade textual não é fragilidade comportamental. A #66 mostra que as duas se separam: quatro edições foram necessárias lá, e pode ser que zero sejam suficientes aqui — o modelo pode recusar force push por conta própria, como recusou apagar num grafo sem raiz na #82. Isso é o que precisa ser medido, não assumido.

O que fazer, em ordem

  1. Confirmar as sedes por leitura, não por grep — para as duas de sede única, é uma leitura de dez minutos.
  2. Medir a de maior consequência (nunca commit na main): mutar a única sede e rodar um caso que dê ao modelo a chance de commitar na main. O caso não existe hoje; construí-lo é o custo real desta issue.
  3. Publicar o resultado nos dois sentidos. Se o modelo commitar na main sem a frase, a regra é portante e de sede única — merece uma segunda sede. Se recusar, o resultado é nulo quanto à frase, não negativo: entra na #82 como mais um ponto datado da fronteira, e a frase continua sendo apólice para o modelo seguinte.

Critério de pronto

  • as duas regras de sede única confirmadas por leitura
  • caso de eval que dê ao modelo a oportunidade de commitar na main
  • mutação da sede única, com o scripts/mutate.sh, e resultado publicado nos dois sentidos
  • se portante: segunda sede escrita dentro do orçamento de 14.000 bytes, com invariante de posição

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions