T-104 — Cadastro canônico de sprints + integridade referencial task→sprint

Owner: Pedro Villa · Frente: anouk-interno · Prazo: 2026-04-28 · Status: concluida · Prioridade: alta

Descrição

Criar cadastro canônico de sprints dentro de 00-projeto/sprints/ para que:

  1. Cada task seja vinculada a uma sprint válida (igual ao que fizemos com owner em T-103)
  2. Tenhamos visão gerencial das sprints (status, período, frente, owner) via Base
  3. Possamos cruzar task ↔ sprint ↔ pessoa ↔ time com integridade garantida

Antes desta task:

  • 11 valores diferentes de sprint: nas tasks (slugs longos truncados, descritivos, inconsistentes)
  • Sem cadastro central — sprint era só um campo string sem realidade
  • Impossível responder “quais tasks em sprint-semana-2?” sem grep

Depois:

  • 11 sprints canônicas com frontmatter rich (type, status, período, frente, owner, objetivos)
  • 103 tasks normalizadas → 5 sprints únicas em uso (semana-1, semana-2, semana-3, backlog, governanca-vault)
  • Base sprints-pipeline.base com 11 views (todas, ativas, planejadas, concluídas, semanais, ondas, meta-sprints, sprint-corrente, frentes)
  • Validador checa sprint canônica
  • Normalizer idempotente

Critérios de conclusão

  • 11 notas de sprint criadas em 00-projeto/sprints/:
    • 4 semanais: sprint-semana-1 (concluida), 2 (ativa), 3 (planejada), 4 (planejada)
    • 3 ondas: onda-1-quick-wins, onda-2-core-operations, onda-3-escala (todas planejadas)
    • 2 meta-sprints: governanca-vault (ativa), infraestrutura (ativa)
    • 2 default: continua, backlog (ambas ativas)
  • Folder note 00-projeto/sprints.md com cadastro humano + convenções
  • Template 00-projeto/sprints/_template.md com frontmatter padrão
  • Base _bases/sprints-pipeline.base com 11 views
  • Script 99-operacao/scripts/normalize-task-sprints.py idempotente com SPRINT_MAP editável
  • Re-execução normalizou 103 tasks (de 11 valores legados → 5 canônicas em uso)
  • Script 99-operacao/scripts/validate-tasks.py atualizado — confere sprint canônica
  • Validador passa com 0 erros após normalização (35 pessoas, 103 tasks, 11 sprints, 5 em uso)
  • Template 00-projeto/tasks/_template.md atualizado com lista canônica de sprints + comando normalize
  • Esta task (T-104) criada com sprint: governanca-vault (novo padrão)

Contexto

Pedro pediu em 28/04: “Agora dentro de 00-projetos, precisamos criar um cadastro de sprints, para que ao criar uma tarefa também possamos vincular ela corretamente à sprint correspondente. Também termos uma visão clara e gerencial das sprints.”

Filosofia: mesma de T-103 (task→pessoa→time). 1-entidade-1-nota com frontmatter rich, Base como camada de visualização, scripts garantindo integridade.

Mapeamento legado → canônico aplicado

Sprint legadaCanônica# tasks
sprint-semana-2-estrutura-colliers-cremssprint-semana-238
tarefas-ativas-esta-semana-20-27-abr-202sprint-semana-112
tarefas-ativas-curto-prazo-proximas-2-3sprint-semana-312
discovery-por-area-colliers-specs-2026-0sprint-semana-39
inteligencia-de-mercado-colliers-nova-frsprint-semana-28
tarefas-operacionais-herdadas-kickoff-17backlog5
follow-up-costal-mapeamento-sienge-zeppbacklog5
assessment-colliers-market-intelligencesprint-semana-15
discovery-sistemas-colliers-michael-soussprint-semana-14
governanca-tasksgovernanca-vault3
governanca-directorygovernanca-vault2

Total: 103 tasks redistribuídas em 5 sprints canônicas (das 11 disponíveis).

Histórico de status

  • 2026-04-28 — concluída. 11 sprints canônicas · 103 tasks normalizadas · 0 erros de integridade · validator + normalizer prontos.

Notas operacionais

Comandos do dia-a-dia:

# Validar integridade (rodar antes de commitar)
python 99-operacao/scripts/validate-tasks.py
 
# Normalizar sprints em tasks legadas
python 99-operacao/scripts/normalize-task-sprints.py
 
# Re-gerar TASKS.md auto-gerado
python 99-operacao/scripts/export-tasks-dashboard.py

Como criar nova task corretamente:

  1. Copiar 00-projeto/tasks/_template.md
  2. Preencher owner: <slug-pessoa> (canônico)
  3. Preencher sprint: <slug-sprint> (canônico — ver lista em 00-projeto/sprints.md)
  4. Validar: python 99-operacao/scripts/validate-tasks.py → 0 erros

Como criar nova sprint canônica:

  1. Copiar 00-projeto/sprints/_template.md para 00-projeto/sprints/<slug>.md
  2. Preencher frontmatter (id, name, type, period, status, frente, owner, objetivos)
  3. Atualizar 00-projeto/sprints.md com link
  4. Atualizar lista no 00-projeto/tasks/_template.md
  5. Atualizar 99-operacao/scripts/normalize-task-sprints.py SPRINT_MAP se houver legados

Ver também