@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.
Files changed (119) hide show
  1. package/.claude-plugin/plugin.json +1 -1
  2. package/CHANGELOG.md +46 -0
  3. package/README.md +12 -4
  4. package/lib/constants.js +24 -24
  5. package/lib/init.js +8 -0
  6. package/lib/instruction-health.js +38 -0
  7. package/lib/post-update.js +2 -1
  8. package/lib/validate.js +3 -1
  9. package/package.json +1 -1
  10. package/scaffold/config/routing.json +61 -23
  11. package/scaffold/en/agent-instructions.md +31 -137
  12. package/scaffold/en/commands/dw-analyze-project.md +2 -0
  13. package/scaffold/en/commands/dw-autopilot.md +22 -245
  14. package/scaffold/en/commands/dw-bugfix.md +9 -35
  15. package/scaffold/en/commands/dw-claude-run.md +29 -45
  16. package/scaffold/en/commands/dw-codex-run.md +30 -45
  17. package/scaffold/en/commands/dw-context-budget.md +6 -14
  18. package/scaffold/en/commands/dw-copilot-run.md +29 -41
  19. package/scaffold/en/commands/dw-generate-pr.md +2 -2
  20. package/scaffold/en/commands/dw-goal.md +11 -5
  21. package/scaffold/en/commands/dw-help.md +2 -2
  22. package/scaffold/en/commands/dw-plan.md +14 -7
  23. package/scaffold/en/commands/dw-qa.md +2 -0
  24. package/scaffold/en/commands/dw-resume.md +5 -11
  25. package/scaffold/en/commands/dw-review.md +4 -3
  26. package/scaffold/en/commands/dw-run.md +19 -166
  27. package/scaffold/en/commands/dw-skill-health.md +7 -0
  28. package/scaffold/en/commands/dw-update.md +18 -4
  29. package/scaffold/en/references/command-routing.md +53 -0
  30. package/scaffold/en/references/execution-contract.md +55 -0
  31. package/scaffold/en/templates/frontend-quality-template.md +43 -0
  32. package/scaffold/en/templates/task-template.md +20 -40
  33. package/scaffold/en/templates/tasks-template.md +9 -6
  34. package/scaffold/en/templates/techspec-template.md +4 -0
  35. package/scaffold/pt-br/agent-instructions.md +31 -137
  36. package/scaffold/pt-br/commands/dw-analyze-project.md +2 -0
  37. package/scaffold/pt-br/commands/dw-autopilot.md +22 -245
  38. package/scaffold/pt-br/commands/dw-bugfix.md +9 -35
  39. package/scaffold/pt-br/commands/dw-claude-run.md +29 -46
  40. package/scaffold/pt-br/commands/dw-codex-run.md +30 -45
  41. package/scaffold/pt-br/commands/dw-context-budget.md +6 -14
  42. package/scaffold/pt-br/commands/dw-copilot-run.md +29 -43
  43. package/scaffold/pt-br/commands/dw-generate-pr.md +2 -2
  44. package/scaffold/pt-br/commands/dw-goal.md +11 -5
  45. package/scaffold/pt-br/commands/dw-help.md +2 -2
  46. package/scaffold/pt-br/commands/dw-plan.md +14 -7
  47. package/scaffold/pt-br/commands/dw-qa.md +2 -0
  48. package/scaffold/pt-br/commands/dw-resume.md +7 -11
  49. package/scaffold/pt-br/commands/dw-review.md +4 -3
  50. package/scaffold/pt-br/commands/dw-run.md +19 -166
  51. package/scaffold/pt-br/commands/dw-skill-health.md +7 -0
  52. package/scaffold/pt-br/commands/dw-update.md +18 -4
  53. package/scaffold/pt-br/references/command-routing.md +53 -0
  54. package/scaffold/pt-br/references/execution-contract.md +55 -0
  55. package/scaffold/pt-br/templates/frontend-quality-template.md +43 -0
  56. package/scaffold/pt-br/templates/task-template.md +20 -40
  57. package/scaffold/pt-br/templates/tasks-template.md +9 -6
  58. package/scaffold/pt-br/templates/techspec-template.md +4 -0
  59. package/scaffold/scripts/lib/workflow-contract.mjs +101 -0
  60. package/scaffold/skill-registry.json +23 -23
  61. package/scaffold/skills/dw-cli-run/SKILL.md +33 -217
  62. package/scaffold/skills/dw-cli-run/references/dispatch-tuning.md +14 -72
  63. package/scaffold/skills/dw-codebase-intel/SKILL.md +5 -39
  64. package/scaffold/skills/dw-codebase-intel/agents/intel-updater.md +1 -1
  65. package/scaffold/skills/dw-codebase-intel/references/agents-detail.md +7 -0
  66. package/scaffold/skills/dw-codebase-intel/references/files-in-dw-intel-detail.md +16 -0
  67. package/scaffold/skills/dw-codebase-intel/references/how-dw-intel-reads-this-detail.md +12 -0
  68. package/scaffold/skills/dw-codebase-intel/references/how-to-compose-the-typical-flow-detail.md +11 -0
  69. package/scaffold/skills/dw-council/SKILL.md +2 -17
  70. package/scaffold/skills/dw-council/references/integration-with-other-dw-commands-detail.md +7 -0
  71. package/scaffold/skills/dw-council/references/phase-2-tensions-and-rebuttals-detail.md +15 -0
  72. package/scaffold/skills/dw-domain-modeling/SKILL.md +1 -1
  73. package/scaffold/skills/dw-execute-phase/SKILL.md +12 -32
  74. package/scaffold/skills/dw-execute-phase/agents/executor.md +15 -252
  75. package/scaffold/skills/dw-execute-phase/agents/plan-checker.md +4 -207
  76. package/scaffold/skills/dw-execute-phase/references/atomic-commits.md +8 -18
  77. package/scaffold/skills/dw-execute-phase/references/de-sloppify-pass-optional-cleanup-task-detail.md +12 -0
  78. package/scaffold/skills/dw-execute-phase/references/deviation-rules-during-execution-detail.md +8 -0
  79. package/scaffold/skills/dw-execute-phase/references/how-the-two-agents-compose-detail.md +7 -0
  80. package/scaffold/skills/dw-execute-phase/references/plan-verification.md +9 -155
  81. package/scaffold/skills/dw-execute-phase/references/wave-coordination.md +6 -97
  82. package/scaffold/skills/dw-git-discipline/SKILL.md +2 -2
  83. package/scaffold/skills/dw-grilling/SKILL.md +1 -1
  84. package/scaffold/skills/dw-incident-response/SKILL.md +1 -64
  85. package/scaffold/skills/dw-incident-response/references/the-five-phases-detail.md +66 -0
  86. package/scaffold/skills/dw-llm-eval/SKILL.md +5 -53
  87. package/scaffold/skills/dw-llm-eval/references/agent-tool-use-evaluation-detail.md +23 -0
  88. package/scaffold/skills/dw-llm-eval/references/anti-patterns-will-block-in-dw-review-code-only-detail.md +9 -0
  89. package/scaffold/skills/dw-llm-eval/references/consistency-run-to-run-stability-detail.md +10 -0
  90. package/scaffold/skills/dw-llm-eval/references/integration-with-dev-workflow-commands-detail.md +6 -0
  91. package/scaffold/skills/dw-llm-eval/references/the-oracle-ladder-detail.md +15 -0
  92. package/scaffold/skills/dw-memory/SKILL.md +4 -50
  93. package/scaffold/skills/dw-memory/references/context-budget.md +8 -56
  94. package/scaffold/skills/dw-memory/references/promotion-decision-test-detail.md +30 -0
  95. package/scaffold/skills/dw-minimalism/SKILL.md +4 -5
  96. package/scaffold/skills/dw-review-rigor/SKILL.md +1 -54
  97. package/scaffold/skills/dw-review-rigor/references/the-five-rules-detail.md +56 -0
  98. package/scaffold/skills/dw-simplification/SKILL.md +2 -55
  99. package/scaffold/skills/dw-simplification/references/pattern-recognition-detail.md +11 -0
  100. package/scaffold/skills/dw-simplification/references/the-five-rules-detail.md +48 -0
  101. package/scaffold/skills/dw-source-grounding/SKILL.md +1 -56
  102. package/scaffold/skills/dw-source-grounding/references/the-protocol-detect-fetch-implement-cite-detail.md +58 -0
  103. package/scaffold/skills/dw-testing-discipline/SKILL.md +25 -177
  104. package/scaffold/skills/dw-testing-discipline/references/agent-guardrails.md +9 -167
  105. package/scaffold/skills/dw-testing-discipline/references/core-rules.md +3 -3
  106. package/scaffold/skills/dw-testing-discipline/references/mutation-testing.md +19 -0
  107. package/scaffold/skills/dw-testing-discipline/references/patterns.md +3 -12
  108. package/scaffold/skills/dw-ui-discipline/SKILL.md +2 -59
  109. package/scaffold/skills/dw-ui-discipline/references/frontend-engineering.md +46 -0
  110. package/scaffold/skills/dw-ui-discipline/references/the-four-grounding-questions-detail.md +61 -0
  111. package/scaffold/skills/dw-verify/SKILL.md +26 -148
  112. package/scaffold/skills/dw-verify/references/verification-discovery-and-attribution.md +2 -2
  113. package/scaffold/skills/humanizer/SKILL.md +2 -1
  114. package/scaffold/skills/security-review/SKILL.md +3 -183
  115. package/scaffold/skills/security-review/references/do-not-flag-detail.md +49 -0
  116. package/scaffold/skills/security-review/references/quick-patterns-reference-detail.md +56 -0
  117. package/scaffold/skills/security-review/references/review-process-detail.md +84 -0
  118. package/scaffold/skills/vercel-react-best-practices/SKILL.md +1 -90
  119. package/scaffold/skills/vercel-react-best-practices/references/quick-reference-detail.md +92 -0
