Funcionalidade framework pipeline - BrunodosSantosVaz/big-bang GitHub Wiki

Esteira própria do framework

Funcionalidade BB-F-056 · requisito RF-BB-056 · versão documentada 3.0.0 · código 433c238ccc2de0c5cb9196965e98ec228a7f9e64.

Finalidade

Gerenciar o próprio framework pelo fluxo agrupador da v3, sem fundar o template nem instalar a esteira dos sistemas antes da F5.

Atores

O dono dispara os botões de release; as IAs autorizadas (claude-1, claude-2, codex-1 e copilot-1) implementam tarefas; o controlador acompanha o quadro; o GitHub Actions verifica e publica candidatas.

Pré-condições

O repositório deve ser BrunodosSantosVaz/big-bang. A configuração exclusiva .bigbang-framework.toml usa schema em inglês, perfil compiled, sistema universal, fluxo grouping e modo flash. O quadro único e os controles GitHub exigem bootstrap explícito do dono; o número zero indica configuração pendente.

Fluxo principal

bb generate --framework compõe os workflows v3 com prefixo bb-framework- e guarda de repositório em cada job. As skills e instruções iniciais continuam disponíveis no template. Antes da primeira escrita, o preparo exige manifesto documental válido, inventário completo de fontes rastreadas e não rastreadas e hashes atuais; manifesto ausente/inválido ou fonte sem cobertura recusa o corte. O botão Cut release configura github-actions[bot] no branch de release antes de write-version e do changelog. O corte grava a versão e bb framework prepare atualiza VERSION, o modelo, snapshots de clientes, workflows e CHECKSUMS. A candidata publica pacote reprodutível, arquivo .sha256, SBOM e atestação. A publicação passa pelo portão do fluxo agrupador e promove os mesmos bytes.

Validações

Actions permanecem fixadas por SHA, runners por versão e permissões são declaradas. Gate agrega os testes do framework, Docker real, shellcheck, gitleaks e regras de PR; a documentação e comunidade remota são verificadas. O pacote é reconstruído e comparado na candidata. A promoção confere SHA-256 antes de criar a release.

O framework não passa pela Fundação de um sistema. Quando seu manifesto público não declara STACK.md, a guarda lista todas as dependências diretas de execução: nenhuma dependência é aceita sem tabela aprovada, e ecossistema não suportado continua bloqueante. Se STACK.md está declarado, sua página e tabela continuam obrigatórias. A política vem da configuração confiável da base; o conteúdo do PR não a escolhe.

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

Templates sem identidade Git permanecem não fundados. O commit de uma proposta Wiki usa a identidade Git existente; se faltar identidade de autor ou committer no clone, o CLI aplica github-actions[bot] apenas ao comando de commit. Fora da origem, verify recusa a configuração exclusiva. Init remove essa configuração; F5 remove todos os workflows bb-framework-. Uma candidata adulterada não é promovida. Os workflows atuais continuam ao lado da esteira nova durante a transição.

Permissões

Nenhum comando local muda ambientes, secrets, rulesets ou configurações do quadro. Os botões usam o PROJECT_TOKEN já configurado; publicação exige decisão registrada e aprovação do ambiente production. A simulação continua padrão nos botões.

Resultados

A lista de agentes da configuração exclusiva e do fixture confiável inclui copilot-1, habilitando sua posse de tarefas pelo mesmo protocolo, em pasta própria e uma issue por vez. A regressão de carregamento confere esse agente.

O lançador continua template → init → generate --pipeline → verify. Assets publicados mantêm bigbang-vX.Y.Z.tar.gz e bigbang-vX.Y.Z.tar.gz.sha256, sem renomear para rc ou universal. Os clientes seguem baixando os mesmos nomes pelo bb update.

A implantação é dividida: primeiro o bootstrap coloca o suporte e os templates na develop confiável, sem a configuração exclusiva na raiz nem workflows novos ativos; comandos que exigem configuração leem o fixture interno revisado apenas na origem. Leituras opcionais e geração explícita mantêm a exigência do arquivo exclusivo. A proposta de ativação do PR #262 acrescenta a configuração exclusiva na raiz e os 13 workflows, sobre o suporte confiável dos PRs #265 e #266. O quadro e os controles reais do GitHub continuam pendentes dos itens operacionais da fila. O gate conserva os checks e executa regras usando código da base. Preparar a versão confere os hashes documentais atuais antes de alterar qualquer arquivo e atualiza somente os hashes derivados dessa mudança de versão; alterações funcionais sem documentação são recusadas.

O Big Bang passa a rodar no modo autonomous (ADR-0025, issue #303): .bigbang-framework.toml declara project.mode = "autonomous" e a raiz traz o contrato autonomy.toml. O agente aprova apenas risco low e medium nos portões backlog, refinement, prototype, tests, pr, qa e publish, com wip = 3, attempts = 3 e flags com o dono. O portão publish precisa estar no contrato, senão bb release publish recusa a publicação (sem o contrato o framework não publicaria nem com a aprovação do dono). Risco high e critical (contrato, segurança, .bigbang/, release), as feature flags e a aprovação do ambiente production no GitHub continuam com o dono; a publicação segue pelo botão bb-framework-publish, que o dono aprova. O contrato vence em 2027-01-11 e é lido da branch de destino, então um PR não amplia o contrato que o julga. bb autonomy check recusa o repositório sem ruleset que exija o check gate na main e na develop, sem ator com bypass e sem o ambiente production restrito à main; essas proteções são ação do dono.

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.

framework.py

Implementação revisada.

Símbolo Linha
repository 17
load 28
problems 60
stack_problems 76
prepare 88
candidate 141
promote 148
register 185
_prepare 196
_candidate 201

config.toml

Implementação revisada.

bb-candidate.yml.tmpl

Implementação revisada.

bb-gate.yml

Implementação revisada.

testes-candidata.sh

Implementação revisada.

bb-framework-board-report.yml

Implementação revisada.

bb-framework-candidate.yml

Implementação revisada.

bb-framework-cleanup.yml

Implementação revisada.

bb-framework-codeql.yml

Implementação revisada.

bb-framework-controller.yml

Implementação revisada.

bb-framework-create-branches.yml

Implementação revisada.

bb-framework-cut-release.yml

Implementação revisada.

bb-framework-gate.yml

Implementação revisada.

bb-framework-merge-pr.yml

Implementação revisada.

bb-framework-publish-maintenance.yml

Implementação revisada.

bb-framework-publish.yml

Implementação revisada.

bb-framework-qa-reject.yml

Implementação revisada.

bb-framework-start-sprint.yml

Implementação revisada.

.bigbang-framework.toml

Implementação revisada.

Cenários e rastreabilidade

Requisitos · Matriz de rastreabilidade · Referência CLI

Fontes rastreadas