* 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>
179 lines
6.5 KiB
Markdown
179 lines
6.5 KiB
Markdown
# 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)
|