Funcionalidade decisions - BrunodosSantosVaz/big-bang GitHub Wiki

Decisões e revisão rastreáveis

Funcionalidade BB-F-007 · requisito RF-BB-007 · versão documentada 2.0.1 · código 94155836a981e9912a59f2c826afcff7baa4f073.

Finalidade

Registrar a decisão autorizada do dono e impedir aprovação automática de PR que exija revisão humana.

Atores

Pessoa responsável pelo projeto, IA com posse confirmada e automações explicitamente autorizadas.

Pré-condições

Repositório e raiz corretos, versão instalada e configuração compatível. Para operações de escrita, exige-se autorização vigente, branch adequada e acesso ao recurso envolvido; consultas não conferem permissão adicional.

Fluxo principal

Comentar a frase explícita do dono antes de modificar a label; verificar bloqueios de revisão; incluir pr-aprovado quando a modalidade permite. bb decision aceita a label nos dois idiomas e a grava no idioma das labels do projeto (board.labels): qa:approved vira homologado num projeto legado e o contrário num projeto migrado.

Validações

A conta GitHub compartilhada não comprova autor humano; a evidência da conversa precede a label. As regras de revisão enxergam as labels nos dois idiomas (por exemplo, review:human equivale a revisao-humana e a branch test/* equivale a teste/*); o modo da branch de destino é lido em qualquer idioma (autonomous delega a revisão rotineira como o Flash); a label de aprovação da IA segue o idioma das labels configurado na branch de destino.

Alternativas e erros

Frase vazia, label indevida ou revisão-humana sem decisão válida impedem a alteração.

Permissões

Leitura usa permissões mínimas do repositório. Operações locais respeitam a posse e worktree; escrita no GitHub exige acesso explícito. Esta funcionalidade não concede novas permissões a visitantes nem substitui decisões exigidas pelo fluxo.

Resultados

Resultado esperado: Registrar a decisão autorizada do dono e impedir aprovação automática de PR que exija revisão humana. O retorno e os arquivos afetados são conferidos pelos cenários rastreados abaixo; falha impede considerar a operação concluída. bb review approve informa a label efetivamente aplicada (pr-aprovado ou pr:approved); um modo não textual na branch de destino é recusado com mensagem, sem erro interno.

Referência da implementação

Os símbolos abaixo compõem o inventário real do módulo, incluindo auxiliares internos; não representam APIs públicas independentes.

decisions.py

Implementação revisada.

Símbolo Linha
_now 21
_labels 25
_comment 29
_add_label 34
_remove_label 39
record_decision 46
_both_spellings 60
review_blockers 66
_target_text 100
_target_owner_rules 115
_target_mode 143
label_dialect_from_text 149
mode_from_text 160
approve_review 179

Cenários e rastreabilidade

Requisitos · Matriz de rastreabilidade · Referência CLI

Fontes rastreadas