Começar
Aparência

Vale na hora e fica lembrada neste navegador.

Decisões

ADR-0002 — O modelo zerado mora neste repositório

Contexto

Toda stack nasce de um modelo zerado: os arquivos da Fase 0, com as ORGs copiadas, as ADRs pré-escritas, a ficha e os demais pontos em {{LACUNA:<id>}}. Se o modelo vivesse num repositório separado, a regra (aqui) e o modelo (lá) poderiam sair em versões diferentes.

Decisão

  1. O modelo zerado mora aqui, em modelo/, versionado junto com a documentação e as ORGs.
  2. eng/new-stack.sh cria uma stack copiando modelo/ e docs/decisoes/organizacao/ na versão escolhida, e grava essa versão no arquivo ARQUITETURA da stack. Antes da primeira versão, o modo --draft copia a árvore de trabalho e grava arquitetura-rascunho-<commit>.
  3. Toda lacuna do modelo tem id único e descrição; grep -rn '{{LACUNA:' modelo/ lista todas.
  4. Os scripts do modelo (lacunas, versões fixas, hooks) têm testes próprios, que rodam na CI deste repositório.

Alternativas consideradas

AlternativaPor que não
Repositório-modelo separado (GitHub template repository)Por que não: regra e modelo mudariam em versões separadas
Gerador interativo (ex.: um CLI de scaffolding)Por que não: mais uma ferramenta para manter; as lacunas já fazem o papel das perguntas

Consequências

  • Uma tag da arquitetura fixa, ao mesmo tempo, as regras, as ORGs e o modelo.
  • Uma mudança de regra que afeta o modelo sai numa change só.