@@ -1,52 +1,35 @@
1
1
  <system_instructions>
2
- Você é o **adapter runner do Claude**. Você dispara `claude -p` (headless) dentro de uma **git worktree dedicada**
3
- para implementar um prompt/spec já preparado, captura a execução inteira num log de auditoria durável, mantem uma
4
- **sessão resumivel por tarefa**, da nota 0–10 a entrega, escala em caso de falha e **PARA para o gate**.
2
+ # Claude runner
5
3
 
6
- <critical>Carregue e siga a skill `dw-cli-run` — ela tem o protocolo completo agnóstico de CLI (regra dura da worktree, pre-flight, escolha do veiculo, dupla avaliação 0–10, escalonamento gradual, telemetria, disciplina de kill/detecção, Structured Return). Este arquivo só fornece a **tabela de adapter do Claude**; substitua-a naquele protocolo.</critical>
7
- <critical>NUNCA rode no checkout principal do repo — só worktree dedicada off main. ABORTE (`BLOCKED`) caso contrário.</critical>
8
- <critical>NUNCA mergeie nem de push. Merge e decisão do dono, depois do gate.</critical>
4
+ Use `dw-cli-run` para o protocolo compartilhado. Consuma a escolha aprovada da task e retorne ao parent para review, correções e continuidade. Invocação standalone aceita prompt preparado explicitamente sem exigir PRD. WRITE exige worktree secundário dedicado; READ-ONLY segue as regras de leitura efetiva da skill. O worker nunca faz merge ou push.
9
5
 
10
- ## Tabela de adapter do Claude (substituir na `dw-cli-run`)
6
+ Execute exemplos com cwd definido como `<WORKTREE>` pelo lançador. Substitua argumentos com segurança, preferencialmente como array de argumentos de subprocesso. Placeholders de permissões representam o perfil já aprovado, não flags de bypass. Preserve permissões efetivas na retomada; comandos inicial e resume podem aceitar flags diferentes. Confira ambos os helps antes do dispatch.
11
7
 
12
- | Slot | Valor Claude |
8
+ ## Claude adapter table
9
+
10
+ | Slot | Value |
13
11
  |---|---|
14
- | `DISPATCH` | `UUID=$(cat /proc/sys/kernel/random/uuid); cd <WORKTREE> && claude -p --session-id "$UUID" --model <MODEL> --effort <EFFORT> --output-format stream-json --include-partial-messages --verbose --dangerously-skip-permissions "$(cat <PROMPT>)" </dev/null > <AUDIT>/<slug>.log 2>&1` |
15
- | `STREAM` | `--output-format stream-json --include-partial-messages --verbose` (`--verbose` e **obrigatório** com `stream-json` no modo `-p`) |
16
- | `MODEL` | `--model <MODEL>` — `opus` · `sonnet` · `haiku` · `fable`, ou um id completo (`claude-opus-5`) |
17
- | `EFFORT` | `--effort <EFFORT>` — `low` · `medium` · `high` · `xhigh` · `max` |
18
- | `AUTO` | `--dangerously-skip-permissions` (auto-aprovação headless para dispatch **WRITE**; justificável porque a worktree é isolada) |
19
- | `AUTO_READONLY` | `--permission-mode plan` (opcionalmente `--allowedTools <lista>`). Nunca combine com `AUTO`. |
20
- | `NO_MCP` | `--strict-mcp-config` sem nenhum `--mcp-config` → sobe zero MCP servers |
21
- | `RESUME <id>` | `cd <WORKTREE> && claude --resume "$UUID" -p --effort <EFFORT> --output-format stream-json --include-partial-messages --verbose --dangerously-skip-permissions "$(cat <FOLLOWUP_PROMPT>)" </dev/null >> <AUDIT>/<slug>.log 2>&1` |
22
- | `RESUME_LAST` | `claude -c -p …` (continua a conversa mais recente nesta cwd) |
23
- | `SESSION_ID` | **FIXADO por você** — você passa `--session-id "$UUID"` na 1a run, então o id é conhecido de antemão. Gere-o (`cat /proc/sys/kernel/random/uuid` ou `uuidgen`) e grave em `<AUDIT>/<slug>.session` ANTES/no dispatch. Sem scraping do stream — o Claude é o caso fácil. |
24
- | `DONE_SIGNAL` | a mensagem final `{"type":"result"}` no stream (traz `subtype`, `usage`, `total_cost_usd`, `num_turns`) |
25
- | `USAGE` | o `usage` da mensagem `result` → `input_tokens` / `cache_read_input_tokens` / `cache_creation_input_tokens` / `output_tokens`, + `total_cost_usd`. Extrair: `grep -oE '"usage":\{[^}]*\}' <AUDIT>/<slug>.log \| tail -1` |
26
-
27
- **Modelo + effort:** `--model` escolhe o tier (`opus` · `sonnet` · `haiku`, ou um id completo). `--effort` escolhe
28
- o budget de raciocínio: `low` · `medium` · `high` · `xhigh` · `max` (suportado pelo Claude CLI ≥ 2.1.206). Escale
29
- conforme a `dw-cli-run`: suba `--effort` primeiro (low→medium→high→xhigh→max), depois suba `--model` um tier e
30
- resete o effort. Comece um notch abaixo do teto.
31
-
32
- ## Resume de sessão (o coração)
33
- Como você passa `--session-id "$UUID"`, o id e **fixo e conhecido** no dispatch — grave-o em
34
- `<AUDIT>/<slug>.session` (durável, fora da worktree → sobrevive ao `git worktree remove`). Pra voltar com o
35
- **mesmo contexto**, leia o id e re-rode `RESUME <id>` (`claude --resume "$UUID" -p …`) com o prompt de follow-up —
36
- o Claude recarrega a mesma conversa (raciocínio + arquivos já tocados). Fallback se o sidecar sumiu:
37
- `claude -c -p …` da mesma worktree.
38
-
39
- ## Variáveis de Input
40
- | Variável | Descrição | Exemplo |
41
- |----------|-----------|---------|
42
- | `<WORKTREE>` | git worktree dedicada (off main) — crie com `/dw-worktree create <slug>` (prep incluído); após o gate e o merge, remova no mesmo turno com `/dw-worktree merge <slug>` | `~/code/vizzita-billing-s10` |
43
- | `<PROMPT>` | caminho do prompt/spec preparado | `.dw/spec/prd-billing-integrador/codex-prompt.md` |
44
- | `<slug>` | chave da tarefa p/ arquivos de audit/sessão | `prd-billing-integrador` |
45
- | `<AUDIT>` | dir de auditoria durável FORA da worktree | `~/code/vizzita/.dw/cli-run` |
46
- | `<MODEL>` | tier do Claude ou id completo do modelo | `opus` / `sonnet` / `haiku` |
47
- | `<EFFORT>` | budget de raciocínio (Claude CLI ≥ 2.1.206) | `low` / `medium` / `high` / `xhigh` / `max` |
48
-
49
- Retorne pelo **Structured Return** da `dw-cli-run` (Status/Score/Scope/Evidence/Artifacts/Decisions/Risks/
50
- Telemetria/Next Step), incluindo o `session-id` fixo (UUID), o caminho do sidecar, e o comando `RESUME` exato pra
51
- continuar.
12
+ | `DISPATCH` | `claude -p --session-id "<SESSION_ID>" --model "<MODEL>" --effort "<EFFORT>" <PERMISSIONS> --output-format stream-json --include-partial-messages --verbose < "<PROMPT>" > "<AUDIT>/<slug>.log" 2>&1` |
13
+ | `STREAM` | `--output-format stream-json --verbose` |
14
+ | `MODEL` | `--model "<MODEL>"` |
15
+ | `EFFORT` | `--effort "<EFFORT>"` |
16
+ | `AUTO` | <PERMISSIONS> — perfil não interativo aprovado; preserve configuração existente |
17
+ | `AUTO_READONLY` | `--permission-mode plan --tools "Read,Grep,Glob" --strict-mcp-config` |
18
+ | `NO_MCP` | Selecione capacidades necessárias se suportado; caso contrário preserve configuração |
19
+ | `RESUME <id>` | `claude --resume "<SESSION_ID>" -p --model "<MODEL>" --effort "<EFFORT>" <RESUME_PERMISSIONS> --output-format stream-json --include-partial-messages --verbose < "<FOLLOWUP_PROMPT>" >> "<AUDIT>/<slug>.log" 2>&1` |
20
+ | `SESSION_ID` | UUID gerado antes do dispatch (`node -e "console.log(require('node:crypto').randomUUID())"`) → `<AUDIT>/<slug>.session` |
21
+ | `DONE_SIGNAL` | `result` com seu subtype |
22
+ | `USAGE` | `result.usage` e o valor reportado de `total_cost_usd` |
23
+
24
+ Crie/reutilize por `/dw-worktree create <slug>`; após integração autorizada, `/dw-worktree merge <slug>` conduz merge e limpeza segura. Workers retornam ao parent e nunca integram por conta própria.
25
+
26
+ ## Seleção de modelo e retomada
27
+
28
+ Resolva modelo/esforço concretos na quebra de tasks usando `.dw/config/routing.json`, metadados atuais do provedor e ferramenta instalada. Não fixe lista de modelos do mais forte ao mais leve neste adapter. Esforços dependem de modelo/versão; low, medium, high, xhigh e max são candidatos apenas quando suportados. Sem escalada obrigatória ao máximo.
29
+
30
+ Registre task, provedor, worktree, escolha aprovada, ID de sessão e audit antes do handoff. Sem sidecar, recupere sessão exata da task pelo log; nunca continue às cegas a sessão mais recente do cwd. Sem provar identidade, inicie nova sessão a partir do estado salvo e diff real, preservando trabalho parcial. Sessões não são portáveis entre CLIs.
31
+
32
+ Retorne Structured Return do `dw-cli-run` com evidências e comando de retomada suportado exato. O parent continua o plano aprovado; merge/push/publicação exigem autorização aplicável.
33
+
34
+ Inspeção de capacidades: Claude Code 2.1.265.
52
35
  </system_instructions>
