@polymorphism-tech/morph-spec 4.8.18 → 4.9.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 (138) hide show
  1. package/CLAUDE.md +98 -0
  2. package/README.md +2 -2
  3. package/bin/morph-spec.js +15 -56
  4. package/bin/task-manager.js +115 -14
  5. package/bin/validate.js +67 -33
  6. package/claude-plugin.json +1 -1
  7. package/docs/CHEATSHEET.md +201 -203
  8. package/docs/QUICKSTART.md +2 -2
  9. package/framework/CLAUDE.md +21 -0
  10. package/framework/agents.json +758 -164
  11. package/framework/hooks/claude-code/post-tool-use/context-refresh.js +1 -1
  12. package/framework/hooks/claude-code/post-tool-use/dispatch.js +2 -2
  13. package/framework/hooks/claude-code/post-tool-use/skill-reminder.js +155 -0
  14. package/framework/hooks/claude-code/pre-tool-use/protect-spec-files.js +1 -1
  15. package/framework/hooks/claude-code/session-start/inject-morph-context.js +71 -2
  16. package/framework/hooks/claude-code/statusline.py +76 -30
  17. package/framework/hooks/claude-code/user-prompt/set-terminal-title.js +14 -6
  18. package/framework/hooks/shared/activity-logger.js +0 -24
  19. package/framework/hooks/shared/phase-utils.js +3 -0
  20. package/framework/hooks/shared/skill-reminder-helpers.js +79 -0
  21. package/framework/hooks/shared/stale-task-reset.js +57 -0
  22. package/framework/hooks/shared/state-reader.js +2 -2
  23. package/framework/hooks/shared/worktree-helpers.js +53 -0
  24. package/framework/phases.json +40 -8
  25. package/framework/skills/level-0-meta/brainstorming/SKILL.md +1 -1
  26. package/framework/skills/level-0-meta/code-review/SKILL.md +1 -1
  27. package/framework/skills/level-0-meta/code-review-nextjs/SKILL.md +163 -163
  28. package/framework/skills/level-0-meta/frontend-review/SKILL.md +5 -5
  29. package/framework/skills/level-0-meta/morph-checklist/SKILL.md +2 -2
  30. package/framework/skills/level-0-meta/morph-init/SKILL.md +5 -5
  31. package/framework/skills/level-0-meta/morph-replicate/SKILL.md +4 -4
  32. package/framework/skills/level-0-meta/morph-replicate/references/blazor-html-mapping.md +1 -1
  33. package/framework/skills/level-0-meta/post-implementation/SKILL.md +59 -12
  34. package/framework/skills/level-0-meta/simulation-checklist/SKILL.md +1 -1
  35. package/framework/skills/level-0-meta/terminal-title/SKILL.md +1 -1
  36. package/framework/skills/level-0-meta/tool-usage-guide/SKILL.md +1 -1
  37. package/framework/skills/level-0-meta/tool-usage-guide/references/tools-per-phase.md +6 -5
  38. package/framework/skills/level-0-meta/verification-before-completion/SKILL.md +1 -1
  39. package/framework/skills/level-1-workflows/phase-clarify/SKILL.md +215 -189
  40. package/framework/skills/level-1-workflows/phase-codebase-analysis/SKILL.md +251 -251
  41. package/framework/skills/level-1-workflows/phase-design/SKILL.md +382 -365
  42. package/framework/skills/level-1-workflows/phase-implement/SKILL.md +492 -450
  43. package/framework/skills/level-1-workflows/phase-setup/SKILL.md +194 -190
  44. package/framework/skills/level-1-workflows/phase-tasks/SKILL.md +270 -270
  45. package/framework/skills/level-1-workflows/phase-uiux/SKILL.md +285 -285
  46. package/framework/standards/STANDARDS.json +640 -88
  47. package/framework/standards/infrastructure/vercel/vercel-database.md +106 -0
  48. package/framework/templates/REGISTRY.json +1825 -1909
  49. package/framework/templates/context/CONTEXT-FEATURE.md +276 -276
  50. package/framework/templates/docs/onboarding.md +1 -5
  51. package/framework/workflows/configs/nodejs-cli.json +40 -0
  52. package/package.json +2 -6
  53. package/src/commands/agents/dispatch-agents.js +55 -4
  54. package/src/commands/project/doctor.js +16 -47
  55. package/src/commands/project/init.js +1 -1
  56. package/src/commands/project/status.js +2 -2
  57. package/src/commands/project/update.js +381 -365
  58. package/src/commands/project/worktree.js +154 -0
  59. package/src/commands/state/advance-phase.js +120 -30
  60. package/src/commands/state/approve.js +2 -2
  61. package/src/commands/state/index.js +7 -8
  62. package/src/commands/state/phase-runner.js +1 -1
  63. package/src/commands/state/state.js +61 -6
  64. package/src/commands/tasks/task.js +78 -99
  65. package/src/commands/templates/template-render.js +93 -173
  66. package/src/commands/trust/trust.js +26 -21
  67. package/src/core/paths/output-schema.js +15 -0
  68. package/src/core/state/state-manager.js +28 -54
  69. package/src/core/workflows/workflow-detector.js +9 -87
  70. package/src/lib/phase-chain/phase-validator.js +330 -0
  71. package/src/lib/stack/stack-profile.js +88 -0
  72. package/src/lib/tasks/task-classifier.js +16 -0
  73. package/src/lib/tasks/test-runner.js +77 -0
  74. package/src/lib/trust/trust-manager.js +32 -144
  75. package/src/lib/validators/spec-validator.js +58 -4
  76. package/src/lib/validators/validation-runner.js +23 -11
  77. package/src/scripts/setup-infra.js +240 -224
  78. package/src/utils/agents-installer.js +2 -2
  79. package/src/utils/banner.js +1 -1
  80. package/src/utils/claude-settings-manager.js +1 -1
  81. package/src/utils/file-copier.js +1 -0
  82. package/src/utils/hooks-installer.js +258 -8
  83. package/framework/hooks/dev/check-sync-health.js +0 -117
  84. package/framework/hooks/dev/guard-version-numbers.js +0 -57
  85. package/framework/hooks/dev/sync-standards-registry.js +0 -60
  86. package/framework/hooks/dev/sync-template-registry.js +0 -60
  87. package/framework/hooks/dev/validate-skill-format.js +0 -70
  88. package/framework/hooks/dev/validate-standard-format.js +0 -73
  89. package/framework/templates/meta-prompts/hops/hop-retry.md +0 -78
  90. package/framework/templates/meta-prompts/hops/hop-validation.md +0 -97
  91. package/framework/templates/meta-prompts/hops/hop-wrapper.md +0 -36
  92. package/framework/workflows/configs/design-impl.json +0 -49
  93. package/framework/workflows/configs/express.json +0 -45
  94. package/framework/workflows/configs/fast-track.json +0 -42
  95. package/framework/workflows/configs/full-morph.json +0 -79
  96. package/framework/workflows/configs/fusion.json +0 -39
  97. package/framework/workflows/configs/long-running.json +0 -33
  98. package/framework/workflows/configs/spec-only.json +0 -43
  99. package/framework/workflows/configs/ui-refresh.json +0 -49
  100. package/framework/workflows/configs/zero-touch.json +0 -82
  101. package/src/commands/project/monitor.js +0 -295
  102. package/src/commands/project/tutorial.js +0 -115
  103. package/src/commands/state/validate-phase.js +0 -238
  104. package/src/commands/templates/generate-contracts.js +0 -445
  105. package/src/core/orchestrator.js +0 -171
  106. package/src/core/registry/command-registry.js +0 -28
  107. package/src/core/registry/index.js +0 -8
  108. package/src/core/registry/validator-registry.js +0 -204
  109. package/src/core/templates/template-validator.js +0 -296
  110. package/src/generator/config-generator.js +0 -206
  111. package/src/generator/templates/config.json.template +0 -40
  112. package/src/generator/templates/project.md.template +0 -67
  113. package/src/lib/agents/micro-agent-factory.js +0 -161
  114. package/src/lib/analysis/complexity-analyzer.js +0 -441
  115. package/src/lib/analysis/index.js +0 -7
  116. package/src/lib/analytics/analytics-engine.js +0 -345
  117. package/src/lib/checkpoints/checkpoint-hooks.js +0 -298
  118. package/src/lib/checkpoints/index.js +0 -7
  119. package/src/lib/context/context-bundler.js +0 -241
  120. package/src/lib/context/context-optimizer.js +0 -212
  121. package/src/lib/context/context-tracker.js +0 -273
  122. package/src/lib/context/core-four-tracker.js +0 -201
  123. package/src/lib/context/mcp-optimizer.js +0 -200
  124. package/src/lib/execution/fusion-executor.js +0 -304
  125. package/src/lib/execution/parallel-executor.js +0 -270
  126. package/src/lib/hooks/stop-hook-executor.js +0 -286
  127. package/src/lib/hops/hop-composer.js +0 -221
  128. package/src/lib/phase-chain/eligibility-checker.js +0 -243
  129. package/src/lib/threads/thread-coordinator.js +0 -238
  130. package/src/lib/threads/thread-manager.js +0 -317
  131. package/src/lib/tracking/artifact-trail.js +0 -202
  132. package/src/scanner/project-scanner.js +0 -242
  133. package/src/ui/diff-display.js +0 -91
  134. package/src/ui/interactive-wizard.js +0 -96
  135. package/src/ui/user-review.js +0 -211
  136. package/src/ui/wizard-questions.js +0 -188
  137. package/src/utils/color-utils.js +0 -70
  138. package/src/utils/process-handler.js +0 -97
