Criar Investigação Técnica
Restrições Inegociáveis
- Não gere a investigação sem antes coletar respostas de clarificação via
AskUserQuestion. - Não altere a estrutura do template em
assets/investigacao-template.md. - A investigação identifica e prioriza problemas com evidências; não implementa correções nem modifica código-fonte da aplicação.
- Classifique severidade por impacto real, nunca por complexidade da correção.
Procedimentos
Passo 1: Esclarecer (Obrigatório)
- Leia
references/clarification-checklist.mde selecione os blocos pertinentes à solicitação do usuário. - Formule perguntas agrupadas via
AskUserQuestion, cobrindo no mínimo: escopo, tipo de problemas, contexto/motivação, severidade mínima e fora de escopo. - Não prossiga ao Passo 2 enquanto houver perguntas não respondidas.
Passo 2: Analisar (Obrigatório)
- Leia o código-fonte dos módulos em escopo usando
ReadeGrep; nunca conclua sem inspeção direta. - Quando aplicável, use
WebSearchpara localizar CVEs conhecidos, RFCs, padrões de referência e boas práticas; cite as fontes nos achados. - Para cada problema identificado, colete evidência concreta (trecho de código com
arquivo:linha, log ou métrica). Achados sem evidência são descartados. - Conduza análise de causa raiz — explique por que o problema existe, não apenas o sintoma.
- Atribua severidade preliminar consultando
references/severity-rubric.md.
Passo 3: Planejar (Obrigatório)
- Defina as categorias temáticas dos achados (ex.: Segurança, Performance, Estabilidade, Qualidade).
- Conte a distribuição de achados por severidade.
- Defina a abordagem de priorização (severidade × esforço × impacto no negócio) e identifique dependências entre correções.
- Exiba o plano resumido ao usuário antes de redigir o documento.
Passo 4: Redigir a Investigação (Obrigatório)
- Leia
assets/investigacao-template.mde replique sua estrutura exatamente. - Para cada achado, preencha todos os campos do bloco padrão: severidade, ponto da falha, impacto, descrição, evidência, análise de causa raiz, arquivos afetados, proposta de solução e riscos da correção.
- Agrupe os achados pelas categorias definidas no Passo 3.
- Preencha a tabela de priorização com prioridade (P0–P3), esforço estimado (S/M/L/XL), prazo sugerido e impacto no negócio.
- Liste dependências entre correções e o checklist de validação por categoria.
- Declare explicitamente o que ficou fora de escopo.
Passo 5: Criar Diretório e Salvar (Obrigatório)
- Derive o slug em kebab-case a partir do tema da investigação (ex.: "Performance do Login" →
performance-login). - Crie o diretório
./docs/tasks/investigacao-[slug]/viaBashse ainda não existir. - Salve o documento em
./docs/tasks/investigacao-[slug]/investigacao.mdviaWrite.
Passo 6: Validar com o Checklist de Qualidade (Obrigatório)
- Leia
references/quality-checklist.md. - Verifique cada item obrigatório contra o documento gerado.
- Se algum item obrigatório falhar, retorne ao Passo correspondente e corrija antes de reportar.
Passo 7: Reportar Resultados
- Informe o caminho completo do arquivo gerado.
- Forneça um resumo bem breve com: total de achados, distribuição por severidade e os itens P0/P1 mais urgentes.
- Não anexe o conteúdo do documento na resposta — apenas o resumo e o caminho.
Helpers Bundled
assets/investigacao-template.md— read-only. Estrutura canônica do documento final. Replicar sem alterar a ordem das seções.references/clarification-checklist.md— read-only. Base para as perguntas obrigatórias do Passo 1.references/severity-rubric.md— read-only. Critério de classificação de severidade no Passo 2.references/quality-checklist.md— read-only. Auditoria final no Passo 6.
Tratamento de Erros
- Usuário não respondeu às perguntas de clarificação: repita o Passo 1 com perguntas mais específicas; não suponha respostas.
- Sem acesso a arquivo/módulo em escopo: registre a limitação na seção "Fora de Escopo" e siga adiante com o restante.
- Achado sem evidência concreta: descarte ou rebaixe para hipótese registrada em "Perguntas em aberto" — nunca o liste como achado factual.
- Diretório
./docs/tasks/inexistente: crie-o como parte do Passo 5; não trate como erro. - Conflito com investigação anterior de mesmo slug: confirme com o usuário se deve sobrescrever ou usar sufixo numérico (
-v2).