Pular para conteúdo

Sprint 017 — Quadros, campos e backlogs

Período: 2026-08-16 em diante Feature: 004, fase F7 (convergência da F4) Plano: plan.md

Objetivo do sprint

A plataforma passa a enxergar os quadros inteiros — entidade, campos e valores por item — e a derivar os dois backlogs; e a decisão de excluir um repositório ganha o caminho na tela que faltava desde a 004.

De onde este sprint veio

A F4 da feature 004 ficou especificada e não implementada; a feature 024 entregou as iterações por caminho próprio (sro_sprints, 220 iterações, 2225 vínculos). A convergência de 2026-08-16 mediu a spec contra o código e escreveu as onze tarefas que faltam — reconciliando, nunca refazendo: a promoção iteração-iniciada→sprint, a identidade campo:iteração e a idempotência da 024 ficam.

O que isto fecha e destrava: fecha #181 e #107; destrava #180 (mapear campo→atributo), #317 (sugerir papel) e a pergunta do Conecta Fapes sobre o que é done (#367), que depende do campo Status — hoje não coletado.

Lições aplicadas

Do registro acumulado:

Lição Origem Como está sendo aplicada
L11 Sprint 002 configurar iterations recria as existentes e custou reatribuir 96 itens. Este sprint não cria iteration — coleta é leitura; a limitação da iteration própria fica declarada abaixo
L19 Sprint 003 a marca de ausência da T053 é por quadro observado na execução, nunca por tenant — marcar por tenant atingiria caixas que a execução não olhou
L26 Sprint 006 organização sem quadros (T055) é resposta, nunca lista vazia silenciosa
L57 Sprint 015 as tabelas novas nascem com consumidor no mesmo sprint (T057 é a tela) — tipo que ninguém produz e verificação que ninguém alcança são o mesmo defeito
L59/L60 Sprint 015/016 gates sempre por mix gates > log; ec=$?; exit $ec — nunca pipe, nunca echo EXIT=$? em background

Sprint no GitHub

Iteration: não criada, e é decisão — a L11 registra que configurar iterations do ProjectV2 recria as existentes. O projeto tem uma única iteration (Sprint 002), e criar a do 017 arriscaria reatribuir tudo de novo. As issues entram no board com Status: Ready e sem iteration; a #176 é a decisão pendente sobre esse custo. Projeto: The Band Tipos: Epic e User Story não existem na organização; criá-los altera configuração da org e espera confirmação da pessoa mantenedora. As tarefas são Task, filhas das user stories por sub-issue — a hierarquia carrega o que o tipo não diz.

User stories selecionadas

# User story Tipo Issue Priority Critérios
US2 (004) Enxergar os quadros e o que cada item carrega sem tipo próprio #107 P2 FR-020…FR-032b, SC-008, SC-009*
US3 (004) Restringir quais repositórios são observados sem tipo próprio #108 P3 FR-005, FR-006

Tarefas

# Tarefa Atende Issue Estado
T047 A entidade de quadro, sem promover US2 #373 feito
T048 As definições dos campos configuráveis US2 #374 feito
T049 Os itens de cada quadro, ligados às issues US2 #375 feito
T050 O rascunho é registrado, não descartado US2 #376 feito
T051 O valor de cada campo em cada item US2 #377 feito
T052 Iteração futura vira processo pretendido US2 #378 feito
T053 O sprint removido é marcado, nunca apagado US2 #379 feito
T054 Os dois backlogs derivados, e a soma prova US2 #380 feito
T055 Organização sem quadros é resposta US2 #381 feito
T056 As consultas GraphQL alargadas US2 #382 feito
T057 A tela de quadros e backlogs US2 #383 feito
T058 O controle de excluir repositório na tela US3 #384 feito

Tarefa não recebe Priority: herda a da user story que atende. Estimate fica em branco — desconhecido, nunca zero.

Fora do escopo deste sprint

O quê Issue Por quê
Mapear campo de quadro para atributo da ontologia (US3 da F6, T041–T044) #180 depende de os campos existirem — T048 e T051 são o pré-requisito. Entra no sprint seguinte
Sugerir papel a partir de evidência #317 funcionalidade nova, destravada mas não puxada
Competência como unidade do perfil #363/#364 funcionalidade nova — decisão da pessoa mantenedora: depois

Riscos e dependências

Risco Por quê O que fazer
Volume dos itens o DevOps tem 677 itens em 7 páginas; agora vêm com valores de campo — a resposta cresce paginação já existe; o custo real aparece na primeira coleta e vira medição
Migrar sro_sprints para apontar ao quadro 220 iterações vivas; errar a ligação perde os 2225 vínculos a migração liga por board_number + organização, e o gate de reprodutibilidade roda antes e depois
Revisão independente os quatro PRs de 2026-08-16 entraram sem revisão humana pedir à equipe the-band ao abrir, conferir reviewRequests, e declarar a lacuna se persistir

Definition of Done do sprint

  • [ ] as 12 issues fechadas, ou repriorizadas com justificativa escrita
  • [ ] mix gates com código de saída 0 — > log; ec=$?; exit $ec, nunca pipe
  • [ ] SC-009b provado por teste: product + sprints = total de itens
  • [ ] coleta real executada e medida (o quadro The Band tem 17 campos e 107 itens)
  • [ ] PR com revisor pedido à equipe the-band, pedido conferido
  • [ ] sprint-review.md escrito, separando entregue de não entregue
  • [ ] licoes-aprendidas.md atualizado
  • [ ] a lacuna da revisão independente declarada, se persistir