---
description: Etapa 5 - Refinement do fluxo SDD
argument-hint: "\"<Tasks ou contexto>\""
agent: sdd-orchestrator
---
Antes de rodar comandos `sdd`, resolva o CLI uma vez: use `sdd` quando `command -v sdd` encontrar o binário; no checkout fonte `sdd-layer`, use `cargo run --bin sdd --`; se ambos falharem, reporte instalação/PATH ausente com o comando exato que precisa ser reexecutado.
Use a skill ou subagent desta etapa se o client a expuser. Se a skill/subagent não existir ou não carregar, este adapter é o fallback executável: siga as instruções abaixo e delegue estado, persistência e validação ao CLI `sdd`.
Nesta superfície OpenCode, propague o provider real para o harness com `SDD_PROVIDER=opencode`. Se a sessão estiver usando um modelo específico fora do roteamento, exporte também `SDD_MODEL=<modelo>` e, se aplicável, `SDD_EFFORT=<medium|high|xhigh>`.
Rode `SDD_PROVIDER=opencode sdd refinement "$ARGUMENTS"` e use o subagent `refinement` quando o risco exigir ou quando houver grooming técnico.
Entrada:
$ARGUMENTS
Saída obrigatória:
- Documento único e enxuto.
- `Resumo`.
- `Matriz CSD` (Certezas, Suposições, Dúvidas) sobre a solução, uma linha por item — só o que muda a decisão de implementação, não repita o óbvio da Tech Spec.
- `Solução proposta`.
- `Pontos de observação`.
- `Checklist`: lista curta, humanizada e de alto nível do que será feito (o quê, não como) — pensada pra alguém entender o escopo em 30 segundos, não uma cópia das subtasks. Aplique a skill `humanizer` nessa prosa.
- `Estimativa geral`: uma estimativa só pro escopo INTEIRO da tarefa (não por subtask) — T-shirt size (`P`, `PP`, `M`, `G`, `GG`), story point em Fibonacci (`1, 2, 3, 5, 8, 13, 21`) e duração do sprint (default 2 semanas; ajuste se o projeto usar outro ciclo).
- `Subtasks`: título + estimativa em horas por subtask, múltiplos de 0.5h (0.5, 1, 1.5, 2...) — some o total em horas ao final.
- `Definition of Ready` (DoR): o que precisa estar pronto antes de puxar a task para execução.
- `Definition of Done` (DoD): o que precisa estar verdadeiro para considerar a task concluída.
- `Flags, Remote Configs e Configurações`.
- Rastreabilidade para Tasks.
Aplique a skill `humanizer` em toda prosa narrativa deste documento (Resumo, Solução proposta, Pontos de observação, Checklist) — não em Gherkin, IDs, tabelas de contrato ou nomes técnicos.
Quando Refinement for obrigatório, pare para checkpoint humano antes de marcar como `approved`. Se for explicitamente dispensado por baixo risco, registre a dispensa. Salve em `docs/<slug-da-orquestracao>/05-refinement.md` via `sdd artifact save "<nome-da-orquestracao>" refinement --file <arquivo> --state approved`.
Após checkpoint aprovado, indique o próximo passo (`/execution` na primeira task) sem esperar o usuário perguntar.
Antes de persistir qualquer artefato, garanta que o artifact store exista com `sdd init "<nome-da-orquestracao>"` quando ainda não houver `docs/<slug-da-orquestracao>/traceability-map.yaml`.