Funcionalidade pipeline_cli - BrunodosSantosVaz/big-bang GitHub Wiki
Interface da esteira
Funcionalidade BB-F-020 · requisito RF-BB-020 · versão documentada 2.0.1 · código f9832d9bff9df45ee56689171fd1f537a0e5e97d.
Finalidade
Expor regras verificáveis a scripts sem duplicar lógica de negócio entre Bash e Python.
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
Registrar subcomandos, ler entradas estruturadas e stdin, aplicar regras puras e relatar bloqueios; changelog público vira proposta Wiki. Os subcomandos têm nome em inglês (form, ready, branch-rule, acceptance-lock, traceability…) com o nome da v2 como alias, usados pelos scripts da esteira legada e da v3. Registra também os comandos v3 do quadro, do controlador e dos fluxos do modelo agrupador.
Validações
Scripts usam ferramentas confiáveis do commit da esteira; dados da branch são avaliados como dados, nunca instruções externas.
O comando de guarda da stack reconhece a configuração própria do framework na origem, inclusive o fixture do bootstrap, e aplica a mesma validação de dependências do gate de conteúdo. A ausência do documento de Fundação nesse framework não aprova pacotes; qualquer dependência sem tabela ou ecossistema não suportado impede o comando de passar. Nos sistemas, a guarda anterior é preservada.
Na origem do framework, a busca de dependências inclui o código e os manifestos dentro de .bigbang/, além da raiz do repositório. Os exemplos de desenvolvimento em .bigbang/tests/ são fixtures de teste e não declaram pacotes de execução. A mesma abrangência vale quando uma tabela STACK.md estiver declarada. Sistemas conservam a exclusão do framework herdado e todos os demais comportamentos anteriores.
Alternativas e erros
Rastreio, stack, documentação ou versão inválidos retornam erro; publicação exige a Wiki no HEAD revisado.
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: Expor regras verificáveis a scripts sem duplicar lógica de negócio entre Bash e Python. 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.
pipeline_cli.py
| Símbolo | Linha |
|---|---|
register |
17 |
_stdin |
144 |
_lines |
148 |
_form |
152 |
_ready |
162 |
_severity |
170 |
_tasks |
177 |
_dependencies |
183 |
_branch |
189 |
_branch_rule |
194 |
_title |
202 |
_version |
210 |
_changelog |
218 |
_artifact |
245 |
_sensitive |
252 |
_only_release |
259 |
_candidate_name |
264 |
_lock |
270 |
_pending |
278 |
_report |
285 |
_traceability |
293 |
_stack_guard |
307 |
_osv |
315 |
_rls |
322 |
_docs |
335 |
_community |
363 |
_write_version |
378 |
Cenários e rastreabilidade
.bigbang/tests/test_bb_esteira.py:test_respostas_viram_labels.bigbang/tests/test_bb_esteira.py:test_padroes_da_especificacao.bigbang/tests/test_bb_esteira.py:test_edicao_so_aplica_o_que_mudou.bigbang/tests/test_bb_esteira.py:test_dependencia_nao_cria_label_por_numero.bigbang/tests/test_bb_esteira.py:test_severidade.bigbang/tests/test_bb_esteira.py:test_epico_pronto.bigbang/tests/test_bb_esteira.py:test_recusa_cada_falta.bigbang/tests/test_bb_esteira.py:test_sensivel_com_stride_passa.bigbang/tests/test_bb_esteira.py:test_tarefas_e_dependencias.bigbang/tests/test_bb_esteira.py:test_slug.bigbang/tests/test_bb_esteira.py:test_modelo_de_branches.bigbang/tests/test_bb_esteira.py:test_issue_da_branch.bigbang/tests/test_bb_esteira.py:test_titulo_conventional.bigbang/tests/test_bb_esteira.py:test_classificacao.bigbang/tests/test_bb_esteira.py:test_versao_informada_confere.bigbang/tests/test_bb_esteira.py:test_arquivo_de_versao.bigbang/tests/test_bb_esteira.py:test_secao_nova_com_rascunho.bigbang/tests/test_bb_esteira.py:test_idempotente_e_arquivo_novo.bigbang/tests/test_bb_esteira.py:test_so_manutencao.bigbang/tests/test_bb_esteira.py:test_artefato.bigbang/tests/test_bb_esteira.py:test_zonas_sensiveis.bigbang/tests/test_bb_esteira.py:test_retirada_do_decorador_da_propria_tarefa.bigbang/tests/test_bb_esteira.py:test_test_failing_vira_test.bigbang/tests/test_bb_esteira.py:test_qualquer_outra_mudanca_e_sensivel.bigbang/tests/test_bb_esteira.py:test_matriz_com_runner_fixo.bigbang/tests/test_bb_esteira.py:test_nomes_da_candidata_e_de_producao.bigbang/tests/test_bb_esteira.py:test_android.bigbang/tests/test_bb_esteira.py:test_osv_so_alta_e_critica.bigbang/tests/test_bb_esteira.py:test_tabelas_sem_rls.bigbang/tests/test_framework_stack.py:test_public_framework_without_runtime_packages_passes_the_content_gate.bigbang/tests/test_framework_stack.py:test_framework_runtime_package_without_an_approved_table_is_refused.bigbang/tests/test_framework_stack.py:test_framework_unreadable_dependency_ecosystem_is_still_refused.bigbang/tests/test_framework_stack.py:test_pr_content_cannot_select_the_framework_policy_for_a_system_base.bigbang/tests/test_framework_stack.py:test_a_declared_stack_page_is_required_even_for_the_framework.bigbang/tests/test_framework_stack.py:test_a_declared_stack_keeps_the_normal_approved_package_table.bigbang/tests/test_framework_stack.py:test_standalone_framework_stack_guard_uses_the_same_checks.bigbang/tests/test_framework_stack.py:test_framework_runtime_manifests_inside_bigbang_are_refused_by_both_gates.bigbang/tests/test_framework_stack.py:test_framework_unsupported_ecosystem_inside_bigbang_is_refused.bigbang/tests/test_framework_stack.py:test_framework_test_fixtures_are_not_runtime_dependency_declarations.bigbang/tests/test_framework_stack.py:test_a_declared_stack_checks_approved_and_unapproved_framework_packages.bigbang/tests/test_framework_stack.py:test_normal_system_stack_guard_keeps_ignoring_the_inherited_framework.bigbang/tests/test_framework_stack.py:test_packaged_framework_directories_are_not_skipped_as_system_build_outputs
Requisitos · Matriz de rastreabilidade · Referência CLI