Pular para o conteúdo
EN · PT

Gate: open-questions-resolved

The spec has no open question — implementing is not guessing.

Propriedade Valor
Verificação open-questions-resolved
Confronta spec
Bloqueante por padrão — projeto novo sim
Bloqueante por padrão — projeto existente não — informa
Duplicidade uma declaração que ele controla repetida no mesmo arquivo o reprova; duplicates: false desliga
gates:
- name: open-questions-resolved
on: [spec]
check: open-questions-resolved

Fonte: verificação · sua spec (em inglês)


Garante que especificações com perguntas ou decisões em aberto não sejam liberadas para implementação.

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.


Uma spec com perguntas em aberto ainda não foi decidida. Codificar antes de decidir gera retrabalho garantido.

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.


Verifica se a tabela de Decisões em Aberto (## Open Decisions) na spec contém itens sem resolução.

  • ✓ Pass (Aprovado): Todas as perguntas em aberto foram respondidas ou a tabela está vazia.
  • ✗ Fail (Reprovado): Existem perguntas em aberto não resolvidas na spec.
  • ~ Indeterminado/Pending: Não se aplica.
  • Skip (Dispensado): Não se aplica.

Para ativar este gate no seu projeto, adicione o bloco abaixo na seção gates: do seu anchors.yaml:

gates:
- name: open-questions-resolved
on: [spec]
check: open-questions-resolved
blocking: true
measures: "as decisões em aberto foram decididas"

  • Quando ativar: Bloqueante antes de iniciar a implementação do código.
  • Fase de execução: Configure em when: [pre-commit, ci] para verificações rápidas, ou when: [pre-push, ci] para gates que rodam ferramentas mais pesadas.
  • Transição de maturidade: Comece com blocking: false para avaliar o estado atual do repositório com anchors check. Quando zerar as ocorrências, altere para blocking: true.

Se o anchors check acusar falha (✗) neste gate:

  1. Responda à pergunta na spec e mova a decisão para a seção de Decisões Tomadas.
  2. Reexecute a verificação no terminal:
    Terminal window
    anchors check
  3. Se o gate suportar correção automática, você pode tentar o comando:
    Terminal window
    anchors check --fix