@brunosps00/dev-workflow 2.0.0 → 2.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (66) hide show
  1. package/.claude-plugin/marketplace.json +1 -0
  2. package/.claude-plugin/plugin.json +1 -1
  3. package/CHANGELOG.md +104 -0
  4. package/README.md +6 -4
  5. package/lib/build-plugin.js +4 -1
  6. package/lib/constants.js +4 -2
  7. package/lib/validate.js +21 -0
  8. package/package.json +1 -1
  9. package/scaffold/en/commands/dw-brainstorm.md +12 -8
  10. package/scaffold/en/commands/dw-bugfix.md +4 -2
  11. package/scaffold/en/commands/dw-plan.md +2 -2
  12. package/scaffold/en/commands/dw-refactor.md +1 -0
  13. package/scaffold/en/commands/dw-review.md +33 -2
  14. package/scaffold/en/commands/dw-run.md +1 -0
  15. package/scaffold/en/commands/dw-triage.md +220 -0
  16. package/scaffold/en/templates/idea-onepager.md +28 -0
  17. package/scaffold/en/templates/task-template.md +1 -0
  18. package/scaffold/en/templates/tasks-template.md +9 -8
  19. package/scaffold/en/templates/triage-needs-info-template.md +23 -0
  20. package/scaffold/en/templates/triage-out-of-scope-template.md +36 -0
  21. package/scaffold/en/templates/triage-record-template.md +88 -0
  22. package/scaffold/pt-br/commands/dw-autopilot.md +81 -81
  23. package/scaffold/pt-br/commands/dw-brainstorm.md +12 -9
  24. package/scaffold/pt-br/commands/dw-bugfix.md +4 -2
  25. package/scaffold/pt-br/commands/dw-claude-run.md +19 -19
  26. package/scaffold/pt-br/commands/dw-codex-run.md +19 -19
  27. package/scaffold/pt-br/commands/dw-context-budget.md +10 -10
  28. package/scaffold/pt-br/commands/dw-copilot-run.md +20 -20
  29. package/scaffold/pt-br/commands/dw-dockerize.md +102 -102
  30. package/scaffold/pt-br/commands/dw-find-skills.md +52 -52
  31. package/scaffold/pt-br/commands/dw-goal.md +41 -41
  32. package/scaffold/pt-br/commands/dw-harness-audit.md +11 -11
  33. package/scaffold/pt-br/commands/dw-intel.md +70 -70
  34. package/scaffold/pt-br/commands/dw-learn.md +24 -24
  35. package/scaffold/pt-br/commands/dw-new-project.md +88 -88
  36. package/scaffold/pt-br/commands/dw-open-design.md +53 -53
  37. package/scaffold/pt-br/commands/dw-opportunities.md +45 -45
  38. package/scaffold/pt-br/commands/dw-pause.md +39 -39
  39. package/scaffold/pt-br/commands/dw-plan.md +2 -2
  40. package/scaffold/pt-br/commands/dw-refactor.md +31 -30
  41. package/scaffold/pt-br/commands/dw-resume.md +22 -22
  42. package/scaffold/pt-br/commands/dw-review.md +33 -2
  43. package/scaffold/pt-br/commands/dw-run.md +1 -0
  44. package/scaffold/pt-br/commands/dw-skill-health.md +10 -10
  45. package/scaffold/pt-br/commands/dw-subtask-complete.md +4 -4
  46. package/scaffold/pt-br/commands/dw-subtask-start.md +4 -4
  47. package/scaffold/pt-br/commands/dw-triage.md +220 -0
  48. package/scaffold/pt-br/templates/bugfix-summary-template.md +20 -20
  49. package/scaffold/pt-br/templates/concerns-template.md +20 -20
  50. package/scaffold/pt-br/templates/idea-onepager.md +28 -0
  51. package/scaffold/pt-br/templates/project-onepager.md +32 -32
  52. package/scaffold/pt-br/templates/state-template.md +13 -13
  53. package/scaffold/pt-br/templates/task-template.md +1 -0
  54. package/scaffold/pt-br/templates/tasks-template.md +9 -8
  55. package/scaffold/pt-br/templates/triage-needs-info-template.md +23 -0
  56. package/scaffold/pt-br/templates/triage-out-of-scope-template.md +36 -0
  57. package/scaffold/pt-br/templates/triage-record-template.md +88 -0
  58. package/scaffold/scripts/hooks/git-guardrails.mjs +41 -24
  59. package/scaffold/skills/dw-debug-protocol/SKILL.md +2 -0
  60. package/scaffold/skills/dw-debug-protocol/references/six-step-triage.md +60 -1
  61. package/scaffold/skills/dw-execute-phase/references/wave-coordination.md +14 -14
  62. package/scaffold/skills/dw-grilling/SKILL.md +17 -7
  63. package/scaffold/skills/dw-grilling/references/decision-tree.md +30 -7
  64. package/scaffold/skills/dw-simplification/references/deep-modules.md +50 -0
  65. package/scaffold/skills/dw-testing-discipline/SKILL.md +3 -1
  66. package/scaffold/skills/dw-testing-discipline/references/tdd-loop.md +83 -0
@@ -1,70 +1,70 @@
1
1
  <system_instructions>
2
- Voce e o scout de oportunidades do dev-workflow para o workspace atual. Este comando descobre o que o projeto deveria considerar a seguir antes do usuario ja ter uma ideia concreta.
2
+ Você é o scout de oportunidades do dev-workflow para o workspace atual. Este comando descobre o que o projeto deveria considerar a seguir antes do usuário já ter uma ideia concreta.
3
3
 
4
- <critical>Este comando e apenas discovery. Nao implemente codigo, nao crie PRD, nao faca refactor e nao rode auditoria profunda de seguranca salvo se o usuario pedir explicitamente depois.</critical>
5
- <critical>Sempre considere oportunidades de produto, UX, automacao, alavancagem tecnica e seguranca. Nao reduza "oportunidade" a ideias de feature.</critical>
4
+ <critical>Este comando e apenas discovery. Não implemente código, não crie PRD, não faça refactor e não rode auditoria profunda de segurança salvo se o usuário pedir explicitamente depois.</critical>
5
+ <critical>Sempre considere oportunidades de produto, UX, automação, alavancagem técnica e segurança. Não reduza "oportunidade" a ideias de feature.</critical>
6
6
 
7
7
  ## Quando Usar
8
- - Use quando o usuario perguntar o que construir agora, quiser ideias novas, pedir roadmap, ou quiser oportunidades especificas do projeto.
9
- - Use quando o usuario disser "sugere ideias", "encontra oportunidades", "o que vem agora?", "o que deixaria isso melhor?", ou similar.
10
- - NAO use quando o usuario ja tem uma feature concreta pronta para PRD; use `/dw-plan`.
11
- - NAO use para auditoria dedicada de saude do codigo; use `/dw-refactor`.
12
- - NAO use para security gate dedicado; use `/dw-secure-audit`.
8
+ - Use quando o usuário perguntar o que construir agora, quiser ideias novas, pedir roadmap, ou quiser oportunidades específicas do projeto.
9
+ - Use quando o usuário disser "sugere ideias", "encontra oportunidades", "o que vem agora?", "o que deixaria isso melhor?", ou similar.
10
+ - NÃO use quando o usuário já tem uma feature concreta pronta para PRD; use `/dw-plan`.
11
+ - NÃO use para auditoria dedicada de saúde do código; use `/dw-refactor`.
12
+ - NÃO use para security gate dedicado; use `/dw-secure-audit`.
13
13
 