@@ -1,51 +1,36 @@
1
1
  <system_instructions>
2
- Você é o **adapter runner do Codex**. Você dispara `codex exec` dentro de uma **git worktree dedicada** para
3
- implementar um prompt/spec já preparado, captura a execução inteira num log de auditoria durável, mantem uma
4
- **sessão resumivel por tarefa**, da nota 0–10 a entrega, escala em caso de falha e **PARA para o gate**.
2
+ # Codex runner
5
3
 
6
- <critical>Carregue e siga a skill `dw-cli-run` — ela tem o protocolo completo agnóstico de CLI (regra dura da worktree, pre-flight, escolha do veiculo, dupla avaliação 0–10, escalonamento gradual, telemetria, disciplina de kill/detecção, Structured Return). Este arquivo só fornece a **tabela de adapter do Codex**; substitua-a naquele protocolo.</critical>
7
- <critical>NUNCA rode no checkout principal do repo — só worktree dedicada off main. ABORTE (`BLOCKED`) caso contrário.</critical>
8
- <critical>NUNCA mergeie nem de push. Merge e decisão do dono, depois do gate.</critical>
4
+ Use `dw-cli-run` para o protocolo compartilhado. Consuma a escolha aprovada da task e retorne ao parent para review, correções e continuidade. Invocação standalone aceita prompt preparado explicitamente sem exigir PRD. WRITE exige worktree secundário dedicado; READ-ONLY segue as regras de leitura efetiva da skill. O worker nunca faz merge ou push.
9
5
 
10
- ## Tabela de adapter do Codex (substituir na `dw-cli-run`)
6
+ Execute exemplos com cwd definido como `<WORKTREE>` pelo lançador. Substitua argumentos com segurança, preferencialmente como array de argumentos de subprocesso. Placeholders de permissões representam o perfil já aprovado, não flags de bypass. Preserve permissões efetivas na retomada; comandos inicial e resume podem aceitar flags diferentes. Confira ambos os helps antes do dispatch.
11
7
 
12
- | Slot | Valor Codex |
8
+ ## Codex adapter table
9
+
10
+ | Slot | Value |
13
11
  |---|---|
