Files
msd-core/docs/pt-BR/how-to/debug-a-failed-execution.md
Tom Boucher 3bb2f8f1c5 docs: rebrand to GSD Core and restructure docs with Diataxis (#605)
* chore: wire docs/agents config into AGENTS.md Agent skills section

Add the `## Agent skills` discovery block pointing the engineering
skills at the existing docs/agents/{issue-tracker,triage-labels,domain}.md
files (issue tracker, triage label mapping, single-context domain docs).

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>

* docs: rebrand to GSD Core and restructure docs with Diataxis

Reorganise the root README and docs/ around the Diataxis framework
(tutorials, how-to guides, reference, explanation), add new how-to
guides and schema references (STATE.md / CONTEXT.md / PLAN.md /
planning artifacts), and cross-link the whole set. Update the lone
legacy gsd-build reference to open-gsd; keep internal get-shit-done/
filesystem paths unchanged (directory rename tracked separately in
open-gsd/gsd-core#604). Regenerate the ja-JP, ko-KR, pt-BR and zh-CN
localised trees to mirror the new structure.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>

* docs: backfill changeset PR number (#605)

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>

---------

Co-authored-by: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-02 08:13:09 -04:00

179 lines
6.5 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# Como depurar uma execução com falha
**Objetivo:** Recuperar quando uma execução de fase falha, trava ou produz trabalho incompleto — e retomar de forma limpa sem perder o progresso ou repetir o trabalho que já foi concluído com sucesso.
**Pré-requisitos:** Você executou `/gsd-execute-phase N` e a execução parou antes de gravar `VERIFICATION.md`, ou você vê saída inesperada, arquivos ausentes ou um indicador de progresso travado.
---
## Detectar se a execução travou ou falhou
Antes de tomar qualquer ação de recuperação, determine o que realmente aconteceu.
### Se você ver "Spawning…" sem saída após 1–5 minutos
Isso é normal, não é um travamento. Os subagentes GSD são executados em uma janela de contexto isolada. A nota de atividade na linha de spawn confirma isso. Não interrompa a sessão.
Se já se passaram mais de 10 minutos sem resultado, verifique a barra lateral do Claude Code. Se a tarefa do agente aparecer como concluída mas nenhuma saída tiver aparecido, o resultado pode ter sido perdido em uma troca de contexto — execute novamente o mesmo comando:
```bash
/gsd-execute-phase 1
```
O GSD verifica a existência de arquivos `SUMMARY.md` antes de despachar os executores. Planos que já possuem um são ignorados automaticamente.
### Se a execução parou no meio de uma onda com uma mensagem de erro
Verifique o histórico do git para ver quais planos foram commitados com sucesso:
```bash
git log --oneline -20
```
Planos que commitaram seu trabalho terão uma entrada como `feat(01-02): …`. Planos sem um commit estão incompletos e serão executados novamente quando você executar o comando novamente.
### Se o executor commitou o código mas não gravou SUMMARY.md
O GSD detecta isso na próxima execução e apresenta uma porta de retomada segura com três opções:
- **Fechar manualmente** — inspecione os commits você mesmo, escreva `SUMMARY.md` e execute novamente.
- **Executar novamente do zero** — reverta ou substitua os commits parciais antes de despachar um novo executor.
- **Marcar e pular** — registre a anomalia e continue, apenas com sua confirmação explícita.
---
## Diagnosticar a causa raiz
### Execute `/gsd-debug --diagnose`
Se a execução produziu saída incorreta, código com stubs ou uma falha de verificação, use o modo somente de diagnóstico para investigar sem aplicar nenhuma correção:
```bash
/gsd-debug --diagnose "Phase 2 executor produced stubs instead of real code"
```
`--diagnose` para na causa raiz sem tocar nos seus arquivos. Ele cria um arquivo de sessão em `.planning/debug/<slug>.md` para que você possa retomar a investigação mais tarde, se necessário.
Para iniciar uma sessão de depuração completa que também aplica uma correção:
```bash
/gsd-debug "Login middleware not handling 401 correctly after phase 3"
```
O GSD coleta sintomas, executa uma investigação estruturada usando o método científico e propõe uma correção. Se `tdd_mode: true` estiver definido na sua configuração, ele exige um teste com falha antes de aplicar qualquer correção.
### Verificar sessões de depuração ativas
```bash
/gsd-debug list
```
Mostra todas as sessões abertas com sua hipótese atual e próxima ação. Para retomar uma sessão específica:
```bash
/gsd-debug continue <slug>
```
---
## Executar uma análise post-mortem com `/gsd-forensics`
Se a causa não estiver clara a partir da saída de erro — por exemplo, planos referenciam arquivos inexistentes, a execução produziu resultados inesperados ou o estado parece corrompido — execute uma investigação forense:
```bash
/gsd-forensics "Phase 3 execution stalled after wave 1"
```
O GSD analisa o histórico do git, a completude dos artefatos em `.planning/`, a consistência de STATE.md, o trabalho não commitado e as worktrees órfãs. Ele grava um relatório estruturado em `.planning/forensics/report-<timestamp>.md` e apresenta as etapas de remediação recomendadas.
`/gsd-forensics` é somente leitura — ele nunca modifica os arquivos do seu projeto.
**O que ele detecta:**
- **Loop travado** — o mesmo arquivo aparece em três ou mais commits consecutivos em uma janela de tempo curta (confiança ALTA se as mensagens de commit forem semelhantes)
- **Artefatos ausentes** — uma fase tem commits mas não tem `SUMMARY.md` ou `VERIFICATION.md`
- **Trabalho abandonado** — alterações não commitadas com STATE.md mostrando execução em andamento e o último commit com mais de duas horas de idade
- **Falha ou interrupção** — alterações não commitadas combinadas com um estado de execução ativo e worktrees órfãs
- **Desvio de escopo** — commits recentes tocam arquivos fora do conjunto de arquivos esperado da fase atual
---
## Retomar a execução após a recuperação
Assim que o problema subjacente for resolvido, execute novamente o comando de execução:
```bash
/gsd-execute-phase 1
```
O GSD ignora planos cujo `SUMMARY.md` já existe e despacha executores apenas para os planos restantes.
Se precisar executar novamente apenas uma onda específica:
```bash
/gsd-execute-phase 1 --wave 2
```
Se quiser validar a integridade de `.planning/` antes de despachar:
```bash
/gsd-execute-phase 1 --validate
```
---
## Reverter com `/gsd-undo`
Se a execução produziu código que você deseja descartar completamente, reverta usando o manifesto do plano em vez do `git revert` manual:
### Reverter um único plano
```bash
/gsd-undo --plan 03-02
```
Reverte todos os commits do plano `02` da fase `3`. O GSD exibe uma porta de confirmação antes de gravar qualquer alteração.
### Reverter uma fase inteira
```bash
/gsd-undo --phase 03
```
Reverte todos os commits da fase `3`. O GSD verifica se alguma fase subsequente depende desta fase e avisa você antes de prosseguir.
### Selecionar interativamente a partir de commits recentes
```bash
/gsd-undo --last 5
```
Mostra os cinco commits GSD mais recentes e permite que você selecione quais reverter.
---
## Restaurar o contexto da sessão após uma pausa
Se você retornou ao projeto após uma reinicialização de contexto ou uma nova sessão:
```bash
/gsd-resume-work
```
Restaura o contexto completo da sua sessão a partir do último handoff, incluindo a fase atual, bloqueadores e onde a execução parou.
Como alternativa, para ver sua posição atual e avançar automaticamente para o próximo passo correto:
```bash
/gsd-progress --next
```
---
## Relacionados
- [Executar uma fase](execute-a-phase.md)
- [Recuperar e solucionar problemas](recover-and-troubleshoot.md)
- [Comandos](../COMMANDS.md)
- [Índice da documentação](../README.md)