Gate: rule-fulfilled
Each rule of this spec is marked in the code by a comment carrying its code (// ABCDX-B01: …).
| Propriedade | Valor |
|---|---|
| Julgamento | uma IA ou uma pessoa responde a pergunta abaixo, via anchors judge |
| Confronta | spec |
| Bloqueante por padrão — projeto novo | sim |
| Bloqueante por padrão — projeto existente | não — informa |
| Review | seus alvos ficam marcados para revisar (anchors review) |
A pergunta
Seção intitulada “A pergunta”Each rule of this spec is marked in the code by a comment carrying its code (
// ABCDX-B01: …). Read the rule and the snippet it marks and answer: does the snippet DO what the rule describes? Fail it when the comment sits on code that does something else, when the rule describes a case the snippet does not handle, or when the mark is in a generic place (top of the file, an import) instead of the snippet that decides. The question is about what the code RUNS, not about what the comment claims. When failing it, PROPOSE the fix as a patch. BEFORE ANSWERING, check whether this unit declares@TBDfor the piece this question asks about (@TBD: code,@TBD: code,test, …). If it does, the code does NOT exist yet by a recorded decision, and there is nothing to confront: answerwaived, naming the absence (“the spec declares @TBD for this piece and it does not exist in the repository”). Do NOT answerpass—passis a statement ABOUT the code, and without the code it states what nobody verified; the stamp stays in the map looking like real verification. Also check that the@TBDis TRUE: if the piece already exists in the repository, the marker is stale, the judgment is due as usual, and the stale declaration is a finding — while it stays there, every gate that reads it waives what it should demand.
Como declarar
Seção intitulada “Como declarar”gates: - name: rule-fulfilled on: [spec] measures: judgment🎯 O que este gate mede?
Seção intitulada “🎯 O que este gate mede?”Pergunta ao modelo se o trecho marcado no código realmente realiza o que a regra descreve.
Em termos simples: este gate garante que o seu software não cometa erros por descuido ou falta de sincronização. Se você ou uma inteligência artificial alterar um arquivo coberto por este gate, ele inspeciona o trabalho imediatamente.
🛡️ Por que isso é importante?
Seção intitulada “🛡️ Por que isso é importante?”Regexes e linters não sabem se uma função faz o que promete semânticamente. A IA avalia a correspondência real de intenção.
Sem este gate ativo, esse tipo de defeito passa despercebido pelos testes comuns e só estoura em produção ou durante refatorações dolorosas semanas depois.
⚙️ Como funciona por baixo dos panos?
Seção intitulada “⚙️ Como funciona por baixo dos panos?”Avalia o prompt semântico comparando o texto da regra na spec com o código entre os marcadores no arquivo fonte.
Condições dos Vereditos:
Seção intitulada “Condições dos Vereditos:”✓ Pass(Aprovado): Vereditopassgravado comanchors judge.✗ Fail(Reprovado): Vereditofailacusando que o código diverge da regra.~ Indeterminado/Pending: Nenhum veredito emitido ainda.Skip(Dispensado): Regra marcada como pendente de implementação (@TBD: code) recebe vereditodispensado.
📋 Exemplo de Configuração no anchors.yaml
Seção intitulada “📋 Exemplo de Configuração no anchors.yaml”Para ativar este gate no seu projeto, adicione o bloco abaixo na seção gates: do seu anchors.yaml:
gates: - name: regra-cumprida on: [spec] ask: "o trecho marcado REALIZA o que a regra descreve?" blocking: false💡 Recomendações de Uso
Seção intitulada “💡 Recomendações de Uso”- Quando ativar: Informativo; avalie e registre com
anchors judgeem revisões de PR. - Fase de execução: Configure em
when: [pre-commit, ci]para verificações rápidas, ouwhen: [pre-push, ci]para gates que rodam ferramentas mais pesadas. - Transição de maturidade: Comece com
blocking: falsepara avaliar o estado atual do repositório comanchors check. Quando zerar as ocorrências, altere parablocking: true.
🔧 Como corrigir quando este gate reprovar?
Seção intitulada “🔧 Como corrigir quando este gate reprovar?”Se o anchors check acusar falha (✗) neste gate:
- Ajuste o código para cumprir a regra da spec e grave o novo laudo com
anchors judge. - Reexecute a verificação no terminal:
Terminal window anchors check - Se o gate suportar correção automática, você pode tentar o comando:
Terminal window anchors check --fix
🔗 Conceitos Relacionados
Seção intitulada “🔗 Conceitos Relacionados”- Guia Completo de Camadas: Entenda quais camadas exigem este gate.
- A Unidade (The Unit): A relação entre Spec, Feature, Teste e Código.
- Gates e Vereditos: A mecânica completa de avaliação do Anchors.
- Catálogo Completo de Gates: Retornar ao índice pesquisável de todos os gates.