---
id: po-pull-story
agent: po
title: Puxar atualizações de uma story da ferramenta de PM
inputs: [story, ferramenta (clickup|github|jira|local)]
outputs: [story local atualizada com mudanças remotas, conflitos sinalizados]
elicit: false
modes: [interactive, yolo]
---

# Puxar atualizações de uma story da ferramenta de PM

**Objetivo:** trazer para a story local em `docs/stories/` as mudanças feitas na ferramenta de
gestão (ClickUp / GitHub Issues / Jira / local) — status, comentários, checklist de ACs —
mantendo a fonte de verdade coesa sem perder edições locais.

**Pré-condições:**
- A story existe em `docs/stories/` e já foi sincronizada antes (há mapa de IDs em `.nexus/`). Se
  nunca houve sync, **pare** e oriente rodar `po-sync-story` primeiro.
- O provider de PM está configurado em `.nexus/`. Sem provider, **pare** e reporte.

## Passos

1. **Recupere o mapa de IDs** (story local ↔ ID externo) em `.nexus/` e identifique o provider alvo.
2. **Busque o estado remoto** do item na ferramenta: status, ACs/checklist, comentários relevantes,
   prioridade, atribuições.
3. **Compare remoto × local.** Liste o que mudou de cada lado desde a última sincronização —
   distinguindo o que veio do time (na ferramenta) do que foi editado localmente.
4. **Aplique remoto→local sem destruir a autoridade de escopo.** Status, checklist de ACs e
   comentários podem ser refletidos na story. Mas mudança de **AC, título ou escopo** vinda da
   ferramenta **eu não aplico em silêncio** — sinalizo, porque autoria de escopo é do @pm/@sm, não
   minha (e nem da ferramenta).
5. **Sinalize conflitos.** Onde local e remoto divergem no mesmo campo, não sobrescrevo cegamente;
   apresento o conflito e a decisão fica com o dono do campo.
6. **Atualize a story** em `docs/stories/` com as mudanças seguras e registre no Change Log a data e
   a origem do pull.
7. **Roteie o que mudou de escopo.** Se a ferramenta trouxe novo AC/escopo, roteio ao `@sm` (story)
   ou `@pm` (produto) para autoria formal — e, se isso conflita com PRD/epic, escalo correção de
   curso ao `@nexus-master`. Eu reflito metadados; não reescrevo escopo.

## Critério de pronto (DoD)

- [ ] Mapa de IDs recuperado e provider identificado
- [ ] Estado remoto buscado (status, ACs, comentários, prioridade)
- [ ] Diff remoto × local computado e apresentado
- [ ] Mudanças seguras (status, checklist, comentários) refletidas na story
- [ ] Mudanças de AC/título/escopo NÃO aplicadas em silêncio — sinalizadas e roteadas
- [ ] Conflitos de campo sinalizados, não sobrescritos
- [ ] Change Log da story atualizado com data e origem do pull

## Falha / recuperação

- **Sem mapa de IDs / story nunca sincronizada** → paro e oriento rodar `po-sync-story` antes.
- **A ferramenta alterou AC/título/escopo** → não aplico por conta própria; sinalizo e roteio ao
  @sm/@pm. Meu poder é GO/NO-GO e reflexo de metadados, não edição de escopo.
- **Conflito remoto × local no mesmo campo** → sinalizo e deixo a decisão com o dono; não
  sobrescrevo cegamente.
- **Divergência cria conflito com PRD/epic** → escalo correção de curso ao @nexus-master, em voz
  alta, sem resolver em silêncio.
- **Falha de autenticação / provider** → reporto com contexto; credenciais e MCP são do @devops.
