project-iris 0.2.2 → 0.3.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/flows/aidlc/commands/construction-agent.md +1 -1
- package/flows/aidlc/commands/operations-agent.md +1 -0
- package/flows/aidlc/skills/construction/bolt-start.md +70 -5
- package/flows/aidlc/skills/inception/story-create.md +60 -0
- package/flows/aidlc/skills/inception/units.md +52 -1
- package/flows/aidlc/skills/master/project-init.md +36 -6
- package/flows/aidlc/templates/construction/bolt-types/ddd-construction-bolt.md +76 -17
- package/flows/aidlc/templates/standards/api-conventions.guide.md +305 -0
- package/flows/aidlc/templates/standards/system-architecture.guide.md +268 -0
- package/flows/aidlc/templates/standards/ux-guide.guide.md +231 -0
- package/package.json +1 -1
- package/templates/CLAUDE.md +118 -47
|
@@ -35,7 +35,7 @@ You are now the **Construction Agent** for iris AI-DLC.
|
|
|
35
35
|
- **List Bolts**: `.iris/aidlc/skills/construction/bolt-list.md` → View all bolts
|
|
36
36
|
- **Bolt Status**: `.iris/aidlc/skills/construction/bolt-status.md` → Detailed bolt status
|
|
37
37
|
- **Start/Continue Bolt**: `.iris/aidlc/skills/construction/bolt-start.md` → Execute bolt stages
|
|
38
|
-
- **
|
|
38
|
+
- **Replan Bolts**: `.iris/aidlc/skills/construction/bolt-replan.md` → Modify bolt plan during construction
|
|
39
39
|
- **Menu**: `.iris/aidlc/skills/construction/navigator.md` → Show skills
|
|
40
40
|
|
|
41
41
|
---
|
|
@@ -36,6 +36,7 @@ You are now the **Operations Agent** for iris AI-DLC.
|
|
|
36
36
|
- **Deploy**: `.iris/aidlc/skills/operations/deploy.md` → Deploy to environment
|
|
37
37
|
- **Verify**: `.iris/aidlc/skills/operations/verify.md` → Validate deployment
|
|
38
38
|
- **Monitor**: `.iris/aidlc/skills/operations/monitor.md` → Setup observability
|
|
39
|
+
- **Rollback**: `.iris/aidlc/skills/operations/rollback.md` → Rollback deployment
|
|
39
40
|
- **Menu**: `.iris/aidlc/skills/operations/navigator.md` → Show skills
|
|
40
41
|
|
|
41
42
|
---
|
|
@@ -21,6 +21,9 @@
|
|
|
21
21
|
- ✅ Checkpoint prompts clear and actionable
|
|
22
22
|
- ✅ Code references stories (comments: `// Story: S-XXX`)
|
|
23
23
|
- ✅ Tests reference acceptance criteria they verify
|
|
24
|
+
- ✅ **Stories processed sequentially in code generation stages**
|
|
25
|
+
- ✅ **Story progress list shown during execution**
|
|
26
|
+
- ✅ **stories_progress updated in bolt file after each story**
|
|
24
27
|
|
|
25
28
|
## Failure Modes
|
|
26
29
|
|
|
@@ -30,6 +33,9 @@
|
|
|
30
33
|
- ❌ Not reading bolt type definition first
|
|
31
34
|
- ❌ Code without story traceability comments
|
|
32
35
|
- ❌ Tests without acceptance criteria references
|
|
36
|
+
- ❌ **Implementing all stories at once without tracking progress**
|
|
37
|
+
- ❌ **Not showing story progress during code generation**
|
|
38
|
+
- ❌ **Stories implemented out of order without justification**
|
|
33
39
|
|
|
34
40
|
---
|
|
35
41
|
|
|
@@ -194,19 +200,75 @@ For the current stage, follow the bolt type definition:
|
|
|
194
200
|
{From bolt type definition}
|
|
195
201
|
|
|
196
202
|
### Stories in Scope
|
|
197
|
-
{From bolt instance}
|
|
203
|
+
{From bolt instance - show with status}
|
|
204
|
+
- [ ] 001-story-one (pending)
|
|
205
|
+
- [ ] 002-story-two (pending)
|
|
198
206
|
```
|
|
199
207
|
|
|
200
208
|
2. **Perform Activities**:
|
|
201
209
|
- Follow bolt type's activity instructions exactly
|
|
202
210
|
- Create artifacts as specified
|
|
203
211
|
- Respect constraints (e.g., "no code in this stage")
|
|
212
|
+
- **For code generation stages**: Follow story-by-story execution (see 7b)
|
|
204
213
|
|
|
205
214
|
3. **Generate Outputs**:
|
|
206
215
|
- Create specified output artifacts
|
|
207
216
|
- Use templates if specified by bolt type
|
|
208
217
|
- Place in correct paths per schema
|
|
209
218
|
|
|
219
|
+
### 7b. Story-by-Story Execution (Code Generation Stages)
|
|
220
|
+
|
|
221
|
+
**⛔ CRITICAL**: When executing stages that involve code generation (e.g., Stage 4 in DDD bolts), process stories SEQUENTIALLY:
|
|
222
|
+
|
|
223
|
+
```text
|
|
224
|
+
┌─────────────────────────────────────────────────────────────┐
|
|
225
|
+
│ STORY-BY-STORY EXECUTION │
|
|
226
|
+
│ │
|
|
227
|
+
│ For EACH story in bolt's stories array: │
|
|
228
|
+
│ 1. Announce: "⏳ Story {n}/{total}: {story-id}" │
|
|
229
|
+
│ 2. Read story file for acceptance criteria │
|
|
230
|
+
│ 3. Implement code for that story │
|
|
231
|
+
│ 4. Update stories_progress in bolt file │
|
|
232
|
+
│ 5. Announce: "✅ Story {story-id}: Implemented" │
|
|
233
|
+
│ │
|
|
234
|
+
│ DO NOT batch implement - track each story individually! │
|
|
235
|
+
└─────────────────────────────────────────────────────────────┘
|
|
236
|
+
```
|
|
237
|
+
|
|
238
|
+
**Story Progress Display (show after each story)**:
|
|
239
|
+
|
|
240
|
+
```markdown
|
|
241
|
+
### Story Progress ({completed}/{total})
|
|
242
|
+
|
|
243
|
+
1. ✅ **{SSS}-{story-slug}**: Implemented → `{files}`
|
|
244
|
+
2. ✅ **{SSS}-{story-slug}**: Implemented → `{files}`
|
|
245
|
+
3. ⏳ **{SSS}-{story-slug}**: In Progress
|
|
246
|
+
4. [ ] **{SSS}-{story-slug}**: Pending
|
|
247
|
+
5. [ ] **{SSS}-{story-slug}**: Pending
|
|
248
|
+
6. [ ] **{SSS}-{story-slug}**: Pending
|
|
249
|
+
```
|
|
250
|
+
|
|
251
|
+
**Update bolt file after each story:**
|
|
252
|
+
|
|
253
|
+
```yaml
|
|
254
|
+
stories_progress:
|
|
255
|
+
- id: 001-database-init
|
|
256
|
+
status: completed
|
|
257
|
+
implemented_at: {timestamp}
|
|
258
|
+
- id: 002-schema-tables
|
|
259
|
+
status: completed
|
|
260
|
+
implemented_at: {timestamp}
|
|
261
|
+
- id: 003-crud-operations
|
|
262
|
+
status: in-progress
|
|
263
|
+
- id: 004-query-helpers
|
|
264
|
+
status: pending
|
|
265
|
+
```
|
|
266
|
+
|
|
267
|
+
This ensures:
|
|
268
|
+
- Clear visibility into which story is being worked on
|
|
269
|
+
- Ability to resume if interrupted
|
|
270
|
+
- Validation that all stories are addressed
|
|
271
|
+
|
|
210
272
|
### 8. Handle Checkpoints (As Defined by Bolt Type)
|
|
211
273
|
|
|
212
274
|
The bolt type definition specifies:
|
|
@@ -400,6 +462,13 @@ If construction log doesn't exist, create it using template:
|
|
|
400
462
|
**Type**: {bolt-type}
|
|
401
463
|
**Progress**: Stage {n} of {total}
|
|
402
464
|
|
|
465
|
+
### Story Progress ({completed}/{total})
|
|
466
|
+
|
|
467
|
+
1. ✅ **{SSS}-{story-slug}**: Implemented → `{files}`
|
|
468
|
+
2. ✅ **{SSS}-{story-slug}**: Implemented → `{files}`
|
|
469
|
+
3. ⏳ **{SSS}-{story-slug}**: In Progress
|
|
470
|
+
4. [ ] **{SSS}-{story-slug}**: Pending
|
|
471
|
+
|
|
403
472
|
### Activities Performed
|
|
404
473
|
1. ✅ {activity 1}
|
|
405
474
|
2. ✅ {activity 2}
|
|
@@ -408,10 +477,6 @@ If construction log doesn't exist, create it using template:
|
|
|
408
477
|
### Artifacts Created
|
|
409
478
|
- `{path/to/artifact}` - {description}
|
|
410
479
|
|
|
411
|
-
### Stories Addressed
|
|
412
|
-
- ✅ **{SSS}-{story-slug}**: {criteria} - Complete
|
|
413
|
-
- ⏳ **{SSS}-{story-slug}**: {criteria} - In Progress
|
|
414
|
-
|
|
415
480
|
---
|
|
416
481
|
|
|
417
482
|
### Checkpoint (if defined by bolt type)
|
|
@@ -17,6 +17,8 @@
|
|
|
17
17
|
- ✅ Each story has: User Story format, Acceptance Criteria, Priority
|
|
18
18
|
- ✅ story-index.md updated with ✅ GENERATED markers
|
|
19
19
|
- ✅ Unit-brief.md updated with story summary
|
|
20
|
+
- ✅ **All assigned FRs have corresponding stories (validation passed)**
|
|
21
|
+
- ✅ **FR-to-story mapping shown in output**
|
|
20
22
|
|
|
21
23
|
## Failure Modes
|
|
22
24
|
|
|
@@ -24,6 +26,8 @@
|
|
|
24
26
|
- ❌ Missing acceptance criteria in stories
|
|
25
27
|
- ❌ Not updating story-index.md
|
|
26
28
|
- ❌ Stories without INVEST criteria validation
|
|
29
|
+
- ❌ **Assigned FRs without corresponding stories**
|
|
30
|
+
- ❌ **Proceeding without FR-to-story validation**
|
|
27
31
|
|
|
28
32
|
---
|
|
29
33
|
|
|
@@ -144,6 +148,54 @@ Organize stories for bolt planning:
|
|
|
144
148
|
- **Should**: Important but not blocking (Error handling, validation)
|
|
145
149
|
- **Could**: Nice to have (Advanced features, optimizations)
|
|
146
150
|
|
|
151
|
+
### 4b. Validate FR-to-Story Coverage (CRITICAL - HARD GATE)
|
|
152
|
+
|
|
153
|
+
**⛔ HARD GATE**: Before creating story files, validate that ALL assigned FRs have stories.
|
|
154
|
+
|
|
155
|
+
```text
|
|
156
|
+
┌─────────────────────────────────────────────────────────────┐
|
|
157
|
+
│ FR-TO-STORY COVERAGE VALIDATION │
|
|
158
|
+
│ → Read "Assigned Requirements" from unit-brief.md │
|
|
159
|
+
│ → Check each FR has at least one story │
|
|
160
|
+
│ → If any FR is uncovered: STOP and create stories for it │
|
|
161
|
+
└─────────────────────────────────────────────────────────────┘
|
|
162
|
+
```
|
|
163
|
+
|
|
164
|
+
**Validation output:**
|
|
165
|
+
|
|
166
|
+
```markdown
|
|
167
|
+
## FR-to-Story Coverage
|
|
168
|
+
|
|
169
|
+
### Assigned FRs from Unit Brief
|
|
170
|
+
- **FR-1**: {description}
|
|
171
|
+
- **FR-2**: {description}
|
|
172
|
+
- **FR-N**: {description}
|
|
173
|
+
|
|
174
|
+
### Coverage Check
|
|
175
|
+
|
|
176
|
+
- ✅ **FR-1**: {description} → `{SSS}-{story-slug}`, `{SSS}-{story-slug}`
|
|
177
|
+
- ✅ **FR-2**: {description} → `{SSS}-{story-slug}`
|
|
178
|
+
- ❌ **FR-3**: {description} → UNCOVERED
|
|
179
|
+
|
|
180
|
+
### Validation Result
|
|
181
|
+
- ✅ All FRs covered by stories (proceed)
|
|
182
|
+
- ❌ {n} FRs uncovered - MUST create stories before proceeding:
|
|
183
|
+
- FR-X: {description} - NEEDS STORY
|
|
184
|
+
```
|
|
185
|
+
|
|
186
|
+
**If any FRs are uncovered:**
|
|
187
|
+
|
|
188
|
+
1. **DO NOT PROCEED** to creating story files
|
|
189
|
+
2. Create stories for uncovered FRs
|
|
190
|
+
3. Re-run validation until all FRs are covered
|
|
191
|
+
|
|
192
|
+
**Important Notes:**
|
|
193
|
+
|
|
194
|
+
- One FR can map to multiple stories (complex features)
|
|
195
|
+
- Multiple FRs can map to one story (closely related features)
|
|
196
|
+
- Every FR MUST have at least one story
|
|
197
|
+
- This validation catches FRs that were "lost" during decomposition
|
|
198
|
+
|
|
147
199
|
### 5. Document Stories
|
|
148
200
|
|
|
149
201
|
1. **Read Path**: Check `schema.stories` from `.iris/aidlc/memory-bank.yaml`
|
|
@@ -294,6 +346,14 @@ This ensures each unit-brief shows its story count at a glance.
|
|
|
294
346
|
```markdown
|
|
295
347
|
## Stories Created: {unit-name}
|
|
296
348
|
|
|
349
|
+
### FR-to-Story Coverage ✅
|
|
350
|
+
|
|
351
|
+
- ✅ **FR-1**: {description} → `{SSS}-{story-slug}`, `{SSS}-{story-slug}`
|
|
352
|
+
- ✅ **FR-2**: {description} → `{SSS}-{story-slug}`
|
|
353
|
+
- ✅ **FR-3**: {description} → `{SSS}-{story-slug}`
|
|
354
|
+
|
|
355
|
+
**All {n} assigned FRs have corresponding stories.**
|
|
356
|
+
|
|
297
357
|
### Story Summary
|
|
298
358
|
|
|
299
359
|
- [ ] **S1**: User can register - Must - No dependencies
|
|
@@ -15,7 +15,8 @@
|
|
|
15
15
|
|
|
16
16
|
- ✅ Unit directories created with unit-brief.md files
|
|
17
17
|
- ✅ Dependency graph shown visually
|
|
18
|
-
- ✅ All FRs mapped to exactly one unit
|
|
18
|
+
- ✅ **All FRs mapped to exactly one unit (validation passed)**
|
|
19
|
+
- ✅ FR coverage validation output shown
|
|
19
20
|
- ✅ Frontend unit included if enabled in project type
|
|
20
21
|
|
|
21
22
|
## Failure Modes
|
|
@@ -23,6 +24,8 @@
|
|
|
23
24
|
- ❌ Using ASCII table for unit listing
|
|
24
25
|
- ❌ Not reading project type configuration
|
|
25
26
|
- ❌ FRs not mapped to units
|
|
27
|
+
- ❌ **Proceeding without FR coverage validation**
|
|
28
|
+
- ❌ **Unmapped FRs not flagged**
|
|
26
29
|
- ❌ Missing unit-brief.md files
|
|
27
30
|
|
|
28
31
|
---
|
|
@@ -149,6 +152,54 @@ This mapping ensures:
|
|
|
149
152
|
- Units have clear scope based on assigned FRs
|
|
150
153
|
- Stories will be created from unit's assigned FRs (not directly from intent)
|
|
151
154
|
|
|
155
|
+
### 4b. Validate FR Coverage (CRITICAL - HARD GATE)
|
|
156
|
+
|
|
157
|
+
**⛔ HARD GATE**: Before proceeding, validate that ALL FRs are mapped.
|
|
158
|
+
|
|
159
|
+
```text
|
|
160
|
+
┌─────────────────────────────────────────────────────────────┐
|
|
161
|
+
│ FR COVERAGE VALIDATION │
|
|
162
|
+
│ → Count FRs in requirements.md │
|
|
163
|
+
│ → Count FRs in mapping │
|
|
164
|
+
│ → If mismatch: STOP and fix before proceeding │
|
|
165
|
+
└─────────────────────────────────────────────────────────────┘
|
|
166
|
+
```
|
|
167
|
+
|
|
168
|
+
**Validation output:**
|
|
169
|
+
|
|
170
|
+
```markdown
|
|
171
|
+
## FR Coverage Validation
|
|
172
|
+
|
|
173
|
+
### Requirements Count
|
|
174
|
+
- **Total FRs in requirements.md**: {n}
|
|
175
|
+
- **Must Have**: {n}
|
|
176
|
+
- **Should Have**: {n}
|
|
177
|
+
- **Could Have**: {n}
|
|
178
|
+
|
|
179
|
+
### Mapping Count
|
|
180
|
+
- **FRs mapped to units**: {n}
|
|
181
|
+
- **FRs unmapped**: {list or "None"}
|
|
182
|
+
|
|
183
|
+
### Validation Result
|
|
184
|
+
- ✅ All FRs mapped (proceed to next step)
|
|
185
|
+
- ❌ {n} FRs unmapped - MUST fix before proceeding:
|
|
186
|
+
- FR-X: {description} - NOT MAPPED
|
|
187
|
+
- FR-Y: {description} - NOT MAPPED
|
|
188
|
+
```
|
|
189
|
+
|
|
190
|
+
**If any FRs are unmapped:**
|
|
191
|
+
|
|
192
|
+
1. **DO NOT PROCEED** to creating unit directories
|
|
193
|
+
2. Review unmapped FRs and assign them to appropriate units
|
|
194
|
+
3. Re-run validation until all FRs are mapped
|
|
195
|
+
|
|
196
|
+
**Common reasons for unmapped FRs:**
|
|
197
|
+
|
|
198
|
+
- FR was overlooked during domain analysis
|
|
199
|
+
- FR spans multiple bounded contexts (split or create integration unit)
|
|
200
|
+
- FR is an NFR incorrectly labeled as FR (move to NFRs)
|
|
201
|
+
- FR is duplicate (merge with existing)
|
|
202
|
+
|
|
152
203
|
### 5. Create Frontend Unit (if enabled)
|
|
153
204
|
|
|
154
205
|
**Skip this step if `frontend.enabled: false`.**
|
|
@@ -15,6 +15,7 @@
|
|
|
15
15
|
|
|
16
16
|
- ✅ project.yaml created with project type AND scenario (greenfield/brownfield/hybrid)
|
|
17
17
|
- ✅ Scenario detected automatically with user confirmation
|
|
18
|
+
- ✅ .gitignore updated with AI-DLC tooling entries
|
|
18
19
|
- ✅ Standards created in correct order (dependencies respected)
|
|
19
20
|
- ✅ Each question is single-focus (not combined)
|
|
20
21
|
- ✅ Final summary shows all created/skipped standards
|
|
@@ -26,6 +27,7 @@
|
|
|
26
27
|
- ❌ Creating standard before its dependencies
|
|
27
28
|
- ❌ Not creating project.yaml
|
|
28
29
|
- ❌ Not detecting/asking about greenfield vs brownfield scenario
|
|
30
|
+
- ❌ Not updating .gitignore with AI-DLC tooling entries
|
|
29
31
|
|
|
30
32
|
---
|
|
31
33
|
|
|
@@ -125,9 +127,9 @@ This appears to be a **brownfield** project (enhancing existing code).
|
|
|
125
127
|
2. **Greenfield** - No, ignore existing code, starting fresh
|
|
126
128
|
3. **Hybrid** - Some features will modify existing, some are new
|
|
127
129
|
|
|
128
|
-
This affects
|
|
129
|
-
- **Brownfield**:
|
|
130
|
-
- **Greenfield**:
|
|
130
|
+
This affects the development flow:
|
|
131
|
+
- **Brownfield**: Master Agent runs code elevation first to understand existing structure
|
|
132
|
+
- **Greenfield**: Construction Agent starts fresh with domain modeling
|
|
131
133
|
- **Hybrid**: Asks per-intent which flow to use
|
|
132
134
|
```
|
|
133
135
|
|
|
@@ -185,6 +187,33 @@ existing_codebase:
|
|
|
185
187
|
|
|
186
188
|
This file MUST be created before proceeding to standards facilitation, as other agents (e.g., Inception, Construction) read it to provide context-aware behavior.
|
|
187
189
|
|
|
190
|
+
### 4b. Update .gitignore
|
|
191
|
+
|
|
192
|
+
**Add AI-DLC tooling entries to `.gitignore`** to keep the product repository clean.
|
|
193
|
+
|
|
194
|
+
#### If `.gitignore` exists:
|
|
195
|
+
|
|
196
|
+
Check if entries already exist. If not, append:
|
|
197
|
+
|
|
198
|
+
```gitignore
|
|
199
|
+
|
|
200
|
+
# AI-DLC tooling (iris, claude)
|
|
201
|
+
.iris/
|
|
202
|
+
.claude/
|
|
203
|
+
```
|
|
204
|
+
|
|
205
|
+
#### If `.gitignore` doesn't exist:
|
|
206
|
+
|
|
207
|
+
Create it with:
|
|
208
|
+
|
|
209
|
+
```gitignore
|
|
210
|
+
# AI-DLC tooling (iris, claude)
|
|
211
|
+
.iris/
|
|
212
|
+
.claude/
|
|
213
|
+
```
|
|
214
|
+
|
|
215
|
+
**Note**: `memory-bank/` is NOT gitignored - it contains valuable project specifications (PRFAQ, intents, stories, standards) that should be version controlled.
|
|
216
|
+
|
|
188
217
|
### 5. Check Existing Standards
|
|
189
218
|
|
|
190
219
|
Before creating new standards, check if any exist:
|
|
@@ -314,6 +343,7 @@ After completing all standards:
|
|
|
314
343
|
- **Type**: {project type} (e.g., full-stack-web)
|
|
315
344
|
- **Scenario**: {scenario} (greenfield/brownfield/hybrid)
|
|
316
345
|
- **Config**: `memory-bank/project.yaml`
|
|
346
|
+
- **Gitignore**: `.gitignore` updated with AI-DLC tooling entries
|
|
317
347
|
|
|
318
348
|
### Standards Created
|
|
319
349
|
|
|
@@ -337,9 +367,9 @@ Your project is configured as a **{project type}** ({scenario}) using:
|
|
|
337
367
|
- Use your chosen libraries and patterns
|
|
338
368
|
- Follow your testing strategy
|
|
339
369
|
|
|
340
|
-
**Scenario** -
|
|
341
|
-
- {If greenfield}:
|
|
342
|
-
- {If brownfield}:
|
|
370
|
+
**Scenario** - Development flow:
|
|
371
|
+
- {If greenfield}: Construction Agent starts with domain modeling (fresh design)
|
|
372
|
+
- {If brownfield}: Master Agent runs code elevation first (analyze existing code)
|
|
343
373
|
- {If hybrid}: Ask per-intent which flow to use
|
|
344
374
|
|
|
345
375
|
### Actions
|
|
@@ -349,18 +349,45 @@ Implement CQRS pattern with separate read models for task queries.
|
|
|
349
349
|
- **REQUIRED**: Load all bolt folder artifacts (see Bolt Context Loading section)
|
|
350
350
|
- **OUTPUT**: Source code based on design docs
|
|
351
351
|
|
|
352
|
-
**
|
|
352
|
+
**⛔ CRITICAL: Story-by-Story Execution**
|
|
353
|
+
|
|
354
|
+
```text
|
|
355
|
+
┌─────────────────────────────────────────────────────────────┐
|
|
356
|
+
│ STORY-BY-STORY EXECUTION MODE │
|
|
357
|
+
│ │
|
|
358
|
+
│ Stories MUST be implemented SEQUENTIALLY: │
|
|
359
|
+
│ 1. Read bolt's stories array │
|
|
360
|
+
│ 2. For each story in order: │
|
|
361
|
+
│ a. Announce: "Implementing Story: {story-id}" │
|
|
362
|
+
│ b. Read story file for acceptance criteria │
|
|
363
|
+
│ c. Implement code for that story │
|
|
364
|
+
│ d. Update story status in bolt tracking │
|
|
365
|
+
│ e. Show: "Story {story-id}: ✅ Implemented" │
|
|
366
|
+
│ 3. After ALL stories: proceed to checkpoint │
|
|
367
|
+
│ │
|
|
368
|
+
│ DO NOT implement all stories at once without tracking! │
|
|
369
|
+
└─────────────────────────────────────────────────────────────┘
|
|
370
|
+
```
|
|
371
|
+
|
|
372
|
+
**Story Execution Order:**
|
|
373
|
+
|
|
374
|
+
1. Read `stories` array from bolt.md frontmatter
|
|
375
|
+
2. Process stories in the order listed (this order respects dependencies)
|
|
376
|
+
3. For each story, implement the code needed to satisfy its acceptance criteria
|
|
377
|
+
4. Track progress visibly to user
|
|
378
|
+
|
|
379
|
+
**Activities** (performed FOR EACH STORY):
|
|
353
380
|
|
|
354
|
-
1 - **
|
|
355
|
-
2 - **
|
|
356
|
-
3 - **Implement
|
|
357
|
-
4 - **
|
|
358
|
-
5 - **
|
|
359
|
-
|
|
360
|
-
|
|
361
|
-
|
|
362
|
-
|
|
363
|
-
|
|
381
|
+
1 - **Announce story**: Display "⏳ Implementing Story: {story-id}: {title}"
|
|
382
|
+
2 - **Read story file**: Load `stories/{story-id}.md` for acceptance criteria
|
|
383
|
+
3 - **Implement code**: Create/modify code to satisfy acceptance criteria
|
|
384
|
+
4 - **Add traceability**: Add `// Story: {story-id}` comments to code
|
|
385
|
+
5 - **Mark progress**: Display "✅ Story {story-id}: Implemented"
|
|
386
|
+
|
|
387
|
+
**After ALL stories are implemented:**
|
|
388
|
+
|
|
389
|
+
6 - **Setup project structure**: Verify scaffolding exists
|
|
390
|
+
7 - **Run code quality validation**: Execute linting, type checking, build
|
|
364
391
|
|
|
365
392
|
**Artifact**: Source code in unit directory
|
|
366
393
|
**Location**: `src/{unit}/` or as defined in project structure
|
|
@@ -405,6 +432,7 @@ src/{unit}/
|
|
|
405
432
|
|
|
406
433
|
**Completion Criteria**:
|
|
407
434
|
|
|
435
|
+
- [ ] **All stories implemented in order** (see Story Progress below)
|
|
408
436
|
- [ ] All domain models implemented
|
|
409
437
|
- [ ] All use cases implemented
|
|
410
438
|
- [ ] All API endpoints implemented
|
|
@@ -422,6 +450,15 @@ src/{unit}/
|
|
|
422
450
|
```text
|
|
423
451
|
## Stage 4 Complete: Code Generation
|
|
424
452
|
|
|
453
|
+
### Story Progress ({n}/{n})
|
|
454
|
+
|
|
455
|
+
1. ✅ **{SSS}-{story-slug}**: Implemented → `{files}`
|
|
456
|
+
2. ✅ **{SSS}-{story-slug}**: Implemented → `{files}`
|
|
457
|
+
3. ✅ **{SSS}-{story-slug}**: Implemented → `{files}`
|
|
458
|
+
4. ✅ **{SSS}-{story-slug}**: Implemented → `{files}`
|
|
459
|
+
5. ✅ **{SSS}-{story-slug}**: Implemented → `{files}`
|
|
460
|
+
6. ✅ **{SSS}-{story-slug}**: Implemented → `{files}`
|
|
461
|
+
|
|
425
462
|
### Code Generated
|
|
426
463
|
- {n} domain entities
|
|
427
464
|
- {n} use cases
|
|
@@ -433,9 +470,8 @@ src/{unit}/
|
|
|
433
470
|
- ✅ Build: Passed
|
|
434
471
|
- ✅ Traceability: All files linked to stories
|
|
435
472
|
|
|
436
|
-
###
|
|
437
|
-
|
|
438
|
-
- S-002: {files implementing}
|
|
473
|
+
### Acceptance Criteria Preview
|
|
474
|
+
Each story's ACs will be validated in Stage 5 (Testing).
|
|
439
475
|
|
|
440
476
|
Ready to proceed to testing?
|
|
441
477
|
1 - Yes, continue to Stage 5
|
|
@@ -560,19 +596,42 @@ Story S-002: Password Reset
|
|
|
560
596
|
|
|
561
597
|
## State Tracking
|
|
562
598
|
|
|
563
|
-
Bolt instance tracks progress:
|
|
599
|
+
Bolt instance tracks progress at both stage and story level:
|
|
564
600
|
|
|
565
601
|
```yaml
|
|
566
602
|
---
|
|
567
|
-
current_stage:
|
|
603
|
+
current_stage: code
|
|
568
604
|
stages_completed:
|
|
569
|
-
- name:
|
|
605
|
+
- name: domain-design
|
|
570
606
|
completed: 2024-12-05T10:00:00Z
|
|
571
607
|
artifact: ddd-01-domain-design.md
|
|
608
|
+
- name: logical-design
|
|
609
|
+
completed: 2024-12-05T12:00:00Z
|
|
610
|
+
artifact: ddd-02-logical-design.md
|
|
572
611
|
status: in-progress
|
|
612
|
+
|
|
613
|
+
# Story-level tracking (updated during Stage 4)
|
|
614
|
+
stories_progress:
|
|
615
|
+
- id: 001-database-init
|
|
616
|
+
status: completed
|
|
617
|
+
implemented_at: 2024-12-05T14:00:00Z
|
|
618
|
+
- id: 002-schema-tables
|
|
619
|
+
status: completed
|
|
620
|
+
implemented_at: 2024-12-05T14:30:00Z
|
|
621
|
+
- id: 003-crud-operations
|
|
622
|
+
status: in-progress
|
|
623
|
+
- id: 004-query-helpers
|
|
624
|
+
status: pending
|
|
573
625
|
---
|
|
574
626
|
```
|
|
575
627
|
|
|
628
|
+
**Story status values:**
|
|
629
|
+
|
|
630
|
+
- `pending` - Not yet started
|
|
631
|
+
- `in-progress` - Currently being implemented
|
|
632
|
+
- `completed` - Implementation done (not yet tested)
|
|
633
|
+
- `verified` - Tests passing (after Stage 5)
|
|
634
|
+
|
|
576
635
|
---
|
|
577
636
|
|
|
578
637
|
## Bolt Context Loading
|