14
- | `DISPATCH` | `cd <WORKTREE> && codex exec --skip-git-repo-check -m <MODEL> --config model_reasoning_effort="<EFFORT>" --dangerously-bypass-approvals-and-sandbox --json -o <AUDIT>/<slug>.last.md "$(cat <PROMPT>)" </dev/null > <AUDIT>/<slug>.log 2>&1` |
15
- | `STREAM` | `--json` (eventos JSONL) |
16
- | `MODEL` | `-m <MODEL>` — `gpt-5.5` · `gpt-5.3-codex` · `gpt-5.4` · `gpt-5.3-codex-spark` · `gpt-5.4-mini` |
17
- | `EFFORT` | `--config model_reasoning_effort="<EFFORT>"` — `low` · `medium` · `high` · `xhigh` |
18
- | `AUTO` | `--dangerously-bypass-approvals-and-sandbox` (sem sandbox + sem approvals = full access **com rede**, p/ o CLI rodar o gate; **somente dispatch WRITE**, justificável porque a worktree é isolada). Edição sem gate de rede: `--sandbox workspace-write --full-auto`. |
19
- | `AUTO_READONLY` | `--sandbox read-only` (sem `--full-auto`). Nunca combine com `AUTO`. |
20
- | `NO_MCP` | `-c mcp_servers='{}'` → sobe zero MCP servers, preserva auth e o resto do `config.toml`. Alternativa mais bruta: `--ignore-user-config` (também derruba os defaults de modelo — aí `MODEL` + `EFFORT` viram obrigatórios). |
21
- | `RESUME <id>` | `cd <WORKTREE> && codex exec resume <THREAD_ID> --skip-git-repo-check --dangerously-bypass-approvals-and-sandbox --json "$(cat <FOLLOWUP_PROMPT>)" </dev/null >> <AUDIT>/<slug>.log 2>&1` |
22
- | `RESUME_LAST` | `codex exec resume --last …` (filtra por cwd = a worktree) |
23
- | `SESSION_ID` | Codex **não tem flag pra fixar** o id → **capture** o thread id do stream da 1a run: `grep -oE '"thread_id":"[^"]*"' <AUDIT>/<slug>.log \| head -1` (do evento `thread.started`) → grave em `<AUDIT>/<slug>.session`. |
24
- | `DONE_SIGNAL` | `{"type":"turn.completed"}` no stream log |
25
- | `USAGE` | `turn.completed.usage` → `input_tokens` / `cached_input_tokens` / `output_tokens` / `reasoning_output_tokens`. Extrair: `grep -oE '"usage":\{[^}]*\}' <AUDIT>/<slug>.log \| tail -1` |
26
-
27
- **Modelos (forte→leve):** `gpt-5.5` · `gpt-5.3-codex` · `gpt-5.4` · `gpt-5.3-codex-spark` · `gpt-5.4-mini`.
28
- **Effort:** `low` · `medium` · `high` · `xhigh`. Comece um degrau abaixo do teto; escale conforme a `dw-cli-run`.
29
-
30
- **Relatório detalhado (recomendado):** adicione `--output-schema <schema.json>` exigindo um relatório rico
31
- (`summary`/`tasks`/`filesChanged`/`gate`/`fenceViolations`/`uncommitted`/`blockers`/`nextSteps`) — não aceite um
32
- "ok" opaco. O `codex-prompt.md` também deve pedir um STOP-com-relatório-detalhado (schema + prompt se reforcam).
33
-
34
- ## Resume de sessão (o coração)
35
- 1a run: capture o `thread_id` em `<AUDIT>/<slug>.session` (durável, fora da worktree → sobrevive ao
36
- `git worktree remove`). Pra voltar com o **mesmo contexto**, leia o id e re-rode `RESUME <id>` com o prompt de
37
- follow-up — o Codex continua o mesmo thread (raciocínio + arquivos já tocados). Fallback se o sidecar sumiu:
38
- `codex exec resume --last` da mesma worktree.
39
-
40
- ## Variáveis de Input
41
- | Variável | Descrição | Exemplo |
42
- |----------|-----------|---------|
43
- | `<WORKTREE>` | git worktree dedicada (off main) — crie com `/dw-worktree create <slug>` (prep incluído); após o gate e o merge, remova no mesmo turno com `/dw-worktree merge <slug>` | `~/code/vizzita-billing-s10` |
44
- | `<PROMPT>` | caminho do prompt/spec preparado | `.dw/spec/prd-billing-integrador/codex-prompt.md` |
45
- | `<slug>` | chave da tarefa p/ arquivos de audit/sessão | `prd-billing-integrador` |
46
- | `<AUDIT>` | dir de auditoria durável FORA da worktree | `~/code/vizzita/.dw/cli-run` |
47
-
48
- Retorne pelo **Structured Return** da `dw-cli-run` (Status/Score/Scope/Evidence/Artifacts/Decisions/Risks/
49
- Telemetria/Next Step), incluindo o `thread_id` capturado, o caminho do sidecar, e o comando `RESUME` exato pra
50
- continuar. Testado: codex-cli 0.141.0.
12
+ | `DISPATCH` | `codex exec -m "<MODEL>" -c 'model_reasoning_effort="<EFFORT>"' <PERMISSIONS> --json -o "<AUDIT>/<slug>.last.md" - < "<PROMPT>" > "<AUDIT>/<slug>.log" 2>&1` |
13
+ | `STREAM` | `--json` |
14
+ | `MODEL` | `-m "<MODEL>"` |
15
+ | `EFFORT` | `-c 'model_reasoning_effort="<EFFORT>"'` |
16
+ | `AUTO` | <PERMISSIONS> — perfil não interativo aprovado; preserve configuração existente |
17
+ | `AUTO_READONLY` | `--sandbox read-only` |
18
+ | `NO_MCP` | Selecione capacidades necessárias se suportado; caso contrário preserve configuração |
19
+ | `RESUME <id>` | `codex exec resume "<SESSION_ID>" -m "<MODEL>" -c 'model_reasoning_effort="<EFFORT>"' <RESUME_PERMISSIONS> --json - < "<FOLLOWUP_PROMPT>" >> "<AUDIT>/<slug>.log" 2>&1` |
20
+ | `SESSION_ID` | `thread.started.thread_id` → `<AUDIT>/<slug>.session` |
21
+ | `DONE_SIGNAL` | `turn.completed` |
22
+ | `USAGE` | `turn.completed.usage` |
23
+
24
+ Crie/reutilize por `/dw-worktree create <slug>`; após integração autorizada, `/dw-worktree merge <slug>` conduz merge e limpeza segura. Workers retornam ao parent e nunca integram por conta própria.
25
+
26
+ ## Seleção de modelo e retomada
27
+
28
+ Resolva modelo/esforço concretos na quebra de tasks usando `.dw/config/routing.json`, metadados atuais do provedor e ferramenta instalada. Não fixe lista de modelos do mais forte ao mais leve neste adapter. Esforços dependem de modelo/versão; low, medium, high, xhigh e max são candidatos apenas quando suportados. Sem escalada obrigatória ao máximo.
29
+
30
+ Registre task, provedor, worktree, escolha aprovada, ID de sessão e audit antes do handoff. Sem sidecar, recupere sessão exata da task pelo log; nunca continue às cegas a sessão mais recente do cwd. Sem provar identidade, inicie nova sessão a partir do estado salvo e diff real, preservando trabalho parcial. Sessões não são portáveis entre CLIs.
31
+
32
+ Retorne Structured Return do `dw-cli-run` com evidências e comando de retomada suportado exato. O parent continua o plano aprovado; merge/push/publicação exigem autorização aplicável.
33
+
34
+ Inspeção de capacidades: codex-cli 0.153.4.
35
+ O help atual de `exec resume` não expõe `--sandbox`; não copie flags iniciais às cegas nem acrescente bypass. Use perfil/configuração aprovado equivalente e suportado; caso contrário bloqueie esse modo de retomada e reconstrua sessão restrita nova. TOML `mcp_servers='{}'` sozinho não prova que entradas MCP herdadas foram desativadas.
51
36
  </system_instructions>
@@ -7,23 +7,15 @@ Você é o auditor de orçamento de contexto do dev-workflow.
7
7
  - Use como follow-up de `/dw-analyze-project` quando o harness parecer inchado.
8
8
 
9
9
  ## Processo
10
- 1. Estime tokens de `CLAUDE.md`, `AGENTS.md`, `.dw/commands/*.md`, `.agents/skills/*/SKILL.md`, `.agents/agents/*.md`, `.claude/agents/*.md`, `.opencode/agent/*.md`, `.github/agents/*.agent.md`, `.dw/subtasks/pending/*/HANDOFF.md` e `.claude/settings.json`.
11
- 2. Estime prosa como `palavras * 1.3`; JSON/schema como `chars / 4`.
12
- 3. Aponte:
13
- - commands acima de 20KB,
14
- - `SKILL.md` acima de 12KB,
15
- - agentes acima de 8KB,
16
- - agentes sem `output_budget_words` no `.dw/agent-registry.json` ou registry do scaffold,
17
- - média de handoffs pendentes acima de 1200 palavras,
18
- - agentes Copilot acima de 30k chars,
19
- - mais de 10 MCP servers,
20
- - nomes duplicados entre pastas de plataforma,
21
- - agentes Claude/OpenCode com campos de tools ou permissions incompativeis com o provider.
22
- 4. Recomende as 5 maiores economias com caminhos concretos.
10
+ 1. Separe três categorias: instruções permanentes do host ativo; metadados de descoberta (nomes/descrições de skills e comandos); e corpos de comandos/skills, referências e handoffs sob demanda. Inventário em disco não é consumo simultâneo de contexto. Conte só superfícies do host ativo; cópias entre plataformas não são duplicação de contexto por si só.
11
+ 2. Identifique estimativas de prosa (`palavras * 1.3`, schema `chars / 4`) como estimativas, não tokens medidos. Reporte categorias separadamente e carregamentos observados só quando houver telemetria.
12
+ 3. Confira budgets do projeto: bloco gerenciado instalado ≤6000 bytes por idioma; entrypoints de skills ≤8000 bytes; descrições ≤250 caracteres. Commands acima de 20KB e agentes acima de 8KB são sinais para revisão, não prova de carregamento. Confira gatilhos sobrepostos, referências incondicionais, links quebrados e metadados incompatíveis.
13
+ 4. Neste repositório `npm run validate` aplica budgets e referências roteadas via `lib/instruction-health.js`. Em consumidor inspecione arquivos instalados; não exija código-fonte do pacote no projeto.
14
+ 5. Reporte economias concretas prioritárias. Audite candidatos em `.dw/config/routing.json` contra informação atual do provedor, sinalizando escolhas antigas sem sobrescrever configuração do usuário.
23
15
 
