Sprint 027 — Review¶
Período: 2026-09-01 a 2026-09-08 · encerrado antecipadamente em 2026-09-02 Feature: 055 — equipes declaradas
Resumo¶
| Planejado | Entregue | |
|---|---|---|
| User stories | 3 | 3 |
| Tarefas | 15 | 13 |
| Entregáveis aceitos | 15 | 13 com ressalva |
As três user stories estão completas em código. Nenhuma issue foi fechada — as 18 continuam abertas na origem, e é a primeira coisa que esta review corrige.
O que foi feito¶
| Tarefa | Issue | Entregável | Aceito |
|---|---|---|---|
| T001 | #687 | baseline dos gates aberta | sim |
| T002 | #688 | eo.team_part_of_team na ontologia, acíclica por restrição |
sim |
| T003 | #689 | eo_team_compositions + as três colunas de invalidação |
sim |
| T004 | #690 | registrar saída não apaga: o teste da violação | sim |
| T005 | #691 | declare_team_membership/5 |
sim |
| T006 | #692 | record_team_departure/5 |
sim |
| T007 | #693 | record_team_membership_mistake/5 |
sim |
| T008 | #694 | "vigente" com duas condições, nas seis consultas | sim |
| T009 | #695 | declare_structural_team/4 |
sim |
| T010 | #696 | tela cria e diz de onde a equipe veio | sim |
| T011 | #697 | recusa do ciclo de comprimento 3 | sim |
| T012 | #698 | compose_teams/4 e decompose_teams/4 |
sim |
| T013 | #699 | estrutura nas duas telas | sim |
User stories: US1 #702 · US2 #703 · US3 #704 — as três completas.
O que não foi feito¶
| Tarefa | Issue | Motivo | Destino |
|---|---|---|---|
| T014 | #700 | as duas afirmações quando coleta e declaração discordam nunca foi implementada. A seção que existe hoje em show.ex é a de evidência pendente de confirmação, que responde outra pergunta |
sprint 028, dentro da feature 057 — a tela da equipe é reescrita lá, e fazer as duas afirmações agora seria trabalho jogado fora |
| T015 | #701 | gates e PR no padrão aconteceram; a revisão independente não | sprint 028, como condição de entrada dos PRs — ver a ressalva abaixo |
Entregáveis aceitos com ressalva¶
Os treze entregáveis passaram nos critérios da tarefa e foram incorporados sem revisão independente. Os quatro PRs — #706, #710, #712, #713 — têm 2 revisores pedidos e 0 revisões cada um. O merge não esperou.
O princípio VII é explícito: "Aprovar o próprio PR, ou fazer merge sem revisão independente, MUST NOT acontecer. Quando a revisão independente não puder ser obtida, a lacuna MUST ser declarada — nunca marcada como cumprida."
A lacuna está declarada aqui. T015 não é marcada como feita, e a condição passa para o sprint seguinte.
Evidências¶
| O quê | Onde |
|---|---|
| código na linha de integração | origin/development — commits c2a2df9, f61f5f2, 7392deb, 1ca621c, 8459cfb |
| funções da feature no código | compose_teams, decompose_teams, record_team_departure, record_team_membership_mistake, declare_structural_team — todas em lib/the_band/ontology/seon/eo/commands.ex |
| PRs incorporados | #706, #710, #712, #713 |
| revisões nesses PRs | zero — medido em 2026-09-02 com gh pr view --json reviews |
Dívida gerada¶
A medida ignora o vínculo que este sprint criou. A feature 055 entregou
started_at, ended_at e a invalidação — e Profiles.TeamSkills continua lendo
a evidência que a origem lista hoje. Quem saiu segue contando, e o conjunto de
membros de hoje é aplicado aos meses passados.
É o mesmo defeito que o SC-003 desta feature proíbe no vínculo, acontecendo na
medida. Já está registrado em docs/backlog/tela-da-equipe-complexa.md
e é a US1 da feature 057 — o primeiro item do sprint 028.
Um defeito mais antigo, achado ao planejar a 057: a condição de vigência usa
started_at <= data, e started_at é anulável de propósito. Contra nulo a
comparação avalia para desconhecido, e a linha é descartada — quem tem data de
início desconhecida não é membro em data alguma, sem erro e sem aviso.
Presente em count_team_members_at/3 desde este sprint. Corrigido pela T034 da
057.
Lições deste sprint¶
Três, e a primeira é a que mais custou.
L95 — Pedir revisor não é obter revisão, e o merge não espera¶
Os quatro PRs tiveram revisores pedidos e nenhum revisou. A L89 dizia que PR sem revisor pedido não é PR revisado; esta é a variante seguinte — pedir e seguir em frente. O botão de merge não sabe a diferença.
L96 — Issue que ninguém fecha faz o sprint parecer não entregue¶
Treze tarefas concluídas e incorporadas, zero issues fechadas. Quem olhasse a origem em 2026-09-02 veria um sprint sem nenhuma entrega. A medida de fluxo que a plataforma existe para calcular sairia errada sobre o próprio repositório.
L97 — Feature que corrige o vínculo não corrige quem lê o vínculo¶
A 055 entregou o período do vínculo e nenhuma das consultas de medida passou a usá-lo. O defeito nasceu no mesmo sprint que criou o dado para evitá-lo, e só apareceu quando alguém foi desenhar a tela que o consome.