Funcionalidade update - BrunodosSantosVaz/big-bang GitHub Wiki
Funcionalidade BB-F-026 · requisito RF-BB-026 · versão documentada 3.0.0 · código 8aea9ccd1b1589d29928b543f1e395352bf6d15a.
Instalar release do framework com SHA-256 e atestação de origem, preservando configurações e abrindo PR específico.
Pessoa responsável pelo projeto, IA com posse confirmada e automações explicitamente autorizadas.
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.
Baixar pacote e hash da origem, verificar proveniência, mostrar migrações, confirmar passos autorizados, substituir camada e gerar com a nova versão. Em projeto público, migrar apenas hashes documentais cuja única mudança comprovada seja o carimbo da versão; depois verificar e abrir o PR.
bigbang.toml do projeto permanece salvo e só o campo da versão é atualizado; atualização sai de develop em framework/vX.Y.Z. A versão é gravada no idioma do arquivo: bigbang.versao num arquivo legado, bigbang.version num arquivo v3. A migração de hash público exige que substituir Big Bang v<novo> por Big Bang v<anterior> reproduza o hash registrado; alteração funcional junto ao carimbo continua inválida.
Hash ou atestação divergente, migração sem confirmação ou árvore inválida interrompe antes da entrega; não publica diretamente em main.
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.
Resultado esperado: Instalar release do framework com SHA-256 e atestação de origem, preservando configurações e abrindo PR específico. O retorno e os arquivos afetados são conferidos pelos cenários rastreados abaixo; falha impede considerar a operação concluída.
Os símbolos abaixo compõem o inventário real do módulo, incluindo auxiliares internos; não representam APIs públicas independentes.
| Símbolo | Linha |
|---|---|
_git |
28 |
_bb |
35 |
latest_version |
42 |
download |
47 |
extract |
70 |
migration |
88 |
swap |
95 |
ensure_label |
112 |
_pr_body |
122 |
update |
138 |
check_args |
200 |
.bigbang/tests/test_atualizar.py:test_atualiza_sem_tocar_a_camada_do_projeto.bigbang/tests/test_atualizar.py:test_hash_errado_recusa_sem_mexer.bigbang/tests/test_atualizar.py:test_flash_updates_with_independent_ai_review.bigbang/tests/test_atualizar.py:test_atestacao_que_nao_confere_recusa.bigbang/tests/test_atualizar.py:test_passo_manual_exige_confirmacao_do_dono.bigbang/tests/test_atualizar.py:test_simular_nao_grava.bigbang/tests/test_atualizar.py:test_mesma_versao_nao_faz_nada.bigbang/tests/test_atualizar.py:test_arvore_suja_recusa