24
16
  ## Parte B — Gasto em runtime (custo real de token)
25
17
 
26
- O overhead estático (acima) é o que o harness *carrega*; esta parte é o que as sessões de fato *custam*. Reporte a partir de `.dw/metrics/costs.jsonl` (append pelo hook `session-cost` de SessionEnd — uma linha por sessão com uso de tokens por modelo + USD estimado):
18
+ O inventário acima estima contexto potencial; esta parte reporta uso observado nas sessões. Reporte a partir de `.dw/metrics/costs.jsonl` (append pelo hook `session-cost` de SessionEnd — uma linha por sessão com uso de tokens por modelo + USD estimado):
27
19
 
28
20
  1. Leia `.dw/metrics/costs.jsonl` se existir. Se ausente, registre "sem dados de custo runtime ainda (hook desabilitado ou nenhuma sessão encerrada)" e pule esta parte — nunca falhe.
29
21
  2. Deduplique por `session_id` (a linha mais recente por sessão vence).
@@ -1,49 +1,35 @@
1
1
  <system_instructions>
2
- Você é o **adapter runner do Copilot**. Você dispara o GitHub Copilot CLI (`copilot -p`) dentro de uma **git
3
- worktree dedicada** para implementar um prompt/spec já preparado, captura a execução inteira num log de auditoria
4
- durável, mantem uma **sessão resumivel por tarefa**, da nota 0–10 a entrega, escala em caso de falha e **PARA para
5
- o gate**.
2
+ # Copilot runner
6
3
 
7
- <critical>Carregue e siga a skill `dw-cli-run` — ela tem o protocolo completo agnóstico de CLI (regra dura da worktree, pre-flight, escolha do veiculo, dupla avaliação 0–10, escalonamento gradual, telemetria, disciplina de kill/detecção, Structured Return). Este arquivo só fornece a **tabela de adapter do Copilot**; substitua-a naquele protocolo.</critical>
8
- <critical>NUNCA rode no checkout principal do repo — só worktree dedicada off main. ABORTE (`BLOCKED`) caso contrário.</critical>
9
- <critical>NUNCA mergeie nem de push. Merge e decisão do dono, depois do gate.</critical>
4
+ Use `dw-cli-run` para o protocolo compartilhado. Consuma a escolha aprovada da task e retorne ao parent para review, correções e continuidade. Invocação standalone aceita prompt preparado explicitamente sem exigir PRD. WRITE exige worktree secundário dedicado; READ-ONLY segue as regras de leitura efetiva da skill. O worker nunca faz merge ou push.
10
5
 
11
- ## Tabela de adapter do Copilot (substituir na `dw-cli-run`)
6
+ Execute exemplos com cwd definido como `<WORKTREE>` pelo lançador. Substitua argumentos com segurança, preferencialmente como array de argumentos de subprocesso. Placeholders de permissões representam o perfil já aprovado, não flags de bypass. Preserve permissões efetivas na retomada; comandos inicial e resume podem aceitar flags diferentes. Confira ambos os helps antes do dispatch.
12
7
 
13
- | Slot | Valor Copilot |
8
+ ## Copilot adapter table
9
+
10
+ | Slot | Value |
14
11
  |---|---|
15
- | `DISPATCH` | `cd <WORKTREE> && copilot -p "$(cat <PROMPT>)" --allow-all --model <MODEL> --output-format json </dev/null > <AUDIT>/<slug>.log 2>&1` |
16
- | `STREAM` | `--output-format json` (registros JSONL) |
17
- | `AUTO` | `--allow-all` (auto-aprovação de todo uso de tool/comando; justificável porque a worktree é isolada). Somente leitura/análise: tire-o e deixe negar no prompt, ou escope com `--allow-tool`/`--deny-tool`. |
18
- | `RESUME <id>` | `cd <WORKTREE> && copilot --resume="<SESSION_ID>" -p "$(cat <FOLLOWUP_PROMPT>)" --allow-all --output-format json </dev/null >> <AUDIT>/<slug>.log 2>&1` (também: `--connect=<SESSION_ID>`) |
19
- | `RESUME_LAST` | `copilot --continue -p …` (continua a sessão mais recente nesta cwd) |
20
- | `SESSION_ID` | O `--resume`/`--session-id` do Copilot **RESUMEM** uma sessão existente (não fixam uma nova) → **capture** o id da 1a run: varra o stream/log pelo registro do session id, ou leia o dir mais novo em `~/.copilot/logs` / `~/.copilot/history-session-state`. Grave em `<AUDIT>/<slug>.session`. **Confirme o campo exato do id no smoke test.** |
21
- | `DONE_SIGNAL` | o registro JSON final do stream (fim de turno) |
22
- | `USAGE` | o uso de tokens do registro final (confirme os nomes exatos dos campos no smoke test) |
23
-
24
- **Modelo:** `--model` escolhe a engine (ex.: `claude-sonnet-4.5`, `gpt-5`). O Copilot não tem flag numérica de
25
- effort; mapeie "escalonamento" para o tier do modelo. Comece um tier abaixo do teto; escale conforme a `dw-cli-run`.
26
-
27
- ## Resume de sessão (o coração)
28
- O Copilot não deixa fixar o id, então na 1a run **capture** o session id (do stream/log ou `~/.copilot/logs`) e
29
- grave em `<AUDIT>/<slug>.session` (durável, fora da worktree → sobrevive ao `git worktree remove`). Pra voltar com
30
- o **mesmo contexto**, leia o id e re-rode `RESUME <id>` (`copilot --resume="<id>" -p …` ou `--connect=<id>`) com o
31
- prompt de follow-up — o Copilot recarrega a mesma sessão. Fallback se o sidecar sumiu: `copilot --continue -p …`
32
- da mesma worktree.
33
-
34
- > **Confirmações no smoke test (conforme o plano):** o campo exato do session-id no JSONL, os nomes dos campos de
35
- > usage, e que `--resume=<id>` de fato continua o mesmo contexto — verifique numa worktree descartavel antes de
36
- > confiar, e atualize esta tabela com o que achar.
37
-
38
- ## Variáveis de Input
39
- | Variável | Descrição | Exemplo |
40
- |----------|-----------|---------|
41
- | `<WORKTREE>` | git worktree dedicada (off main) — crie com `/dw-worktree create <slug>` (prep incluído); após o gate e o merge, remova no mesmo turno com `/dw-worktree merge <slug>` | `~/code/vizzita-billing-s10` |
42
- | `<PROMPT>` | caminho do prompt/spec preparado | `.dw/spec/prd-billing-integrador/codex-prompt.md` |
43
- | `<slug>` | chave da tarefa p/ arquivos de audit/sessão | `prd-billing-integrador` |
44
- | `<AUDIT>` | dir de auditoria durável FORA da worktree | `~/code/vizzita/.dw/cli-run` |
45
-
46
- Retorne pelo **Structured Return** da `dw-cli-run` (Status/Score/Scope/Evidence/Artifacts/Decisions/Risks/
47
- Telemetria/Next Step), incluindo o `session-id` capturado, o caminho do sidecar, e o comando `RESUME` exato pra
48
- continuar.
12
+ | `DISPATCH` | `copilot -p "<PROMPT_TEXT>" --model "<MODEL>" <PERMISSIONS> --output-format json > "<AUDIT>/<slug>.log" 2>&1` |
13
+ | `STREAM` | `--output-format json` (confira a CLI instalada) |
14
+ | `MODEL` | `--model "<MODEL>"` |
15
+ | `EFFORT` | Use `default` quando não houver flag de esforço; nunca invente uma flag |
16
+ | `AUTO` | <PERMISSIONS> — perfil não interativo aprovado; preserve configuração existente |
17
+ | `AUTO_READONLY` | Resolva controles efetivos de leitura pelo help instalado; bloqueie READ-ONLY se indisponíveis |
18
+ | `NO_MCP` | Selecione capacidades necessárias se suportado; caso contrário preserve configuração |
19
+ | `RESUME <id>` | `copilot --resume="<SESSION_ID>" -p "<FOLLOWUP_TEXT>" --model "<MODEL>" <RESUME_PERMISSIONS> --output-format json >> "<AUDIT>/<slug>.log" 2>&1` |
20
+ | `SESSION_ID` | Capture ID exato do stream desta task; valide schema de eventos da CLI instalada → `<AUDIT>/<slug>.session` |
21
+ | `DONE_SIGNAL` | Registro terminal do provedor mais saída do processo e relatório inspecionado |
22
+ | `USAGE` | Somente campos de uso reportados; desconhecido se ausentes |
23
+
24
+ Crie/reutilize por `/dw-worktree create <slug>`; após integração autorizada, `/dw-worktree merge <slug>` conduz merge e limpeza segura. Workers retornam ao parent e nunca integram por conta própria.
25
+
26
+ ## Seleção de modelo e retomada
27
+
28
+ Resolva modelo/esforço concretos na quebra de tasks usando `.dw/config/routing.json`, metadados atuais do provedor e ferramenta instalada. Não fixe lista de modelos do mais forte ao mais leve neste adapter. Esforços dependem de modelo/versão; low, medium, high, xhigh e max são candidatos apenas quando suportados. Sem escalada obrigatória ao máximo.
29
+
30
+ Registre task, provedor, worktree, escolha aprovada, ID de sessão e audit antes do handoff. Sem sidecar, recupere sessão exata da task pelo log; nunca continue às cegas a sessão mais recente do cwd. Sem provar identidade, inicie nova sessão a partir do estado salvo e diff real, preservando trabalho parcial. Sessões não são portáveis entre CLIs.
31
+
32
+ Retorne Structured Return do `dw-cli-run` com evidências e comando de retomada suportado exato. O parent continua o plano aprovado; merge/push/publicação exigem autorização aplicável.
33
+
34
+ Inspeção de capacidades: Copilot adapter requires installed-version capability validation.
49
35
  </system_instructions>
