@brunosps00/dev-workflow 2.2.0 → 2.3.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.
- package/.claude-plugin/plugin.json +1 -1
- package/CHANGELOG.md +46 -0
- package/README.md +12 -4
- package/lib/constants.js +24 -24
- package/lib/init.js +8 -0
- package/lib/instruction-health.js +38 -0
- package/lib/post-update.js +2 -1
- package/lib/validate.js +3 -1
- package/package.json +1 -1
- package/scaffold/config/routing.json +61 -23
- package/scaffold/en/agent-instructions.md +31 -137
- package/scaffold/en/commands/dw-analyze-project.md +2 -0
- package/scaffold/en/commands/dw-autopilot.md +22 -245
- package/scaffold/en/commands/dw-bugfix.md +9 -35
- package/scaffold/en/commands/dw-claude-run.md +29 -45
- package/scaffold/en/commands/dw-codex-run.md +30 -45
- package/scaffold/en/commands/dw-context-budget.md +6 -14
- package/scaffold/en/commands/dw-copilot-run.md +29 -41
- package/scaffold/en/commands/dw-generate-pr.md +2 -2
- package/scaffold/en/commands/dw-goal.md +11 -5
- package/scaffold/en/commands/dw-help.md +2 -2
- package/scaffold/en/commands/dw-plan.md +14 -7
- package/scaffold/en/commands/dw-qa.md +2 -0
- package/scaffold/en/commands/dw-resume.md +5 -11
- package/scaffold/en/commands/dw-review.md +4 -3
- package/scaffold/en/commands/dw-run.md +19 -166
- package/scaffold/en/commands/dw-skill-health.md +7 -0
- package/scaffold/en/commands/dw-update.md +18 -4
- package/scaffold/en/references/command-routing.md +53 -0
- package/scaffold/en/references/execution-contract.md +55 -0
- package/scaffold/en/templates/frontend-quality-template.md +43 -0
- package/scaffold/en/templates/task-template.md +20 -40
- package/scaffold/en/templates/tasks-template.md +9 -6
- package/scaffold/en/templates/techspec-template.md +4 -0
- package/scaffold/pt-br/agent-instructions.md +31 -137
- package/scaffold/pt-br/commands/dw-analyze-project.md +2 -0
- package/scaffold/pt-br/commands/dw-autopilot.md +22 -245
- package/scaffold/pt-br/commands/dw-bugfix.md +9 -35
- package/scaffold/pt-br/commands/dw-claude-run.md +29 -46
- package/scaffold/pt-br/commands/dw-codex-run.md +30 -45
- package/scaffold/pt-br/commands/dw-context-budget.md +6 -14
- package/scaffold/pt-br/commands/dw-copilot-run.md +29 -43
- package/scaffold/pt-br/commands/dw-generate-pr.md +2 -2
- package/scaffold/pt-br/commands/dw-goal.md +11 -5
- package/scaffold/pt-br/commands/dw-help.md +2 -2
- package/scaffold/pt-br/commands/dw-plan.md +14 -7
- package/scaffold/pt-br/commands/dw-qa.md +2 -0
- package/scaffold/pt-br/commands/dw-resume.md +7 -11
- package/scaffold/pt-br/commands/dw-review.md +4 -3
- package/scaffold/pt-br/commands/dw-run.md +19 -166
- package/scaffold/pt-br/commands/dw-skill-health.md +7 -0
- package/scaffold/pt-br/commands/dw-update.md +18 -4
- package/scaffold/pt-br/references/command-routing.md +53 -0
- package/scaffold/pt-br/references/execution-contract.md +55 -0
- package/scaffold/pt-br/templates/frontend-quality-template.md +43 -0
- package/scaffold/pt-br/templates/task-template.md +20 -40
- package/scaffold/pt-br/templates/tasks-template.md +9 -6
- package/scaffold/pt-br/templates/techspec-template.md +4 -0
- package/scaffold/scripts/lib/workflow-contract.mjs +101 -0
- package/scaffold/skill-registry.json +23 -23
- package/scaffold/skills/dw-cli-run/SKILL.md +33 -217
- package/scaffold/skills/dw-cli-run/references/dispatch-tuning.md +14 -72
- package/scaffold/skills/dw-codebase-intel/SKILL.md +5 -39
- package/scaffold/skills/dw-codebase-intel/agents/intel-updater.md +1 -1
- package/scaffold/skills/dw-codebase-intel/references/agents-detail.md +7 -0
- package/scaffold/skills/dw-codebase-intel/references/files-in-dw-intel-detail.md +16 -0
- package/scaffold/skills/dw-codebase-intel/references/how-dw-intel-reads-this-detail.md +12 -0
- package/scaffold/skills/dw-codebase-intel/references/how-to-compose-the-typical-flow-detail.md +11 -0
- package/scaffold/skills/dw-council/SKILL.md +2 -17
- package/scaffold/skills/dw-council/references/integration-with-other-dw-commands-detail.md +7 -0
- package/scaffold/skills/dw-council/references/phase-2-tensions-and-rebuttals-detail.md +15 -0
- package/scaffold/skills/dw-domain-modeling/SKILL.md +1 -1
- package/scaffold/skills/dw-execute-phase/SKILL.md +12 -32
- package/scaffold/skills/dw-execute-phase/agents/executor.md +15 -252
- package/scaffold/skills/dw-execute-phase/agents/plan-checker.md +4 -207
- package/scaffold/skills/dw-execute-phase/references/atomic-commits.md +8 -18
- package/scaffold/skills/dw-execute-phase/references/de-sloppify-pass-optional-cleanup-task-detail.md +12 -0
- package/scaffold/skills/dw-execute-phase/references/deviation-rules-during-execution-detail.md +8 -0
- package/scaffold/skills/dw-execute-phase/references/how-the-two-agents-compose-detail.md +7 -0
- package/scaffold/skills/dw-execute-phase/references/plan-verification.md +9 -155
- package/scaffold/skills/dw-execute-phase/references/wave-coordination.md +6 -97
- package/scaffold/skills/dw-git-discipline/SKILL.md +2 -2
- package/scaffold/skills/dw-grilling/SKILL.md +1 -1
- package/scaffold/skills/dw-incident-response/SKILL.md +1 -64
- package/scaffold/skills/dw-incident-response/references/the-five-phases-detail.md +66 -0
- package/scaffold/skills/dw-llm-eval/SKILL.md +5 -53
- package/scaffold/skills/dw-llm-eval/references/agent-tool-use-evaluation-detail.md +23 -0
- package/scaffold/skills/dw-llm-eval/references/anti-patterns-will-block-in-dw-review-code-only-detail.md +9 -0
- package/scaffold/skills/dw-llm-eval/references/consistency-run-to-run-stability-detail.md +10 -0
- package/scaffold/skills/dw-llm-eval/references/integration-with-dev-workflow-commands-detail.md +6 -0
- package/scaffold/skills/dw-llm-eval/references/the-oracle-ladder-detail.md +15 -0
- package/scaffold/skills/dw-memory/SKILL.md +4 -50
- package/scaffold/skills/dw-memory/references/context-budget.md +8 -56
- package/scaffold/skills/dw-memory/references/promotion-decision-test-detail.md +30 -0
- package/scaffold/skills/dw-minimalism/SKILL.md +4 -5
- package/scaffold/skills/dw-review-rigor/SKILL.md +1 -54
- package/scaffold/skills/dw-review-rigor/references/the-five-rules-detail.md +56 -0
- package/scaffold/skills/dw-simplification/SKILL.md +2 -55
- package/scaffold/skills/dw-simplification/references/pattern-recognition-detail.md +11 -0
- package/scaffold/skills/dw-simplification/references/the-five-rules-detail.md +48 -0
- package/scaffold/skills/dw-source-grounding/SKILL.md +1 -56
- package/scaffold/skills/dw-source-grounding/references/the-protocol-detect-fetch-implement-cite-detail.md +58 -0
- package/scaffold/skills/dw-testing-discipline/SKILL.md +25 -177
- package/scaffold/skills/dw-testing-discipline/references/agent-guardrails.md +9 -167
- package/scaffold/skills/dw-testing-discipline/references/core-rules.md +3 -3
- package/scaffold/skills/dw-testing-discipline/references/mutation-testing.md +19 -0
- package/scaffold/skills/dw-testing-discipline/references/patterns.md +3 -12
- package/scaffold/skills/dw-ui-discipline/SKILL.md +2 -59
- package/scaffold/skills/dw-ui-discipline/references/frontend-engineering.md +46 -0
- package/scaffold/skills/dw-ui-discipline/references/the-four-grounding-questions-detail.md +61 -0
- package/scaffold/skills/dw-verify/SKILL.md +26 -148
- package/scaffold/skills/dw-verify/references/verification-discovery-and-attribution.md +2 -2
- package/scaffold/skills/humanizer/SKILL.md +2 -1
- package/scaffold/skills/security-review/SKILL.md +3 -183
- package/scaffold/skills/security-review/references/do-not-flag-detail.md +49 -0
- package/scaffold/skills/security-review/references/quick-patterns-reference-detail.md +56 -0
- package/scaffold/skills/security-review/references/review-process-detail.md +84 -0
- package/scaffold/skills/vercel-react-best-practices/SKILL.md +1 -90
- package/scaffold/skills/vercel-react-best-practices/references/quick-reference-detail.md +92 -0
|
@@ -1,180 +1,33 @@
|
|
|
1
1
|
<system_instructions>
|
|
2
|
-
|
|
2
|
+
# Executar tasks aprovadas
|
|
3
3
|
|
|
4
|
-
|
|
5
|
-
- Use `run` depois que `/dw-plan` produziu `tasks.md` + per-task files e as tasks foram aprovadas.
|
|
6
|
-
- Use para executar uma task específica durante desenvolvimento incremental.
|
|
7
|
-
- NÃO use pra bug fixes — `/dw-bugfix` resolve.
|
|
8
|
-
- NÃO use sem breakdown de tasks aprovado — arquivos de task DEVEM existir.
|
|
4
|
+
Use `/dw-run` para todas as tasks pendentes, `/dw-run <task-id>` para uma e `/dw-run --resume` para continuar. Inputs são ID da task e diretório ativo `.dw/spec/<prd>/`. Tasks e dependências precisam existir e estar aprovadas. Para investigação sem plano use `/dw-bugfix`.
|
|
9
5
|
|
|
10
|
-
##
|
|
11
|
-
**Antecessor:** `/dw-plan` (com tasks aprovadas) | **Sucessor:** `/dw-review` então `/dw-commit` + `/dw-generate-pr`
|
|
6
|
+
## Escolha e preparação
|
|
12
7
|
|
|
13
|
-
|
|
8
|
+
Leia `.dw/references/execution-contract.md` e o arquivo relevante da task. Consuma `execution-plan.json` quando existir; valide com `node .dw/scripts/lib/workflow-contract.mjs validate <plan.json>`. Confira IDs/dependências contra tasks.md. Tasks legadas schema 1.0 sem escolhas executam localmente. CLIs instaladas não implicam autorização cruzada.
|
|
14
9
|
|
|
15
|
-
|
|
16
|
-
|-----------|---------------|
|
|
17
|
-
| `/dw-run` | **Padrão.** Executa TODAS as tasks pendentes de `tasks.md` em ordem de dependência. Dispatch paralelo em waves para tasks independentes. Commit atômico por task. Após concluir tudo, roda Level 2 review (PRD compliance). |
|
|
18
|
-
| `/dw-run <task-id>` | Executa UMA task específica por ID (ex: `1.0`, `2.3`). Inclui validação Level 1. Commit atômico em sucesso. |
|
|
19
|
-
| `/dw-run --resume` | Resume um plan multi-task interrompido de onde parou. Lê `.dw/spec/<prd>/active-session.md` se presente; senão continua da primeira pending. |
|
|
10
|
+
Respeite decisões da constitution e IDs de requisitos (`FR-N.M` / `RF-N.M`). Ausência usa defaults não bloqueantes. Inspecione código relevante e regras do projeto; consulte `.dw/intel/` somente quando útil e confira atualização. Não exija mapa completo antes de cada task.
|
|
20
11
|
|
|
21
|
-
|
|
12
|
+
Carregue skills conforme a necessidade: `dw-verify` para evidência, `dw-memory` para decisões/checkpoints relevantes, `dw-testing-discipline` ao projetar testes, `dw-ui-discipline` para UI, `dw-llm-eval` para AI e `dw-execute-phase` para checagem de plano/dependências. Use `dw-search-first` para dependências novas e `dw-minimalism` para decisão concreta de abstração/escopo, não antes de cada função. Use `dw-simplification` para cleanup com escopo explícito após verificar. Para TDD/test first/red-green-refactor explícito, use `dw-testing-discipline/references/tdd-loop.md` nessa task.
|
|
22
13
|
|
|
23
|
-
|
|
24
|
-
|----------|-----------|---------|
|
|
25
|
-
| `{{TASK_ID}}` | ID específico de task (opcional — default todas pending) | `1.0`, `2.3`, `5.1` |
|
|
26
|
-
| `{{PRD_PATH}}` | Caminho do dir PRD com tasks (opcional — auto-detect da branch ativa) | `.dw/spec/prd-invoice-export` |
|
|
14
|
+
## Loop de execução
|
|
27
15
|
|
|
28
|
-
|
|
16
|
+
1. Arme `/dw-report` uma vez (idempotente, pule quando `DW_REPORT_AUTO=off`). Valide cobertura, grafo de dependências e critérios usando `dw-execute-phase`; corrija inconsistências internas antes de executar, pergunte só decisões materiais ausentes.
|
|
17
|
+
2. Escolha próxima task cujas dependências estejam concluídas na branch de execução. Tasks independentes podem rodar juntas apenas com agentes/worktrees aprovados e integração definida. Um escritor por worktree; tasks acopladas sequenciais.
|
|
18
|
+
3. Use executor/modelo/esforço/agentes aprovados. Escolhas locais executam no workflow atual. Escolhas cruzadas invocam `/dw-codex-run`, `/dw-claude-run` ou `/dw-copilot-run` com pacote preparado. O parent mantém o objetivo.
|
|
19
|
+
4. Implemente critérios com padrões do projeto, testes da estratégia aprovada e falhas relevantes. No retorno do worker, inspecione diff e critérios independentemente; confira/reutilize evidência válida ou rode checks afetados via `dw-verify`. Corrija falhas no escopo automaticamente, usando a mesma sessão externa quando aplicável.
|
|
20
|
+
5. Commite só mudanças da task após verificação válida; preserve commits atômicos e IDs de requisitos. Inclua status no commit e registre o SHA na coluna `Commit` de tasks.md e run-log.md. Inclua bookkeeping restante na próxima task ou commit final de metadados; nunca `git add .` sobre mudanças alheias.
|
|
21
|
+
6. Atualize `execution-state.json`, `active-session.md` e run-log.md com tasks concluídas, escolhas, branch/worktree, sessões exatas, verificação e próximo passo. Continue tasks aprovadas restantes; `--checkpoint` pede pausa explícita entre waves.
|
|
22
|
+
7. Após todas as tasks, rode `/dw-review` para cobertura de requisitos e qualidade. Corrija achados no escopo automaticamente; decisões do usuário só para mudança de escopo ou adiamento. Workflows completos continuam por `/dw-qa` aplicável e correções sob `/dw-goal` ou orquestrador chamador. Pedido de task única termina no handoff validado dessa task.
|
|
29
23
|
|
|
30
|
-
|
|
24
|
+
## Retomada e bloqueios
|
|
31
25
|
|
|
32
|
-
|
|
33
|
-
- `dw-memory`: **SEMPRE** — lê workflow memory no início; atualiza no fim com promotion test (lições que valem pra próxima task são promovidas pra MEMORY.md compartilhada).
|
|
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
|
-
- `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
|
-
- `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`.
|
|
38
|
-
- `dw-ui-discipline`: quando task toca UI, as 4 grounding questions precisam ser respondidas antes de qualquer decisão visual.
|
|
39
|
-
- `dw-llm-eval`: quando task toca código de feature AI, regras de reference dataset + oracle ladder se aplicam.
|
|
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`.
|
|
41
|
-
- `vercel-react-best-practices`: quando task toca performance React/Next.js.
|
|
26
|
+
Pedido de resume já autoriza continuar. Inspecione estado salvo e worktree real sem perguntar “continuar?” novamente. Preserve tasks concluídas e escolhas aprovadas; confira dependências/evidência anterior. Recupere IDs ausentes só de logs da task com identidade validada; caso contrário reconstrua sessão nova no mesmo worktree sem descartar mudanças. Veja limitações entre provedores no execution-contract.
|
|
42
27
|
|
|
43
|
-
|
|
28
|
+
Dependência ausente: conclua primeiro a task aprovada pendente; pergunte só se fora do plano. Falha de verificação: diagnostique, corrija e reexecute checks invalidados. Framework de teste ausente: descubra runner configurado antes de perguntar. Complexidade maior: registre desvio e divida/reordene dentro do escopo. Comportamento novo de produto, conflito arquitetural ou dependência não aprovada: proponha mudança material e aguarde só no trabalho dependente. Preserve checkpoints em impasse real ou pausa do usuário.
|
|
44
29
|
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
## Inteligência do Codebase
|
|
48
|
-
|
|
49
|
-
<critical>Se `.dw/intel/` existir, consulte via `/dw-intel` antes de implementar pra alinhar com padrões existentes.</critical>
|
|
50
|
-
- Per-task: `/dw-intel "padrões para <tópico da task>"` para surfacar convenções relevantes.
|
|
51
|
-
|
|
52
|
-
## Modo 1: UMA task (`run <task-id>`)
|
|
53
|
-
|
|
54
|
-
### Pré-requisitos
|
|
55
|
-
- `tasks.md` + per-task files existem em `.dw/spec/<prd>/`.
|
|
56
|
-
- Dependências da task-alvo estão completadas (cheque seção "Depende de" do `task.md`).
|
|
57
|
-
|
|
58
|
-
### Comportamento
|
|
59
|
-
|
|
60
|
-
1. **Ler o task file:** `.dw/spec/<prd>/<task-id>_task.md`. Entender inputs, FRs cobertos, critérios de aceitação, subtasks.
|
|
61
|
-
2. **Plano de implementação:**
|
|
62
|
-
- Liste arquivos a criar/modificar.
|
|
63
|
-
- Identifique testes a adicionar por subtask.
|
|
64
|
-
- Confirme dependências (se faltando, PARE e surface).
|
|
65
|
-
3. **Implementar:**
|
|
66
|
-
- Siga padrões do projeto de `.dw/rules/` e `.dw/intel/`.
|
|
67
|
-
- Aplique skills complementares (UI gate, test discipline, etc.).
|
|
68
|
-
- Testes unitários obrigatórios para backend/services conforme testspec.
|
|
69
|
-
- Match no framework de testes especificado em `.dw/rules/`.
|
|
70
|
-
4. **Validar (Level 1):**
|
|
71
|
-
- Rodar comando de teste do projeto.
|
|
72
|
-
- Checar critérios de aceitação do task file.
|
|
73
|
-
- Rodar `dw-verify` para produzir Verification Report (test + lint + build GREEN).
|
|
74
|
-
- Para frontend interativo, também validar comportamento real via recipes Playwright do `dw-testing-discipline` se risco de regressão for relevante.
|
|
75
|
-
5. **Commit:**
|
|
76
|
-
- Mensagem atômica: `feat(<scope>): <título da task> (#<task-id>)`.
|
|
77
|
-
- Referencie FRs cobertos.
|
|
78
|
-
- Uma task = um commit (exceto se task tem subtask milestones explícitos que ganham commits separados).
|
|
79
|
-
6. **Atualizar tasks.md:** marcar `Status` da task como `Done` e escrever o SHA curto (`git rev-parse --short HEAD`) na coluna `Commit`. Esse é o único registro que liga a task ao seu diff — não pule.
|
|
80
|
-
7. **Reportar:** o que foi feito, testes adicionados, o que foi validado.
|
|
81
|
-
|
|
82
|
-
### CONDIÇÕES DE PARADA
|
|
83
|
-
- Dependências não satisfeitas → perguntar ao usuário como prosseguir.
|
|
84
|
-
- Verification Report FAIL → não commitar; reportar o que está quebrado.
|
|
85
|
-
- Scope creep detectado mid-implementação → PARE e peça pra usuário escopar.
|
|
86
|
-
|
|
87
|
-
## Modo 2: TODAS as tasks pending (default `run`)
|
|
88
|
-
|
|
89
|
-
### Pré-requisitos
|
|
90
|
-
- `tasks.md` + per-task files existem com dependências declaradas.
|
|
91
|
-
- `tasks-validation.md` mostra PASS (ou override explícito).
|
|
92
|
-
- Branch criada: `feat/prd-<feature-slug>`.
|
|
93
|
-
|
|
94
|
-
### Comportamento
|
|
95
|
-
|
|
96
|
-
0. **Armar o loop de progresso:** invoque `/dw-report` (contrato de auto-arme — idempotente quando `.dw/reports/.active.json` já está vivo; pulado quando `DW_REPORT_AUTO=off`). Ele reporta feito / fazendo / falta a cada 10 minutos enquanto as waves rodam e se desarma sozinho com um report final após o Level 2 review final.
|
|
97
|
-
1. **Plan check (via agente `dw-execute-phase/plan-checker`):**
|
|
98
|
-
- Verificação goal-backward em 6 dimensões: essas tasks vão de fato entregar o que o PRD promete?
|
|
99
|
-
- Se FAIL em qualquer dimensão, PARE e reporte ao usuário antes de qualquer código ser tocado.
|
|
100
|
-
2. **Construir grafo de dependência:**
|
|
101
|
-
- Sort topológico das tasks.
|
|
102
|
-
- Identificar tasks independentes que podem rodar em waves paralelas.
|
|
103
|
-
3. **Dispatch paralelo em waves (via agente `dw-execute-phase/executor`):**
|
|
104
|
-
- Cada wave contém tasks sem dependência inter.
|
|
105
|
-
- Executar waves serialmente; dentro de uma wave, tasks paralelas.
|
|
106
|
-
- Per-task: mesmo fluxo Level 1 do Modo 1 (implementar → validar → commit atômico).
|
|
107
|
-
4. **Deviation handling:**
|
|
108
|
-
- Se task encontra scope creep, PARE essa task, surface ao usuário.
|
|
109
|
-
- Se task falha verificação, a wave para. Nenhuma wave subsequente roda até resolver.
|
|
110
|
-
5. **Checkpoint entre waves:**
|
|
111
|
-
- Imprime resumo da wave: tasks completas, commits, deviations.
|
|
112
|
-
- Continua automaticamente exceto se `--checkpoint` foi passado (aí aguarda OK).
|
|
113
|
-
6. **Level 2 review final:**
|
|
114
|
-
- Após todas as tasks completarem, invoca automaticamente `/dw-review` (comando merged — roda PRD compliance check + code quality review).
|
|
115
|
-
- Apresenta relatório consolidado.
|
|
116
|
-
- Cycle de correções interativo: review surface gaps → usuário decide fix, adiar, ou aceitar.
|
|
117
|
-
|
|
118
|
-
### Output
|
|
119
|
-
|
|
120
|
-
```
|
|
121
|
-
.dw/spec/<prd>/
|
|
122
|
-
├── active-session.md # escrito no checkpoint; consumido por --resume
|
|
123
|
-
├── run-log.md # log per-wave com SHAs de commit
|
|
124
|
-
└── review-consolidated.md # review final L2+L3 (de /dw-review)
|
|
125
|
-
```
|
|
126
|
-
|
|
127
|
-
## Modo 3: Resume (`run --resume`)
|
|
128
|
-
|
|
129
|
-
### Pré-requisitos
|
|
130
|
-
- `run` anterior (Modo 2) foi interrompido.
|
|
131
|
-
- `active-session.md` existe no `.dw/spec/<prd>/` da PRD atual.
|
|
132
|
-
|
|
133
|
-
### Comportamento
|
|
134
|
-
|
|
135
|
-
1. Ler `active-session.md` pra determinar onde a sessão parou.
|
|
136
|
-
2. Surface ao usuário: "Resumindo da wave N, task X.0. Já completadas: <lista>. Continuar?"
|
|
137
|
-
3. Em confirmação, resume da próxima task pendente com mesmo comportamento Modo 2 (incluindo o passo 0 — armar `/dw-report`).
|
|
138
|
-
|
|
139
|
-
Se `active-session.md` não existe mas tasks não-completadas existem, trate como Modo 2 fresh start.
|
|
140
|
-
|
|
141
|
-
## Em todos os modos: deviation handling
|
|
142
|
-
|
|
143
|
-
Quando implementação não pode prosseguir como planejado:
|
|
144
|
-
|
|
145
|
-
| Deviation | Ação |
|
|
146
|
-
|-----------|------|
|
|
147
|
-
| Task requer nova dependência não no TechSpec | PARE. Sugerir `/dw-plan techspec --update` pra revisar. |
|
|
148
|
-
| Critério de aceitação ambíguo | PARE. Perguntar ao usuário. |
|
|
149
|
-
| Decisão de test framework faltando | PARE. Usar `dw-testing-discipline` placement doctrine pra propor; pedir sign-off. |
|
|
150
|
-
| Padrão de `.dw/rules/` não encaixa | PARE. Surface o atrito; proponha deviation justificada por ADR ou update das rules. |
|
|
151
|
-
| Complexidade oculta emerge (task estimada 2h, parece 8h) | PARE. Surface; ou split task via `/dw-plan tasks --update` ou aceite delay com nota. |
|
|
152
|
-
|
|
153
|
-
## Reporting
|
|
154
|
-
|
|
155
|
-
Após qualquer run (Modo 1, 2 ou 3 completar), imprima:
|
|
156
|
-
|
|
157
|
-
- Tasks completas com SHAs de commit.
|
|
158
|
-
- Contagem de arquivos tocados.
|
|
159
|
-
- Testes adicionados (unit + E2E se aplicável).
|
|
160
|
-
- Veredicto Verification Report por task.
|
|
161
|
-
- Para Modo 2: status do review consolidado final.
|
|
162
|
-
- Para Modo 2: deviations encontrados e como resolvidos.
|
|
163
|
-
|
|
164
|
-
## Anti-patterns
|
|
165
|
-
|
|
166
|
-
- Pular `dw-verify` pra "economizar tempo antes do commit" — produz commits que não buildam.
|
|
167
|
-
- Rodar tasks sem dependência satisfeita — produz commits que não funcionam isolados.
|
|
168
|
-
- Deixar wave paralelo rodar sem watch por deviations — scope creep silencioso compõe.
|
|
169
|
-
- Commitar múltiplas tasks num único commit — quebra bisect, quebra granularidade de revert.
|
|
170
|
-
- Pular review Level 2 final no Modo 2 — entrega features que não batem com PRD.
|
|
171
|
-
|
|
172
|
-
## Diretrizes finais
|
|
173
|
-
|
|
174
|
-
- Commits atômicos são não-negociáveis. Uma task = um commit (ou um subtask-bundle se explícito).
|
|
175
|
-
- Testes são obrigatórios per estratégia do TechSpec.
|
|
176
|
-
- Veredicto PASS do Verification Report é o gate, não o objetivo — nunca enfraquecer asserts pra passar.
|
|
177
|
-
- Deviation surfacing é feature, não bug. Pare e pergunte. Usuário prefere interrupção a implementação errada.
|
|
178
|
-
- Pra plans multi-dia, `--resume` é seu amigo. Não restart do zero.
|
|
30
|
+
## Relatório final
|
|
179
31
|
|
|
32
|
+
Retorne IDs concluídos e SHAs, arquivos afetados, checks válidos, achados pendentes e próximo passo. `/dw-review` escreve `<prd-path>/QA/review-consolidated.md`. Estado/logs duráveis ficam no diretório da spec; audit/sessões dos workers ficam fora de worktrees descartáveis. Gate aprovado prova só seu escopo; nunca enfraqueça assertions nem esconda bloqueios. Merge, push e publicação exigem autorização aplicável.
|
|
180
33
|
</system_instructions>
|
|
@@ -24,7 +24,14 @@ Você é o auditor de saúde de skills e agentes do dev-workflow.
|
|
|
24
24
|
|
|
25
25
|
`SKILL.md` deve ser um roteador/protocolo curto. Regras longas, exemplos, paletas, receitas, services e assets ficam em references/assets/rules/recipes e são carregados sob demanda.
|
|
26
26
|
|
|
27
|
+
## Descoberta e budgets de contexto
|
|
28
|
+
|
|
29
|
+
Confira instruções gerenciadas ≤6000 bytes, entrypoints ≤8000 bytes e descrições ≤250 caracteres. No código do pacote rode `npm run validate`; em consumidores inspecione arquivos instalados. Separe metadados de descoberta de corpos sob demanda. Aponte leituras incondicionais e gatilhos amplos sobrepostos; cópias por plataforma não implicam contexto duplicado. Confira referências e preserve atribuição/Structured Return ao compactar. Candidatos podem estar antigos: proponha atualização de routing.json após validar disponibilidade, sem sobrescrever escolhas silenciosamente.
|
|
30
|
+
|
|
27
31
|
## Saída
|
|
32
|
+
|
|
33
|
+
Quando `.dw/config/routing-defaults.json` existir, compare seus candidatos atuais com o `.dw/config/routing.json` do proprietário. Relate diferenças relevantes e valide modelos/capacidades propostos antes da adoção. Valores diferentes podem ser intencionais; não os trate como falha de migração nem sobrescreva automaticamente. Atribuições de tarefas aprovadas têm precedência sobre ambos os arquivos de candidatos.
|
|
34
|
+
|
|
28
35
|
Retorne um relatório conciso com uma seção de retorno estruturado. Não delete arquivos.
|
|
29
36
|
|
|
30
37
|
Inclua:
|
|
@@ -39,7 +39,7 @@ Manter apenas os 3 snapshots mais recentes (remover os mais antigos) para evitar
|
|
|
39
39
|
Antes de atualizar, capture a versão instalada para poder reportar o delta:
|
|
40
40
|
|
|
41
41
|
```bash
|
|
42
|
-
node -e
|
|
42
|
+
node -e 'try { const s = JSON.parse(require("node:fs").readFileSync(".dw/install-state.json", "utf8")); console.log(s.version || "unknown"); } catch { console.log("unknown"); }'
|
|
43
43
|
```
|
|
44
44
|
|
|
45
45
|
### 2. Detectar Idioma dos Comandos Instalados (Obrigatório)
|
|
@@ -72,7 +72,7 @@ Regras:
|
|
|
72
72
|
|
|
73
73
|
### 3. Executar o Update (Obrigatório)
|
|
74
74
|
|
|
75
|
-
<critical>Use `npx -y @brunosps00/dev-workflow@latest` para
|
|
75
|
+
<critical>Use `npx -y @brunosps00/dev-workflow@latest` para selecionar a versão marcada como `latest` no npm. Passe `--lang=<DETECTED_LANG>` para evitar prompt interativo.</critical>
|
|
76
76
|
|
|
77
77
|
```bash
|
|
78
78
|
npx -y @brunosps00/dev-workflow@latest update --lang=$DETECTED_LANG
|
|
@@ -91,9 +91,23 @@ Se o update falhar (erro de rede, permissão, pacote indisponível): reporte o e
|
|
|
91
91
|
### 4. Capturar Nova Versão
|
|
92
92
|
|
|
93
93
|
```bash
|
|
94
|
-
node -e
|
|
94
|
+
node -e 'const s = JSON.parse(require("node:fs").readFileSync(".dw/install-state.json", "utf8")); if (s.package !== "@brunosps00/dev-workflow" || !s.version) process.exit(1); console.log(s.version);'
|
|
95
95
|
```
|
|
96
96
|
|
|
97
|
+
### Checks de compatibilidade do upgrade
|
|
98
|
+
|
|
99
|
+
Leia o `.dw/commands/dw-update.md` atualizado após o CLI terminar. Use `.dw/install-state.json` e o output `Installed version` do CLI para a diferença de versões: um pacote executado por `npx` não precisa ser resolvível pelo `node_modules` do consumidor. Estado novo ausente ou inválido é falha de verificação; não declare sucesso do update.
|
|
100
|
+
|
|
101
|
+
Em um upgrade de versão anterior à 2.3.0 (ou versão legada desconhecida):
|
|
102
|
+
|
|
103
|
+
- Verifique a entrega de `.dw/references/execution-contract.md`, `.dw/scripts/lib/workflow-contract.mjs` e `.dw/templates/frontend-quality-template.md`. Comandos, skills, wrappers e blocos de instruções gerenciados são atualizados pelo `update` normal; não é necessário `--force`.
|
|
104
|
+
- Compare `.dw/config/routing.json` com o novo `.dw/config/routing-defaults.json` gerenciado durante `/dw-skill-health`. Mantenha escolhas ativas do proprietário e atribuições aprovadas. Proponha mudanças específicas de modelo/esforço após verificar capacidades; atualizar arquivos do scaffold não autoriza trocar provedores.
|
|
105
|
+
- Preserve `.dw/spec/`, `.dw/goals/`, `.dw/STATE.md`, estado de execução/sessão, rules e `.dw/templates/overrides/`. Planos schema 1.0 continuam válidos e locais por padrão. Para um `execution-plan.json` ativo, rode `node .dw/scripts/lib/workflow-contract.mjs validate <plan-path>`; relate planos inválidos sem reescrever aprovações ou zerar progresso. Novos planos de tarefas usam schema 1.1.
|
|
106
|
+
- Inspecione overrides de templates de tarefas por schemas/regras de roteamento antigos e relate diferenças que sobreponham os novos templates gerenciados; não substitua overrides do proprietário automaticamente.
|
|
107
|
+
- Se documentação de qualidade frontend for relevante e estiver ausente, faça `/dw-analyze-project` adicionar a baseline às rules existentes do módulo, com escopo nessa documentação. Preserve gates existentes; proponha ferramentas separadamente. Pule essa ação em `só atualize os arquivos`.
|
|
108
|
+
|
|
109
|
+
Não converta trabalho ativo à força nem regenere globalmente documentação de produto para adotar a versão. Registre findings de compatibilidade e mantenha o reload da sessão como passo final.
|
|
110
|
+
|
|
97
111
|
### 5. Reportar Resultado
|
|
98
112
|
|
|
99
113
|
Apresente ao usuário:
|
|
@@ -157,7 +171,7 @@ Ex.: `npx -y @brunosps00/dev-workflow@0.4.5 update --lang=pt-br`
|
|
|
157
171
|
## Observações
|
|
158
172
|
|
|
159
173
|
- `npx -y` evita o prompt "OK to install" quando o pacote não está em cache
|
|
160
|
-
- `@latest`
|
|
174
|
+
- `@latest` seleciona a tag do registry; verifique o resultado instalado em vez de presumir que uma consulta ao pacote local identifica o CLI executado
|
|
161
175
|
- `--lang=...` evita o prompt interativo de idioma; o valor vem da detecção automática na etapa 2
|
|
162
176
|
- Este comando NÃO atualiza dependências Node do projeto do usuário, apenas o scaffold do dev-workflow
|
|
163
177
|
|
|
@@ -0,0 +1,53 @@
|
|
|
1
|
+
# Roteamento de comandos
|
|
2
|
+
|
|
3
|
+
Aplique primeiro as regras de roteamento da raiz. Consulte este catálogo somente para localizar um comando especializado. Uma sugestão de comando não autoriza publicação, merge ou outro workflow.
|
|
4
|
+
|
|
5
|
+
## Trigger Map
|
|
6
|
+
|
|
7
|
+
| Intenção do usuário (literal ou parafraseada) | Auto-trigger |
|
|
8
|
+
|------------------------------------------------|--------------|
|
|
9
|
+
| "Implementa X" / "Cria Y" / "Adiciona feature Z" / "Preciso de..." | `/dw-plan` / `/dw-autopilot` |
|
|
10
|
+
| "Autopilota esse PRD" / "Leva esse PRD pra PR" / continua escalação de bugfix autonomamente | `/dw-autopilot --from-prd <slug>` (PRD existente em `.dw/spec/<slug>/`) |
|
|
11
|
+
| "Retoma autopilot" / "continua depois do plan" / `autopilot-state.json` tem `status: plan_complete` | `/dw-autopilot` (ou `/dw-goal --from-autopilot <slug>` se o usuário pedir especificamente a etapa de goal) |
|
|
12
|
+
| Erro colado / "X está quebrado" / "Bug em Y" / screenshot de teste falhando | `/dw-bugfix "X"` |
|
|
13
|
+
| "Planeja essa feature" / "Escreve PRD + techspec + tasks" | `/dw-plan "X"` |
|
|
14
|
+
| "Escreve PRD pra X" / "Especifica Y" | `/dw-plan prd "X"` |
|
|
15
|
+
| "Desenha a arquitetura" / "Faz o techspec" | `/dw-plan techspec` |
|
|
16
|
+
| "Quebra em tasks" | `/dw-plan tasks` |
|
|
17
|
+
| "Roda essa task" (com ID da task) | `/dw-run <ID>` |
|
|
18
|
+
| "Roda todas as tasks pendentes" / "Executa o plano" | `/dw-run` |
|
|
19
|
+
| "Roda isso como goal" / "objetivo durável" / "long-running objective" | `/dw-goal "<objetivo>"` |
|
|
20
|
+
| "Continue de onde parei" | `/dw-run --resume` |
|
|
21
|
+
| "Pausa o trabalho" / "Encerra a sessão" / "Salva onde paramos" | `/dw-pause` |
|
|
22
|
+
| "Report de N em N minutos" / "Me mantém informado enquanto isso roda" / "Quero status periódico" | `/dw-report [--every <N>m]` |
|
|
23
|
+
| "Cria uma worktree pra X" / "Limpa as worktrees" / "Mergeia a worktree X" / "Quantas worktrees sobraram?" | `/dw-worktree create <slug>` / `/dw-worktree clean --apply` / `/dw-worktree merge <slug>` / `/dw-worktree list` |
|
|
24
|
+
| "Retoma" / "Onde paramos?" / "Volta de onde parei" | `/dw-resume` |
|
|
25
|
+
| "QA dessa feature" / "Roda o test plan" | `/dw-qa` |
|
|
26
|
+
| "Corrige os bugs do QA" | `/dw-qa --fix` |
|
|
27
|
+
| "Avalia a feature AI" / "Testa o RAG / classifier" | `/dw-qa --ai` |
|
|
28
|
+
| "Caminha comigo pela feature" / "UAT comigo" / "Vamos fazer um run-through manual" | `/dw-qa --uat` |
|
|
29
|
+
| "Revisa esse bugfix" / "Code-review do fix `<slug>`" | `/dw-review --bugfix <slug>` |
|
|
30
|
+
| "QA desse bugfix" / "Valida o fix `<slug>`" | `/dw-qa --bugfix <slug>` |
|
|
31
|
+
| "Revisa meu PR" / "Checa qualidade" / "Tá pronto pra subir?" | `/dw-review` |
|
|
32
|
+
| "Só checagem de cobertura PRD" | `/dw-review --coverage-only` |
|
|
33
|
+
| "Só code review qualidade" | `/dw-review --code-only` |
|
|
34
|
+
| "Hora de commitar" / mudanças validadas e prontas | `/dw-commit` |
|
|
35
|
+
| "Abre um PR" / "Sobe isso" | `/dw-generate-pr` |
|
|
36
|
+
| "Sugere ideias novas" / "O que devemos construir agora?" / "Encontra oportunidades" / "Ideias de roadmap" | `/dw-opportunities` |
|
|
37
|
+
| "Que melhorias de seguranca devemos considerar?" / "Encontra oportunidades de seguranca" | `/dw-opportunities "security"` |
|
|
38
|
+
| "Brainstorm X" / "Explora essa ideia" / "Research X" | `/dw-brainstorm "X"` (auto-dispatch dos modos grill / prototype / council / research / onepager conforme os sinais) |
|
|
39
|
+
| "Auditoria de saude do codigo" / "Tech debt" / "Oportunidades de refactor" / "Smells em X" | `/dw-refactor "X"` |
|
|
40
|
+
| "Onde está X?" / "O que usa Y?" / "Como Z é estruturado?" | `/dw-intel "<pergunta>"` |
|
|
41
|
+
| "Reconstrói o índice" / "Refresh do intel" | `/dw-intel --build` |
|
|
42
|
+
| "Contexto pesado" / "Audita uso de tokens" / "Por que o agente está lento?" | `/dw-context-budget` |
|
|
43
|
+
| "Checa instalação dev-workflow" / "Agentes/wrappers estão saudáveis?" | `/dw-harness-audit` |
|
|
44
|
+
| "Audita skills" / "Skills parecem duplicadas ou pesadas" | `/dw-skill-health` |
|
|
45
|
+
| "Redesign dessa UI" / "Audita e entrega novo design" | `/dw-redesign-ui "<target>"` |
|
|
46
|
+
| "Audita dependências" / "Estamos atrasados em pacotes?" | `/dw-secure-audit --plan` |
|
|
47
|
+
| "Scan de vulnerabilidades" / "Check de segurança" | `/dw-secure-audit` |
|
|
48
|
+
| "Analisa esse projeto" / "Gera rules" | `/dw-analyze-project` |
|
|
49
|
+
| "Abre um novo projeto" / "Bootstrap de stack" | `/dw-new-project` |
|
|
50
|
+
| "Dockeriza isso" / "Adiciona docker-compose" | `/dw-dockerize` |
|
|
51
|
+
| "Functional doc" / "Mapeia screens e flows" | `/dw-functional-doc` |
|
|
52
|
+
| "Instala skills Azure" / "Configura MCP do Microsoft docs" / "Adiciona expertise Azure" / "Vou trabalhar com Azure" | `/dw-install-azure-skills` |
|
|
53
|
+
| "Instala skills AWS" / "Configura MCP da AWS" / "Adiciona expertise AWS" / "Vou trabalhar com AWS" | `/dw-install-aws-skills` |
|
|
@@ -0,0 +1,55 @@
|
|
|
1
|
+
# Contrato de execução de tasks
|
|
2
|
+
|
|
3
|
+
Leia na quebra de tasks, no dispatch ou na retomada. O parent coordena o plano aprovado até a validação; retorno do runner é um handoff, não o fim do objetivo.
|
|
4
|
+
|
|
5
|
+
## Escolhas no planejamento
|
|
6
|
+
|
|
7
|
+
Escolha desenvolvimento local ou cruzado em `/dw-plan tasks`, não a cada dispatch. Apresente matriz por task com complexidade, justificativa, ferramenta, modelo, esforço, agentes, dependências e checks. Use `light` para trabalho mecânico de baixo risco, `standard` para padrões conhecidos com decisões delimitadas e `heavy` para arquitetura, incerteza ou superfícies sensíveis. Quantidade de arquivos e tipo de commit não determinam complexidade sozinhos.
|
|
8
|
+
|
|
9
|
+
Use `.dw/config/routing.json` como candidatos de modelo, não prova de disponibilidade. Inspecione versão/help da CLI para flags e configuração; use documentação do provedor ou metadados disponíveis para IDs de modelos. Help/version não provam autenticação ou acesso na conta. Preserve escolhas explícitas. Prefira modelos configurados que atendam à task; proponha upgrades úteis citando fonte/data. Agentes locais herdam o modelo da sessão salvo override explícito suportado e aprovado. Não escolha outro tier arbitrariamente apenas para chamar uma revisão de independente.
|
|
10
|
+
|
|
11
|
+
Claude pode propor `codex` (`/dw-codex-run`), Codex pode propor `claude` (`/dw-claude-run`). Copilot/OpenCode mantêm execução local e podem usar adapters explicitamente selecionados. Mantenha trabalho pequeno/acoplado local salvo escolha do usuário. Use apenas agentes instalados e relevantes, sem fan-out obrigatório. Valide nomes contra `.dw/agent-registry.json` e os perfis instalados.
|
|
12
|
+
|
|
13
|
+
Junto de tasks.md e dos arquivos Markdown por task, escreva `execution-plan.json`:
|
|
14
|
+
|
|
15
|
+
```json
|
|
16
|
+
{
|
|
17
|
+
"schema_version": "1.1",
|
|
18
|
+
"approved": false,
|
|
19
|
+
"tasks": [{
|
|
20
|
+
"id": "1.0",
|
|
21
|
+
"depends_on": [],
|
|
22
|
+
"execution": {
|
|
23
|
+
"complexity": "standard",
|
|
24
|
+
"rationale": "Padrão de serviço conhecido; mudança de comportamento delimitada",
|
|
25
|
+
"tool": "local",
|
|
26
|
+
"model": "inherit",
|
|
27
|
+
"effort": "inherit",
|
|
28
|
+
"agents": [],
|
|
29
|
+
"fallbacks": []
|
|
30
|
+
}
|
|
31
|
+
}]
|
|
32
|
+
}
|
|
33
|
+
```
|
|
34
|
+
|
|
35
|
+
Resolva modelo/esforço concretos para ferramentas externas antes da aprovação. Fallbacks contêm `tool`, `model`, `effort`; use apenas alternativas aprovadas. Valide com `node .dw/scripts/lib/workflow-contract.mjs validate <plan.json>` e confira IDs/dependências contra tasks.md. Marque `approved: true` só depois da aprovação dessas escolhas pelo usuário; registre-a no log de decisões do plano. Mudanças exigem aprovação salvo pedido explícito ou fallback aprovado. O boolean escrito pelo agente é um registro, não prova independente de consentimento.
|
|
36
|
+
|
|
37
|
+
Precedência: instrução explícita atual → escolha aprovada da task → configuração do projeto → padrão da ferramenta. Em plano salvo, configuração/defaults servem para propor escolhas ausentes, nunca substituir silenciosamente escolhas aprovadas. Rejeição do modelo usa fallback aprovado ou bloqueia com evidência; sem troca de provedor não autorizada. Planos schema 1.0 sem metadados de execução rodam localmente; não force migração ou delegação retroativa.
|
|
38
|
+
|
|
39
|
+
## Dependências e propriedade do worktree
|
|
40
|
+
|
|
41
|
+
Para WRITE crie worktree dedicado por `/dw-worktree create`. Registre revisão inicial e branch. Tasks de uma cadeia de dependências usam a mesma branch/worktree de execução, com um escritor por vez, mesmo quando tasks sucessivas escolhem CLIs diferentes. A próxima task recebe os commits das dependências nessa branch; nunca a recrie de main. Use worktrees separados para tasks independentes somente quando o plano aprovado definir como integrar as branches antes do trabalho dependente. Não faça merge na branch do usuário só para avançar à próxima task.
|
|
42
|
+
|
|
43
|
+
Faça stage apenas de mudanças no escopo. Commite implementação e status da task juntos; depois registre o SHA resultante em tasks.md/run-log (um SHA não pode incluir a si próprio no commit). Inclua esse registro no próximo commit com escopo ou em commit final de metadados; não entregue bookkeeping sujo sem reportar. Não faça amend nem stage de arquivos alheios automaticamente.
|
|
44
|
+
|
|
45
|
+
## Estado durável e retomada
|
|
46
|
+
|
|
47
|
+
Persista `execution-state.json` junto do plano, com schema_version `1.1` e objeto `tasks` indexado por ID. Cada entrada registra escolha aprovada, worktree, branch/revisão base, ID de sessão do provedor, caminhos de audit/prompt, tentativa, status, checkpoint, SHA e registros de verificação. Guarde audit/sessão fora de worktrees descartáveis. Atualize antes do dispatch e após cada handoff; preserve trabalho concluído em interrupções.
|
|
48
|
+
|
|
49
|
+
Ao retomar, confira identidade da task salva, diff real, branch, dependências e evidência. Mantenha executor/sessão aprovados. Sem sidecar, recupere a sessão exata do audit da task e valide provedor/worktree/identidade. Nunca use `--last` ou `-c` às cegas. Se o ID não for recuperável, inicie nova sessão no mesmo worktree com task aprovada, estado, diff e logs; registre a perda de contexto conversacional. Sessão de um provedor não pode ser retomada por outro. Nunca use reset/clean para descartar trabalho parcial e tentar novamente.
|
|
50
|
+
|
|
51
|
+
## Conclusão e autorização
|
|
52
|
+
|
|
53
|
+
O worker implementa e verifica sua task, retornando evidências e achados pendentes. O parent inspeciona independentemente diff e critérios de aceitação, confere validade da evidência, encaminha correções no escopo ao mesmo worker e continua dependências. Não precisa confirmar de novo execução/retomada já aprovada nem correções rotineiras. Só escopo material novo, alternativas aprovadas indisponíveis, restrições de permissão e decisões pendentes de produto/arquitetura bloqueiam trabalho dependente; continue trabalho independente autorizado quando possível.
|
|
54
|
+
|
|
55
|
+
Qualidade da revisão depende de critérios de aceitação e achados bloqueantes, não de nota numérica. Reutilize checks verificados para insumos/ambiente/escopo equivalentes; reexecute os afetados após edições. Complete checks exigidos pelo projeto na entrega. Merge, push e publicação continuam como limites separados de autorização. Sem autorização, reporte branch/worktree preparado e resultado validado.
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
---
|
|
2
|
+
type: frontend-quality
|
|
3
|
+
schema_version: "1.0"
|
|
4
|
+
status: draft
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
# Baseline de qualidade do frontend
|
|
8
|
+
|
|
9
|
+
Use em uma auditoria solicitada de frontend ou plano de ferramentas de qualidade. Incorpore ao `.dw/rules/<module>.md` existente na auditoria, ou à TechSpec da funcionalidade na implementação. Uma funcionalidade precisa apenas das linhas afetadas. Este template registra decisões; não configura ferramentas nem autoriza novos gates.
|
|
10
|
+
|
|
11
|
+
- Módulo e escopo: [workspace, entradas de runtime, diff relevante]
|
|
12
|
+
- Observado em: [revisão e alterações na árvore de trabalho, data]
|
|
13
|
+
- Stack: [versões de framework/compilador/runner/gerenciador de pacotes, lockfile]
|
|
14
|
+
- Política existente: [instruções, rules, scripts e caminhos do CI]
|
|
15
|
+
|
|
16
|
+
## Controles
|
|
17
|
+
|
|
18
|
+
Separe observação e proposta. Preserve checks obrigatórios existentes. Valores de política: `required`, `advisory`, `deferred`, `not_applicable`. Uma proposta não adotada é `deferred`; registre execução separadamente como `passed`, `failed` ou `not_run`. Explique exclusões e evidências ausentes. Não marque ferramentas ausentes como aprovadas nem imponha silenciosamente um gate proposto.
|
|
19
|
+
|
|
20
|
+
| ID | Risco/controle a inspecionar | Configuração observada e lacunas | Política / mudança proposta | Comando exato, cwd e escopo | Evidência / execução |
|
|
21
|
+
|---|---|---|---|---|---|
|
|
22
|
+
| contract | Autoridade da API, divergência do cliente gerado, validação em runtime | | | | |
|
|
23
|
+
| types | Configuração efetiva de rigor do TypeScript e escapes inseguros | | | | |
|
|
24
|
+
| lint | Diagnósticos relevantes de framework, testes e acessibilidade | | | | |
|
|
25
|
+
| boundaries | Imports permitidos, separação servidor/cliente, entradas de produção | | | | |
|
|
26
|
+
| custom-rules | Defeito recorrente, fixtures do detector e erros acionáveis | | | | |
|
|
27
|
+
| feedback | Regras locais encontráveis e feedback opcional por hooks | | | | |
|
|
28
|
+
| mutation | Comportamento crítico, investigação de sobreviventes e validade do cache | | | | |
|
|
29
|
+
| dead-code | Alcançabilidade em runtime/API pública, arquivos gerados, exclusões revisadas | | | | |
|
|
30
|
+
| duplication | Regras de negócio compartilhadas versus markup repetido intencionalmente | | | | |
|
|
31
|
+
| ci | Jobs obrigatórios, falhas observáveis, dependências de deploy e regras do repositório | | | | |
|
|
32
|
+
|
|
33
|
+
## Adoção e validação
|
|
34
|
+
|
|
35
|
+
- Próxima mudança: [risco eliminado, arquivos/configurações a alterar, ferramenta compatível existente ou dependência proposta]
|
|
36
|
+
- Dívida existente: [local da baseline; mantenha separada de defeitos introduzidos agora]
|
|
37
|
+
- Condição de promoção: [evidência necessária para passar de advisory a required; responsável pela decisão]
|
|
38
|
+
- Exceções: [regra/caminho específico, motivo, responsável e gatilho de revisão; sem exclusões abrangentes]
|
|
39
|
+
- Checks do detector: [fixture propositalmente inválida, fixture legítima, casos de alias/caminhos gerados e casos não suportados]
|
|
40
|
+
- Limites da análise: [não executado, serviço indisponível, grafo incompleto ou configurações de CI/repositório não inspecionadas]
|
|
41
|
+
- Checks de entrega: [comandos obrigatórios e aceite comportamental; reutilize evidência apenas com entradas/ambiente/escopo equivalentes]
|
|
42
|
+
|
|
43
|
+
Para orientação operacional, leia `dw-ui-discipline/references/frontend-engineering.md` no local das skills instaladas. Inclua a implementação aceita na matriz de execução de tarefas; continue sob a autorização existente. Uma auditoria isolada termina com findings documentados e mudanças propostas.
|
|
@@ -1,72 +1,52 @@
|
|
|
1
1
|
---
|
|
2
2
|
type: task
|
|
3
|
-
schema_version: "1.
|
|
3
|
+
schema_version: "1.1"
|
|
4
4
|
status: pending
|
|
5
5
|
---
|
|
6
6
|
|
|
7
7
|
# Tarefa X.0: [Título da Tarefa Principal]
|
|
8
8
|
|
|
9
|
-
|
|
9
|
+
Leia as seções relevantes do PRD/TechSpec e as restrições da task; use os links abaixo.
|
|
10
10
|
|
|
11
11
|
## Visão Geral
|
|
12
12
|
|
|
13
13
|
[Breve descrição da tarefa]
|
|
14
14
|
|
|
15
|
-
**Requisitos Funcionais cobertos**: RF-X.Y, RF-X.Z
|
|
15
|
+
**Requisitos Funcionais cobertos**: RF-X.Y, RF-X.Z
|
|
16
16
|
Depends on: none
|
|
17
17
|
|
|
18
18
|
<requirements>
|
|
19
19
|
[Lista de requisitos obrigatórios]
|
|
20
20
|
</requirements>
|
|
21
21
|
|
|
22
|
-
##
|
|
22
|
+
## Escolha de execução
|
|
23
23
|
|
|
24
|
-
|
|
25
|
-
- [ ] X.1 [Descrição da subtarefa]
|
|
26
|
-
- [ ] X.2 [Descrição da subtarefa]
|
|
24
|
+
Espelhe a entrada aprovada desta task em `execution-plan.json` (veja `.dw/references/execution-contract.md`).
|
|
27
25
|
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
26
|
+
| Complexidade + justificativa | Ferramenta | Modelo / esforço | Agentes | Fallbacks aprovados |
|
|
27
|
+
|---|---|---|---|---|
|
|
28
|
+
| standard — [motivo] | local | inherit / inherit | nenhum | nenhum |
|
|
31
29
|
|
|
32
|
-
##
|
|
30
|
+
## Implementação
|
|
33
31
|
|
|
34
|
-
|
|
32
|
+
- [ ] [Comportamento a entregar]
|
|
33
|
+
- [ ] [Verificações relevantes e critérios de aceitação]
|
|
35
34
|
|
|
36
|
-
|
|
37
|
-
|--------|-------|
|
|
38
|
-
| `[método1]` | Happy path, edge case, erro |
|
|
39
|
-
| `[método2]` | Happy path, not found |
|
|
35
|
+
## Verificação e critérios de sucesso
|
|
40
36
|
|
|
41
|
-
|
|
42
|
-
|
|
37
|
+
| Comportamento / risco | Suíte existente ou novo teste | Comando / evidência observável |
|
|
38
|
+
|---|---|---|
|
|
39
|
+
| [Resultado exigido] | [Menor camada eficaz; teste novo só se necessário] | [Comando do projeto ou inspeção] |
|
|
43
40
|
|
|
44
|
-
|
|
41
|
+
Use a estratégia de testes do projeto. Defina mocks só em fronteiras justificadas; não imponha percentuais de cobertura nem teste novo para toda edição. Inclua falhas relevantes quando aplicável.
|
|
45
42
|
|
|
46
|
-
|
|
43
|
+
## Arquivos e decisões relevantes
|
|
47
44
|
|
|
48
|
-
|
|
45
|
+
[Caminhos de código e seções relevantes do TechSpec/ADR; não duplique documentos inteiros.]
|
|
49
46
|
|
|
50
|
-
|
|
51
|
-
- [Requisitos de qualidade]
|
|
52
|
-
- **Testes unitários passando**
|
|
53
|
-
- **Cobertura mínima 80%** em services/use-cases
|
|
47
|
+
## Commit ao concluir
|
|
54
48
|
|
|
55
|
-
|
|
56
|
-
- [Arquivos relevantes desta tarefa]
|
|
57
|
-
- [Arquivo].spec.ts - Testes unitários
|
|
58
|
-
|
|
59
|
-
## Commit ao Final
|
|
60
|
-
|
|
61
|
-
Ao completar esta task, fazer commit:
|
|
62
|
-
```bash
|
|
63
|
-
git add .
|
|
64
|
-
git commit -m "feat([modulo]): [descrição]
|
|
65
|
-
|
|
66
|
-
- [item 1]
|
|
67
|
-
- [item 2]
|
|
68
|
-
- Add unit tests"
|
|
69
|
-
```
|
|
49
|
+
Use o protocolo de commit atômico com escopo do `/dw-run`. Faça stage apenas dos arquivos desta task, preserve IDs de requisitos, registre o SHA resultante em tasks.md/run-log e inclua os registros finais antes da entrega. Não implica push nem merge.
|
|
70
50
|
|
|
71
51
|
## Related ADRs
|
|
72
52
|
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
---
|
|
2
2
|
type: tasks-index
|
|
3
|
-
schema_version: "1.
|
|
3
|
+
schema_version: "1.1"
|
|
4
4
|
status: draft
|
|
5
5
|
---
|
|
6
6
|
|
|
@@ -34,10 +34,13 @@ feat/prd-[nome-funcionalidade]
|
|
|
34
34
|
- [ ] 2.0 Título da Tarefa Principal Depends on: 1.0
|
|
35
35
|
- [ ] 3.0 Título da Tarefa Principal Depends on: 1.0, 2.0
|
|
36
36
|
|
|
37
|
+
## Plano de execução
|
|
38
|
+
|
|
39
|
+
Proponha desenvolvimento local ou cruzado por task na quebra. Resuma complexidade/justificativa, ferramenta, modelo/esforço, agentes, dependências e verificação. Salve escolhas validadas e fallbacks aprovados em `execution-plan.json`; use `.dw/references/execution-contract.md`. Registre aprovação da mesma matriz antes de executar.
|
|
40
|
+
|
|
37
41
|
## Workflow
|
|
38
42
|
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
4. Próxima task ou `/dw-generate-pr [branch-alvo]` quando todas concluídas
|
|
43
|
+
1. `/dw-run` consome escolhas aprovadas em ordem de dependências.
|
|
44
|
+
2. Cada task implementa, verifica e commita mudanças no escopo; o parent revisa handoffs externos e encaminha correções.
|
|
45
|
+
3. Continue implementação aprovada até review final e QA aplicável. Pedido somente de planejamento termina no plano.
|
|
46
|
+
4. Prepare entrega validada; integre/envie/publique só dentro da autorização existente.
|
|
@@ -78,6 +78,10 @@ type NomeServico interface {
|
|
|
78
78
|
|
|
79
79
|
## Sequenciamento de Desenvolvimento
|
|
80
80
|
|
|
81
|
+
### Qualidade do Frontend (quando aplicável)
|
|
82
|
+
|
|
83
|
+
[Leia a baseline de qualidade existente do módulo. Use linhas relevantes de `.dw/templates/frontend-quality-template.md` para contratos de API, tipos, limites de imports ou ferramentas de qualidade alterados. Registre fontes autoritativas, checks exatos, política atual, adoção proposta e evidência comportamental. Separe diagnósticos consultivos de gates obrigatórios; não transforme uma funcionalidade de UI em migração de ferramentas do repositório inteiro.]
|
|
84
|
+
|
|
81
85
|
### Ordem de Construção
|
|
82
86
|
|
|
83
87
|
[Defina sequência de implementação:
|