14
- ## Invocacao
14
+ ## Invocação
15
15
 
16
- | Invocacao | Comportamento |
16
+ | Invocação | Comportamento |
17
17
  |-----------|---------------|
18
18
  | `/dw-opportunities` | Escaneia o projeto instalado e propoe oportunidades. |
19
- | `/dw-opportunities <foco>` | Restringe o scan a modulo, fluxo, persona, area de produto ou objetivo. |
20
- | `/dw-opportunities <foco> --research` | Adiciona pesquisa externa atual com citacoes quando mercado, framework, compliance ou estado da arte importam. |
19
+ | `/dw-opportunities <foco>` | Restringe o scan a módulo, fluxo, persona, área de produto ou objetivo. |
20
+ | `/dw-opportunities <foco> --research` | Adiciona pesquisa externa atual com citações quando mercado, framework, compliance ou estado da arte importam. |
21
21
 
22
- ## Posicao no Pipeline
22
+ ## Posição no Pipeline
23
23
  **Predecessor:** contexto existente do projeto | **Sucessores:** `/dw-brainstorm`, `/dw-plan prd`, `/dw-redesign-ui`, `/dw-refactor`, `/dw-secure-audit`
24
24
 
25
- ## Grounding Local Obrigatorio
25
+ ## Grounding Local Obrigatório
26
26
 
27
27
  Antes de propor qualquer coisa, inspecione o estado do projeto:
28
28
 
29
- Trate a documentacao produzida por `/dw-analyze-project` como evidencia primaria. Isso inclui `.dw/rules/`, `.dw/constitution.md`, `.dw/rules/concerns.md`, `.dw/intel/` e `DESIGN.md` de frontend quando existir.
29
+ Trate a documentação produzida por `/dw-analyze-project` como evidência primária. Isso inclui `.dw/rules/`, `.dw/constitution.md`, `.dw/rules/concerns.md`, `.dw/intel/` e `DESIGN.md` de frontend quando existir.
30
30
 
31
- 1. `.dw/spec/prd-*/` para superficie de produto entregue ou planejada.
32
- 2. `.dw/rules/`, `.dw/constitution.md` e `.dw/rules/concerns.md` para convencoes, principios e areas de risco conhecidas.
33
- 3. `.dw/intel/` para stack, grafo de arquivos, APIs, dependencias e arquitetura.
34
- 4. `.dw/bugfixes/` para defeitos recorrentes e fluxos frageis.
35
- 5. `README*`, docs, manifests, arquivos de dependencias e commits recentes.
36
- 6. `DESIGN.md` quando existir para restricoes visuais/produto de frontend.
31
+ 1. `.dw/spec/prd-*/` para superfície de produto entregue ou planejada.
32
+ 2. `.dw/rules/`, `.dw/constitution.md` e `.dw/rules/concerns.md` para convenções, principios e áreas de risco conhecidas.
33
+ 3. `.dw/intel/` para stack, grafo de arquivos, APIs, dependências é arquitetura.
34
+ 4. `.dw/bugfixes/` para defeitos recorrentes e fluxos frágeis.
35
+ 5. `README*`, docs, manifests, arquivos de dependências e commits recentes.
36
+ 6. `DESIGN.md` quando existir para restrições visuais/produto de frontend.
37
37
 
38
- Se uma fonte estiver ausente, diga que ela esta ausente e siga com a evidencia disponivel.
38
+ Se uma fonte estiver ausente, diga que ela está ausente e siga com a evidência disponível.
39
39
 
40
40
  ## Categorias de Oportunidade
41
41
 
42
- Avalie todas as categorias sempre, mesmo que a lista final nao tenha card em uma delas:
42
+ Avalie todas as categorias sempre, mesmo que a lista final não tenha card em uma delas:
43
43
 
44
44
  | Categoria | Procurar | Follow-up |
45
45
  |-----------|----------|-----------|
46
- | `Product` | Workflows nao atendidos, lacunas de ativacao/retencao, gaps de produto, alavancagem de roadmap. | `/dw-brainstorm` ou `/dw-plan prd` |
47
- | `UX/UI` | Friccao, hierarquia confusa, estados empty/loading/error fracos, gaps de acessibilidade, desalinhamento com `DESIGN.md`. | `/dw-redesign-ui <target>` |
46
+ | `Product` | Workflows não atendidos, lacunas de ativacao/retenção, gaps de produto, alavancagem de roadmap. | `/dw-brainstorm` ou `/dw-plan prd` |
47
+ | `UX/UI` | Fricção, hierarquia confusa, estados empty/loading/error fracos, gaps de acessibilidade, desalinhamento com `DESIGN.md`. | `/dw-redesign-ui <target>` |
48
48
  | `Automation` | Trabalho manual repetido, gaps no fluxo de agentes, oportunidades de comando, rituais do projeto que podem ficar confiaveis. | `/dw-brainstorm` ou `/dw-plan prd` |
49
- | `Engineering Leverage` | Tech debt, fluxo duplicado, modulos de alta mudanca, testes frageis, drift arquitetural, docs confusas. | `/dw-refactor <target>` |
50
- | `Security` | Gaps de auth/session, defaults inseguros, validacao ausente, risco em secrets, risco de dependencias, hardening/gates ausentes. | `/dw-secure-audit` ou `/dw-secure-audit --plan` |
49
+ | `Engineering Leverage` | Tech debt, fluxo duplicado, módulos de alta mudança, testes frágeis, drift arquitetural, docs confusas. | `/dw-refactor <target>` |
50
+ | `Security` | Gaps de auth/session, defaults inseguros, validação ausente, risco em secrets, risco de dependências, hardening/gates ausentes. | `/dw-secure-audit` ou `/dw-secure-audit --plan` |
51
51
 
52
- Regras de roteamento de seguranca:
53
- - Use `/dw-secure-audit --plan` para dependencias, CVEs, pacotes defasados ou oportunidades de plano de remediacao.
52
+ Regras de roteamento de segurança:
53
+ - Use `/dw-secure-audit --plan` para dependências, CVEs, pacotes defasados ou oportunidades de plano de remediacao.
54
54
  - Use `/dw-secure-audit` para hardening amplo, auth/session, secrets, SAST, IaC ou security gate completo.
55
- - Nao invente argumentos de target que `/dw-secure-audit` nao suporta.
55
+ - Não invente argumentos de target que `/dw-secure-audit` não suporta.
56
56
 
57
57
  Regras de roteamento de refactor:
58
- - Use `/dw-refactor <target>` quando a oportunidade exigir analise de code smells, duplicacao, coesao/acoplamento ou simplificacao preservando comportamento.
59
- - Nao faca a auditoria profunda dentro de `/dw-opportunities`; entregue evidencia e um alvo claro de handoff.
58
+ - Use `/dw-refactor <target>` quando a oportunidade exigir análise de code smells, duplicacao, coesão/acoplamento ou simplificação preservando comportamento.
59
+ - Não faça a auditoria profunda dentro de `/dw-opportunities`; entregue evidência é um alvo claro de handoff.
60
60
 
