---
id: apply-qa-fixes
agent: dev
title: Aplicar o feedback de QA na implementação
inputs: [story, gate de QA (qa.gate)]
outputs: [código corrigido, testes, File List atualizada, status: Ready for Review]
elicit: false
modes: [interactive, yolo]
---

# Aplicar o feedback de QA na implementação

**Objetivo:** absorver o veredito do @qa e corrigir os pontos levantados na minha implementação,
deixando a story verde de novo — sem reescrever o que já passou e sem tocar no que não é meu.

**Pré-condições:**
- Existe um gate de QA com veredito `CONCERNS` ou `FAIL` (ou notas de review) apontando issues
  concretas na story. Se o veredito é `PASS` sem ressalvas, **pare** — não há o que corrigir.
- A story está em `InReview` (voltou do QA). Se está em outro status, confirmo a procedência antes
  de mexer.

## Passos

1. **Leio o gate de QA** e extraio a lista de issues, cada uma com seu AC/severidade. Priorizo:
   bloqueadores (`FAIL`) antes de ressalvas (`CONCERNS`).
2. **Confirmo que cada issue é minha lane.** Issue de código/teste → corrijo. Issue que aponta AC
   errado, escopo ou requisito ausente → **não conserto por conta própria**: devolvo ao @sm/@po,
   porque AC e escopo não são meus.
3. **Corrijo issue por issue, pelo menor caminho:**
   a. aplico a correção mínima que resolve o ponto levantado;
   b. escrevo/ajusto o teste que prova que a issue foi fechada;
   c. rodo lint + os testes da área.
4. **Atualizo a File List** com cada arquivo tocado na correção.
5. **Rodo a regressão completa** (lint + typecheck + toda a suíte) — corrigir uma coisa não pode
   quebrar outra. Vermelho não volta pro QA.
6. **Atualizo Completion Notes e Change Log** descrevendo o que mudou em resposta a cada issue do
   gate (rastreabilidade: issue → fix).
7. **Seto Status = `Ready for Review`** e roteio de volta ao @qa. **Não** dou `git push` — a subida
   é do @devops; faço commit local e delego.

## Critério de pronto (DoD)

- [ ] Toda issue de `FAIL`/`CONCERNS` da minha lane foi corrigida, cada uma com teste verde
- [ ] Issues fora da minha lane (AC/escopo) foram devolvidas ao @sm/@po, não "consertadas"
- [ ] Regressão completa verde: lint limpo, typecheck 0, suíte completa passando
- [ ] File List, Completion Notes e Change Log atualizados (rastro issue → fix)
- [ ] Status = `Ready for Review`; commit local feito, sem `git push`

## Falha / recuperação

- **Uma issue do gate é na verdade um problema de AC/escopo** → devolvo ao @sm/@po; não reescrevo a
  story para "fechar" a issue.
- **A correção de uma issue quebra outra área (regressão)** → paro, registro no Debug Log e resolvo
  antes de devolver ao QA. Não empurro regressão conhecida.
- **3 tentativas falhas na mesma issue** → HALT e reporto; não empilho gambiarra sobre gambiarra.
- **O veredito do QA está ambíguo (não dá pra saber o que corrigir)** → peço esclarecimento ao @qa
  antes de adivinhar.
