Funcionalidade stack_guard - BrunodosSantosVaz/big-bang GitHub Wiki

Dependências aprovadas

Funcionalidade BB-F-022 · requisito RF-BB-022 · versão documentada 2.0.1 · código f9832d9bff9df45ee56689171fd1f537a0e5e97d.

Finalidade

Impedir dependências diretas de execução que não estejam na tabela aprovada da stack.

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 STACK.md pela Wiki em público, ler manifestos dos ecossistemas e catálogos Gradle, normalizar pacotes e comparar a lista aprovada.

Validações

Dependências de desenvolvimento são livres; ecossistemas não suportados geram erro explícito; aprovação permanece decisão com ADR.

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

Pacote novo, tabela ausente ou manifesto ilegível bloqueia o PR sem instalar automaticamente uma tecnologia.

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: Impedir dependências diretas de execução que não estejam na tabela aprovada da stack. 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.

stack_guard.py

Implementação revisada.

Símbolo Linha
normalize 26
allowed 33
_package_json 52
_pyproject 56
_requirements 65
_go_mod 77
_cargo 93
_composer 101
_csproj 106
_pom 110
_alias 128
gradle_catalog 132
_gradle 149
_find_catalog 172
dependency_files 188
direct_runtime_dependencies 204
problems 238

Cenários e rastreabilidade

Requisitos · Matriz de rastreabilidade · Referência CLI

Fontes rastreadas