@polymorphism-tech/morph-spec 8.1.0 → 8.1.1
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/README.md +2 -2
- package/bin/validate.js +379 -379
- package/claude-plugin.json +1 -1
- package/docs/CHEATSHEET.md +1 -1
- package/docs/QUICKSTART.md +1 -1
- package/framework/commands/commit.md +166 -166
- package/framework/commands/morph-infra.md +215 -215
- package/framework/commands/morph-preflight.md +205 -205
- package/framework/commands/morph-troubleshoot.md +124 -124
- package/framework/hooks/claude-code/statusline.py +679 -679
- package/framework/hooks/claude-code/statusline.sh +11 -11
- package/framework/hooks/git/commit-msg/conventional-commits.sh +33 -33
- package/framework/hooks/git/pre-commit/agents.sh +25 -25
- package/framework/hooks/git/pre-commit/orchestrator.sh +64 -64
- package/framework/hooks/git/pre-commit/specs.sh +50 -50
- package/framework/hooks/git/pre-push/run-tests.sh +44 -44
- package/framework/hooks/shared/activity-logger.js +160 -160
- package/framework/hooks/shared/stdin-reader.js +26 -26
- package/framework/rubrics/backend.json +41 -41
- package/framework/rules/ai-agents-standards.md +45 -45
- package/framework/rules/dotnet-templates.md +86 -86
- package/framework/rules/frontend-standards.md +13 -13
- package/framework/rules/infrastructure-standards.md +27 -27
- package/framework/rules/neon-standards.md +25 -25
- package/framework/rules/nextjs-standards.md +20 -20
- package/framework/rules/nextjs-templates.md +40 -40
- package/framework/skills/core/create-umbraco-lp/SKILL.md +1 -1
- package/framework/skills/core/migrate-lp-to-umbraco/SKILL.md +1 -1
- package/framework/skills/core/morph-apply/SKILL.md +1 -1
- package/framework/skills/core/morph-brainstorming/SKILL.md +1 -1
- package/framework/skills/core/morph-eval/SKILL.md +1 -1
- package/framework/skills/core/morph-hotfix/SKILL.md +1 -1
- package/framework/skills/core/morph-implement/SKILL.md +1 -1
- package/framework/skills/core/morph-plan/SKILL.md +1 -1
- package/framework/skills/core/morph-proposal/SKILL.md +1 -1
- package/framework/skills/core/morph-review/SKILL.md +1 -1
- package/framework/skills/core/morph-stack-scan/SKILL.md +1 -1
- package/framework/skills/core/morph-standards/SKILL.md +1 -1
- package/framework/standards/ai-agents/agent-session.md +160 -160
- package/framework/standards/ai-agents/batching.md +193 -193
- package/framework/standards/ai-agents/context-providers.md +188 -188
- package/framework/standards/ai-agents/mcp-server.md +250 -250
- package/framework/standards/ai-agents/mcp-tools.md +197 -197
- package/framework/standards/ai-agents/middleware-patterns.md +207 -207
- package/framework/standards/ai-agents/modalities-image-gen.md +173 -173
- package/framework/standards/ai-agents/modalities-speech-to-text.md +171 -171
- package/framework/standards/ai-agents/modalities-text-to-speech.md +181 -181
- package/framework/standards/ai-agents/modalities-vision.md +201 -201
- package/framework/standards/ai-agents/multi-agent-patterns.md +155 -155
- package/framework/standards/ai-agents/production.md +275 -275
- package/framework/standards/ai-agents/prompts-in-db.md +214 -214
- package/framework/standards/ai-agents/providers/model-registry.md +158 -158
- package/framework/standards/ai-agents/service-tier-flex.md +135 -135
- package/framework/standards/ai-agents/structured-output.md +249 -249
- package/framework/standards/ai-agents/sweet-spot.md +109 -109
- package/framework/templates/IDE-SNIPPETS.md +262 -262
- package/framework/templates/code/dotnet/abstractions/api-endpoint.cs +7 -7
- package/framework/templates/code/dotnet/ai-agents/AgentBootstrap.cs.template +39 -39
- package/framework/templates/code/dotnet/ai-agents/EmbeddingService.cs.template +68 -68
- package/framework/templates/code/dotnet/ai-agents/ModelRegistry.cs.template +117 -117
- package/framework/templates/code/dotnet/ai-agents/PromptRepository.cs.template +95 -95
- package/framework/templates/code/dotnet/ai-agents/ResilientToolMiddleware.cs.template +61 -61
- package/framework/templates/code/dotnet/ai-agents/VectorSearchTool.cs.template +107 -107
- package/framework/templates/code/dotnet/ai-agents/model-registry.json.template +58 -58
- package/framework/templates/code/dotnet/contracts/contracts-vsa.cs +281 -281
- package/framework/templates/code/dotnet/database/migration.cs +83 -83
- package/framework/templates/code/dotnet/feature/endpoint.cs.hbs +21 -21
- package/framework/templates/code/dotnet/feature/request.cs.hbs +4 -4
- package/framework/templates/code/dotnet/feature/response.cs.hbs +4 -4
- package/framework/templates/code/dotnet/feature/validator.cs.hbs +15 -15
- package/framework/templates/code/sql/ai-agents/agent-prompts-migration.sql.template +58 -58
- package/framework/templates/code/sql/ai-agents/pgvector-embeddings-migration.sql.template +91 -91
- package/framework/templates/code/typescript/contracts.ts +167 -167
- package/framework/templates/docs/clarifications.md +253 -253
- package/framework/templates/docs/schema-analysis.md +119 -119
- package/framework/templates/docs/ui-components.md +52 -52
- package/framework/templates/docs/ui-design-system.md +76 -76
- package/framework/templates/docs/ui-flows.md +167 -167
- package/framework/templates/docs/ui-mockups.md +98 -98
- package/framework/templates/feature/decisions.md +122 -122
- package/framework/templates/frontend/nextjs/Dockerfile.nextjs.hbs +43 -43
- package/framework/templates/frontend/nextjs/client-component.tsx.hbs +26 -26
- package/framework/templates/frontend/nextjs/env.mjs.hbs +32 -32
- package/framework/templates/frontend/nextjs/feature-form.tsx.hbs +56 -56
- package/framework/templates/frontend/nextjs/page.tsx.hbs +22 -22
- package/framework/templates/frontend/nextjs/tsconfig.json.hbs +26 -26
- package/framework/templates/frontend/nextjs/use-feature.ts.hbs +54 -54
- package/framework/templates/infrastructure/docker/Dockerfile.template +58 -58
- package/framework/templates/infrastructure/docker/docker-compose.template.yml +50 -50
- package/framework/templates/infrastructure/docker/dockerfile-api.dockerfile +38 -38
- package/framework/templates/infrastructure/docker/dockerfile-web.dockerfile +48 -48
- package/framework/templates/infrastructure/github/README.md +56 -56
- package/framework/templates/infrastructure/github/actions/docker-build-push/action.yml.hbs +45 -45
- package/framework/templates/infrastructure/github/actions/health-check/action.yml.hbs +27 -27
- package/framework/templates/infrastructure/github/workflows/docker-build-push.yml.hbs +59 -59
- package/framework/templates/infrastructure/github/workflows/dotnet-build.yml.hbs +39 -39
- package/framework/templates/integrations/asaas-client.cs +387 -387
- package/framework/templates/integrations/asaas-webhook.cs +351 -351
- package/framework/templates/meta-prompts/fusion/fusion-agent.md +76 -76
- package/framework/templates/meta-prompts/fusion/fusion-aggregator.md +100 -100
- package/framework/templates/meta-prompts/validators/pre-commit-validator.md +95 -95
- package/framework/templates/project/validate.js +120 -120
- package/framework/templates/state.template.json +17 -17
- package/framework/templates/ui/design-system.css +226 -226
- package/package.json +1 -1
- package/src/commands/dashboard/dashboard.js +53 -53
- package/src/commands/index.js +13 -13
- package/src/commands/mcp/mcp-setup.js +519 -519
- package/src/commands/project/checkpoint.js +209 -209
- package/src/commands/project/worktree.js +83 -1
- package/src/core/state/phase-state-machine.js +197 -197
- package/src/core/templates/template-renderer.js +477 -477
- package/src/dashboard/app/components/DetailPanel.jsx +11 -11
- package/src/dashboard/app/components/FlowGraph.jsx +17 -17
- package/src/dashboard/app/components/SearchFilter.jsx +22 -22
- package/src/dashboard/app/hooks/useDetailPanel.js +15 -15
- package/src/dashboard/app/main.jsx +13 -13
- package/src/dashboard/app/pages/AgentMap.jsx +370 -370
- package/src/dashboard/app/pages/HookInspector.jsx +418 -418
- package/src/dashboard/app/pages/PhasePipeline.jsx +408 -408
- package/src/dashboard/app/pages/RulesMap.jsx +273 -273
- package/src/dashboard/app/pages/SkillsLibrary.jsx +366 -366
- package/src/dashboard/app/pages/Standards.jsx +332 -332
- package/src/dashboard/app/styles/index.css +47 -47
- package/src/dashboard/index.html +12 -12
- package/src/dashboard/package.json +24 -24
- package/src/dashboard/scanner/hooks-scanner.js +41 -41
- package/src/dashboard/scanner/phases-scanner.js +15 -15
- package/src/dashboard/scanner/rubrics-scanner.js +12 -12
- package/src/dashboard/scanner/rules-scanner.js +37 -37
- package/src/dashboard/scanner/skills-scanner.js +43 -43
- package/src/dashboard/scanner/squads-scanner.js +13 -13
- package/src/dashboard/scanner/standards-scanner.js +26 -26
- package/src/dashboard/vite-plugin-morph-data.js +17 -17
- package/src/dashboard/vite.config.js +24 -24
- package/src/lib/agents/metrics-aggregator.js +56 -56
- package/src/lib/agents/metrics-calculator.js +125 -125
- package/src/lib/agents/output-collector.js +73 -73
- package/src/lib/detectors/claude-config-detector.js +152 -152
- package/src/lib/detectors/design-system-detector.js +231 -231
- package/src/lib/detectors/index.js +217 -217
- package/src/lib/generators/architecture-scanner.js +639 -639
- package/src/lib/generators/design-system-generator.js +508 -508
- package/src/lib/generators/index.js +13 -13
- package/src/lib/generators/settings-generator.js +209 -209
- package/src/lib/hooks/hook-executor.js +167 -167
- package/src/lib/installers/mcp-installer.js +719 -719
- package/src/lib/tasks/task-classifier.js +30 -30
- package/src/lib/tasks/task-parser.js +209 -209
- package/src/lib/validators/architecture/architecture-validator.js +259 -259
- package/src/lib/validators/checkpoint-persistence.js +39 -39
- package/src/lib/validators/contracts/contract-compliance-validator.js +274 -274
- package/src/lib/validators/css/css-validator.js +340 -340
- package/src/lib/validators/packages/package-validator.js +347 -347
- package/src/lib/validators/shared/emit-validator-dispatch.js +14 -14
- package/src/lib/validators/shared/issue-counter.js +14 -14
- package/src/lib/validators/validation-runner.js +349 -349
- package/src/utils/agent-id-mapper.js +11 -11
- package/src/utils/claude-settings-manager.js +300 -300
- package/src/utils/skills-installer.js +174 -174
- package/framework/templates/.idea/morph-templates.xml +0 -92
- package/framework/templates/.vscode/morph-templates.code-snippets +0 -186
|
@@ -1,253 +1,253 @@
|
|
|
1
|
-
# Clarifications - {{FEATURE_NAME_TITLE}}
|
|
2
|
-
|
|
3
|
-
**Feature**: {{FEATURE_NAME}}
|
|
4
|
-
**Date**: {{DATE}}
|
|
5
|
-
**Phase**: CLARIFY (Phase 3)
|
|
6
|
-
**Status**: {{#if status}}{{status}}{{else}}In Progress{{/if}}
|
|
7
|
-
|
|
8
|
-
---
|
|
9
|
-
|
|
10
|
-
## Purpose
|
|
11
|
-
|
|
12
|
-
This document addresses ambiguities, edge cases, and questions identified during the design review. All clarifications should be incorporated back into `spec.md` after approval.
|
|
13
|
-
|
|
14
|
-
---
|
|
15
|
-
|
|
16
|
-
## Questions & Answers
|
|
17
|
-
|
|
18
|
-
{{#each questions}}
|
|
19
|
-
### Q{{this.id}}: {{this.category}} - {{this.title}}
|
|
20
|
-
|
|
21
|
-
**Question:**
|
|
22
|
-
{{this.question}}
|
|
23
|
-
|
|
24
|
-
**Context:**
|
|
25
|
-
{{this.context}}
|
|
26
|
-
|
|
27
|
-
**Answer:**
|
|
28
|
-
{{this.answer}}
|
|
29
|
-
|
|
30
|
-
**Impact:**
|
|
31
|
-
{{this.impact}}
|
|
32
|
-
|
|
33
|
-
**Spec Updates Required:**
|
|
34
|
-
{{#each this.specUpdates}}
|
|
35
|
-
- {{this}}
|
|
36
|
-
{{/each}}
|
|
37
|
-
|
|
38
|
-
**Priority:** {{this.priority}}
|
|
39
|
-
**Resolved:** {{#if this.resolved}}✅ Yes{{else}}❌ No{{/if}}
|
|
40
|
-
**Resolved By:** {{#if this.resolvedBy}}{{this.resolvedBy}}{{else}}_Pending_{{/if}}
|
|
41
|
-
|
|
42
|
-
---
|
|
43
|
-
{{/each}}
|
|
44
|
-
|
|
45
|
-
## Edge Cases Identified
|
|
46
|
-
|
|
47
|
-
{{#each edgeCases}}
|
|
48
|
-
### EC{{@index}}: {{this.title}}
|
|
49
|
-
|
|
50
|
-
**Scenario:**
|
|
51
|
-
{{this.scenario}}
|
|
52
|
-
|
|
53
|
-
**Current Behavior:**
|
|
54
|
-
{{this.currentBehavior}}
|
|
55
|
-
|
|
56
|
-
**Expected Behavior:**
|
|
57
|
-
{{this.expectedBehavior}}
|
|
58
|
-
|
|
59
|
-
**Proposed Solution:**
|
|
60
|
-
{{this.proposedSolution}}
|
|
61
|
-
|
|
62
|
-
**Acceptance Criteria:**
|
|
63
|
-
{{#each this.acceptanceCriteria}}
|
|
64
|
-
- [ ] {{this}}
|
|
65
|
-
{{/each}}
|
|
66
|
-
|
|
67
|
-
**Affected Components:**
|
|
68
|
-
{{#each this.affectedComponents}}
|
|
69
|
-
- {{this}}
|
|
70
|
-
{{/each}}
|
|
71
|
-
|
|
72
|
-
---
|
|
73
|
-
{{/each}}
|
|
74
|
-
|
|
75
|
-
## Assumptions Validated
|
|
76
|
-
|
|
77
|
-
{{#each assumptions}}
|
|
78
|
-
### A{{@index}}: {{this.title}}
|
|
79
|
-
|
|
80
|
-
**Assumption:**
|
|
81
|
-
{{this.description}}
|
|
82
|
-
|
|
83
|
-
**Validation:**
|
|
84
|
-
{{#if this.validated}}✅ Confirmed{{else}}❌ Invalid{{/if}}
|
|
85
|
-
|
|
86
|
-
**Notes:**
|
|
87
|
-
{{this.notes}}
|
|
88
|
-
|
|
89
|
-
**Action Required:**
|
|
90
|
-
{{#if this.action}}{{this.action}}{{else}}_None_{{/if}}
|
|
91
|
-
|
|
92
|
-
---
|
|
93
|
-
{{/each}}
|
|
94
|
-
|
|
95
|
-
## Business Rules Clarified
|
|
96
|
-
|
|
97
|
-
{{#each businessRules}}
|
|
98
|
-
### BR{{@index}}: {{this.title}}
|
|
99
|
-
|
|
100
|
-
**Rule:**
|
|
101
|
-
{{this.rule}}
|
|
102
|
-
|
|
103
|
-
**Rationale:**
|
|
104
|
-
{{this.rationale}}
|
|
105
|
-
|
|
106
|
-
**Examples:**
|
|
107
|
-
{{#each this.examples}}
|
|
108
|
-
- {{this}}
|
|
109
|
-
{{/each}}
|
|
110
|
-
|
|
111
|
-
**Exceptions:**
|
|
112
|
-
{{#if this.exceptions}}
|
|
113
|
-
{{#each this.exceptions}}
|
|
114
|
-
- {{this}}
|
|
115
|
-
{{/each}}
|
|
116
|
-
{{else}}
|
|
117
|
-
_None_
|
|
118
|
-
{{/if}}
|
|
119
|
-
|
|
120
|
-
---
|
|
121
|
-
{{/each}}
|
|
122
|
-
|
|
123
|
-
## Data Validation Rules
|
|
124
|
-
|
|
125
|
-
{{#each dataValidations}}
|
|
126
|
-
### DV{{@index}}: {{this.field}} Validation
|
|
127
|
-
|
|
128
|
-
**Field:** {{this.field}}
|
|
129
|
-
**Entity:** {{this.entity}}
|
|
130
|
-
|
|
131
|
-
**Validation Rules:**
|
|
132
|
-
{{#each this.rules}}
|
|
133
|
-
- {{this}}
|
|
134
|
-
{{/each}}
|
|
135
|
-
|
|
136
|
-
**Error Messages:**
|
|
137
|
-
{{#each this.errorMessages}}
|
|
138
|
-
- {{this.condition}}: "{{this.message}}"
|
|
139
|
-
{{/each}}
|
|
140
|
-
|
|
141
|
-
**Impact on UX:**
|
|
142
|
-
{{this.uxImpact}}
|
|
143
|
-
|
|
144
|
-
---
|
|
145
|
-
{{/each}}
|
|
146
|
-
|
|
147
|
-
## Performance & Scalability Clarifications
|
|
148
|
-
|
|
149
|
-
{{#each performanceClarifications}}
|
|
150
|
-
### PC{{@index}}: {{this.title}}
|
|
151
|
-
|
|
152
|
-
**Concern:**
|
|
153
|
-
{{this.concern}}
|
|
154
|
-
|
|
155
|
-
**Clarification:**
|
|
156
|
-
{{this.clarification}}
|
|
157
|
-
|
|
158
|
-
**Solution:**
|
|
159
|
-
{{this.solution}}
|
|
160
|
-
|
|
161
|
-
**Performance Target:**
|
|
162
|
-
{{this.target}}
|
|
163
|
-
|
|
164
|
-
---
|
|
165
|
-
{{/each}}
|
|
166
|
-
|
|
167
|
-
## Security & Authorization Clarifications
|
|
168
|
-
|
|
169
|
-
{{#each securityClarifications}}
|
|
170
|
-
### SC{{@index}}: {{this.title}}
|
|
171
|
-
|
|
172
|
-
**Security Concern:**
|
|
173
|
-
{{this.concern}}
|
|
174
|
-
|
|
175
|
-
**Clarification:**
|
|
176
|
-
{{this.clarification}}
|
|
177
|
-
|
|
178
|
-
**Implementation:**
|
|
179
|
-
{{this.implementation}}
|
|
180
|
-
|
|
181
|
-
**Affected Roles:**
|
|
182
|
-
{{#each this.affectedRoles}}
|
|
183
|
-
- {{this}}
|
|
184
|
-
{{/each}}
|
|
185
|
-
|
|
186
|
-
---
|
|
187
|
-
{{/each}}
|
|
188
|
-
|
|
189
|
-
## Integration & External Dependencies
|
|
190
|
-
|
|
191
|
-
{{#each integrationClarifications}}
|
|
192
|
-
### IC{{@index}}: {{this.title}}
|
|
193
|
-
|
|
194
|
-
**External System:**
|
|
195
|
-
{{this.externalSystem}}
|
|
196
|
-
|
|
197
|
-
**Question:**
|
|
198
|
-
{{this.question}}
|
|
199
|
-
|
|
200
|
-
**Clarification:**
|
|
201
|
-
{{this.clarification}}
|
|
202
|
-
|
|
203
|
-
**API Endpoint/Method:**
|
|
204
|
-
{{this.apiDetails}}
|
|
205
|
-
|
|
206
|
-
**Error Handling:**
|
|
207
|
-
{{this.errorHandling}}
|
|
208
|
-
|
|
209
|
-
---
|
|
210
|
-
{{/each}}
|
|
211
|
-
|
|
212
|
-
## Summary
|
|
213
|
-
|
|
214
|
-
**Total Questions:** {{#if totalQuestions}}{{totalQuestions}}{{else}}0{{/if}}
|
|
215
|
-
**Resolved:** {{#if resolvedCount}}{{resolvedCount}}{{else}}0{{/if}}
|
|
216
|
-
**Pending:** {{#if pendingCount}}{{pendingCount}}{{else}}0{{/if}}
|
|
217
|
-
|
|
218
|
-
**Edge Cases Identified:** {{#if edgeCaseCount}}{{edgeCaseCount}}{{else}}0{{/if}}
|
|
219
|
-
**Business Rules Documented:** {{#if businessRuleCount}}{{businessRuleCount}}{{else}}0{{/if}}
|
|
220
|
-
**Assumptions Validated:** {{#if assumptionCount}}{{assumptionCount}}{{else}}0{{/if}}
|
|
221
|
-
|
|
222
|
-
---
|
|
223
|
-
|
|
224
|
-
## Next Steps
|
|
225
|
-
|
|
226
|
-
1. [ ] Resolve all pending questions
|
|
227
|
-
2. [ ] Update `spec.md` with all clarifications
|
|
228
|
-
3. [ ] Update `contracts.cs` if data model changes are needed
|
|
229
|
-
4. [ ] Document breaking changes in `decisions.md`
|
|
230
|
-
5. [ ] Get stakeholder approval on all clarifications
|
|
231
|
-
6. [ ] Advance to Phase 4 (Tasks)
|
|
232
|
-
|
|
233
|
-
---
|
|
234
|
-
|
|
235
|
-
## Spec Updates Log
|
|
236
|
-
|
|
237
|
-
**Changes to be made to `spec.md`:**
|
|
238
|
-
|
|
239
|
-
{{#each specUpdates}}
|
|
240
|
-
### Update {{@index}}
|
|
241
|
-
|
|
242
|
-
**Section:** {{this.section}}
|
|
243
|
-
**Type:** {{this.type}}
|
|
244
|
-
**Description:** {{this.description}}
|
|
245
|
-
**From Clarification:** {{this.clarificationId}}
|
|
246
|
-
|
|
247
|
-
---
|
|
248
|
-
{{/each}}
|
|
249
|
-
|
|
250
|
-
---
|
|
251
|
-
|
|
252
|
-
*Generated by MORPH-SPEC v{{FRAMEWORK_VERSION}}*
|
|
253
|
-
*All clarifications must be incorporated into spec.md before advancing to Phase 4*
|
|
1
|
+
# Clarifications - {{FEATURE_NAME_TITLE}}
|
|
2
|
+
|
|
3
|
+
**Feature**: {{FEATURE_NAME}}
|
|
4
|
+
**Date**: {{DATE}}
|
|
5
|
+
**Phase**: CLARIFY (Phase 3)
|
|
6
|
+
**Status**: {{#if status}}{{status}}{{else}}In Progress{{/if}}
|
|
7
|
+
|
|
8
|
+
---
|
|
9
|
+
|
|
10
|
+
## Purpose
|
|
11
|
+
|
|
12
|
+
This document addresses ambiguities, edge cases, and questions identified during the design review. All clarifications should be incorporated back into `spec.md` after approval.
|
|
13
|
+
|
|
14
|
+
---
|
|
15
|
+
|
|
16
|
+
## Questions & Answers
|
|
17
|
+
|
|
18
|
+
{{#each questions}}
|
|
19
|
+
### Q{{this.id}}: {{this.category}} - {{this.title}}
|
|
20
|
+
|
|
21
|
+
**Question:**
|
|
22
|
+
{{this.question}}
|
|
23
|
+
|
|
24
|
+
**Context:**
|
|
25
|
+
{{this.context}}
|
|
26
|
+
|
|
27
|
+
**Answer:**
|
|
28
|
+
{{this.answer}}
|
|
29
|
+
|
|
30
|
+
**Impact:**
|
|
31
|
+
{{this.impact}}
|
|
32
|
+
|
|
33
|
+
**Spec Updates Required:**
|
|
34
|
+
{{#each this.specUpdates}}
|
|
35
|
+
- {{this}}
|
|
36
|
+
{{/each}}
|
|
37
|
+
|
|
38
|
+
**Priority:** {{this.priority}}
|
|
39
|
+
**Resolved:** {{#if this.resolved}}✅ Yes{{else}}❌ No{{/if}}
|
|
40
|
+
**Resolved By:** {{#if this.resolvedBy}}{{this.resolvedBy}}{{else}}_Pending_{{/if}}
|
|
41
|
+
|
|
42
|
+
---
|
|
43
|
+
{{/each}}
|
|
44
|
+
|
|
45
|
+
## Edge Cases Identified
|
|
46
|
+
|
|
47
|
+
{{#each edgeCases}}
|
|
48
|
+
### EC{{@index}}: {{this.title}}
|
|
49
|
+
|
|
50
|
+
**Scenario:**
|
|
51
|
+
{{this.scenario}}
|
|
52
|
+
|
|
53
|
+
**Current Behavior:**
|
|
54
|
+
{{this.currentBehavior}}
|
|
55
|
+
|
|
56
|
+
**Expected Behavior:**
|
|
57
|
+
{{this.expectedBehavior}}
|
|
58
|
+
|
|
59
|
+
**Proposed Solution:**
|
|
60
|
+
{{this.proposedSolution}}
|
|
61
|
+
|
|
62
|
+
**Acceptance Criteria:**
|
|
63
|
+
{{#each this.acceptanceCriteria}}
|
|
64
|
+
- [ ] {{this}}
|
|
65
|
+
{{/each}}
|
|
66
|
+
|
|
67
|
+
**Affected Components:**
|
|
68
|
+
{{#each this.affectedComponents}}
|
|
69
|
+
- {{this}}
|
|
70
|
+
{{/each}}
|
|
71
|
+
|
|
72
|
+
---
|
|
73
|
+
{{/each}}
|
|
74
|
+
|
|
75
|
+
## Assumptions Validated
|
|
76
|
+
|
|
77
|
+
{{#each assumptions}}
|
|
78
|
+
### A{{@index}}: {{this.title}}
|
|
79
|
+
|
|
80
|
+
**Assumption:**
|
|
81
|
+
{{this.description}}
|
|
82
|
+
|
|
83
|
+
**Validation:**
|
|
84
|
+
{{#if this.validated}}✅ Confirmed{{else}}❌ Invalid{{/if}}
|
|
85
|
+
|
|
86
|
+
**Notes:**
|
|
87
|
+
{{this.notes}}
|
|
88
|
+
|
|
89
|
+
**Action Required:**
|
|
90
|
+
{{#if this.action}}{{this.action}}{{else}}_None_{{/if}}
|
|
91
|
+
|
|
92
|
+
---
|
|
93
|
+
{{/each}}
|
|
94
|
+
|
|
95
|
+
## Business Rules Clarified
|
|
96
|
+
|
|
97
|
+
{{#each businessRules}}
|
|
98
|
+
### BR{{@index}}: {{this.title}}
|
|
99
|
+
|
|
100
|
+
**Rule:**
|
|
101
|
+
{{this.rule}}
|
|
102
|
+
|
|
103
|
+
**Rationale:**
|
|
104
|
+
{{this.rationale}}
|
|
105
|
+
|
|
106
|
+
**Examples:**
|
|
107
|
+
{{#each this.examples}}
|
|
108
|
+
- {{this}}
|
|
109
|
+
{{/each}}
|
|
110
|
+
|
|
111
|
+
**Exceptions:**
|
|
112
|
+
{{#if this.exceptions}}
|
|
113
|
+
{{#each this.exceptions}}
|
|
114
|
+
- {{this}}
|
|
115
|
+
{{/each}}
|
|
116
|
+
{{else}}
|
|
117
|
+
_None_
|
|
118
|
+
{{/if}}
|
|
119
|
+
|
|
120
|
+
---
|
|
121
|
+
{{/each}}
|
|
122
|
+
|
|
123
|
+
## Data Validation Rules
|
|
124
|
+
|
|
125
|
+
{{#each dataValidations}}
|
|
126
|
+
### DV{{@index}}: {{this.field}} Validation
|
|
127
|
+
|
|
128
|
+
**Field:** {{this.field}}
|
|
129
|
+
**Entity:** {{this.entity}}
|
|
130
|
+
|
|
131
|
+
**Validation Rules:**
|
|
132
|
+
{{#each this.rules}}
|
|
133
|
+
- {{this}}
|
|
134
|
+
{{/each}}
|
|
135
|
+
|
|
136
|
+
**Error Messages:**
|
|
137
|
+
{{#each this.errorMessages}}
|
|
138
|
+
- {{this.condition}}: "{{this.message}}"
|
|
139
|
+
{{/each}}
|
|
140
|
+
|
|
141
|
+
**Impact on UX:**
|
|
142
|
+
{{this.uxImpact}}
|
|
143
|
+
|
|
144
|
+
---
|
|
145
|
+
{{/each}}
|
|
146
|
+
|
|
147
|
+
## Performance & Scalability Clarifications
|
|
148
|
+
|
|
149
|
+
{{#each performanceClarifications}}
|
|
150
|
+
### PC{{@index}}: {{this.title}}
|
|
151
|
+
|
|
152
|
+
**Concern:**
|
|
153
|
+
{{this.concern}}
|
|
154
|
+
|
|
155
|
+
**Clarification:**
|
|
156
|
+
{{this.clarification}}
|
|
157
|
+
|
|
158
|
+
**Solution:**
|
|
159
|
+
{{this.solution}}
|
|
160
|
+
|
|
161
|
+
**Performance Target:**
|
|
162
|
+
{{this.target}}
|
|
163
|
+
|
|
164
|
+
---
|
|
165
|
+
{{/each}}
|
|
166
|
+
|
|
167
|
+
## Security & Authorization Clarifications
|
|
168
|
+
|
|
169
|
+
{{#each securityClarifications}}
|
|
170
|
+
### SC{{@index}}: {{this.title}}
|
|
171
|
+
|
|
172
|
+
**Security Concern:**
|
|
173
|
+
{{this.concern}}
|
|
174
|
+
|
|
175
|
+
**Clarification:**
|
|
176
|
+
{{this.clarification}}
|
|
177
|
+
|
|
178
|
+
**Implementation:**
|
|
179
|
+
{{this.implementation}}
|
|
180
|
+
|
|
181
|
+
**Affected Roles:**
|
|
182
|
+
{{#each this.affectedRoles}}
|
|
183
|
+
- {{this}}
|
|
184
|
+
{{/each}}
|
|
185
|
+
|
|
186
|
+
---
|
|
187
|
+
{{/each}}
|
|
188
|
+
|
|
189
|
+
## Integration & External Dependencies
|
|
190
|
+
|
|
191
|
+
{{#each integrationClarifications}}
|
|
192
|
+
### IC{{@index}}: {{this.title}}
|
|
193
|
+
|
|
194
|
+
**External System:**
|
|
195
|
+
{{this.externalSystem}}
|
|
196
|
+
|
|
197
|
+
**Question:**
|
|
198
|
+
{{this.question}}
|
|
199
|
+
|
|
200
|
+
**Clarification:**
|
|
201
|
+
{{this.clarification}}
|
|
202
|
+
|
|
203
|
+
**API Endpoint/Method:**
|
|
204
|
+
{{this.apiDetails}}
|
|
205
|
+
|
|
206
|
+
**Error Handling:**
|
|
207
|
+
{{this.errorHandling}}
|
|
208
|
+
|
|
209
|
+
---
|
|
210
|
+
{{/each}}
|
|
211
|
+
|
|
212
|
+
## Summary
|
|
213
|
+
|
|
214
|
+
**Total Questions:** {{#if totalQuestions}}{{totalQuestions}}{{else}}0{{/if}}
|
|
215
|
+
**Resolved:** {{#if resolvedCount}}{{resolvedCount}}{{else}}0{{/if}}
|
|
216
|
+
**Pending:** {{#if pendingCount}}{{pendingCount}}{{else}}0{{/if}}
|
|
217
|
+
|
|
218
|
+
**Edge Cases Identified:** {{#if edgeCaseCount}}{{edgeCaseCount}}{{else}}0{{/if}}
|
|
219
|
+
**Business Rules Documented:** {{#if businessRuleCount}}{{businessRuleCount}}{{else}}0{{/if}}
|
|
220
|
+
**Assumptions Validated:** {{#if assumptionCount}}{{assumptionCount}}{{else}}0{{/if}}
|
|
221
|
+
|
|
222
|
+
---
|
|
223
|
+
|
|
224
|
+
## Next Steps
|
|
225
|
+
|
|
226
|
+
1. [ ] Resolve all pending questions
|
|
227
|
+
2. [ ] Update `spec.md` with all clarifications
|
|
228
|
+
3. [ ] Update `contracts.cs` if data model changes are needed
|
|
229
|
+
4. [ ] Document breaking changes in `decisions.md`
|
|
230
|
+
5. [ ] Get stakeholder approval on all clarifications
|
|
231
|
+
6. [ ] Advance to Phase 4 (Tasks)
|
|
232
|
+
|
|
233
|
+
---
|
|
234
|
+
|
|
235
|
+
## Spec Updates Log
|
|
236
|
+
|
|
237
|
+
**Changes to be made to `spec.md`:**
|
|
238
|
+
|
|
239
|
+
{{#each specUpdates}}
|
|
240
|
+
### Update {{@index}}
|
|
241
|
+
|
|
242
|
+
**Section:** {{this.section}}
|
|
243
|
+
**Type:** {{this.type}}
|
|
244
|
+
**Description:** {{this.description}}
|
|
245
|
+
**From Clarification:** {{this.clarificationId}}
|
|
246
|
+
|
|
247
|
+
---
|
|
248
|
+
{{/each}}
|
|
249
|
+
|
|
250
|
+
---
|
|
251
|
+
|
|
252
|
+
*Generated by MORPH-SPEC v{{FRAMEWORK_VERSION}}*
|
|
253
|
+
*All clarifications must be incorporated into spec.md before advancing to Phase 4*
|