@@ -1,190 +1,216 @@
1
- ---
2
- name: phase-clarify
3
- description: MORPH-SPEC Phase 3 (Clarify). Reviews spec.md for ambiguities, generates 3-7 targeted clarification questions, waits for user answers, then updates spec with edge cases and clarification sections. Use after design approval to eliminate spec ambiguities before task breakdown begins.
4
- argument-hint: "[feature-name]"
5
- user-invocable: false
6
- allowed-tools: Read, Write, Edit, Bash, Glob, Grep
7
- cliVersion: "4.8.18"
8
- ---
9
-
10
- # MORPH Clarify - FASE 3
11
-
12
- > INTERNAL: Workflow skill used by /morph-proposal during automated phase orchestration. Not a user command.
13
-
14
- Identifique ambiguidades na especificação e faça perguntas de clarificação para garantir que todos os edge cases estão cobertos.
15
-
16
- ## Pré-requisitos
17
-
18
- - [ ] FASE 2 (Design) concluída
19
- - [ ] `spec.md` aprovado pelo usuário
20
- - [ ] `contracts.cs` definidos
21
-
22
- ## Ferramentas Recomendadas
23
-
24
- > **Ref:** `framework/skills/level-0-meta/tool-usage-guide/SKILL.md` para guia completo.
25
- > **Ref:** `framework/standards/integration/mcp/mcp-tools.md` para referência MCP.
26
- > **Example:** `references/clarifications-example.md` — filled-in clarifications.md showing expected Q&A format.
27
-
28
- | Ação | Ferramenta | Alternativa |
29
- |------|------------|-------------|
30
- | Ler spec.md completo | **Read** spec.md | — |
31
- | Ler contracts.cs | **Read** contracts.cs | — |
32
- | Ler schema-analysis.md | **Read** schema-analysis.md | — |
33
- | Verificar viabilidade de requisito | **Context7 MCP** `query_docs()` | **WebSearch** + **WebFetch** |
34
- | Verificar issues/limitações conhecidas | **GitHub MCP** `search_issues()` | **Bash** `gh issue list --search "..."` |
35
- | Pesquisar edge cases externos | **WebSearch** | — |
36
- | Verificar comportamento UI existente | **Playwright MCP** `browser_navigate()` + `browser_snapshot()` | **WebFetch** URL |
37
- | Atualizar spec com clarificações | **Edit** spec.md | — |
38
- | Criar clarifications.md | **Bash** `npx morph-spec template render docs/clarifications .morph/features/$ARGUMENTS/2-clarify/clarifications.md` | — |
39
- | Atualizar state | **Bash** `npx morph-spec state mark-output $ARGUMENTS clarifications` | — |
40
-
41
- **MCPs desta fase:** Context7 (validar viabilidade), GitHub (issues conhecidas), Playwright (verificar UI existente).
42
-
43
- **Anti-padrões:**
44
- - ❌ Task agent para ler spec (use Read direto)
45
- - ❌ Reescrever spec do zero (use Edit para atualizar seções)
46
- - ❌ Pular cross-reference com schema-analysis.md (crítico para precisão)
47
-
48
- ---
49
-
50
- ## Workflow
51
-
52
- ### Passo 1: Analisar Spec
53
-
54
- Leia `.morph/features/$ARGUMENTS/1-design/spec.md` em detalhes e identifique:
55
-
56
- #### 1.1. Ambiguidades
57
- - Requisitos vagos ou genéricos
58
- - Termos sem definição clara
59
- - Comportamentos não especificados
60
-
61
- #### 1.2. Edge Cases Não Documentados
62
- - O que acontece se...?
63
- - Como lidar com entradas inválidas?
64
- - Comportamento em caso de erro?
65
- - Estados intermediários (loading, empty)
66
-
67
- #### 1.3. Requisitos Conflitantes
68
- - Duas funcionalidades que parecem incompatíveis
69
- - Prioridades não claras (o que vem primeiro?)
70
-
71
- #### 1.4. Dados Faltantes
72
- - Validações de negócio não especificadas
73
- - Limites e constraints (tamanhos, quantidades)
74
- - Formatos de dados (datas, moedas, etc.)
75
-
76
- ### Passo 2: Gerar Perguntas de Clarificação
77
-
78
- Com base na análise, gere **3-7 perguntas** focadas e específicas:
79
-
80
- **Formato de pergunta:**
81
- ```markdown
82
- ### Q{N}: {Categoria} - {Título}
83
-
84
- **Context:** {Por que esta pergunta é importante}
85
-
86
- **Question:** {Pergunta clara e objetiva}
87
-
88
- **Options (if applicable):**
89
- - A) {Opção 1}
90
- - B) {Opção 2}
91
- - C) {Deixar em aberto/usuário decidir}
92
-
93
- **Impact:** {Como a resposta afeta a implementação}
94
- ```
95
-
96
- ### Passo 3: Categorizar Perguntas
97
-
98
- Organize perguntas por categoria:
99
-
100
- | Categoria | Descrição | Exemplos |
101
- |-----------|-----------|----------|
102
- | **Validação** | Regras de negócio, constraints | Limites de tamanho, formatos aceitos |
103
- | **Comportamento** | O que acontece quando... | Error handling, estados vazios |
104
- | **Prioridade** | O que é must-have vs nice-to-have | MVP vs futuras iterações |
105
- | **Integração** | Como interage com sistemas externos | APIs, webhooks, formato de dados |
106
- | **Performance** | Requisitos de velocidade/volume | Quantos registros? Tempo de resposta? |
107
- | **UX** | Experiência do usuário | Feedback visual, mensagens de erro |
108
-
109
- ### Passo 4: Apresentar Perguntas ao Usuário
110
-
111
- Liste todas as perguntas de forma clara e estruturada.
112
-
113
- **IMPORTANTE:** Não prossiga para próxima fase até ter respostas!
114
-
115
- ### Passo 5: Atualizar `spec.md` com Respostas
116
-
117
- Após receber respostas do usuário, atualize o spec com:
118
-
119
- 1. **Seção de Clarificações** no início do spec:
120
- ```markdown
121
- ## Clarifications (FASE 3)
122
-
123
- ### Q1: {Título}
124
- **Answer:** {Resposta do usuário}
125
- **Date:** {YYYY-MM-DD}
126
- ```
127
-
128
- 2. **Atualizar seções relevantes** com detalhes adicionados
129
-
130
- ### CHECKPOINT: Validar Respostas Completas
131
-
132
- **⏸️ PAUSE - Antes de atualizar spec:**
133
-
134
- - [ ] Todas as perguntas foram respondidas pelo usuário?
135
- - [ ] Nenhuma resposta é ambígua ou contraditória?
136
- - [ ] Respostas são consistentes com `contracts.cs` existente?
137
- - [ ] Respostas são consistentes com `schema-analysis.md`?
138
-
139
- **❌ Se alguma checkbox NÃO estiver marcada:**
140
- → Voltar e pedir esclarecimento adicional ao usuário
141
-
142
- **✅ Se TODAS as checkboxes estiverem marcadas:**
143
- Prosseguir para atualizar spec.md
144
-
145
- ### Passo 6: Validar Edge Cases
146
-
147
- Documente no spec como lidar com cada edge case identificado:
148
-
149
- ```markdown
150
- ## Edge Cases
151
-
152
- ### EC001: {Nome do Edge Case}
153
- **Scenario:** {Quando acontece}
154
- **Expected Behavior:** {Como o sistema deve reagir}
155
- **Implementation Notes:** {Dicas para implementação}
156
- ```
157
-
158
- ### Passo 7: Atualizar State
159
-
160
- ## Outputs Gerados/Atualizados
161
-
162
- - `.morph/features/$ARGUMENTS/1-design/spec.md` - Atualizado com:
163
- - Seção "Clarifications" com perguntas e respostas
164
- - Edge cases documentados
165
- - Requisitos mais específicos
166
- - `.morph/features/$ARGUMENTS/2-clarify/clarifications.md` - Novo arquivo com Q&A estruturado
167
-
168
- ## Critérios de Avanço
169
-
170
- - [x] Perguntas de clarificação identificadas (3-7)
171
- - [x] Perguntas apresentadas ao usuário
172
- - [x] Respostas do usuário recebidas
173
- - [x] `spec.md` atualizado com clarificações
174
- - [x] Edge cases documentados
175
- - [x] State atualizado
176
- - [x] Nenhuma ambiguidade crítica remanescente
177
-
178
- ---
179
-
180
- ## Integração com Superpowers
181
-
182
- > Disponível quando o plugin `superpowers` está instalado.
183
-
184
- | Skill | Quando Usar | Invocação |
185
- |-------|-------------|-----------|
186
- | `systematic-debugging` | Para investigar ambiguidades técnicas complexas | `Skill(superpowers:systematic-debugging)` |
187
-
188
- ---
189
-
1
+ ---
2
+ name: morph:phase-clarify
3
+ description: MORPH-SPEC Phase 3 (Clarify). Reviews spec.md for ambiguities, generates 3-7 targeted clarification questions, waits for user answers, then updates spec with edge cases and clarification sections. Use after design approval to eliminate spec ambiguities before task breakdown begins.
4
+ argument-hint: "[feature-name]"
5
+ user-invocable: false
6
+ allowed-tools: Read, Write, Edit, Bash, Glob, Grep
7
+ cliVersion: "4.9.0"
8
+ ---
9
+
10
+ # MORPH Clarify - FASE 3
11
+
12
+ > INTERNAL: Workflow skill used by /morph-proposal during automated phase orchestration. Not a user command.
13
+
14
+ Identifique ambiguidades na especificação e faça perguntas de clarificação para garantir que todos os edge cases estão cobertos.
15
+
16
+ ## Pré-requisitos
17
+
18
+ - [ ] FASE 2 (Design) concluída
19
+ - [ ] `spec.md` aprovado pelo usuário
20
+ - [ ] `contracts.cs` definidos
21
+
22
+ ## Ferramentas Recomendadas
23
+
24
+ > **Ref:** `framework/skills/level-0-meta/tool-usage-guide/SKILL.md` para guia completo.
25
+ > **Ref:** `framework/standards/integration/mcp/mcp-tools.md` para referência MCP.
26
+ > **Example:** `references/clarifications-example.md` — filled-in clarifications.md showing expected Q&A format.
27
+
28
+ | Ação | Ferramenta | Alternativa |
29
+ |------|------------|-------------|
30
+ | Ler spec.md completo | **Read** spec.md | — |
31
+ | Ler contracts.cs | **Read** contracts.cs | — |
32
+ | Ler schema-analysis.md | **Read** schema-analysis.md | — |
33
+ | Verificar viabilidade de requisito | **Context7 MCP** `query_docs()` | **WebSearch** + **WebFetch** |
34
+ | Verificar issues/limitações conhecidas | **GitHub MCP** `search_issues()` | **Bash** `gh issue list --search "..."` |
35
+ | Pesquisar edge cases externos | **WebSearch** | — |
36
+ | Verificar comportamento UI existente | **Playwright MCP** `browser_navigate()` + `browser_snapshot()` | **WebFetch** URL |
37
+ | Atualizar spec com clarificações | **Edit** spec.md | — |
38
+ | Criar clarifications.md | **Bash** `npx morph-spec template render docs/clarifications .morph/features/$ARGUMENTS/2-clarify/clarifications.md` | — |
39
+ | Atualizar state | **Bash** `npx morph-spec state mark-output $ARGUMENTS clarifications` | — |
40
+
41
+ **MCPs desta fase:** Context7 (validar viabilidade), GitHub (issues conhecidas), Playwright (verificar UI existente).
42
+
43
+ **Anti-padrões:**
44
+ - ❌ Task agent para ler spec (use Read direto)
45
+ - ❌ Reescrever spec do zero (use Edit para atualizar seções)
46
+ - ❌ Pular cross-reference com schema-analysis.md (crítico para precisão)
47
+
48
+ ---
49
+
50
+ ## Workflow
51
+
52
+ ### Passo 1: Analisar Spec
53
+
54
+ Leia `.morph/features/$ARGUMENTS/1-design/spec.md` em detalhes e identifique:
55
+
56
+ #### 1.1. Ambiguidades
57
+ - Requisitos vagos ou genéricos
58
+ - Termos sem definição clara
59
+ - Comportamentos não especificados
60
+
61
+ #### 1.2. Edge Cases Não Documentados
62
+ - O que acontece se...?
63
+ - Como lidar com entradas inválidas?
64
+ - Comportamento em caso de erro?
65
+ - Estados intermediários (loading, empty)
66
+
67
+ #### 1.3. Requisitos Conflitantes
68
+ - Duas funcionalidades que parecem incompatíveis
69
+ - Prioridades não claras (o que vem primeiro?)
70
+
71
+ #### 1.4. Dados Faltantes
72
+ - Validações de negócio não especificadas
73
+ - Limites e constraints (tamanhos, quantidades)
74
+ - Formatos de dados (datas, moedas, etc.)
75
+
76
+ ### Passo 2: Gerar Perguntas de Clarificação
77
+
78
+ Com base na análise, gere **3-7 perguntas** focadas e específicas:
79
+
80
+ **Formato de pergunta:**
81
+ ```markdown
82
+ ### Q{N}: {Categoria} - {Título}
83
+
84
+ **Context:** {Por que esta pergunta é importante}
85
+
86
+ **Question:** {Pergunta clara e objetiva}
87
+
88
+ **Options (if applicable):**
89
+ - A) {Opção 1}
90
+ - B) {Opção 2}
91
+ - C) {Deixar em aberto/usuário decidir}
92
+
93
+ **Impact:** {Como a resposta afeta a implementação}
94
+ ```
95
+
96
+ ### Passo 3: Categorizar Perguntas
97
+
98
+ Organize perguntas por categoria:
99
+
100
+ | Categoria | Descrição | Exemplos |
101
+ |-----------|-----------|----------|
102
+ | **Validação** | Regras de negócio, constraints | Limites de tamanho, formatos aceitos |
103
+ | **Comportamento** | O que acontece quando... | Error handling, estados vazios |
104
+ | **Prioridade** | O que é must-have vs nice-to-have | MVP vs futuras iterações |
105
+ | **Integração** | Como interage com sistemas externos | APIs, webhooks, formato de dados |
106
+ | **Performance** | Requisitos de velocidade/volume | Quantos registros? Tempo de resposta? |
107
+ | **UX** | Experiência do usuário | Feedback visual, mensagens de erro |
108
+
109
+ ### Passo 4: Apresentar Perguntas ao Usuário via AskUserQuestion
110
+
111
+ Use o tool `AskUserQuestion` para coletar as respostas **NUNCA liste perguntas como texto simples**.
112
+
113
+ **Regras:**
114
+ - `AskUserQuestion` aceita **1-4 perguntas por chamada**
115
+ - Se houver 5-7 perguntas, faça **2 chamadas sequenciais** (ex: Q1-Q4 Q5-Q7)
116
+ - Cada pergunta deve ter `header` (≤12 chars), `question` clara e 2-4 `options`
117
+ - Se a pergunta for aberta sem opções fixas, defina 2-3 opções representativas (o usuário pode usar "Other" para resposta livre)
118
+ - Use `multiSelect: true` quando múltiplas respostas forem igualmente válidas
119
+ - Aguarde o retorno do tool antes de prosseguir para qualquer próximo passo
120
+
121
+ **Exemplo de estrutura:**
122
+ ```json
123
+ {
124
+ "questions": [
125
+ {
126
+ "header": "Validação",
127
+ "question": "Qual o limite de tamanho para o campo Nome?",
128
+ "multiSelect": false,
129
+ "options": [
130
+ { "label": "100 chars", "description": "Padrão comum para nomes curtos" },
131
+ { "label": "255 chars", "description": "Máximo típico de banco de dados" },
132
+ { "label": "Sem limite fixo", "description": "Apenas validação no frontend" }
133
+ ]
134
+ }
135
+ ]
136
+ }
137
+ ```
138
+
139
+ **IMPORTANTE:** Não prossiga para o Passo 5 até receber respostas de TODAS as perguntas!
140
+
141
+ ### Passo 5: Atualizar `spec.md` com Respostas
142
+
143
+ Após receber respostas do usuário, atualize o spec com:
144
+
145
+ 1. **Seção de Clarificações** no início do spec:
146
+ ```markdown
147
+ ## Clarifications (FASE 3)
148
+
149
+ ### Q1: {Título}
150
+ **Answer:** {Resposta do usuário}
151
+ **Date:** {YYYY-MM-DD}
152
+ ```
153
+
154
+ 2. **Atualizar seções relevantes** com detalhes adicionados
155
+
156
+ ### CHECKPOINT: Validar Respostas Completas
157
+
158
+ **⏸️ PAUSE - Antes de atualizar spec:**
159
+
160
+ - [ ] Todas as perguntas foram respondidas pelo usuário?
161
+ - [ ] Nenhuma resposta é ambígua ou contraditória?
162
+ - [ ] Respostas são consistentes com `contracts.cs` existente?
163
+ - [ ] Respostas são consistentes com `schema-analysis.md`?
164
+
165
+ **❌ Se alguma checkbox NÃO estiver marcada:**
166
+ Voltar e pedir esclarecimento adicional ao usuário
167
+
168
+ **✅ Se TODAS as checkboxes estiverem marcadas:**
169
+ → Prosseguir para atualizar spec.md
170
+
171
+ ### Passo 6: Validar Edge Cases
172
+
173
+ Documente no spec como lidar com cada edge case identificado:
174
+
175
+ ```markdown
176
+ ## Edge Cases
177
+
178
+ ### EC001: {Nome do Edge Case}
179
+ **Scenario:** {Quando acontece}
180
+ **Expected Behavior:** {Como o sistema deve reagir}
181
+ **Implementation Notes:** {Dicas para implementação}
182
+ ```
183
+
184
+ ### Passo 7: Atualizar State
185
+
186
+ ## Outputs Gerados/Atualizados
187
+
188
+ - `.morph/features/$ARGUMENTS/1-design/spec.md` - Atualizado com:
189
+ - Seção "Clarifications" com perguntas e respostas
190
+ - Edge cases documentados
191
+ - Requisitos mais específicos
192
+ - `.morph/features/$ARGUMENTS/2-clarify/clarifications.md` - Novo arquivo com Q&A estruturado
193
+
194
+ ## Critérios de Avanço
195
+
196
+ - [x] Perguntas de clarificação identificadas (3-7)
197
+ - [x] Perguntas apresentadas ao usuário
198
+ - [x] Respostas do usuário recebidas
199
+ - [x] `spec.md` atualizado com clarificações
200
+ - [x] Edge cases documentados
201
+ - [x] State atualizado
202
+ - [x] Nenhuma ambiguidade crítica remanescente
203
+
204
+ ---
205
+
206
+ ## Integração com Superpowers
207
+
208
+ > Disponível quando o plugin `superpowers` está instalado.
209
+
210
+ | Skill | Quando Usar | Invocação |
211
+ |-------|-------------|-----------|
212
+ | `systematic-debugging` | Para investigar ambiguidades técnicas complexas | `Skill(superpowers:systematic-debugging)` |
213
+
214
+ ---
215
+
190
216
  Continuar automaticamente para FASE 4 (Tasks) após clarificações resolvidas.