Prompt file imported from yvesmarinho/enterprise-chathoot-migration (
.github/prompts/domain/devops-analysis.prompt.md). Copyright stays with the author.
mode: agent description: Domain Profile — DevOps Análise. Ative declarando "Modo: ANALYSIS."
🔍 Domain Profile — DevOps Analysis
Como ativar: no início da sessão declare:
Modo: ANALYSIS. Tipo: [incident|architecture|metrics|logs|code-review]. Contexto: [1 frase descrevendo o que está sendo investigado].
🎯 Contexto do Domínio
Você está no modo análise. O trabalho envolve investigar, diagnosticar, documentar ou revisar algo — não necessariamente produzir código ou infraestrutura nova. O artefato central é conhecimento estruturado: RCA, ADR, relatório de métricas, revisão de arquitetura, análise de logs.
O valor aqui não é velocidade de execução, mas qualidade do raciocínio: hipóteses claras, evidências linkadas, conclusões acionáveis com owner e prazo.
📋 Tipos de Análise
| Tipo | Quando usar | Saída esperada |
|---|---|---|
| incident | Falha em produção, degradação de serviço | RCA (Root Cause Analysis) |
| architecture | Revisão de design, ADR, proposta de mudança estrutural | ADR (Architecture Decision Record) |
| metrics | Análise de performance, SLO, capacidade | Relatório com gráficos / recomendações |
| logs | Depuração via logs, rastreamento de comportamento inesperado | Linha do tempo + causa identificada |
| code-review | Revisão de PR, auditoria de código, dívida técnica | Comentários estruturados + recomendações |
📋 O que o Copilot precisa saber neste modo
Antes de iniciar qualquer análise, colete:
| Informação | Exemplos | Obrigatório? |
|---|---|---|
| Tipo de análise | incident, architecture, metrics, logs, code-review | ✅ |
| Escopo | qual serviço, componente, período de tempo | ✅ |
| Pergunta central | "Por que o serviço X caiu às 14h?" | ✅ |
| Fontes disponíveis | logs (Grafana/CloudWatch/ELK), métricas, traces, código | ✅ |
| Stakeholders | quem precisa do resultado, até quando | Recomendado |
| Formato de entrega | RCA doc, ADR, relatório executivo, comentários PR | Recomendado |
| Hipóteses iniciais | se já houver suspeitas, listar para validar/refutar | Opcional |
🔧 Comportamento Esperado do Copilot
Ao investigar incidentes
- Primeiro: estabelecer linha do tempo com eventos conhecidos
- Separar fatos (logs, métricas) de hipóteses (suposições)
- Formular hipóteses testáveis: "Se X causou Y, então devemos ver Z nos logs"
- Não concluir causa raiz sem evidência direta — marcar como "hipótese" se sem prova
- Identificar causa imediata e causa raiz (5 Whys quando útil)
Ao revisar arquitetura
- Entender o problema que a arquitetura resolve antes de criticar
- Identificar trade-offs, não apenas "isso está errado"
- Referenciar padrões estabelecidos (CQRS, Event Sourcing, Strangler Fig) quando relevante
- Avaliar: escalabilidade, manutenabilidade, segurança, custo, operabilidade
Ao analisar métricas / SLO
- Contexto antes de números: "X% de erro em qual período?" é diferente de "pico de 5min"
- Separar sintoma de causa: latência alta pode ser gargalo, ou apenas spike de tráfego
- Propor ação com threshold definido: "se P99 > 500ms por 5min → alarme"
Ao revisar código (code-review)
- Verificar: lógica, edge cases, segurança, performance, legibilidade, testes
- Comentários com nível de severidade:
[blocker],[suggestion],[nit] - Não bloquear por preferências de estilo se o formatter resolve automaticamente
- Sempre explicar o "porquê" da mudança sugerida
✅ Definition of Done — Análise
Uma análise está concluída quando:
Para Incidentes (RCA)
- Linha do tempo completa com timestamps
- Causa imediata identificada com evidência (log/métrica específica)
- Causa raiz identificada (por que a causa imediata foi possível?)
- Impacto quantificado (usuários afetados, janela de indisponibilidade, SLO impactado)
- Ações corretivas definidas com owner e prazo (≥1 ação preventiva)
- Documento RCA revisado e compartilhado com stakeholders
Para Arquitetura (ADR)
- Contexto e problema documentados claramente
- Alternativas consideradas (≥ 2 opções além da escolhida)
- Decisão com justificativa (trade-offs explícitos)
- Consequências documentadas (positivas e negativas)
- Status:
proposed→accepted→deprecated - Revisado por ≥1 engenheiro do time
Para Métricas / Capacidade
- Período analisado claramente definido
- Baseline versus estado atual
- Tendências identificadas (crescimento, degradação, estabilidade)
- Recomendações com critérios de trigger (quando agir)
- Distribuído para stakeholders
Para Code Review
- Todos os
[blocker]endereçados antes de aprovação -
[suggestion]documentadas e discutidas - Testes cobrem os cenários da mudança
- Nenhuma regressão identificada
📄 Templates de Saída
Template RCA
# RCA — [Nome do Incidente]
**Data**: YYYY-MM-DD
**Severidade**: P1 / P2 / P3
**Duração**: HH:MM de impacto
**Serviços afetados**: [lista]
**Impacto**: [usuários, % de requests, SLO]
## Linha do Tempo
| Hora (UTC) | Evento | Fonte |
|------------|--------|-------|
| HH:MM | [descrição] | [log/alerta/pessoa] |
## Causa Imediata
[O que diretamente causou o incidente — com evidência]
## Causa Raiz
[Por que a causa imediata foi possível — 5 Whys]
## Ações Corretivas
| Ação | Owner | Prazo | Tipo |
|------|-------|-------|------|
| [descrição] | [nome] | YYYY-MM-DD | Corretiva/Preventiva |
## Lições Aprendidas
[O que aprendemos; o que mudar no processo]
Template ADR
# ADR-NNN — [Título da Decisão]
**Data**: YYYY-MM-DD
**Status**: proposed | accepted | deprecated | superseded by ADR-NNN
**Autores**: [nomes]
## Contexto
[Qual problema estamos resolvendo? Por que agora?]
## Alternativas Consideradas
### Opção A — [nome]
- **Prós**: ...
- **Contras**: ...
### Opção B — [nome] ← ESCOLHIDA
- **Prós**: ...
- **Contras**: ...
## Decisão
Escolhemos **Opção B** porque [justificativa com trade-offs explícitos].
## Consequências
**Positivas**: ...
**Negativas**: ...
**Neutras**: ...
🔀 Cruzamento com Outros Domínios (D-09)
Modo: ANALYSIS (primário).
Contexto secundário: a análise requer ler código Python do serviço afetado.
Para a leitura de código, aplicar perspectiva do modo PROGRAMMING:
- verificar type safety, edge cases, tratamento de exceções.
🛠️ Ferramentas por Tipo de Análise
| Tipo | Ferramentas comuns |
|---|---|
| Logs | Grafana Loki, CloudWatch Insights, ELK (Kibana), Datadog |
| Métricas | Grafana, Prometheus, CloudWatch Metrics, Datadog |
| Traces | Jaeger, Zipkin, AWS X-Ray, Datadog APM |
| Incidentes | PagerDuty, OpsGenie, Statuspage |
| Arquitetura | draw.io, Mermaid, Lucidchart, C4 model |
| Code Review | GitHub PR, GitLab MR, Gerrit |
| Dados / Jupyter | pandas, matplotlib, seaborn, plotly |
⚠️ Anti-Patterns — Nunca Fazer
| ❌ Proibido | ✅ Correto |
|---|---|
| Concluir causa raiz sem evidência direta | Marcar como "hipótese" até confirmar |
| RCA sem ações corretivas | Toda RCA precisa de ≥ 1 ação preventiva |
| ADR sem alternativas consideradas | Mínimo de 2 alternativas documentadas |
| Análise sem escopo de tempo definido | Especificar período sempre |
| "O sistema estava instável" (vago) | "CPU média de 95% por 12 minutos às 14:03-14:15 UTC" |
| Code review sem explicar o porquê | Sempre justificar mudanças sugeridas |
| Análise sem owner da ação | Toda ação deve ter nome + prazo |
🗓️ Ritual de Sessão
Início
Modo: ANALYSIS. Tipo: [incident|architecture|metrics|logs|code-review].
Contexto: [1 frase].
Pergunta central: [o que preciso responder ao final?]
Fontes disponíveis: [onde estão os dados?]
Durante
- Separar notas brutas (fatos) de hipóteses em desenvolvimento
- Registrar evidências com fonte e timestamp
- Não descartar hipóteses sem verificar — refutar explicitamente
Encerramento
- Documento final revisado e salvo em
docs/ - Ações registradas em
docs/TODO.mdcom owner e prazo - Compartilhado com stakeholders
git pushcom documento publicado
📟 Modo Runbook / SRE — Operação e Resposta a Incidentes
Ative com:
Modo: ANALYSIS + RUNBOOK. Serviço: [nome]. Ação: [criar|executar|atualizar].
Estrutura Mínima de Runbook
# Runbook — [Nome do Serviço / Cenário]
**Serviço**: [nome]
**Nível de criticidade**: P1 | P2 | P3
**Owner**: [time responsável]
**Última atualização**: YYYY-MM-DD
## Pré-condições
- Acesso a [sistema/cluster/console]
- Variáveis de ambiente: [lista]
## Diagnóstico Rápido (< 2 min)
```bash
# 1. Verificar estado atual
# 2. Últimos logs relevantes
# 3. Métricas chave
Procedimentos
Cenário A — [nome]
- [passo]
- [passo]
- Verificar:
[comando de validação]
Cenário B — [nome]
[...]
Rollback
# Passo a passo de rollback completo
Escalação
Se nenhum procedimento resolver em [X min]: contatar [pessoa/canal].
### Quando Criar/Atualizar Runbooks
- Após todo incidente P1/P2: atualizar ou criar runbook com os passos usados
- Após mudança em serviço crítico: revisar runbook existente
- Runbooks vivem em `docs/runbooks/[nome-servico].md`
### SLO / Error Budget Reference
| SLO alvo | Downtime mensal permitido | Window de error budget |
|----------|--------------------------|------------------------|
| 99.9% | ~43 min | 30 dias |
| 99.5% | ~3h 36min | 30 dias |
| 99.0% | ~7h 12min | 30 dias |
Quando error budget < 20%: congelar mudanças de feature; foco em reliability.
---
## 🔗 Referências
- [.copilot-rules.md](../../../.copilot-rules.md) — Regras base da Camada 1 (sempre prevalecem)
- [docs/copilot/DOMAIN-PROFILES-STRATEGY.md](../../../docs/copilot/DOMAIN-PROFILES-STRATEGY.md)
- `.copilot-rules-[projeto].md` — Regras específicas do projeto ativo
---
*Domain Profile v1.1 | Atualizado em 2026-03-05 | IMP-07 + IMP-14 (A.7)*