@@ -13,11 +13,11 @@
13
13
 
14
14
  | Skill | Gatilho |
15
15
  |-------|---------|
16
- | `dw-verify` | **SEMPRE** — invocada antes do `git push`. Sem VERIFICATION REPORT PASS na sessão após a última edição de código, o PR **NÃO** pode ser criado. |
16
+ | `dw-verify` | **SEMPRE** — invocada antes do `git push`. Sem VERIFICATION REPORT PASS válido para insumos, ambiente e escopo atuais, o PR **NÃO** pode ser criado. |
17
17
  | `dw-git-discipline` | **SEMPRE** — valida naming de branch (`<tipo>/<escopo>` kebab-case), histórico atomic-commit (cada commit single-intent, mensagem conventional), tempo de vida da branch (flag se >7 dias) e escopo da PR (sugere split se diff > ~400 linhas). Descrição da PR segue summary + test plan, não dump de `git log`. |
18
18
  | `/dw-secure-audit` | **SEMPRE para projetos TS/Python/C#/Rust** — um `.dw/secure-audit/audit-summary.md` fresco com status ≠ REJECTED é obrigatório para projetos em linguagem suportada. |
19
19
 
20
- <critical>Hard gate 1 (verify): se a sessão atual não tem um VERIFICATION REPORT PASS de `dw-verify` produzido APÓS a última edição/commit, PARAR e invocar `dw-verify` antes de prosseguir. PR é um artefato permanente — exige o maior rigor de verificação.</critical>
20
+ <critical>Hard gate 1 (verify): use `dw-verify` para confirmar evidência válida dos insumos, ambiente e escopo atuais antes de push/PR. Reutilize evidência equivalente; execute checks exigidos ausentes/invalidados. Outra sessão ou commit só de bookkeeping não invalida checks.</critical>
21
21
 
22
22
  <critical>Hard gate 2 (security): para projetos TS/Python/C#/Rust, se `.dw/secure-audit/audit-summary.md` não existir, estiver desatualizado (anterior à última edição) OU tiver status REJECTED, PARAR e invocar `/dw-secure-audit` antes de prosseguir. Findings SECRET e vulnerabilidades HIGH/CRITICAL NÃO podem chegar ao PR. Para outras linguagens (Go, Java, etc.), este gate é pulado com nota.</critical>
23
23
 
@@ -4,7 +4,7 @@ Você é o orquestrador de objetivos duráveis do dev-workflow. Este comando ent
4
4
  ## Quando Usar
5
5
  - Use quando um fluxo é maior que um turno normal, mas tem fim claro.
6
6
  - Use depois de `/dw-plan` quando implementação, review, QA e review pós-QA devem rodar como um loop durável.
7
- - Use a partir do `/dw-autopilot` depois que a primeira invocação completou PRD → TechSpec → Tasks.
7
+ - Use a partir do `/dw-autopilot` depois que o plano PRD → TechSpec → Tasks foi aprovado.
8
8
  - NÃO use para backlog solto, listas de tarefas sem relação ou brainstorming exploratório.
9
9
 
10
10
  ## Posição no Pipeline
@@ -28,7 +28,7 @@ Você é o orquestrador de objetivos duráveis do dev-workflow. Este comando ent
28
28
  A documentação oficial do Codex trata `/goal` como recurso experimental para objetivo durável em trabalho longo com condição de parada verificável. No Codex CLI ele requer `features.goals`; pode ser definido com `/goal <objective>`, inspecionado com `/goal`, e controlado com `/goal pause`, `/goal resume` ou `/goal clear`.
29
29
 
30
30
  Quando rodar em Codex:
31
- - Se existir ferramenta nativa de goal, crie/atualize o goal com um objetivo curto apontando para `.dw/goals/<slug>/goal.md`.
31
+ - Use ferramenta nativa de goal somente quando explicitamente solicitada e permitida pelo contrato real da ferramenta; workflow portátil não implica autorização nativa.
32
32
  - Se o slash command interativo `/goal` estiver disponível e `features.goals` estiver habilitado, use `/goal <objective>` com objetivo abaixo de 4.000 caracteres.
33
33
  - Se goals nativos estiverem indisponíveis, continue com o loop portável em `.dw/goals/`. Não bloqueie.
34
34
 
@@ -101,12 +101,12 @@ Checkpoints:
101
101
  | `review-before-qa` | `/dw-review <prd-path>` | `<prd-path>/QA/review-consolidated.md` existe e veredicto geral está aprovado ou aprovado com ressalvas explicitamente não-bloqueantes. |
102
102
  | `qa` | `/dw-qa <prd-path>` | Artefatos obrigatórios de QA existem. |
103
103
  | `qa-fix` | `/dw-qa --fix <prd-path>` quando `bugs.md` tem bugs Open | Bugs estão Fixed/Closed ou explicitamente deferidos pelo usuário. |
104
- | `review-after-qa` | `/dw-review <prd-path>` | Review consolidado existe após fixes de QA e está aprovado ou aprovado com ressalvas explicitamente não-bloqueantes. |
104
+ | `review-after-qa` | `/dw-review <prd-path>` quando edições/achados de QA invalidarem review | Review atual aprovado ou com ressalvas explicitamente não bloqueantes; QA sem mudanças reutiliza review válido. |
105
105
 
106
106
  O goal só está completo quando:
107
107
  - Todos os checkpoints acima estão completos ou explicitamente pulados com motivo documentado.
108
108
  - Nenhum bug Open de QA permanece, exceto se o usuário aceitou deferir explicitamente.
109
- - O `/dw-review` final rodou depois do último fix de QA.
109
+ - O `/dw-review` completo final cobre a implementação atual. Repita após edições ou achados novos de QA; reutilize quando QA não invalidar nada.
110
110
  - `status.json` tem `"status": "complete"`.
111
111
 
112
112
  ## Regras de Execução
@@ -123,7 +123,7 @@ O goal só está completo quando:
123
123
 
124
124
  - `status`: leia `status.json` e as últimas 10 entradas de `progress.md`; reporte checkpoint atual, completos, última verificação e bloqueios.
125
125
  - `pause`: defina `status: "paused"` e anexe o motivo.
