Funcionalidade github - BrunodosSantosVaz/big-bang GitHub Wiki
Integração com GitHub CLI
Funcionalidade BB-F-014 · requisito RF-BB-014 · versão documentada 2.0.1 · código 9c73feb3e357a1216011eaf64bf4b5d944827087.
Finalidade
Executar operações GitHub por argumentos separados, permitindo substituição por gh falso nos testes.
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
Resolver o executável gh ou BB_GH, iniciar o processo, capturar saída e converter retorno não zero em erro do framework.
Validações
Credenciais não são incorporadas ao código ou a argumentos de comandos de shell construídos a partir de prosa.
Alternativas e erros
Comando externo reprovado não é tratado como sucesso; a mensagem permite identificar o acesso ou recurso que falhou.
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: Executar operações GitHub por argumentos separados, permitindo substituição por gh falso nos testes. O retorno e os arquivos afetados são conferidos pelos cenários rastreados abaixo; falha impede considerar a operação concluída.
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.
github.py
| Símbolo | Linha |
|---|---|
gh_command |
9 |
run |
13 |
Cenários e rastreabilidade
.bigbang/tests/test_posse.py:test_assume_libera_e_preserva_historico.bigbang/tests/test_posse.py:test_recusa_nome_issue_fechada_e_posse_existente.bigbang/tests/test_posse.py:test_limite_e_comentario_sem_label_ainda_bloqueiam.bigbang/tests/test_posse.py:test_recusa_bloqueio_mas_aceita_pr_de_teste_mesclado.bigbang/tests/test_posse.py:test_outra_sessao_nao_libera.bigbang/tests/test_posse.py:test_falha_na_confirmacao_remove_so_a_propria_marca.bigbang/tests/test_posse.py:test_desempate_e_rollback_nao_apagam_label_do_mesmo_nome.bigbang/tests/test_posse.py:test_comentario_de_terceiro_nao_e_posse.bigbang/tests/test_posse.py:test_recusa_espera_zero.bigbang/tests/test_posse.py:test_resposta_perdida_do_post_reconcilia_por_uuid.bigbang/tests/test_posse.py:test_dois_processos_so_um_dono_e_uma_pasta.bigbang/tests/test_posse.py:test_bug_ganha_a_branch_a_partir_da_main.bigbang/tests/test_posse.py:test_falha_no_worktree_desfaz_a_posse.bigbang/tests/test_posse.py:test_worktree_usa_avanco_remoto_e_recusa_divergencia
Requisitos · Matriz de rastreabilidade · Referência CLI