ADR 0274 — Os gerados do brabo leem os irmãos por uma trava de SHAs
- Status: aceito
- Data: 2026-11-07
- Tema:
docs - Referencia: revisa a consequência "o
docs-checkcompara com adevdos irmãos" domontar-layout.sh(AT-726) e complementa o ADR 0273. Usa a dispensa da escada do ADR 0255. AT-780, Rodada 233.
Contexto
O montar-layout.sh clonava a ponta da dev de cada irmão na hora do run. A mesma PR, sem commit novo, mudava de verde para vermelho quando um irmão fazia merge (cerca de 56 merges por dia nas dev dos nove irmãos). scripts.md, o índice de RN, a contagem de RN em prosa e as refs com símbolo reprovaram 9, 9, 6 e 10 runs em duas semanas, em PRs que não tocavam nada disso.
Decisão
irmaos.lockna raiz dobrabo, versionado: uma linha<repo> <sha40>para cada um dos nove irmãos;#é comentário.- Precedência no
montar-layout.sh:BRABO_REFexplícito vence a trava (deploy damain, release, "ver adevde agora"); sem ele, vale o SHA da trava. Repo faltando, SHA inválido, repo que não é irmão ou SHA ausente reprovam (exit 1). O clone remoto busca por SHA (git fetch --depth 1 origin <sha>). - Quem sobe a trava é o
regenera-gerados.yml(agendado,git ls-remotedadev), no mesmo commit dos gerados. A PR do bot dispensa a escada (ADR 0255); o merge segue humano. O gatilho porrepository_dispatchem cada irmão fica como evolução, se o atraso (até 6 h) doer: custaria 8 PRs de repin nobrabo-ci, cerca de 56 runs por dia e um token com escrita nobraboem cada irmão. - Refs com símbolo de arquivo de irmão são conferidas na subida da trava: o bot reancora, separa o que é de irmão e reprova nomeando o repo dono, com o patch como artefato. Só a PR do bot fica vermelha, e a trava fica parada até o irmão consertar. O check no próprio irmão é AT à parte.
- Deploy: o degrau
devdodocs-deployusa a trava, eirmaos.lockentra nopaths:, então a subida republica o/dev/. O degraumainmantémBRABO_REF=main, porque a trava aponta SHAs dadevdos irmãos. - O SHA de cada irmão fica em
.git/irmaos-sha.lst(owner/repo@sha, uma linha por irmão), para a actionvinculosdobrabo-ci(AT-773).
Consequências
- A PR humana do
brabopassa a ser verde ou vermelha só pelo próprio diff. - A deriva que um irmão introduziu aparece na próxima subida da trava, na PR do bot, e não mais em PR alheia.
- Uma PR do
braboque dependa de mudança recente num irmão espera a subida (ou dispara oregenera-geradosà mão). - O
docs:checklocal passa a bater com o CI;BRABO_REF=devmostra o estado de agora.