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
- Confirmar as sedes por leitura, não por grep — para as duas de sede única, é uma leitura de dez minutos.
- 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.
- 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
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):git restorePor 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
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.Critério de pronto
scripts/mutate.sh, e resultado publicado nos dois sentidos