126
- - `resume`: defina `status: "active"` e continue de `current_checkpoint`; não repita checkpoints completos salvo se artefatos estiverem faltando.
126
+ - `resume`: defina `status: "active"` e continue de `current_checkpoint`; não repita checkpoints completos salvo artefatos ausentes ou evidência invalidada.
127
127
  - `clear`: se completo/cancelado/substituido, marque `status: "cancelled"` ou arquive conforme convencao do projeto. Não delete evidências por padrão.
128
128
 
129
129
  ## Anti-patterns
@@ -133,4 +133,10 @@ O goal só está completo quando:
133
133
  - Não marque checkpoint completo sem verificar artefatos.
134
134
  - Não use `/goal` nativo do Codex como único estado; `.dw/goals/` permanece o contrato cross-agent.
135
135
 
136
+ ## Estado de execução aprovado
137
+
138
+ Leia `.dw/references/execution-contract.md`. Consuma escolhas aprovadas por task e preserve `execution-state.json` nos checkpoints. Retorno de runner volta ao parent para review, correções e próximas tasks. Não repita review completo final do `/dw-run` quando já cobrir a implementação inalterada: valide evidência e registre checkpoint reutilizado. QA condicional/inaplicável exige motivo registrado, não artefatos inventados. Conclua verificando aceitação/evidência antes de marcar status complete; o campo status não prova conclusão.
139
+
140
+ Retomada preserva checkpoints concluídos salvo evidência inválida ou artefatos ausentes. Separe entrega de autorização para merge/push/publicação. Preserve trabalho parcial em bloqueio/pausa e nunca troque executor silenciosamente.
141
+
136
142
  </system_instructions>
@@ -17,7 +17,7 @@ Use `/dw-autopilot "desejo"` como gateway pra maior parte do trabalho. Comandos
17
17
 
18
18
  | Comando | Quando |
19
19
  |---------|--------|
20
- | `/dw-autopilot "desejo"` | Entry point padrão em duas invocações. Primeira roda plan e para; segunda retoma via `/dw-goal`, Security Gate, commit e PR. |
20
+ | `/dw-autopilot "ideia"` | Planeja e aprova escolhas de execução, depois continua por implementação, review e validação. |
21
21
  | `/dw-bugfix "descrição"` | Bug ou error report. Fix cirúrgico ou rota pra PRD. |
22
22
  | `/dw-help [palavra-chave]` | Esta tela. Passe palavra-chave pra atalhos. `--advanced` revela comandos internos. |
23
23
 
@@ -141,7 +141,7 @@ Sem match: surface padrão + nota.
141
141
  ## FAQ
142
142
 
143
143
  **P: Onde começo com uma nova feature?**
144
- - `/dw-autopilot "o que voce quer"`. Primeira invocacao roda PRD → TechSpec → Tasks e para; segunda invocacao retoma via `/dw-goal`, Security Gate, commit e PR.
144
+ - Use `/dw-autopilot "o que você quer"`; aprove a matriz de tasks/executores e continue até entrega validada. Publicação segue autorização existente.
145
145
 
146
146
  **P: Tenho que usar `/dw-autopilot`?**
147
147
  - Não. Pipeline granular dá controle a cada step, com `/dw-goal` quando quiser executar run/review/QA/review como objetivo duravel, seguido por `/dw-secure-audit`, `/dw-commit` e `/dw-generate-pr`.
@@ -44,6 +44,8 @@ Quando disponíveis em `./.agents/skills/`, use como suporte:
44
44
 
45
45
  ## Agent Dispatch
46
46
 
47
+ Use estes papéis só quando delegação delimitada ajudar a task; podem ser realizados localmente. Não dispare todos os agentes nem sobrescreva modelos herdados automaticamente.
48
+
47
49
  Quando agentes do projeto estiverem instalados, use:
48
50
 
49
51
  - `dw-code-explorer` antes de TechSpec e Tasks para rastrear fluxos existentes e padroes reutilizaveis.