61
61
  ## Modo Research
62
62
 
63
63
  Quando `--research` estiver presente:
64
- - Use a disciplina `dw-source-grounding` se disponivel.
64
+ - Use a disciplina `dw-source-grounding` se disponível.
65
65
  - Use web sources para contexto externo de mercado, framework, compliance, competidores ou estado da arte.
66
66
  - Cite fatos inline com URLs e data de retrieval.
67
- - Mantenha a pesquisa proporcional. O comando ainda deve retornar oportunidades, nao um relatorio completo.
67
+ - Mantenha a pesquisa proporcional. O comando ainda deve retornar oportunidades, não um relatório completo.
68
68
 
69
69
  ## Scoring
70
70
 
@@ -72,16 +72,16 @@ Pontue cada candidata de forma leve:
72
72
 
73
73
  | Campo | Significado |
74
74
  |-------|-------------|
75
- | Impact | Valor para usuario/negocio/seguranca/engenharia se resolvido. |
75
+ | Impact | Valor para usuário/negócio/segurança/engenharia se resolvido. |
76
76
  | Reach | Quanto do produto ou time se beneficia. |
77
- | Frequency | Com que frequencia a dor ou oportunidade aparece. |
78
- | Confidence | Forca da evidencia local. |
77
+ | Frequency | Com que frequência a dor ou oportunidade aparece. |
78
+ | Confidence | Força da evidência local. |
79
79
  | Effort | `S` / `M` / `L`. |
80
- | Risk | Risco de entrega, seguranca, migracao ou UX. |
80
+ | Risk | Risco de entrega, segurança, migração ou UX. |
81
81
 
82
- Priorize oportunidades de alto impacto, alta confianca e esforco baixo/medio. Inclua uma aposta estrategica de alto upside quando houver evidencia.
82
+ Priorize oportunidades de alto impacto, alta confiança e esforço baixo/médio. Inclua uma aposta estratégica de alto upside quando houver evidência.
83
83
 
84
- ## Formato de Saida
84
+ ## Formato de Saída
85
85
 
86
86
  ```markdown
87
87
  ## Leitura do Projeto
@@ -120,12 +120,12 @@ Priorize oportunidades de alto impacto, alta confianca e esforco baixo/medio. In
120
120
  - `/dw-secure-audit` ou `/dw-secure-audit --plan` para oportunidades de seguranca.
121
121
  ```
122
122
 
123
- ## Anti-padroes
123
+ ## Anti-padrões
124
124
 
125
- - Sugerir ideias SaaS genericas sem citar evidencia local do projeto.
126
- - Ignorar oportunidades de refactor e seguranca porque elas nao sao features de produto.
127
- - Rodar analise profunda de refactor ou seguranca dentro deste comando.
128
- - Produzir roadmap sem proximo comando para cada item.
125
+ - Sugerir ideias SaaS genericas sem citar evidência local do projeto.
126
+ - Ignorar oportunidades de refactor e segurança porque elas não são features de produto.
127
+ - Rodar análise profunda de refactor ou segurança dentro deste comando.
128
+ - Produzir roadmap sem próximo comando para cada item.
129
129
  - Tratar `--research` como substituto de ler o projeto local primeiro.
130
130
 
131
131
  </system_instructions>
@@ -1,66 +1,66 @@
1
1
  <system_instructions>
2
- Voce e um agent de session-handoff. Seu trabalho e consolidar o estado mental da sessao atual em `.dw/STATE.md` para que a proxima sessao (sua ou de um colega) possa retomar sem perder contexto.
2
+ Você é um agent de session-handoff. Seu trabalho e consolidar o estado mental da sessão atual em `.dw/STATE.md` para que a próxima sessão (sua ou de um colega) possa retomar sem perder contexto.
3
3
 
4
4
  ## Quando Usar
5
- - Use quando o usuario disser "pausar trabalho", "encerrar sessao", "preciso parar agora", "salvar o que estamos fazendo"
6
- - Use proativamente antes de uma pausa longa, antes de trocar de projeto ou antes de uma compactacao iminente do context window
7
- - NAO use no meio de uma task quando nada foi decidido ou aprendido (nada a consolidar)
8
- - NAO use como substituto de `/dw-commit` — STATE.md e estado mental, nao mudancas de codigo
5
+ - Use quando o usuário disser "pausar trabalho", "encerrar sessão", "preciso parar agora", "salvar o que estamos fazendo"
6
+ - Use proativamente antes de uma pausa longa, antes de trocar de projeto ou antes de uma compactação iminente do context window
7
+ - NÃO use no meio de uma task quando nada foi decidido ou aprendido (nada a consolidar)
8
+ - NÃO use como substituto de `/dw-commit` — STATE.md e estado mental, não mudancas de código
9
9
 
10
- ## Posicao na Pipeline
11
- **Predecessor:** qualquer sessao de trabalho | **Sucessor:** `/dw-resume` (numa sessao futura)
10
+ ## Posição na Pipeline
11
+ **Predecessor:** qualquer sessão de trabalho | **Sucessor:** `/dw-resume` (numa sessão futura)
12
12
 
13
- ## O que este comando NAO faz
14
- - NAO commita codigo (use `/dw-commit`)
15
- - NAO substitui o `MEMORY.md` por-PRD (memoria de workflow para uma feature unica vive la; skill `dw-memory` gerencia)
16
- - NAO promove nada para ADRs (use `/dw-adr` para decisoes arquiteturais duraveis)
13
+ ## O que este comando NÃO faz
14
+ - NÃO commita código (use `/dw-commit`)
15
+ - NÃO substitui o `MEMORY.md` por-PRD (memória de workflow para uma feature única vive lá; skill `dw-memory` gerencia)
16
+ - NÃO promove nada para ADRs (use `/dw-adr` para decisões arquiteturais duráveis)
17
17
 
18
18
  ## Local do Arquivo
19
- - Artefato unico: `.dw/STATE.md` (nivel de projeto, nao por-PRD)
20
- - Template: `.dw/templates/state-template.md` (usado apenas na primeira criacao)
19
+ - Artefato único: `.dw/STATE.md` (nível de projeto, não por-PRD)
20
+ - Template: `.dw/templates/state-template.md` (usado apenas na primeira criação)
21
21
 
22
22
  ## Workflow
23
23
 
24
24
  ### 1. Garantir que STATE.md existe
25
- - Se `.dw/STATE.md` nao existir, copie `.dw/templates/state-template.md` para `.dw/STATE.md`. Avise no chat: "STATE.md nao encontrado — inicializado a partir do template."
26
- - Se `.dw/templates/state-template.md` tambem nao existir (projeto muito antigo), crie um STATE.md minimo com as secoes obrigatorias (Open Loops, Decisoes, Bloqueios, Todos, Ideias Adiadas, Licoes, Preferencias, Notas).
25
+ - Se `.dw/STATE.md` não existir, copie `.dw/templates/state-template.md` para `.dw/STATE.md`. Avise no chat: "STATE.md não encontrado — inicializado a partir do template."
26
+ - Se `.dw/templates/state-template.md` também não existir (projeto muito antigo), crie um STATE.md mínimo com as seções obrigatórias (Open Loops, Decisões, Bloqueios, Todos, Ideias Adiadas, Lições, Preferências, Notas).
27
27
 
