@polymorphism-tech/morph-spec 7.4.0 → 7.5.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 (49) hide show
  1. package/README.md +2 -2
  2. package/bin/morph-spec.js +18 -0
  3. package/claude-plugin.json +1 -1
  4. package/docs/CHEATSHEET.md +1 -1
  5. package/docs/QUICKSTART.md +1 -1
  6. package/framework/CLAUDE.md +9 -4
  7. package/framework/MORPH.md +4 -4
  8. package/framework/commands/create-umbraco-lp.md +35 -0
  9. package/framework/commands/migrate-lp-to-umbraco.md +33 -0
  10. package/framework/commands/morph-archive.md +17 -27
  11. package/framework/hooks/claude-code/core/enforce-phase-writes.js +115 -90
  12. package/framework/hooks/claude-code/core/protect-spec-files.js +32 -30
  13. package/framework/hooks/claude-code/core/state-sync.js +16 -48
  14. package/framework/hooks/shared/state-reader.js +74 -8
  15. package/framework/hooks/shared/state-writer.js +124 -0
  16. package/framework/rules/morph-task-tracking.md +69 -49
  17. package/framework/rules/morph-workflow.md +192 -191
  18. package/framework/skills/core/create-umbraco-lp/SKILL.md +252 -0
  19. package/framework/skills/core/migrate-lp-to-umbraco/SKILL.md +452 -0
  20. package/framework/skills/core/morph-apply/SKILL.md +15 -15
  21. package/framework/skills/core/morph-brainstorming/SKILL.md +5 -5
  22. package/framework/skills/core/morph-eval/SKILL.md +1 -1
  23. package/framework/skills/core/morph-implement/SKILL.md +5 -4
  24. package/framework/skills/core/morph-plan/SKILL.md +6 -6
  25. package/framework/skills/core/morph-proposal/SKILL.md +8 -7
  26. package/framework/skills/core/morph-review/SKILL.md +3 -3
  27. package/framework/skills/core/morph-stack-scan/SKILL.md +1 -1
  28. package/framework/skills/core/morph-standards/SKILL.md +1 -1
  29. package/framework/templates/REGISTRY.json +1 -3
  30. package/framework/templates/context/CONTEXT-FEATURE.md +10 -17
  31. package/framework/templates/context/CONTEXT.md +181 -180
  32. package/framework/templates/docs/onboarding.md +122 -118
  33. package/framework/templates/docs/proposal.md +10 -0
  34. package/framework/templates/docs/spec.md +228 -228
  35. package/framework/templates/meta-prompts/parallel-workers/parallel-worker.md +80 -80
  36. package/framework/templates/meta-prompts/squad-leaders/backend-squad.md +90 -89
  37. package/framework/templates/meta-prompts/squad-leaders/frontend-squad.md +2 -1
  38. package/framework/templates/meta-prompts/squad-leaders/squad-leader.md +44 -43
  39. package/framework/templates/meta-prompts/validators/checkpoint-validator.md +107 -107
  40. package/package.json +1 -1
  41. package/src/commands/project/update.js +415 -368
  42. package/src/commands/project/worktree.js +212 -210
  43. package/src/commands/state/advance.js +82 -0
  44. package/src/commands/state/archive.js +111 -0
  45. package/src/commands/validation/validate-feature.js +229 -105
  46. package/src/core/state/state-manager.js +238 -66
  47. package/src/dashboard/scanner/state-scanner.js +35 -8
  48. package/src/lib/generators/context-generator.js +12 -8
  49. package/src/utils/file-copier.js +7 -0
