Funcionalidade update - BrunodosSantosVaz/big-bang GitHub Wiki

Atualização oficial preservando o projeto

Funcionalidade BB-F-026 · requisito RF-BB-026 · versão documentada 3.0.0 · código 8aea9ccd1b1589d29928b543f1e395352bf6d15a.

Finalidade

Instalar release do framework com SHA-256 e atestação de origem, preservando configurações e abrindo PR específico.

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

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.

Validações

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.

Alternativas e erros

Hash ou atestação divergente, migração sem confirmação ou árvore inválida interrompe antes da entrega; não publica diretamente em main.

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: 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.

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.

update.py

Implementação revisada.

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

Cenários e rastreabilidade

Requisitos · Matriz de rastreabilidade · Referência CLI

Fontes rastreadas

⚠️ **GitHub.com Fallback** ⚠️