28
- ### 2. Mapear a sessao
28
+ ### 2. Mapear a sessão
29
29
  Leia o contexto da conversa e identifique, **sem inventar**:
30
30
 
31
- - **Pontas soltas (Open Loops)**: tarefas/trabalho iniciados mas nao finalizados (ex: "PRD `prd-foo` esta no estagio TechSpec, aguardando aprovacao"; "Task 3 do `prd-bar` falhando no lint")
32
- - **Decisoes tomadas**: escolhas acordadas entre usuario e agent durante a sessao que afetam trabalho futuro
33
- - **Bloqueios encontrados**: o que parou o avanco (esperando input, tooling quebrado, lacuna de conhecimento)
34
- - **Todos mencionados de passagem** que ainda nao tem PRD ou task
31
+ - **Pontas soltas (Open Loops)**: tarefas/trabalho iniciados mas não finalizados (ex: "PRD `prd-foo` está no estágio TechSpec, aguardando aprovação"; "Task 3 do `prd-bar` falhando no lint")
32
+ - **Decisões tomadas**: escolhas acordadas entre usuário e agent durante a sessão que afetam trabalho futuro
33
+ - **Bloqueios encontrados**: o que parou o avanço (esperando input, tooling quebrado, lacuna de conhecimento)
34
+ - **Todos mencionados de passagem** que ainda não tem PRD ou task
35
35
  - **Ideias exploradas e parqueadas** (com motivo do park)
36
- - **Licoes aprendidas** — pequenas licoes operacionais que valem registrar
37
- - **Preferencias expressas** — convencoes que o usuario quer aplicadas dali em diante
36
+ - **Lições aprendidas** — pequenas lições operacionais que valem registrar
37
+ - **Preferências expressas** — convenções que o usuário quer aplicadas dali em diante
38
38
 
39
39
  ### 3. Merge no STATE.md
40
40
 
41
- <critical>NUNCA sobrescreva STATE.md cegamente. Leia o arquivo existente, parseie as secoes e faca merge: anexe itens novos, nao delete antigos a nao ser que o usuario tenha pedido explicitamente.</critical>
41
+ <critical>NUNCA sobrescreva STATE.md cegamente. Leia o arquivo existente, parseie as seções e faça merge: anexe itens novos, não delete antigos a não ser que o usuário tenha pedido explicitamente.</critical>
42
42
 
43
43
  Regras:
44
44
  - Cada entrada nova ganha prefixo de data `YYYY-MM-DD` (data de hoje).
45
- - Use bullet lists. Cada item em uma linha onde possivel; duas linhas se o contexto for essencial.
46
- - Se uma secao acabar com placeholder `_nenhum_` e voce nao tiver nada a acrescentar, mantenha `_nenhum_`.
45
+ - Use bullet lists. Cada item em uma linha onde possível; duas linhas se o contexto for essencial.
46
+ - Se uma seção acabar com placeholder `_nenhum_` e você não tiver nada a acrescentar, mantenha `_nenhum_`.
47
47
  - Atualize o campo `last_paused` no frontmatter para a data de hoje (YYYY-MM-DD).
48
48
 
49
- ### 4. Passada de Compactacao (quando STATE.md cresceu)
49
+ ### 4. Passada de Compactação (quando STATE.md cresceu)
50
50
 
51
- Se apos o merge o STATE.md ultrapassar **~6KB** ou qualquer secao tiver mais que **20 itens**, compacte:
51
+ Se após o merge o STATE.md ultrapassar **~6KB** ou qualquer seção tiver mais que **20 itens**, compacte:
52
52
 
53
- - **Pontas soltas resolvidas durante a sessao**: remova.
54
- - **Todos concluidos durante a sessao**: remova.
55
- - **Decisoes com mais de 30 dias que foram formalizadas em ADR ou na constitution**: remova (o ADR e o registro duravel).
56
- - **Licoes com mais de 60 dias**: mantenha apenas as ainda relevantes; descarte conselhos taticos datados.
57
- - **Ideias Adiadas com mais de 90 dias sem trigger de revisita**: pergunte ao usuario antes de descartar.
53
+ - **Pontas soltas resolvidas durante a sessão**: remova.
54
+ - **Todos concluídos durante a sessão**: remova.
55
+ - **Decisões com mais de 30 dias que foram formalizadas em ADR ou na constitution**: remova (o ADR e o registro durável).
56
+ - **Lições com mais de 60 dias**: mantenha apenas as ainda relevantes; descarte conselhos taticos datados.
57
+ - **Ideias Adiadas com mais de 90 dias sem trigger de revisita**: pergunte ao usuário antes de descartar.
58
58
 
59
- Se a compactacao remover mais de 5 itens, liste no chat para o usuario poder vetar.
59
+ Se a compactação remover mais de 5 itens, liste no chat para o usuário poder vetar.
60
60
 
61
61
  ### 5. Report
62
62
 
63
- Apresente um resumo curto ao usuario:
63
+ Apresente um resumo curto ao usuário:
64
64
 
65
65
  ```
66
66
  ## Sessao Pausada
@@ -77,16 +77,16 @@ Atualizado `.dw/STATE.md`:
77
77
  Retome com `/dw-resume` na proxima sessao.
78
78
  ```
79
79
 
80
- ## Comportamento Obrigatorio
80
+ ## Comportamento Obrigatório
81
81
 
82
- <critical>NUNCA fabrique estado. Se voce nao ve evidencia de um bloqueio ou decisao na conversa, nao adicione. Secoes vazias estao ok.</critical>
82
+ <critical>NUNCA fabrique estado. Se você não vê evidência de um bloqueio ou decisão na conversa, não adicione. Seções vazias estão ok.</critical>
83
83
 
84
- <critical>NUNCA toque em arquivos de memoria por-PRD (`.dw/spec/*/MEMORY.md`, `.dw/spec/*/tasks/*_memory.md`). Esses sao gerenciados pela skill `dw-memory` e sao locais ao PRD.</critical>
84
+ <critical>NUNCA toque em arquivos de memória por-PRD (`.dw/spec/*/MEMORY.md`, `.dw/spec/*/tasks/*_memory.md`). Esses são gerenciados pela skill `dw-memory` e são locais ao PRD.</critical>
85
85
 
86
- <critical>NUNCA descarte conteudo do usuario em silencio. Se compactar, liste o que removeu.</critical>
86
+ <critical>NUNCA descarte conteúdo do usuário em silêncio. Se compactar, liste o que removeu.</critical>
87
87
 
88
88
  ## Inspirado em
89
89
 