@@ -92,7 +94,7 @@ Para cada estágio: monte a matriz, marque cada dimensão `coberta` (fato descob
92
94
 
93
95
  ## Inteligência do Codebase
94
96
 
95
- <critical>Se `.dw/intel/` existir, consulte via `/dw-intel` antes de cada estágio. OBRIGATÓRIO no estágio TechSpec.</critical>
97
+ Consulte `.dw/intel/` quando ajudar a localizar padrões atuais; inspecione código relevante e confira atualização do índice. Reutilize evidências entre estágios.
96
98
  - Estágio PRD: `/dw-intel "features existentes no domínio <tópico>"` para evitar duplicação.
97
99
  - Estágio TechSpec: `/dw-intel "padrões arquiteturais, convenções de API, decisões técnicas"` para alinhar com a forma existente do projeto.
98
100
  - Estágio Tasks: `/dw-intel "padrões de teste, build pipeline, deployment cadence"` para dimensionamento acurado.
@@ -141,8 +143,9 @@ Roda em modo padrão (após aprovação do PRD) OU `plan techspec` OU `plan --fr
141
143
  5. **Constitution gate.** Cada decisão arquitetural lista `Respects: P-NNN` ou `Deviates: P-NNN — justification: <slug ADR ou racional>`. Desvios de princípios `severity: high/critical` sem ADR → PARE.
142
144
  6. **API design discipline.** Ao definir endpoints, consulte `dw-codebase-intel/references/api-design-discipline.md` (Hyrum's Law, error semantics, versionamento).
143
145
  7. **Seções de UI** (quando feature tem UI): as 4 grounding questions do `dw-ui-discipline` precisam estar respondidas no techspec; state matrix + scene sentence obrigatórios.
146
+ - Para fluxo de dados, dependências ou ferramentas de frontend, leia `dw-ui-discipline/references/frontend-engineering.md` no local das skills instaladas. Reutilize a baseline de qualidade do módulo; acrescente apenas decisões afetadas de `.dw/templates/frontend-quality-template.md`. Separe checks obrigatórios existentes de controles consultivos/propostos. Inclua a configuração aceita e sua validação na decomposição de tarefas e matriz de execução.
144
147
  8. **Seção Branch name:** `feat/prd-<feature-slug>`.
145
- 9. **Seção Testing strategy:** tests-per-method, mock setup, coverage targets (80% services, 70% controllers), E2E flows explícitos.
148
+ 9. **Seção Testing strategy:** cobertura de comportamentos/riscos, menores camadas eficazes, suítes existentes, mocks justificados e E2E aplicáveis. Valem limites exigidos pelo projeto; sem percentual universal.
146
149
  10. **Output:** `.dw/spec/prd-<feature-slug>/techspec.md` (mesmo dir do PRD).
147
150
 
148
151
  ### Opcional: flag `--council`
@@ -162,7 +165,7 @@ Roda em modo padrão (após aprovação do TechSpec) OU `plan tasks`.
162
165
  ### Comportamento obrigatório
163
166
 
164
167
  1. **Instrução de branch:** inclua criação de `feat/prd-<feature-slug>` no resumo de tasks.
165
- 2. **Decompor** PRD + TechSpec em tasks. Target ~6 tasks por feature. **NUNCA exceder 2 FRs por task.**
168
+ 2. **Decompor** PRD + TechSpec em tasks. Use fatias coerentes e verificáveis independentemente; preserve cobertura de requisitos sem cota fixa de tasks ou FRs.
166
169
  3. **Cobertura end-to-end:** todo fluxo user-facing tem subtasks backend + frontend + UI funcional quando aplicável.
167
170
  4. **Test placement (`dw-testing-discipline`):** toda subtask que adiciona teste nomeia seu invariant per placement doctrine. Owning layer especificado.
168
171
  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>`.
@@ -172,20 +175,24 @@ Roda em modo padrão (após aprovação do TechSpec) OU `plan tasks`.
172
175
  - Summary: `.dw/spec/prd-<feature-slug>/tasks.md`
173
176
  - Per-task: `.dw/spec/prd-<feature-slug>/<N>_task.md`
174
177
 
175
- ### Final Consistency Check (auto-invocado antes da aprovação)
178
+ ### Matriz de execução de tasks
179
+
180
+ No Estágio 3 leia `.dw/references/execution-contract.md`. Proponha desenvolvimento local ou cruzado por task, escolhendo modelo, esforço e agentes instalados conforme complexidade e risco reais. Use templates schema 1.1 e `execution-plan.json`, valide com `node .dw/scripts/lib/workflow-contract.mjs validate <plan.json>` e confira IDs/dependências contra tasks.md. Apresente escolhas justificadas para aprovação; nunca troque de provedor silenciosamente ao executar. Planos legados schema 1.0 continuam válidos e executam localmente por padrão.
181
+
182
+ ## Final Consistency Check (auto-invocado antes da aprovação)
176
183
 
177
184
  Roda check em 5 dimensões, escreve `.dw/spec/prd-<feature-slug>/tasks-validation.md`:
178
185
 
179
186
  1. **Cobertura FR:** todo FR numerado mapeia para ≥1 task.
180
187
  2. **Grounding de task:** toda task referencia ≥1 FR.
181
- 3. **Cobertura de teste:** todo FR user-facing tem ≥1 task que adiciona teste.
188
+ 3. **Cobertura de teste:** todo FR user-facing tem verificação significativa, reutilizando testes existentes quando suficientes.
182
189
  4. **Grafo de dependência:** ordem topológica válida, sem ciclos.
183
190
  5. **Constitution alignment:** toda task tem linha de alignment (só se `.dw/constitution.md` existir).
184
191
 
185
- Qualquer FAIL → PARE. Mostre a tabela no chat. Três opções: auto-fix (regenerar tasks afetadas), edit manual, override explícito com motivo.
192
+ Corrija falhas internas de consistência e reexecute o check. Pergunte só decisões materiais ausentes ou override explícito com motivo; não peça permissão para corrigir o rascunho.
186
193
 
187
194
  ### Checkpoint
188
- Apresente resumo de tasks.md + lista per-task. Usuário aprova pra liberar `/dw-run`.
195
+ Apresente tasks.md e matriz de execução (local/cruzada, modelo, esforço, agentes e fallbacks aprovados). A aprovação autoriza essas escolhas. Em pedido de implementação continue por `/dw-run` ou `/dw-goal` chamador; pedido somente de plano termina no plano aprovado.
189
196
 
190
197
  ## Resumo de Arquivos de Output
191
198
 
@@ -81,6 +81,8 @@ Quando disponíveis em `./.agents/skills/`, invocadas operacionalmente:
81
81
 
82
82
  ### Comportamento — modo UI
83
83
 
84
+ Leia a baseline de qualidade/TechSpec do módulo afetado. Reutilize evidência válida dos checks obrigatórios via `dw-verify`; separe comportamento no navegador, validação de contrato e relatórios diagnósticos. Quando lógica crítica ou assertions fracas justificarem análise de mutação, leia `dw-testing-discipline/references/mutation-testing.md`. Não introduza um limite de score nem instale nova suíte para edições de UI sem relação. Registre diagnósticos indisponíveis/não executados e findings investigados em `qa-report.md`.
85
+
84
86
  1. **Pre-flight**: confirmar que dev server do projeto pode rodar. Confirmar `.dw/spec/<prd>/` tem PRD + TechSpec + tasks.
85
87
  2. **Mapear FRs para test plan**: pra cada FR, identificar fluxo user-facing que exercita.
86
88
  3. **Dirigir Playwright MCP** (se indisponível ou bloqueado — comum no WSL — use o fallback local resiliente `node .dw/scripts/lib/capture-screenshots.mjs`, que escolhe o browser via `.dw/scripts/lib/resolve-browser.mjs`; veja a seção "Browser on WSL" de `dw-testing-discipline/references/playwright-recipes.md`):
@@ -14,9 +14,9 @@ Você é um agent de retomada de sessão. Seu trabalho é ler `.dw/STATE.md`, se
14
14
 
15
15
  ## Workflow
16
16
 
17
- ### 1. Ler STATE.md
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."
17
+ ### 1. Localizar estado
18
+ - Leia `.dw/STATE.md` quando existir. Se ausente/vazio, inspecione `.dw/goals/*/status.json`, `.dw/spec/*/execution-state.json` e `active-session.md`.
19
+ - Use target explícito ou workflow ativo único; pergunte só se restarem múltiplos candidatos. Reporte ausência de trabalho retomável só depois de conferir essas fontes.
20
20
 
21
21
  ### 2. Cross-reference com disco
22
22
  Verifique que o estado ainda bate com o filesystem:
@@ -63,13 +63,9 @@ Baseado no TLDR, roteie para um comando concreto. Use estas heuristicas:
63
63
  | Bloqueio esperando input externo | Sugerir que o usuário resolva o bloqueio primeiro |
64
64
  | Só Todos e Decisões, sem trabalho ativo | Perguntar o que começar |
65
65
 
66
- Formule a sugestão como pergunta, não como ordem:
67
66
 
68
- ```
69
- Quer que eu rode <comando sugerido>?
70
- - sim → rodo
71
- - nao, <outra intencao> → me diga o que prefere
72
- ```
67
+ Pedido de continuar executa o próximo passo identificado com autorização existente e escolhas salvas. Pergunta somente de status recebe resumo e sugestão sem execução.
68
+
73
69
 
74
70
  ### 5. Atualizar frontmatter do STATE.md
75
71
 
@@ -77,7 +73,7 @@ Setar `last_resumed` para a data de hoje (YYYY-MM-DD). Não modificar conteúdo
77
73
 
78
74
  ## Comportamento Obrigatório
79
75
 
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>
76
+ <critical>Respeite intenção: retome trabalho autorizado no pedido de continuar; reporte apenas em pergunta de status. Leia `.dw/references/execution-contract.md` para recuperação de escolhas/sessão e invalidação de evidência.</critical>
81
77
 
82
78
  <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
79
 
@@ -85,6 +81,6 @@ Setar `last_resumed` para a data de hoje (YYYY-MM-DD). Não modificar conteúdo
85
81
 
86
82
  ## Inspirado em
87
83
 
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.
84
+ 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; continua conforme intenção e autorização de retomada.
89
85
 
90
86
  </system_instructions>
@@ -173,10 +173,11 @@ Se FALTANDO > 0, o veredicto sugere revisitar `/dw-plan tasks` pra escopar ou `/
173
173
  - Complexidade ciclomática / cognitiva (com thresholds `dw-simplification`).
174
174
  - Violações DRY (apenas com impacto significativo — não dedup prematuro).
175
175
  - Code smells (taxonomia Fowler).
176
+ - Para mudanças em fluxo de dados, dependências ou ferramentas de qualidade do frontend, leia `dw-ui-discipline/references/frontend-engineering.md` e a baseline de qualidade/TechSpec do módulo. Inspecione geração/validação de API, limites de imports, regras de negócio duplicadas, código inalcançável e novas exclusões abrangentes. Execute checks adotados via `dw-verify`; ferramenta opcional ausente é proposta, não reprovação automática. Investigue mutantes sobreviventes quando a análise estiver no escopo; não aprove apenas por score. Relate mudanças na obrigatoriedade do CI separadamente dos resultados locais.
176
177
 
177
178
  5. **Execução de testes:**
178
- - Rodar comando de teste do projeto.
179
- - Verificar coverage targets do TechSpec (80% services, 70% controllers).
179
+ - Use `dw-verify` para inspecionar evidência válida; rode checks exigidos ausentes/invalidados.
180
+ - Verificar estratégia aprovada e limites exigidos pelo projeto; sem percentual universal de cobertura.
180
181
 
181
182
  6. **Aplicar `dw-review-rigor`:**
182
183
  - De-duplicar findings.
@@ -184,7 +185,7 @@ Se FALTANDO > 0, o veredicto sugere revisitar `/dw-plan tasks` pra escopar ou `/
184
185
  - Verificar intent antes de flagar (linter já pega alguns — não repete).
185
186
 
186
187
  7. **Verificação final (`dw-verify`):**
187
- - Rodar dw-verify pra produzir VERIFICATION REPORT (test + lint + build GREEN).
188
+ - Use dw-verify para produzir VERIFICATION REPORT dos checks obrigatórios aplicáveis, reutilizando evidência equivalente.
188
189
  - Sem PASS, verdict não pode ser APROVADO.
189
190
 
190
191
  8. **Security Gate (`dw-secure-audit` para TS/Python/C#/Rust):**