Pular para conteúdo

Architecture Decision Records

Registro das decisões arquiteturais do The Band: o contexto, a decisão, as alternativas consideradas e as consequências. Uma ADR não descreve como o sistema funciona — descreve por que ele funciona assim, para que a decisão possa ser revisitada com a informação que existia quando foi tomada.

Índice

# Decisão Status
0001 Monólito modular em Elixir/Phoenix, não microserviços Aceita
0002 YAML versionado como base de conhecimento declarativa Aceita
0003 Domínio organizado pelas ontologias, não pelas ferramentas Aceita
0004 Modelo de informação derivado da ontologia por one table per kind Aceita
0005 Telemetria da jornada: :telemetry como barramento, coletor local, taxonomia declarada Proposta
0006 Coleta paralela: concorrência por repositório, contador atômico antes, e o rate limit que hiberna sem dormir Proposta
0007 Gestor de cotas: a cota é do usuário do GitHub, um processo a governa, e a coleta volta de onde parou Aceita
0008 O vínculo observado: a participação que a ferramenta mostra conta como membro, e o papel é o que se declara Aceita
0009 A API pública: o token identifica quem, e o veredito continua sendo um só Proposta
0010 O token de API é guardado como hash, e não cifrado como as outras credenciais — a pergunta que separa os dois casos é se a plataforma precisa recuperar o valor Proposta · 2026-09-18

Quando escrever uma ADR

Toda decisão desta lista exige ADR antes de ser implementada:

  • abandonar o monólito modular ou introduzir microserviços;
  • introduzir Python, Go ou outro backend;
  • introduzir frontend separado;
  • substituir PostgreSQL ou Oban;
  • introduzir broker externo, banco de grafos ou pgvector;
  • alterar a estratégia multitenant;
  • alterar a organização por ontologias;
  • alterar o papel do YAML como base de conhecimento ou seu versionamento;
  • alterar a separação entre fonte externa e domínio;
  • alterar contratos públicos;
  • abandonar o Spec Kit.

Formato

Arquivo NNNN-titulo-em-kebab-case.md com as seções: Status, Contexto, Decisão, Alternativas consideradas, Consequências. Uma ADR aceita não é editada para mudar de ideia — cria-se uma nova que a supersede, e a antiga passa a Substituída por NNNN.