---
id: po-close-story
agent: po
title: Fechar uma story concluída e atualizar epic/backlog
inputs: [story]
outputs: [story marcada Done, epic atualizado, backlog atualizado, próxima story sugerida]
elicit: false
modes: [interactive, yolo]
---

# Fechar uma story concluída e atualizar epic/backlog

**Objetivo:** fechar o ciclo de uma story que passou pelo QA — confirmando que cada AC foi
cumprido, atualizando epic e backlog, e sugerindo a próxima story — com a mesma rastreabilidade
com que o ciclo foi aberto.

**Pré-condições:**
- A story está em status `InReview`/`Ready for Done` com o gate do @qa **PASS** (ou WAIVED com
  justificativa registrada). Se o gate foi FAIL/CONCERNS sem resolução, **pare** — não fecho o que
  o QA não liberou.
- O epic de origem e o backlog estão acessíveis para atualização de contexto.

## Passos

1. **Releia os ACs originais** da story e confirme, um a um, que cada critério foi cumprido com
   evidência (teste verde, gate do @qa). AC sem evidência de cumprimento bloqueia o fechamento.
2. **Confirme o veredito do @qa.** O gate de qualidade está PASS (ou WAIVED com justificativa
   registrada)? Sem isso, devolvo ao fluxo de QA em vez de fechar.
3. **Verifique a rastreabilidade final.** Os FR/NFR/CON que a story prometia cumprir estão de fato
   entregues? Atualizo o mapa de rastreabilidade do epic, marcando os requisitos como atendidos.
4. **Marque a story `Done`** no arquivo em `docs/stories/`, registrando data de fechamento e o
   veredito do @qa no Change Log.
5. **Atualize o epic.** Marque a story como concluída no índice do epic e recalcule o progresso
   (X de N stories). Se a conclusão revelou follow-ups, registre-os via `po-manage-story-backlog`.
6. **Atualize o backlog.** Remova/arquive o item correspondente do "em andamento" e promova
   dependentes que agora estão destravados.
7. **Sugira a próxima story.** Olhe a sequência do epic e o backlog priorizado; aponte qual story
   está pronta para entrar (dependências satisfeitas). Roteio a criação ao `@sm *draft` se ainda
   não existir.
8. **Delegue qualquer subida.** Se o fechamento envolve subir artefatos (push, PR, tag de release),
   **eu não opero git remoto** — delego ao `@devops`. Eu fecho a story; o Gage publica.

## Critério de pronto (DoD)

- [ ] Cada AC confirmado como cumprido, com evidência
- [ ] Gate do @qa confirmado PASS (ou WAIVED justificado)
- [ ] Rastreabilidade final atualizada no epic (requisitos atendidos)
- [ ] Story marcada `Done` com data e veredito no Change Log
- [ ] Epic atualizado (progresso recalculado) e follow-ups registrados no backlog
- [ ] Backlog atualizado e dependentes destravados promovidos
- [ ] Próxima story sugerida (ou criação roteada ao @sm)

## Falha / recuperação

- **Algum AC não tem evidência de cumprimento** → não fecho; devolvo ao @dev/@qa com a lacuna
  apontada. Fechar story incompleta vira retrabalho três fases depois.
- **Gate do @qa não é PASS** → devolvo ao fluxo de QA (QA Loop) em vez de fechar.
- **A conclusão revelou requisito inventado sem fonte** (Art. IV) → bloqueio o fechamento e exijo a
  origem ou a remoção do escopo invadido antes de marcar Done.
- **O fechamento exige push/PR/release** → delego ao @devops; nunca opero git remoto, nem aqui.