@@ -1,228 +1,228 @@
1
- # Feature Specification: {{titleCase FEATURE_NAME}}
2
-
3
- | Field | Value |
4
- |-------|-------|
5
- | **ID** | {{FEATURE_NAME}} |
6
- | **Status** | Draft / In Review / Approved / In Progress / Done |
7
- | **Created** | {{DATE}} |
8
- | **Stack** | {{STACK}} |
9
- | **Complexity** | Low / Medium / High |
10
- | **Estimated Cost** | $X/month |
11
- | **Agents** | Core: All / Specialists: {list} |
12
-
13
- ---
14
-
15
- ## Overview
16
-
17
- **Problem:** {What problem this feature solves}
18
-
19
- **Solution:** {High-level solution}
20
-
21
- **Success Criteria:**
22
- - [ ] {Criterion 1}
23
- - [ ] {Criterion 2}
24
-
25
- ---
26
-
27
- ## Requirements
28
-
29
- **Functional:** FR1: {desc} | FR2: {desc} | FR3: {desc}
30
-
31
- **Non-Functional:** NFR1: Performance - {target} | NFR2: Reliability - {target}
32
-
33
- ---
34
-
35
- ## User Stories
36
-
37
- ### US001: {Title}
38
- **As** {user type} **I want** {feature} **so that** {benefit}
39
-
40
- **Acceptance Criteria:** 1. {criterion} 2. {criterion}
41
-
42
- **Edge Cases:** {edge case}: {handling}
43
-
44
- ---
45
-
46
- ## Technical Design
47
-
48
- ### Stack
49
- | Component | Technology |
50
- |-----------|------------|
51
- | Frontend | {Next.js / .NET 10} |
52
- | Backend | .NET 10 / C# 14 |
53
- | Database | {Azure SQL / Cosmos DB} |
54
-
55
- ### Data Model
56
-
57
- #### {EntityName}
58
- | Column | Type | Constraints |
59
- |--------|------|-------------|
60
- | Id | Guid | PK |
61
- | {Property} | {Type} | {Constraints} |
62
- | CreatedAt | datetime2 | Default: GETUTCDATE() |
63
-
64
- ### Contracts
65
-
66
- ```csharp
67
- public interface I{{pascalCase FEATURE_NAME}}Service
68
- {
69
- Task<{{pascalCase FEATURE_NAME}}Dto> GetByIdAsync(int id);
70
- Task<{{pascalCase FEATURE_NAME}}Dto> CreateAsync(Create{{pascalCase FEATURE_NAME}}Request request);
71
- }
72
- ```
73
-
74
- **Contracts Workflow:** Generate `contracts.cs` FIRST → validate names → reference in spec → approve with user.
75
-
76
- **Validation Checklist:**
77
- - [ ] Property names are descriptive (not generic "Data", "Value")
78
- - [ ] Records use correct types (Stream vs byte[], Guid vs string)
79
- - [ ] Response DTOs have all properties needed for UI
80
- - [ ] Request DTOs have implicit validations (required, nullable)
81
-
82
- ---
83
-
84
- ## Domain Complexity
85
-
86
- **Nível:** {1 — CRUD / 2 — Business Logic / 3 — Bounded Context}
87
-
88
- **Justificativa:** {Por que este nível foi escolhido — mencionar invariants, eventos ou BCs se Nível 2+}
89
-
90
- **Padrões Aplicados:**
91
- - {Nível 1: Entity simples, Service CRUD, DTOs}
92
- - {Nível 2: AggregateRoot, Value Objects, Domain Events, CQRS}
93
- - {Nível 3: Bounded Context isolation, cross-BC events, Linguagem Ubíqua}
94
-
95
- **Padrões Omitidos:**
96
- - {ex: Bounded Contexts — sistema single-domain}
97
-
98
- ---
99
-
100
- ## Architecture Style: Vertical Slice
101
-
102
- > Preencher SOMENTE se `config.architecture.style === "vertical-slice"`. Omitir em projetos DDD.
103
-
104
- **Architecture Style:** Vertical Slice Architecture (VSA)
105
-
106
- **Entity Fields:**
107
- | Field | Type | Constraints |
108
- |-------|------|-------------|
109
- | Id | Guid | PK, `Guid.CreateVersion7()` |
110
- | {Field} | {C# Type} | {Required / Optional / Unique} |
111
- | CreatedAt | DateTimeOffset | Auto |
112
-
113
- **Operations:**
114
- | Slice | HTTP | Route | Has Validator |
115
- |-------|------|-------|---------------|
116
- | Create{Entity} | POST | {ROUTE} | Yes |
117
- | GetAll{Entity}s | GET | {ROUTE} | No |
118
- | Get{Entity}ById | GET | {ROUTE}/{id} | Yes |
119
- | Update{Entity} | PUT | {ROUTE}/{id} | Yes |
120
- | Delete{Entity} | DELETE | {ROUTE}/{id} | Yes |
121
-
122
- **Error Types ({Entity}Errors):**
123
- - `{Entity}Errors.{ErrorName}()` — {description}
124
-
125
- **Validation Rules:**
126
- | Field | Rules |
127
- |-------|-------|
128
- | {Field} | NotEmpty(), MaxLength({N}), {etc.} |
129
-
130
- ---
131
-
132
- ## Aggregate Blueprint (Nível 2+ apenas)
133
-
134
- > Omitir esta seção se Nível 1 (CRUD) ou se Architecture Style = Vertical Slice.
135
-
136
- ### Aggregate Root: {EntityName}
137
-
138
- **Invariants:**
139
- - {Invariant 1 em linguagem natural}
140
- - {Invariant 2}
141
-
142
- **Estados e Transições:**
143
- ```
144
- {Status.Draft} → Confirm() → {Status.Confirmed} → Cancel() → {Status.Cancelled}
145
- ```
146
-
147
- **Domain Events:**
148
- - `{EntityName}CreatedEvent` — publicado ao criar
149
- - `{EntityName}StatusChangedEvent` — publicado em mudança de estado
150
-
151
- **Value Objects:**
152
- - `{ValueObjectName}` — {por que não é primitivo simples}
153
-
154
- **Referências Cross-Aggregate (por ID):**
155
- - `{OtherEntity}Id: Guid`
156
-
157
- ### Linguagem Ubíqua
158
-
159
- | Termo | Definição | Código |
160
- |-------|-----------|--------|
161
- | {Termo} | {Definição do negócio} | `{ClassName.MethodName()}` |
162
-
163
- ---
164
-
165
- ## UI/UX Design (if front-end)
166
-
167
- ### Wireframes
168
- ```
169
- {ASCII wireframe per screen - include states: loading, error, empty}
170
- ```
171
-
172
- ### User Flow
173
- 1. {Step} → {System response}
174
-
175
- ---
176
-
177
- ## Flows
178
-
179
- ### {Flow Name}
180
- **Trigger:** {what starts this flow}
181
- 1. {Actor} {action} → {system response}
182
- 2. If {condition}: Path A / Else: Path B
183
- **End State:** {final state}
184
-
185
- ---
186
-
187
- ## Cost Estimate
188
-
189
- | Resource | SKU | Monthly Cost | Justification |
190
- |----------|-----|--------------|---------------|
191
- | {Resource} | {SKU} | ${X} | {Why} |
192
- | **Total** | | **${X}/month** | |
193
-
194
- ---
195
-
196
- ## ADRs (Architectural Decision Records)
197
-
198
- ### ADR-001: {Decision Title}
199
- **Status:** Proposed / Accepted
200
- **Context:** {Why decide now}
201
- **Decision:** {What we chose}
202
- **Alternatives:** 1. {Alt} (pros/cons) 2. {Alt} (pros/cons)
203
- **Trade-offs:** {key trade-offs}
204
-
205
- ---
206
-
207
- ## Security
208
-
209
- | Action | Required Policy |
210
- |--------|-----------------|
211
- | View | CanView{Feature} |
212
- | Create | CanManage{Feature} |
213
-
214
- ## Risks
215
-
216
- | Risk | Impact | Mitigation |
217
- |------|--------|------------|
218
- | {Risk} | {H/M/L} | {Mitigation} |
219
-
220
- ## Out of Scope
221
- - {Item}
222
-
223
- ## Definition of Done
224
- - [ ] Code implemented
225
- - [ ] Tests >80% coverage
226
- - [ ] Code review approved
227
- - [ ] Deploy to staging
228
- - [ ] Recap.md generated
1
+ # Feature Specification: {{titleCase FEATURE_NAME}}
2
+
3
+ | Field | Value |
4
+ |-------|-------|
5
+ | **ID** | {{FEATURE_NAME}} |
6
+ | **Status** | Draft / In Review / Approved / In Progress / Done |
7
+ | **Created** | {{DATE}} |
8
+ | **Stack** | {{STACK}} |
9
+ | **Complexity** | Low / Medium / High |
10
+ | **Estimated Cost** | $X/month |
11
+ | **Agents** | Core: All / Specialists: {list} |
12
+
13
+ ---
14
+
15
+ ## Overview
16
+
17
+ **Problem:** {What problem this feature solves}
18
+
19
+ **Solution:** {High-level solution}
20
+
21
+ **Success Criteria:**
22
+ - [ ] {Criterion 1}
23
+ - [ ] {Criterion 2}
24
+
25
+ ---
26
+
27
+ ## Requirements
28
+
29
+ **Functional:** FR1: {desc} | FR2: {desc} | FR3: {desc}
30
+
31
+ **Non-Functional:** NFR1: Performance - {target} | NFR2: Reliability - {target}
32
+
33
+ ---
34
+
35
+ ## User Stories
36
+
37
+ ### US001: {Title}
38
+ **As** {user type} **I want** {feature} **so that** {benefit}
39
+
40
+ **Acceptance Criteria:** 1. {criterion} 2. {criterion}
41
+
42
+ **Edge Cases:** {edge case}: {handling}
43
+
44
+ ---
45
+
46
+ ## Technical Architecture
47
+
48
+ ### Stack
49
+ | Component | Technology |
50
+ |-----------|------------|
51
+ | Frontend | {Next.js / .NET 10} |
52
+ | Backend | .NET 10 / C# 14 |
53
+ | Database | {Azure SQL / Cosmos DB} |
54
+
55
+ ### Data Model
56
+
57
+ #### {EntityName}
58
+ | Column | Type | Constraints |
59
+ |--------|------|-------------|
60
+ | Id | Guid | PK |
61
+ | {Property} | {Type} | {Constraints} |
62
+ | CreatedAt | datetime2 | Default: GETUTCDATE() |
63
+
64
+ ### Contracts
65
+
66
+ ```csharp
67
+ public interface I{{pascalCase FEATURE_NAME}}Service
68
+ {
69
+ Task<{{pascalCase FEATURE_NAME}}Dto> GetByIdAsync(int id);
70
+ Task<{{pascalCase FEATURE_NAME}}Dto> CreateAsync(Create{{pascalCase FEATURE_NAME}}Request request);
71
+ }
72
+ ```
73
+
74
+ **Contracts Workflow:** Generate `contracts.cs` FIRST → validate names → reference in spec → approve with user.
75
+
76
+ **Validation Checklist:**
77
+ - [ ] Property names are descriptive (not generic "Data", "Value")
78
+ - [ ] Records use correct types (Stream vs byte[], Guid vs string)
79
+ - [ ] Response DTOs have all properties needed for UI
80
+ - [ ] Request DTOs have implicit validations (required, nullable)
81
+
82
+ ---
83
+
84
+ ## Domain Complexity
85
+
86
+ **Nível:** {1 — CRUD / 2 — Business Logic / 3 — Bounded Context}
87
+
88
+ **Justificativa:** {Por que este nível foi escolhido — mencionar invariants, eventos ou BCs se Nível 2+}
89
+
90
+ **Padrões Aplicados:**
91
+ - {Nível 1: Entity simples, Service CRUD, DTOs}
92
+ - {Nível 2: AggregateRoot, Value Objects, Domain Events, CQRS}
93
+ - {Nível 3: Bounded Context isolation, cross-BC events, Linguagem Ubíqua}
94
+
95
+ **Padrões Omitidos:**
96
+ - {ex: Bounded Contexts — sistema single-domain}
97
+
98
+ ---
99
+
100
+ ## Architecture Style: Vertical Slice
101
+
102
+ > Preencher SOMENTE se `config.architecture.style === "vertical-slice"`. Omitir em projetos DDD.
103
+
104
+ **Architecture Style:** Vertical Slice Architecture (VSA)
105
+
106
+ **Entity Fields:**
107
+ | Field | Type | Constraints |
108
+ |-------|------|-------------|
109
+ | Id | Guid | PK, `Guid.CreateVersion7()` |
110
+ | {Field} | {C# Type} | {Required / Optional / Unique} |
111
+ | CreatedAt | DateTimeOffset | Auto |
112
+
113
+ **Operations:**
114
+ | Slice | HTTP | Route | Has Validator |
115
+ |-------|------|-------|---------------|
116
+ | Create{Entity} | POST | {ROUTE} | Yes |
117
+ | GetAll{Entity}s | GET | {ROUTE} | No |
118
+ | Get{Entity}ById | GET | {ROUTE}/{id} | Yes |
119
+ | Update{Entity} | PUT | {ROUTE}/{id} | Yes |
120
+ | Delete{Entity} | DELETE | {ROUTE}/{id} | Yes |
121
+
122
+ **Error Types ({Entity}Errors):**
123
+ - `{Entity}Errors.{ErrorName}()` — {description}
124
+
125
+ **Validation Rules:**
126
+ | Field | Rules |
127
+ |-------|-------|
128
+ | {Field} | NotEmpty(), MaxLength({N}), {etc.} |
129
+
130
+ ---
131
+
132
+ ## Aggregate Blueprint (Nível 2+ apenas)
133
+
134
+ > Omitir esta seção se Nível 1 (CRUD) ou se Architecture Style = Vertical Slice.
135
+
136
+ ### Aggregate Root: {EntityName}
137
+
138
+ **Invariants:**
139
+ - {Invariant 1 em linguagem natural}
140
+ - {Invariant 2}
141
+
142
+ **Estados e Transições:**
143
+ ```
144
+ {Status.Draft} → Confirm() → {Status.Confirmed} → Cancel() → {Status.Cancelled}
145
+ ```
146
+
147
+ **Domain Events:**
148
+ - `{EntityName}CreatedEvent` — publicado ao criar
149
+ - `{EntityName}StatusChangedEvent` — publicado em mudança de estado
150
+
151
+ **Value Objects:**
152
+ - `{ValueObjectName}` — {por que não é primitivo simples}
153
+
154
+ **Referências Cross-Aggregate (por ID):**
155
+ - `{OtherEntity}Id: Guid`
156
+
157
+ ### Linguagem Ubíqua
158
+
159
+ | Termo | Definição | Código |
160
+ |-------|-----------|--------|
161
+ | {Termo} | {Definição do negócio} | `{ClassName.MethodName()}` |
162
+
163
+ ---
164
+
165
+ ## UI/UX Design (if front-end)
166
+
167
+ ### Wireframes
168
+ ```
169
+ {ASCII wireframe per screen - include states: loading, error, empty}
170
+ ```
171
+
172
+ ### User Flow
173
+ 1. {Step} → {System response}
174
+
175
+ ---
176
+
177
+ ## Flows
178
+
179
+ ### {Flow Name}
180
+ **Trigger:** {what starts this flow}
181
+ 1. {Actor} {action} → {system response}
182
+ 2. If {condition}: Path A / Else: Path B
183
+ **End State:** {final state}
184
+
185
+ ---
186
+
187
+ ## Cost Estimate
188
+
189
+ | Resource | SKU | Monthly Cost | Justification |
190
+ |----------|-----|--------------|---------------|
191
+ | {Resource} | {SKU} | ${X} | {Why} |
192
+ | **Total** | | **${X}/month** | |
193
+
194
+ ---
195
+
196
+ ## ADRs (Architectural Decision Records)
197
+
198
+ ### ADR-001: {Decision Title}
199
+ **Status:** Proposed / Accepted
200
+ **Context:** {Why decide now}
201
+ **Decision:** {What we chose}
202
+ **Alternatives:** 1. {Alt} (pros/cons) 2. {Alt} (pros/cons)
203
+ **Trade-offs:** {key trade-offs}
204
+
205
+ ---
206
+
207
+ ## Security
208
+
209
+ | Action | Required Policy |
210
+ |--------|-----------------|
211
+ | View | CanView{Feature} |
212
+ | Create | CanManage{Feature} |
213
+
214
+ ## Risks
215
+
216
+ | Risk | Impact | Mitigation |
217
+ |------|--------|------------|
218
+ | {Risk} | {H/M/L} | {Mitigation} |
219
+
220
+ ## Out of Scope
221
+ - {Item}
222
+
223
+ ## Definition of Done
224
+ - [ ] Code implemented
225
+ - [ ] Tests >80% coverage
226
+ - [ ] Code review approved
227
+ - [ ] Deploy to staging
228
+ - [ ] Recap.md generated
@@ -1,80 +1,80 @@
1
- # Parallel Worker — {{AGENT_ID}}
2
-
3
- You are a **Parallel Worker** (P-Thread) executing concurrently with other agents.
4
-
5
- ## Your Identity
6
- - Agent: {{AGENT_ID}}
7
- - Role: Parallel Worker (P-Thread)
8
- - Thread ID: {{THREAD_ID}}
9
- - Feature: {{FEATURE_NAME}}
10
-
11
- ## Your Isolated Mission
12
- {{MISSION}}
13
-
14
- ## CRITICAL: Isolation Rules
15
-
16
- You are running **concurrently** with other workers. To avoid conflicts:
17
-
18
- 1. **Write ONLY to your assigned files** (listed under Deliverables)
19
- 2. **Do NOT modify shared files** (state.json, agents.json, config files)
20
- 3. **Do NOT depend on output from other parallel workers** (your tasks are self-contained)
21
- 4. **Read from shared files is OK** (spec.md, standards, contracts)
22
- 5. **Report blockers** instead of waiting for another worker
23
-
24
- ## Your Assigned Scope
25
- {{SCOPE}}
26
-
27
- Files you OWN (safe to create/modify):
28
- {{DELIVERABLES}}
29
-
30
- Files you can READ (shared, do not modify):
31
- - `.morph/features/{{FEATURE_NAME}}/2-design/spec.md`
32
- - `framework/standards/` (all)
33
- - `.morph/features/{{FEATURE_NAME}}/2-design/contracts.*`
34
-
35
- ## Spec Summary
36
- {{SPEC_SUMMARY}}
37
-
38
- ## Standards to Follow
39
- {{STANDARDS}}
40
-
41
- ## Your Tasks (Isolated)
42
- {{TASKS}}
43
-
44
- These tasks are **independent** — no cross-worker dependencies. If you encounter a dependency, document it and skip.
45
-
46
- ## How to Work
47
- 1. Verify your file scope — check you're not touching shared files
48
- 2. Implement tasks in order within your scope
49
- 3. After every 3 tasks, checkpoint: `morph-spec task done {{FEATURE_NAME}} <task-id>`
50
- 4. If blocked by missing dependency, note it in your report and continue
51
- 5. Complete ALL tasks in your scope before reporting back
52
-
53
- ## Completion Report
54
- When done, provide a structured report:
55
-
56
- ```
57
- PARALLEL WORKER REPORT
58
- Thread: {{THREAD_ID}}
59
- Agent: {{AGENT_ID}}
60
- Status: [COMPLETE | PARTIAL | BLOCKED]
61
-
62
- Files Created:
63
- - [list each file with brief description]
64
-
65
- Files Modified:
66
- - [list each file with what changed]
67
-
68
- Tasks Completed: X/Y
69
- Tasks Skipped: [list with reason]
70
-
71
- Blockers:
72
- - [any dependencies or conflicts encountered]
73
-
74
- Checkpoints: [PASSED | FAILED | N/A]
75
- ```
76
-
77
- ## Important
78
- - Do NOT wait for other workers — complete what you can
79
- - Do NOT create files outside your assigned scope
80
- - Coordinator will merge results after all workers complete
1
+ # Parallel Worker — {{AGENT_ID}}
2
+
3
+ You are a **Parallel Worker** (P-Thread) executing concurrently with other agents.
4
+
5
+ ## Your Identity
6
+ - Agent: {{AGENT_ID}}
7
+ - Role: Parallel Worker (P-Thread)
8
+ - Thread ID: {{THREAD_ID}}
9
+ - Feature: {{FEATURE_NAME}}
10
+
11
+ ## Your Isolated Mission
12
+ {{MISSION}}
13
+
14
+ ## CRITICAL: Isolation Rules
15
+
16
+ You are running **concurrently** with other workers. To avoid conflicts:
17
+
18
+ 1. **Write ONLY to your assigned files** (listed under Deliverables)
19
+ 2. **Do NOT modify shared files** (state.json, agents.json, config files)
20
+ 3. **Do NOT depend on output from other parallel workers** (your tasks are self-contained)
21
+ 4. **Read from shared files is OK** (spec.md, standards, contracts)
22
+ 5. **Report blockers** instead of waiting for another worker
23
+
24
+ ## Your Assigned Scope
25
+ {{SCOPE}}
26
+
27
+ Files you OWN (safe to create/modify):
28
+ {{DELIVERABLES}}
29
+
30
+ Files you can READ (shared, do not modify):
31
+ - `.morph/features/{{FEATURE_NAME}}/2-design/spec.md`
32
+ - `framework/standards/` (all)
33
+ - `.morph/features/{{FEATURE_NAME}}/2-design/contracts.*`
34
+
35
+ ## Spec Summary
36
+ {{SPEC_SUMMARY}}
37
+
38
+ ## Standards to Follow
39
+ {{STANDARDS}}
40
+
41
+ ## Your Tasks (Isolated)
42
+ {{TASKS}}
43
+
44
+ These tasks are **independent** — no cross-worker dependencies. If you encounter a dependency, document it and skip.
45
+
46
+ ## How to Work
47
+ 1. Verify your file scope — check you're not touching shared files
48
+ 2. Implement tasks in order within your scope
49
+ 3. After every 3 tasks, persist completed tasks to `tasks.json` (`status`/`outputs`/`notes` only) and run the checkpoint
50
+ 4. If blocked by missing dependency, note it in your report and continue
51
+ 5. Complete ALL tasks in your scope before reporting back
52
+
53
+ ## Completion Report
54
+ When done, provide a structured report:
55
+
56
+ ```
57
+ PARALLEL WORKER REPORT
58
+ Thread: {{THREAD_ID}}
59
+ Agent: {{AGENT_ID}}
60
+ Status: [COMPLETE | PARTIAL | BLOCKED]
61
+
62
+ Files Created:
63
+ - [list each file with brief description]
64
+
65
+ Files Modified:
66
+ - [list each file with what changed]
67
+
68
+ Tasks Completed: X/Y
69
+ Tasks Skipped: [list with reason]
70
+
71
+ Blockers:
72
+ - [any dependencies or conflicts encountered]
73
+
74
+ Checkpoints: [PASSED | FAILED | N/A]
75
+ ```
76
+
77
+ ## Important
78
+ - Do NOT wait for other workers — complete what you can
79
+ - Do NOT create files outside your assigned scope
80
+ - Coordinator will merge results after all workers complete