Pular para o conteúdo principal

ADR-015 — Adaptação seletiva do GitHub Spec Kit

  • Status: Accepted
  • Data: 2026-08-22
  • Decisores: RaizFC Product & Engineering

Contexto

O RaizFC já possui 121 specs, 95 IS, 75 EPs, contracts e histórico. Em 2026-08-22, a release estável oficial mais recente pesquisada é github/spec-kit@v1.0.1. A documentação oficial descreve constitution/specify/clarify/plan/tasks/analyze/implement/converge/checklist, integrações de agentes, presets e extensions.

Fontes oficiais: release v1.0.1, README, Agentic SDD, presets, extensions e evolving specs.

Opções consideradas

  1. Rodar specify init --here --force: rejeitado; pode criar .specify, specs/ e arquivos de agente concorrentes.
  2. Substituir IS/EP por plan/tasks: rejeitado; equivalência semântica não foi demonstrada.
  3. Preparar preset/overrides/adapters e piloto isolado sem inicializar: escolhida.

Decisão

O Spec Kit não é fonte de verdade e não é requisito de runtime. Fixamos a versão avaliada em v1.0.1, registramos o mapeamento e mantemos um piloto fictício em .sdd/spec-kit/pilot/. Nenhum comando init, install, implement ou geração em .specify foi executado. O ambiente atual também não possui uv/Python.

Uma adoção futura exige branch/worktree limpo, backup/diff, preset RaizFC que faça CR→IS→EP sem duplicar specs, integração testada em mais de um agente, validação SDD verde e aprovação humana. specify self check é apenas diagnóstico; upgrades são deliberados.

Upgrade e rollback

Instalação futura, se aprovada: uv tool install specify-cli --from git+https://github.com/github/spec-kit.git@v1.0.1. Antes de upgrade: specify self upgrade --dry-run, ler release notes, atualizar a versão fixada no ADR/preset e repetir piloto. Rollback remove somente arquivos gerados pelo piloto/adapter e reinstala a tag anterior; nunca remove specs, IS, EP ou estado RaizFC.

Consequências

O RaizFC pode aproveitar vocabulário, checklist/analyze/converge e adapters sem segunda verdade. O custo é manter o adapter local e reavaliar compatibilidade antes de cada upgrade. O processo continua utilizável quando Spec Kit não está instalado.