Skip to content

Integração de ADRs com SDD/miniSpec

ADRs alimentam e são alimentadas por SDD/miniSpec automaticamente. Esta página detalha o fluxo de integração entre ADRs e os frameworks de geração.


Skills geradoras que detectam candidatos a ADR

Por design embutido, estas skills aplicam heurísticas de detecção durante a geração:

SkillDetecta candidato em
agent-spec-sdd-generate-tech-specGeração do tech_spec.md (decisões técnicas transversais)
agent-spec-minispec-generate-scopeGeração do scope.md (decisões de implementação transversais)

Quando essas skills rodam:

  1. Lêem docs/adr/INDEX.md (adr.index_file).
  2. Identificam ADRs relevantes à área da feature.
  3. Incluem seção ## ADRs referenced no artefato gerado.
  4. Detectam candidatos a ADR nova na decisão em curso.

Heurísticas de detecção

Uma decisão é candidata a ADR nova se TODAS as 3 são verdadeiras:

CritérioPerguntaOK se
transversalA decisão se aplica a outras features ou ao projeto inteiro?SIM
tag_alvoCai em uma das 14 tags canônicas?SIM
custo_reversaoReverter implica refactor significativo (≥ médio) em múltiplos lugares?SIM

Se detectado:

  1. Skill pausa e apresenta candidato ao usuário.
  2. Se aceito → sugere rodar agent-spec-adr-create antes de continuar o fluxo.
  3. Se recusado → registra como decisão feature-específica no tech_spec/scope sem criar ADR.

Seção "ADRs referenced" nos artefatos

Em tech_spec.md (SDD)

markdown
## ADRs referenced

| ADR | Título | Como aplica nesta feature |
|-----|--------|---------------------------|
| ADR-0001 | Repository + Service | Handler → Service → Repository em `internal/pings/` |
| ADR-0004 | HTTP client compartilhado | Envia eventos via `pkg/http` com retry padrão |

Em scope.md (miniSpec)

markdown
## ADRs referenced

- ADR-0001 (accepted) — aplica o padrão Repository+Service
- ADR-0003 (accepted) — valida inputs com Zod

Applied in na própria ADR

A ADR mantém lista de features que a usaram:

markdown
## Applied in
- /docs/specs/features/backend-figurinhas-copa/v1/ (SDD)
- /docs/specs/features/auth-oauth2/v1/ (SDD)
- /docs/specs/features/catalogo-filtros/v1/ (miniSpec)
- internal/api/middleware/ratelimit.go (módulo)

Atualização: hoje a atualização do Applied in é manual (durante criação ou ao rodar agent-spec-adr-create). agent-spec-adr-review detecta inconsistências bidirecionais (feature → ADR vs ADR → feature).


Validação no Gate 2 (Tech Review)

Durante a execução de tasks (agent-spec-sdd-run-tasks, agent-spec-minispec-run-tasks, agent-spec-taskcard-run), o Gate 2 (agent-spec-staff-architecture-review):

  1. Sempredocs/adr/INDEX.md no início da revisão.
  2. Aprofunda em ADRs específicas quando a task toca a área (ex.: task em HTTP client → lê ADR-0004).
  3. Classifica violações:
ViolaçãoSeveridade
Violação clara e não justificada de ADR aceitacritical, category: adr_compliance
Desvio parcial sem justificativahigh
ADR desatualizada face ao código (ADR diverge da realidade)medium + sugestão de agent-spec-adr-supersede

Cada execução de Gate 2 emite adrs_consultadas[] no JSON — auditável quais ADRs foram consideradas.


Workflow recomendado

Projeto novo

  1. Comece sem ADRs. Crie a primeira feature em SDD/miniSpec.
  2. Na geração do tech_spec.md / scope.md, a skill detecta candidatos (padrões arquiteturais novos).
  3. Rode agent-spec-adr-create para cada candidato aceito.
  4. Features subsequentes reusam ADRs existentes.

Projeto existente

  1. Rode agent-spec-adr-bootstrap para capturar decisões já tomadas como ADRs retroativas.
  2. Revise e aceite as propostas (uma a uma).
  3. Continue com /agent-spec-pre-refinement + SDD/miniSpec normalmente.

Refatoração arquitetural

  1. Crie nova ADR via agent-spec-adr-create descrevendo a nova direção.
  2. Use agent-spec-adr-supersede na ADR antiga → aponta para a nova.
  3. Features futuras usam a nova; código legado continua referenciando a OLD com aviso (estado superseded-by:NNNN ainda é referenciável).
  4. Migre features manualmente — agent-spec-adr-supersede emite relatório das features afetadas.

Auditoria de bidirecionalidade

agent-spec-adr-review verifica:

  • ADRs referenciadas em features existem em docs/adr/.
  • Features listadas em Applied in de uma ADR têm referência no seu tech_spec.md / scope.md.
  • Tags fora da lista canônica.
  • Status inválidos.
  • Divergência entre arquivos ADR e linhas no INDEX.md.

Inconsistências viram observações no relatório (read-only — não modifica nada).


Próximos passos

AgentSpec Framework · Spec-driven com IA sobre Claude Code