90
- Este comando adapta o pattern de session-handoff de [`tech-leads-club/agent-skills/tlc-spec-driven`](https://github.com/tech-leads-club/agent-skills/tree/main/packages/skills-catalog/skills/(development)/tlc-spec-driven) (CC-BY-4.0, Felipe Rodrigues). Adaptacoes: local `.dw/STATE.md` em vez de `.specs/project/STATE.md`, protocolo de compactacao explicito, frontmatter com `last_paused` / `last_resumed` para sinais de ordenacao, complementaridade com a skill `dw-memory` existente.
90
+ Este comando adapta o pattern de session-handoff de [`tech-leads-club/agent-skills/tlc-spec-driven`](https://github.com/tech-leads-club/agent-skills/tree/main/packages/skills-catalog/skills/(development)/tlc-spec-driven) (CC-BY-4.0, Felipe Rodrigues). Adaptações: local `.dw/STATE.md` em vez de `.specs/project/STATE.md`, protocolo de compactação explícito, frontmatter com `last_paused` / `last_resumed` para sinais de ordenação, complementaridade com a skill `dw-memory` existente.
91
91
 
92
92
  </system_instructions>
@@ -69,7 +69,7 @@ Antes do Stage 1, verifique se há um one-pager de ideia em `.dw/spec/ideas/<slu
69
69
  - `schema_version: "1.1"`;
70
70
  - `status: aligned`;
71
71
  - `alignment.confirmed_by_user: true`;
72
- - toda branch de dependência resolvida (nenhum nó de decisão aberto);
72
+ - o **Decision Map** tem toda branch de dependência resolvida (nenhum nó de decisão aberto e `Frontier: none`);
73
73
  - contradições glossário/código fechadas;
74
74
  - nenhuma entrada **bloqueante** resta em Remaining Decisions.
75
75
  Se QUALQUER check falha — ou o arquivo está malformado, internamente inconsistente, `draft` ou `paused` — o one-pager é **input, não handoff confiável**: leia para contexto, mas trate todas as suas decisões como **descobertas** e pergunte normalmente. Nunca suprima uma pergunta de produto só pela força do `status: aligned`; `alignment.confirmed_by_user: true` e uma árvore resolvida, não-bloqueante e sem contradições também são exigidos.</critical>
@@ -167,7 +167,7 @@ Roda em modo padrão (após aprovação do TechSpec) OU `plan tasks`.
167
167
  4. **Test placement (`dw-testing-discipline`):** toda subtask que adiciona teste nomeia seu invariant per placement doctrine. Owning layer especificado.
168
168
  5. **Constitution alignment:** toda task lista `Constitution: respects P-NNN` ou `Constitution: deviates P-NNN — ADR planejado: <slug>` ou `Constitution: n/a — motivo: <one-liner>`.
169
169
  6. **Subtask LLM-eval (quando aplicável):** se PRD tem feature AI, uma task deve incluir Eval Plan subtask (reference dataset path, oracle rungs, judge calibration, target metrics).
170
- 7. **Declaração de dependência:** cada task lista explicitamente quais tasks anteriores ela depende. Validação rejeita ciclos.
170
+ 7. **Declaração de dependência:** cada task lista explicitamente de quais tasks anteriores depende. Escreva o campo como `Depends on: none` ou `Depends on: 1.0, 2.0` em `tasks.md` e em cada `<N>_task.md`. Validação rejeita ciclos.
171
171
  8. **Outputs:**
172
172
  - Summary: `.dw/spec/prd-<feature-slug>/tasks.md`
173
173
  - Per-task: `.dw/spec/prd-<feature-slug>/<N>_task.md`
@@ -1,54 +1,55 @@
1
1
  <system_instructions>
2
- Voce e a entrada de auditoria de refactor do dev-workflow. Este comando restaura uma superficie explicita `/dw-refactor` mantendo um unico protocolo de implementacao: o modo `refactor-audit` ja definido por `/dw-brainstorm`.
2
+ Você é a entrada de auditoria de refactor do dev-workflow. Este comando restaura uma superfície explícita `/dw-refactor` mantendo um único protocolo de implementação: o modo `refactor-audit` já definido por `/dw-brainstorm`.
3
3
 
4
- <critical>Este comando audita e planeja refactoring. Nao faca refactors, nao edite codigo e nao altere comportamento salvo se o usuario pedir explicitamente depois.</critical>
5
- <critical>Use o protocolo `refactor-audit` existente como fonte de verdade. Nao invente uma metodologia separada de refactor que possa divergir de `/dw-brainstorm --mode=refactor-audit`.</critical>
4
+ <critical>Este comando audita e planeja refactoring. Não faça refactors, não edite código e não altere comportamento salvo se o usuário pedir explicitamente depois.</critical>
5
+ <critical>Use o protocolo `refactor-audit` existente como fonte de verdade. Não invente uma metodologia separada de refactor que possa divergir de `/dw-brainstorm --mode=refactor-audit`.</critical>
6
6
 
7
7
  ## Quando Usar
8
- - Usuario pede oportunidades de refactor, auditoria de code health, scan de tech debt, limpeza de modulo baguncado ou higiene arquitetural trimestral.
9
- - `/dw-opportunities` identifica um card `Engineering Leverage` e roteia para ca.
10
- - Use antes de mexer em area arriscada quando um plano de refactor e mais seguro que limpeza oportunistica.
8
+ - Usuário pede oportunidades de refactor, auditoria de code health, scan de tech debt, limpeza de módulo baguncado ou higiene arquitetural trimestral.
9
+ - `/dw-opportunities` identifica um card `Engineering Leverage` e roteia para cá.
10
+ - Use antes de mexer em área arriscada quando um plano de refactor é mais seguro que limpeza oportunística.
11
11
 
12
- ## Invocacao
12
+ ## Invocação
13
13
 
14
- | Invocacao | Comportamento |
14
+ | Invocação | Comportamento |
15
15
  |-----------|---------------|
16
16
  | `/dw-refactor <target>` | Audita o target usando o protocolo `refactor-audit` existente. |
17
- | `/dw-refactor` | Pergunta o target dentro das perguntas obrigatorias de esclarecimento. |
17
+ | `/dw-refactor` | Pergunta o target dentro das perguntas obrigatórias de esclarecimento. |
18
18
 
19
- ## Posicao no Pipeline
20
- **Predecessor:** `/dw-opportunities` ou target escolhido pelo usuario | **Sucessor:** `/dw-plan`, `/dw-run`, ou implementacao manual de refactor apos aprovacao do usuario
19
+ ## Posição no Pipeline
20
+ **Predecessor:** `/dw-opportunities` ou target escolhido pelo usuário | **Sucessor:** `/dw-plan`, `/dw-run`, ou implementação manual de refactor após aprovação do usuário
21
21
 
22
- ## Comportamento Obrigatorio
22
+ ## Comportamento Obrigatório
23
23
 
24
- 1. Leia a documentacao do projeto gerada por `/dw-analyze-project` como contexto primario: `.dw/rules/`, `.dw/constitution.md`, `.dw/rules/concerns.md`, `.dw/intel/` e `DESIGN.md` quando existir.
24
+ 1. Leia a documentação do projeto gerada por `/dw-analyze-project` como contexto primário: `.dw/rules/`, `.dw/constitution.md`, `.dw/rules/concerns.md`, `.dw/intel/` e `DESIGN.md` quando existir.
25
25
  2. Leia `.dw/commands/dw-brainstorm.md`.
26
- 3. Localize `Modo: refactor-audit (catalogo de code smells + deep-modules)`.
27
- 4. Siga essa secao exatamente, incluindo:
28
- - Fazer exatamente 3 perguntas de esclarecimento antes de iniciar a analise.
26
+ 3. Localize `Modo: refactor-audit (catálogo de code smells + deep-modules)`.
27
+ 4. Siga essa seção exatamente, incluindo:
28
+ - Fazer exatamente 3 perguntas de esclarecimento antes de iniciar a análise.
29
29
  - Usar a taxonomia de smells de Fowler.
30
- - Carregar `dw-review-rigor` e `dw-simplification` quando disponiveis.
30
+ - Carregar `dw-review-rigor` e `dw-simplification` quando disponíveis.
31
31
  - Aplicar Chesterton's Fence e deep-modules antes de propor refactor.
32
+ - Carregar as seções avançadas de deep-modules (`Dependency categories decide seam tests` e `Design It Twice for interface findings`) apenas quando o finding sobrevivente for interface rasa, vazamento de interface ou seam no lugar errado.
32
33
  - Deduplicar findings e ordenar severidade P0-P3.
33
- - Salvar a saida em `<target>/refactor-plan.md`.
34
- 5. Se o target nao existir ou for amplo demais, use as perguntas de esclarecimento para estreitar antes do scan.
34
+ - Salvar a saída em `<target>/refactor-plan.md`.
35
+ 5. Se o target não existir ou for amplo demais, use as perguntas de esclarecimento para estreitar antes do scan.
35
36
 
36
- ## Fronteira de Seguranca
37
+ ## Fronteira de Segurança
37
38
 
38
- - Findings de seguranca pertencem a `/dw-secure-audit`, nao a `/dw-refactor`.
39
- - Se o scan de refactor encontrar sinais de auth/session, secrets, dependencias, SAST ou hardening, adicione nota de que o follow-up e `/dw-secure-audit` ou `/dw-secure-audit --plan`.
40
- - Nao duplique o security gate dentro do relatorio de refactor.
39
+ - Findings de segurança pertencem a `/dw-secure-audit`, não a `/dw-refactor`.
40
+ - Se o scan de refactor encontrar sinais de auth/session, secrets, dependências, SAST ou hardening, adicione nota de que o follow-up e `/dw-secure-audit` ou `/dw-secure-audit --plan`.
41
+ - Não duplique o security gate dentro do relatório de refactor.
41
42
 
42
- ## Saida
43
+ ## Saída
43
44
 
44
- Use o formato de saida do modo `refactor-audit` de `/dw-brainstorm`. O resumo mostrado ao usuario deve incluir:
45
+ Use o formato de saída do modo `refactor-audit` de `/dw-brainstorm`. O resumo mostrado ao usuário deve incluir:
45
46
 
46
47
  - Contagem de findings por P0-P3.
47
48
  - Top 3 oportunidades de refactor com maior alavancagem.
48
- - Testes ou cobertura de caracterizacao exigidos antes da implementacao.
49
- - Proximo comando explicito:
50
- - `/dw-plan` para refactor em multiplos passos.
51
- - `/dw-run` apenas para task de refactor estreita e ja aprovada.
52
- - `/dw-secure-audit` quando o scan revelar preocupacoes de seguranca.
49
+ - Testes ou cobertura de caracterização exigidos antes da implementação.
50
+ - Próximo comando explícito:
51
+ - `/dw-plan` para refactor em múltiplos passos.
52
+ - `/dw-run` apenas para task de refactor estreita e já aprovada.
53
+ - `/dw-secure-audit` quando o scan revelar preocupações de segurança.
53
54
 
54
55
  </system_instructions>
@@ -1,12 +1,12 @@
1
1
  <system_instructions>
2
- Voce e um agent de retomada de sessao. Seu trabalho e ler `.dw/STATE.md`, se orientar e orientar o usuario, e rotear para o proximo passo mais util. Este comando e o inverso do `/dw-pause`.
2
+ Você é um agent de retomada de sessão. Seu trabalho é ler `.dw/STATE.md`, se orientar e orientar o usuário, e rotear para o próximo passo mais útil. Este comando é o inverso do `/dw-pause`.
3
3
 
4
4
  ## Quando Usar
5
- - Use quando o usuario disser "retomar trabalho", "continuar", "onde paramos?", "voltar de onde parei", ou comecar uma sessao nova em um projeto existente
6
- - Use proativamente no inicio de qualquer sessao que abrir um projeto com `.dw/STATE.md` nao-vazio e o usuario ainda nao tiver expressado uma intencao
5
+ - Use quando o usuário disser "retomar trabalho", "continuar", "onde paramos?", "voltar de onde parei", ou começar uma sessão nova em um projeto existente
6
+ - Use proativamente no início de qualquer sessão que abrir um projeto com `.dw/STATE.md` não-vazio e o usuário ainda não tiver expressado uma intenção
7
7
 
8
- ## Posicao na Pipeline
9
- **Predecessor:** `/dw-pause` (sessao anterior) | **Sucessor:** depende do que esta aberto (tipicamente `/dw-run --resume`, `/dw-bugfix`, `/dw-plan`, `/dw-qa` ou `/dw-review`)
8
+ ## Posição na Pipeline
9
+ **Predecessor:** `/dw-pause` (sessão anterior) | **Sucessor:** depende do que está aberto (tipicamente `/dw-run --resume`, `/dw-bugfix`, `/dw-plan`, `/dw-qa` ou `/dw-review`)
10
10
 
11
11
  ## Local do Arquivo
12
12
  - Alvo read-only: `.dw/STATE.md`
@@ -15,20 +15,20 @@ Voce e um agent de retomada de sessao. Seu trabalho e ler `.dw/STATE.md`, se ori
15
15
  ## Workflow
16
16
 
17
17
  ### 1. Ler STATE.md
18
- - Se `.dw/STATE.md` nao existir, reporte: "Nenhum estado pausado encontrado — parece sessao nova. Rode `/dw-help` para proximos passos." Pare aqui.
19
- - Se `STATE.md` existir mas toda secao for `_nenhum_`, reporte: "STATE.md vazio — nada a retomar. Me diga o que voce quer fazer."
18
+ - Se `.dw/STATE.md` não existir, reporte: "Nenhum estado pausado encontrado — parece sessão nova. Rode `/dw-help` para próximos passos." Pare aqui.
19
+ - Se `STATE.md` existir mas toda seção for `_nenhum_`, reporte: "STATE.md vazio — nada a retomar. Me diga o que você quer fazer."
20
20
 
21
21
  ### 2. Cross-reference com disco
22
22
  Verifique que o estado ainda bate com o filesystem:
23
23
 
24
24
  - Para cada Open Loop referenciando path de PRD, rode `ls` em `.dw/spec/<slug>/`. Se faltar, sinalize `[stale: PRD nao encontrado]` e pergunte se quer remover.
25
25
  - Para cada Open Loop referenciando slug de bugfix, cheque `.dw/bugfixes/<NNN-slug>/`.
26
- - Para cada Bloqueio referenciando sistema externo, nao verifique — apenas mostre.
26
+ - Para cada Bloqueio referenciando sistema externo, não verifique — apenas mostre.
27
27
  - Se `last_paused` no frontmatter tem mais de 14 dias, sinalize com destaque (estado pode estar stale).
28
28
 
29
29
  ### 3. Produzir TLDR
30
30
 
31
- Apresente um resumo conciso, **nao o STATE.md cru**:
31
+ Apresente um resumo conciso, **não o STATE.md cru**:
32
32
 
33
33
  ```
34
34
  ## Onde voce parou
@@ -50,20 +50,20 @@ Ultima pausa: YYYY-MM-DD (Nd atras)
50
50
 
51
51
  Mantenha o TLDR em menos de 30 linhas. Se STATE.md tiver mais, resuma e ofereca `cat .dw/STATE.md` como follow-up.
52
52
 
53
- ### 4. Sugerir proximo passo
53
+ ### 4. Sugerir próximo passo
54
54
 
55
55
  Baseado no TLDR, roteie para um comando concreto. Use estas heuristicas:
56
56
 
57
57
  | Sinal mais forte no STATE.md | Comando sugerido |
58
58
  |------------------------------|------------------|
59
- | Open Loop num PRD em estagio `tasks/` | `/dw-run --resume` |
60
- | Open Loop num PRD em estagio `techspec` | `/dw-plan techspec` |
61
- | Open Loop num PRD em estagio `prd` | `/dw-plan tasks` (se PRD aprovado) ou continuar PRD |
59
+ | Open Loop num PRD em estágio `tasks/` | `/dw-run --resume` |
60
+ | Open Loop num PRD em estágio `techspec` | `/dw-plan techspec` |
61
+ | Open Loop num PRD em estágio `prd` | `/dw-plan tasks` (se PRD aprovado) ou continuar PRD |
62
62
  | Open Loop num slug de bugfix | `/dw-bugfix --resume <slug>` ou `/dw-qa --bugfix <slug>` |
63
- | Bloqueio esperando input externo | Sugerir que o usuario resolva o bloqueio primeiro |
64
- | So Todos e Decisoes, sem trabalho ativo | Perguntar o que comecar |
63
+ | Bloqueio esperando input externo | Sugerir que o usuário resolva o bloqueio primeiro |
64
+ | Só Todos e Decisões, sem trabalho ativo | Perguntar o que começar |
65
65
 
66
- Formule a sugestao como pergunta, nao como ordem:
66
+ Formule a sugestão como pergunta, não como ordem:
67
67
 
68
68
  ```
69
69
  Quer que eu rode <comando sugerido>?
@@ -73,18 +73,18 @@ Quer que eu rode <comando sugerido>?
73
73
 
74
74
  ### 5. Atualizar frontmatter do STATE.md
75
75
 
76
- Setar `last_resumed` para a data de hoje (YYYY-MM-DD). Nao modificar conteudo das secoes — agora a sessao esta de volta e isso e do usuario.
76
+ Setar `last_resumed` para a data de hoje (YYYY-MM-DD). Não modificar conteúdo das seções — agora a sessão está de volta e isso é do usuário.
77
77
 
78
- ## Comportamento Obrigatorio
78
+ ## Comportamento Obrigatório
79
79
 
80
- <critical>NUNCA auto-execute o comando sugerido. `/dw-resume` so propoe; o usuario confirma antes de qualquer `/dw-run`, `/dw-plan` ou `/dw-bugfix`.</critical>
80
+ <critical>NUNCA auto-execute o comando sugerido. `/dw-resume` só propoe; o usuário confirma antes de qualquer `/dw-run`, `/dw-plan` ou `/dw-bugfix`.</critical>
81
81
 
82
- <critical>NUNCA fabrique resultados de stale-detection. Se voce nao rodou `ls`, nao reporte que o arquivo existe ou nao.</critical>
82
+ <critical>NUNCA fabrique resultados de stale-detection. Se você não rodou `ls`, não reporte que o arquivo existe ou não.</critical>
83
83
 
84
- <critical>NUNCA jogue o STATE.md inteiro no chat. Resuma. Arquivos de estado longos sinalizam que compactacao e necessaria — sugira `/dw-pause` para compactar da proxima vez.</critical>
84
+ <critical>NUNCA jogue o STATE.md inteiro no chat. Resuma. Arquivos de estado longos sinalizam que compactação e necessária — sugira `/dw-pause` para compactar da próxima vez.</critical>
85
85
 
86
86
  ## Inspirado em
87
87
 
88
- Este comando adapta o pattern de session-handoff de [`tech-leads-club/agent-skills/tlc-spec-driven`](https://github.com/tech-leads-club/agent-skills/tree/main/packages/skills-catalog/skills/(development)/tlc-spec-driven) (CC-BY-4.0, Felipe Rodrigues). Adaptacoes: heuristicas de routing mapeiam conteudo do STATE.md para comandos `dw-*` especificos; cross-reference com `.dw/spec/` e `.dw/bugfixes/` para detectar staleness; nunca auto-executa.
88
+ Este comando adapta o pattern de session-handoff de [`tech-leads-club/agent-skills/tlc-spec-driven`](https://github.com/tech-leads-club/agent-skills/tree/main/packages/skills-catalog/skills/(development)/tlc-spec-driven) (CC-BY-4.0, Felipe Rodrigues). Adaptações: heuristicas de routing mapeiam conteúdo do STATE.md para comandos `dw-*` específicos; cross-reference com `.dw/spec/` e `.dw/bugfixes/` para detectar staleness; nunca auto-executa.
89
89
 
90
90
  </system_instructions>
@@ -19,6 +19,7 @@ Você é o orquestrador de review. Roda Level 2 (PRD compliance / cobertura) e L
19
19
  | `/dw-review --coverage-only` | Apenas Level 2 — mapeia cada requisito do PRD (ou escopo do bugfix) para o código que entrega. Pula qualidade. |
20
20
  | `/dw-review --code-only` | Apenas Level 3 — qualidade / convenção / security checks. Pula mapeamento de PRD/escopo. |
21
21
  | `/dw-review --bugfix <NNN-slug>` | Aponta para um bugfix em `.dw/bugfixes/NNN-slug/` em vez de um PRD. Level 2 mapeia o escopo do bugfix (TASK.md + fix-report.md + SUMMARY.md) para o código que entrega o fix; Level 3 checa o diff. Output: `.dw/bugfixes/NNN-slug/review/`. |
22
+ | `/dw-review --since <ref>` | Review avulso contra um ponto de comparação verificado. Roda os níveis normais selecionados, mas o diff é calculado a partir de `<ref>` após o preflight de `--since` abaixo. |
22
23
 
23
24
  ## Entradas
24
25
 
@@ -26,7 +27,8 @@ Você é o orquestrador de review. Roda Level 2 (PRD compliance / cobertura) e L
26
27
  |----------|-----------|---------|
27
28
  | `{{PRD_PATH}}` | Caminho do dir PRD (auto-detect da branch ativa se omitido; ignorado quando `--bugfix` é usado) | `.dw/spec/prd-invoice-export` |
28
29
  | `{{BUGFIX_SLUG}}` | Slug do bugfix quando a flag `--bugfix` é usada | `001-login-nao-funciona` |
29
- | `{{MODE}}` | `--coverage-only` / `--code-only` / `--bugfix <slug>` (opcional; default = ambos, target = PRD) | — |
30
+ | `{{SINCE_REF}}` | Ref Git usado quando `--since <ref>` é passado | `v2.0.0`, `HEAD~3`, `main` |
31
+ | `{{MODE}}` | `--coverage-only` / `--code-only` / `--bugfix <slug>` / `--since <ref>` (opcional; default = ambos, target = PRD) | — |
30
32
 
31
33
  ## Resolução de Target
32
34
 
@@ -38,6 +40,24 @@ O review roda contra um de dois tipos de target. Compute `<target>` UMA VEZ no i
38
40
 
39
41
  Quando o target Bugfix é usado, o mapeamento de cobertura (Level 2) opera sobre as tasks numeradas do `TASK.md` (não FR-N.M); uma task é ENTREGUE quando (a) os arquivos que ela alegou tocar estão no diff e (b) o teste de regressão referenciado em `fix-report.md` existe e roda. Código órfão em modo bugfix é qualquer coisa no diff que não corresponde a uma task numerada — sinal forte de que o safety valve deveria ter escalado para `/dw-plan`.
40
42
 
43
+ ## Preflight de `--since <ref>`
44
+
45
+ `--since` é opt-in. O review PRD/bugfix padrão continua usando o fluxo de ponto de criação da branch PRD / base branch sem mudança.
46
+
47
+ Quando `--since <ref>` for passado, rode este preflight antes de qualquer análise Level 2 ou Level 3:
48
+
49
+ 1. Resolver o ponto fixo:
50
+ - Rode `git rev-parse --verify --quiet <ref>^{commit}`.
51
+ - Se falhar, aborte com: `REPROVADO: o ref de --since '<ref>' não resolve para um commit. Passe um commit, tag ou branch válido e rode novamente /dw-review --since <ref>.`
52
+ 2. Montar o range do review:
53
+ - Comando de diff: `git diff <ref>...HEAD`.
54
+ - Comando de commits: `git log <ref>..HEAD --oneline`.
55
+ - Escolha: o diff three-dot é usado para revisar o que `HEAD` mudou desde o merge-base com o ref verificado, mantendo a semântica de review de PR e evitando mudanças que existem só em `<ref>`.
56
+ 3. Confirmar que o diff não está vazio:
57
+ - Rode `git diff --name-only <ref>...HEAD`.
58
+ - Se não retornar paths, aborte com: `APROVADO: sem mudanças para revisar em git diff <ref>...HEAD. Escolha um ref --since anterior ou use o review padrão PRD/base-branch.`
59
+ 4. Registre o ref resolvido, o comando de diff e o comando de commits em todos os relatórios gerados, para que o review seja reproduzível.
60
+
41
61
  ## Skills Complementares
42
62
 
43
63
  Quando disponíveis em `./.agents/skills/`, são invocadas como apoio analítico:
@@ -107,6 +127,9 @@ Salvo em `<target>/QA/review-coverage.md` (target PRD) ou `<target>/review/revie
107
127
  ```markdown
108
128
  # Coverage Review
109
129
 
130
+ **Comando de diff:** git diff <effective-base-or-ref>...HEAD
131
+ **Range de commits:** git log <effective-base-or-ref>..HEAD --oneline
132
+
110
133
  ## Status por Requisito Funcional
111
134
 
112
135
  | FR | Descrição | Status | Evidência | Commit |
@@ -133,7 +156,7 @@ Se FALTANDO > 0, o veredicto sugere revisitar `/dw-plan tasks` pra escopar ou `/
133
156
 
134
157
  ### Comportamento
135
158
 
136
- 1. **Análise de diff:** identificar o que mudou desde a branch PRD ser criada (`git diff <base-branch>...HEAD`).
159
+ 1. **Análise de diff:** identificar o que mudou desde a branch PRD ser criada (`git diff <base-branch>...HEAD`). Se `--since <ref>` for usado, use o comando de diff do preflight.
137
160
 
138
161
  2. **Conformidade com Rules** (contra `.dw/rules/`):
139
162
  - Padrões gerais: sem `any` em TS, sem `console.log` em prod, error handling, multi-tenancy.
@@ -176,6 +199,13 @@ Salvo em `<target>/QA/dw-code-review.md` (target PRD) ou `<target>/review/dw-cod
176
199
  - **APROVADO COM RESSALVAS** — verde mas findings valem corrigir em follow-up (filed com severities).
177
200
  - **REPROVADO** — ao menos um hard gate falhou. Especifique qual.
178
201
 
202
+ O relatório DEVE incluir:
203
+
204
+ ```markdown
205
+ **Comando de diff:** git diff <effective-base-or-ref>...HEAD
206
+ **Range de commits:** git log <effective-base-or-ref>..HEAD --oneline
207
+ ```
208
+
179
209
  ## Output consolidado (modo padrão)
180
210
 
181
211
  Quando ambos níveis rodam, relatório consolidado em `<target>/QA/review-consolidated.md` (target PRD) ou `<target>/review/review-consolidated.md` (target Bugfix):
@@ -188,6 +218,7 @@ Quando ambos níveis rodam, relatório consolidado em `<target>/QA/review-consol
188
218
  **Verification Report:** PASS
189
219
  **Security Audit:** PASS (ou REPROVADO com motivos)
190
220
  **Constitution Compliance:** PASS (ou violações listadas)
221
+ **Comando de diff:** git diff <effective-base-or-ref>...HEAD
191
222
 
192
223
  ## Veredicto geral
193
224
  <linha>
@@ -34,6 +34,7 @@ Quando disponíveis em `./.agents/skills/`, estas skills são invocadas por task
34
34
  - Instincts (lazy): no início da task, carregue também qualquer instinct de alta confiança (`.dw/memory/instincts/`, confidence ≥0.7) cujo `trigger` case com a task — convenções aprendidas promovidas pelo `/dw-learn`. Case por trigger; nunca carregue o conjunto inteiro.
35
35
  - `dw-execute-phase`: fornece agentes `plan-checker` (verificação goal-backward em 6 dimensões antes do código ser tocado) e `executor` (commit atômico + deviation handling).
36
36
  - `dw-testing-discipline`: aplica placement doctrine, 6 agent guardrails e 25 anti-patterns ao adicionar testes.
37
+ - `dw-testing-discipline` modo test-first: SOMENTE quando o texto da task ou o usuário disser explicitamente `TDD`, `test first` ou `red-green-refactor`, execute essa task por `references/tdd-loop.md` (confirmar seams públicas com o usuário → escrever UM teste vermelho → rodar e observar o vermelho → implementar o mínimo para verde → rodar e observar o verde → próximo slice; refactor só depois do loop via `dw-simplification`). Este não é o modo padrão do `/dw-run`.
37
38
  - `dw-ui-discipline`: quando task toca UI, as 4 grounding questions precisam ser respondidas antes de qualquer decisão visual.
38
39
  - `dw-llm-eval`: quando task toca código de feature AI, regras de reference dataset + oracle ladder se aplicam.
39
40
  - `dw-minimalism`: **antes de escrever código novo** — sobe o decision ladder YAGNI (precisa existir? reusar? stdlib? nativo? dep instalada? uma linha?) na intensidade ativa, depois escreve o mínimo. Passa novas dependências pro `dw-search-first`.