Fluxo Padrao de PR
O fluxo padrao de pull request em projetos AIOS, desde a conclusao do codigo ate o merge e deploy.
Visao Geral
No AIOS, apenas @devops (Gage) tem autoridade para enviar codigo e criar pull requests. Todos os outros agentes delegam para @devops quando o codigo esta pronto para entrega. Isso garante gerenciamento consistente de branches e qualidade de PRs.
Criando um PR
Apos o desenvolvimento e a aprovacao no QA gate:
@devops *pushO agente DevOps cuida de:
- Criar a branch de feature (se ainda nao estiver em uma)
- Adicionar e commitar todas as mudancas
- Enviar para o repositorio remoto
- Criar o pull request com descricao adequada vinculando a story
Checklist do PR
Antes de solicitar um push, garanta que:
- Todos os criterios de aceitacao atendidos
- Testes passando
- Lint limpo
- QA gate aprovado (PASS ou CONCERNS)
- Arquivo de story atualizado com a Lista de Arquivos
- Nenhum segredo ou credencial commitado
- Change Log atualizado no arquivo da story
Integracao com CodeRabbit
O AIOS integra com o CodeRabbit para revisao automatizada de codigo. O CodeRabbit opera em dois modos dependendo da fase:
Durante o Desenvolvimento (Fase @dev)
mode: light
max_iterations: 2
severity_filter: [CRITICAL, HIGH]- Achados CRITICAL: Auto-corrigidos imediatamente
- Achados HIGH: Auto-corrigidos se abaixo de 2 iteracoes, caso contrario documentados como divida tecnica
- Achados MEDIUM: Documentados como divida tecnica
- Achados LOW: Ignorados
Se problemas CRITICAL persistirem apos 2 iteracoes, o processo para para intervencao manual.
Durante a Revisao QA (Fase @qa)
mode: full
max_iterations: 3
severity_filter: [CRITICAL, HIGH]O QA executa uma revisao mais profunda:
- Scan de revisao pre-commit
- Loop de auto-correcao (max 3 iteracoes para auto-fixes)
- Analise manual do QA (padroes arquiteturais, rastreabilidade, requisitos nao-funcionais)
- Decisao do gate (PASS / CONCERNS / FAIL / WAIVED)
Executando CodeRabbit Manualmente
*coderabbit-reviewIsso aciona uma revisao CodeRabbit independente fora do workflow normal, util para verificacoes pontuais antes da submissao.
O Loop de Auto-Correcao
Quando o CodeRabbit encontra problemas, o loop de auto-correcao tenta correcoes automaticas:
Scan CodeRabbit --> CRITICAL encontrado?
SIM --> auto-corrigir --> re-scan (max iteracoes)
NAO --> documentar problemas restantes --> prosseguirApos o numero maximo de iteracoes, quaisquer problemas CRITICAL restantes bloqueiam o PR ate serem resolvidos manualmente. Problemas HIGH que sobrevivem ao loop sao documentados como divida tecnica.
Processo de Revisao QA
O QA gate executa 7 verificacoes de qualidade:
- Revisao de codigo — Padroes, legibilidade, manutenibilidade
- Testes unitarios — Cobertura adequada, todos passando
- Criterios de aceitacao — Todos atendidos conforme AC da story
- Sem regressoes — Funcionalidade existente preservada
- Performance — Dentro de limites aceitaveis
- Seguranca — Basicos OWASP verificados
- Documentacao — Atualizada se necessario
Decisoes do Gate
| Decisao | Significado | Acao |
|---|---|---|
| PASS | Todas verificacoes OK | Prosseguir para @devops *push |
| CONCERNS | Problemas menores | Aprovar com observacoes documentadas |
| FAIL | Problemas criticos | Retornar para @dev com feedback especifico |
| WAIVED | Problemas aceitos | Aprovar com waiver documentado (raro) |
Merge
Apos a aprovacao do PR:
@devops *mergeO agente DevOps faz o merge do PR usando a estrategia configurada (tipicamente squash merge).
Fluxo Expedido (Hotfixes)
Para emergencias em producao:
@devops *push --expediteIsso pula o loop completo de QA e cria um PR de alta prioridade marcado para revisao imediata. Use apenas para problemas P0. Veja o guia de Gestao de Crises para o protocolo completo de war room.
Solucao de Problemas
| Problema | Solucao |
|---|---|
| Push rejeitado (sem remoto) | Garanta que o repositorio tem um remoto configurado: git remote -v |
| Timeout do CodeRabbit | Verifique conectividade de rede; re-execute com *coderabbit-review |
| Conflitos no PR | Rebase localmente: git rebase main; resolva conflitos; depois @devops *push |
| QA gate em loop infinito | Verifique se criterios de aceitacao sao ambiguos; clarifique com @po |
| Push bloqueado por autoridade | Apenas @devops pode fazer push; delegue com @devops *push |