Funcionalidade package - BrunodosSantosVaz/big-bang GitHub Wiki
Pacote reprodutível
Funcionalidade BB-F-017 · requisito RF-BB-017 · versão documentada 3.1.0 · código 00ac9462d6b51b904656e3f5dbee29576b93a5da.
Finalidade
Empacotar .bigbang com integridade e notas de migração que permitem atualização oficial verificável.
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
Ordenar arquivos, fixar metadados e gzip sem timestamp; gerar tarball e SHA-256; extrair notas entre versões e recusar membros inseguros.
Validações
Somente arquivos regulares da camada são aceitos; caminhos absolutos, traversal e links do tarball são recusados. As notas da v3.0.0 orientam projetos públicos a propor a revisão documental após atualizar, sem publicar a Wiki automaticamente.
Alternativas e erros
Versão ausente, membro inseguro ou notas inválidas falham; compilar novamente a mesma fonte mantém o digest.
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: Empacotar .bigbang com integridade e notas de migração que permitem atualização oficial verificável. 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.
package.py
| Símbolo | Linha |
|---|---|
package_name |
23 |
_files |
27 |
build |
33 |
_key |
64 |
migration_sections |
71 |
migration_between |
78 |
manual_steps |
85 |
release_notes |
93 |
tarball_members_ok |
119 |
MIGRACAO.md
VERSION
Cenários e rastreabilidade
.bigbang/tests/test_pacote.py:test_reprodutivel.bigbang/tests/test_pacote.py:test_conteudo_so_dentro_de_bigbang.bigbang/tests/test_pacote.py:test_recusa_framework_alterado.bigbang/tests/test_pacote.py:test_recusa_entrada_suspeita.bigbang/tests/test_pacote.py:test_secoes_entre_versoes.bigbang/tests/test_pacote.py:test_migracao_do_framework_tem_a_versao_atual.bigbang/tests/test_pacote.py:test_versoes_publicadas_sem_passo_manual.bigbang/tests/test_pacote.py:test_toda_secao_tem_as_duas_partes.bigbang/tests/test_pacote.py:test_migracao_lida_do_target_sha_quando_root_desatualizado
Requisitos · Matriz de rastreabilidade · Referência CLI
Fontes rastreadas
Migração 2.0.1
Patch verifica destinos externos de badges aninhados. O contrato MIGRACAO orienta também o bootstrap de validadores antigos: preservar apenas RNs e tabela STACK realmente consumidos pelo código confiado, atualizar a branch confiada e remover essas entradas transitórias por PR/CI/revisão antes de concluir a migração. Nenhum portão é desligado.
Contrato de atualização do patch
A versão 2.0.1 não exige passo manual: a seção consumida pelo atualizador contém exatamente «Nada.». A orientação para concluir a migração anterior fica em uma seção de compatibilidade separada, sem criar confirmação adicional no patch. Os oito testes de pacote e contrato de migração passaram após este ajuste; o teste existente e o parser não foram alterados.