CI check Roda no repo · não no Marketplace
A camada que segura quando o hook nunca foi instalado
Três camadas, cada uma pegando a falha da anterior: o contexto aconselha, o hook local nega na hora, e esta recalcula o diff inteiro no pull request. Ela existe pela única falha que as outras duas não conseguem enxergar.
A falha para a qual ela existe
O hook local é o ponto de enforcement, e é honesto sobre o próprio teto: só consegue negar chamadas nas quais está presente. Alguém que nunca rodou cycle init, um agente num harness ainda sem adaptador, uma máquina de onde o plugin foi removido — em todos esses casos o hook não está errado, ele simplesmente não está lá, e ausência é invisível por dentro.
Então a última camada roda onde nada pode ser desinstalado: no pull request. Ela lê o mesmozones.yml, recalcula quais zones o diff realmente tocou, e compara com o que a task declarou. Mesmo modelo, outro ponto de observação.
O que ela reporta
- Declarado contra tocado — as zones que a task nomeou, contra as que o diff prova que mudou
- Trabalho que chegou sem task — o caso que só a CI enxerga
- Overrides, com nome — um bypass aqui é legítimo, fica registrado, nunca é silencioso
Status honesto
O check roda hoje neste repositório e fala rulesets do GitHub nativamente.Ele não está publicado no GitHub Marketplace — o pacote é privado e continua em0.0.0 — então hoje ele chega morando dentro do repositório, e não sendo instalado a partir de uma listagem. Uma página que dissesse "instale a nossa Action" estaria vendendo algo que ninguém consegue instalar.
Mais um limite, na mesma frase: num plano pessoal privado gratuito a proteção de branch responde403, então esta camada roda em modo aviso e diz isso em voz alta, em vez de reportar um enforcement que não executou.
Como as três camadas dividem o trabalho está nadocumentação (em inglês), e o mapa que as três leem éo mapa de zones.