olympus-ai 4.5.13 → 4.5.14
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/.claude-plugin/plugin.json +1 -1
- package/dist/cli/index.js +63 -27
- package/dist/cli/index.js.map +1 -1
- package/dist/hooks/olympus-hooks.cjs +257 -257
- package/dist/installer/hooks.d.ts +47 -14
- package/dist/installer/hooks.d.ts.map +1 -1
- package/dist/installer/hooks.js +45 -77
- package/dist/installer/hooks.js.map +1 -1
- package/dist/installer/index.d.ts +8 -7
- package/dist/installer/index.d.ts.map +1 -1
- package/dist/installer/index.js +49 -46
- package/dist/installer/index.js.map +1 -1
- package/package.json +1 -1
- package/resources/config/risk-keywords.json +5 -5
- package/resources/rules/common/ascii-diagram-standards.md +115 -115
- package/resources/rules/common/content-validation.md +131 -131
- package/resources/rules/common/error-handling.md +430 -430
- package/resources/rules/common/markdown-formatting.md +170 -170
- package/resources/rules/common/overconfidence-prevention.md +100 -100
- package/resources/rules/common/pathway-behaviors.json +60 -60
- package/resources/rules/common/pathway-behaviors.md +100 -100
- package/resources/rules/common/process-overview.md +157 -157
- package/resources/rules/common/terminal-formatting.md +161 -161
- package/resources/rules/common/terminology.md +189 -189
- package/resources/rules/common/welcome-message.md +118 -118
- package/resources/rules/common/workflow-changes.md +285 -285
- package/resources/rules/construction/bolt-planning.md +153 -153
- package/resources/rules/construction/bolt-review.md +143 -143
- package/resources/rules/construction/build-and-test.md +527 -527
- package/resources/rules/construction/code-generation.md +414 -414
- package/resources/rules/construction/documentation.md +201 -201
- package/resources/rules/construction/functional-design.md +135 -135
- package/resources/rules/construction/infrastructure-design.md +110 -110
- package/resources/rules/construction/nfr-design.md +106 -106
- package/resources/rules/construction/nfr-requirements.md +118 -118
- package/resources/rules/construction/test-generation.md +112 -112
- package/resources/rules/core-workflow.md +196 -196
- package/resources/rules/inception/application-design.md +195 -195
- package/resources/rules/inception/bolt-planning.md +588 -588
- package/resources/rules/inception/reverse-engineering.md +354 -354
- package/resources/rules/inception/units-generation.md +505 -505
- package/resources/rules/inception/user-stories.md +527 -527
- package/resources/rules/inception/workspace-detection.md +82 -82
- package/resources/rules/operations/operations.md +19 -19
- package/resources/skills/brief/templates/ai-dlc-intent-brief-template.md +149 -149
- package/resources/skills/getting-started/SKILL.md +79 -79
- package/resources/templates/construction/bolt-spec-template.md +270 -270
- package/resources/templates/inception/unit-brief-template.md +188 -188
- package/resources/templates/inception/units-template.md +99 -99
|
@@ -1,270 +1,270 @@
|
|
|
1
|
-
# Bolt Spec Template
|
|
2
|
-
|
|
3
|
-
Use this template when creating bolt spec files during bolt planning (inception) or when the construction executor needs to create express bolts.
|
|
4
|
-
|
|
5
|
-
**Output path**: `aidlc-docs/{workflowId}/construction/{parent_unit_id}/bolts/{bolt_id}/spec.md`
|
|
6
|
-
|
|
7
|
-
**Stage artifacts are added to the same directory during construction:**
|
|
8
|
-
```text
|
|
9
|
-
aidlc-docs/{workflowId}/construction/{parent_unit_id}/bolts/{bolt_id}/
|
|
10
|
-
spec.md <- Created during bolt planning (this template)
|
|
11
|
-
review.md <- Created during bolt review stage
|
|
12
|
-
```
|
|
13
|
-
|
|
14
|
-
---
|
|
15
|
-
|
|
16
|
-
## Frontmatter
|
|
17
|
-
|
|
18
|
-
```yaml
|
|
19
|
-
---
|
|
20
|
-
id: BOLT-NNN-slug
|
|
21
|
-
title: "Short descriptive title"
|
|
22
|
-
parent_unit_id: UNIT-NNN-unit-name
|
|
23
|
-
intent: {workflow-id}
|
|
24
|
-
sequence: 1
|
|
25
|
-
status: planned
|
|
26
|
-
created: "{YYYY-MM-DDTHH:MM:SSZ}"
|
|
27
|
-
started: null
|
|
28
|
-
completed: null
|
|
29
|
-
current_stage: null
|
|
30
|
-
stages_completed: []
|
|
31
|
-
depth_target: 6
|
|
32
|
-
express_mode: false
|
|
33
|
-
estimated_effort_hours: 4
|
|
34
|
-
requirements: ["FR-1", "FR-3"]
|
|
35
|
-
stories: ["S-001", "S-002"]
|
|
36
|
-
docs_impact: ["none"]
|
|
37
|
-
requires_bolts: []
|
|
38
|
-
enables_bolts: ["BOLT-002-repository-layer"]
|
|
39
|
-
requires_units: []
|
|
40
|
-
blocked: false
|
|
41
|
-
complexity:
|
|
42
|
-
avg_complexity: 2
|
|
43
|
-
avg_uncertainty: 1
|
|
44
|
-
max_dependencies: 2
|
|
45
|
-
testing_scope: 2
|
|
46
|
-
---
|
|
47
|
-
```
|
|
48
|
-
|
|
49
|
-
---
|
|
50
|
-
|
|
51
|
-
## Required Frontmatter Fields
|
|
52
|
-
|
|
53
|
-
| Field | Type | Required | Description |
|
|
54
|
-
|-------|------|----------|-------------|
|
|
55
|
-
| `id` | string | YES | Globally unique bolt ID. Must match `BOLT-NNN-slug` pattern (`^BOLT-\d{3}-[a-z0-9-]+$`). |
|
|
56
|
-
| `title` | string | YES | Short human-readable title. |
|
|
57
|
-
| `parent_unit_id` | string | YES | ID of the parent construction unit (e.g., `UNIT-001-foundation`). |
|
|
58
|
-
| `intent` | string | YES | Parent workflow ID (matches `{workflowId}`). |
|
|
59
|
-
| `sequence` | integer | YES | Execution order within the unit (1-based, positive). |
|
|
60
|
-
| `status` | string | YES | Always `planned` on creation. Lifecycle: `planned` -> `in_progress` -> `built` -> `in_review` -> `done` or `failed`. |
|
|
61
|
-
| `created` | string | YES | ISO 8601 timestamp of spec creation. |
|
|
62
|
-
| `started` | string/null | YES | ISO 8601 timestamp when execution began. `null` on creation. |
|
|
63
|
-
| `completed` | string/null | YES | ISO 8601 timestamp when all stages finished. `null` on creation. |
|
|
64
|
-
| `current_stage` | string/null | YES | Currently executing stage. `null` on creation. |
|
|
65
|
-
| `stages_completed` | array | YES | Array of completed stage records. Empty `[]` on creation. |
|
|
66
|
-
| `depth_target` | number | YES | Reasoning depth (1-11 scale). Express mode threshold: <= 4. |
|
|
67
|
-
| `express_mode` | boolean | YES | `true` if eligible for express execution (skips elaboration). Derived from `depth_target <= 4 OR pathway == 'bugfix'`. |
|
|
68
|
-
| `estimated_effort_hours` | number | YES | Rough hours estimate for human review. |
|
|
69
|
-
| `requirements` | string[] | YES | Requirement IDs from `requirements.md` this bolt satisfies (e.g., `["FR-1", "FR-3"]`). **Minimum 1 required.** |
|
|
70
|
-
| `stories` | string[] | YES | Story IDs from `stories.md` this bolt addresses (e.g., `["S-001"]`). |
|
|
71
|
-
| `docs_impact` | string[] | YES | Documentation types this bolt impacts. Valid values: `none`, `readme`, `user-guide`, `config-reference`, `cli-reference`, `migration-guide`, `architecture`, `code-comments`. |
|
|
72
|
-
| `requires_bolts` | string[] | YES | Bolt IDs that must complete before this bolt begins (within-unit). Empty array `[]` if none. |
|
|
73
|
-
| `enables_bolts` | string[] | YES | Bolt IDs that depend on this bolt completing (reverse deps, informational). Empty array `[]` if none. |
|
|
74
|
-
| `requires_units` | string[] | YES | Unit IDs that must be fully built before this bolt begins (cross-unit). Empty array `[]` if none. |
|
|
75
|
-
| `blocked` | boolean | YES | Always `false` on creation. Set to `true` by executor when a dependency is incomplete. |
|
|
76
|
-
| `complexity` | object | YES | 4-factor complexity assessment block (see below). |
|
|
77
|
-
|
|
78
|
-
### Complexity Block Fields
|
|
79
|
-
|
|
80
|
-
| Field | Type | Range | Description |
|
|
81
|
-
|-------|------|-------|-------------|
|
|
82
|
-
| `avg_complexity` | number | 1-3 | Average complexity score across stories. 1=Low (CRUD), 2=Medium (business rules), 3=High (novel algorithms). |
|
|
83
|
-
| `avg_uncertainty` | number | 1-3 | Average uncertainty score. 1=Fully specified, 2=Some ambiguity, 3=Many unknowns. |
|
|
84
|
-
| `max_dependencies` | number | 1-3 | Highest dependency score among stories. 1=Self-contained, 2=Internal APIs, 3=External systems. |
|
|
85
|
-
| `testing_scope` | number | 1-3 | Required testing depth. 1=Unit tests, 2=Integration tests, 3=E2E + manual. |
|
|
86
|
-
|
|
87
|
-
---
|
|
88
|
-
|
|
89
|
-
## Required Body Content
|
|
90
|
-
|
|
91
|
-
```markdown
|
|
92
|
-
# {Bolt Title}
|
|
93
|
-
|
|
94
|
-
## Scope
|
|
95
|
-
|
|
96
|
-
{What this bolt implements. Focused description.}
|
|
97
|
-
|
|
98
|
-
## Stories Included
|
|
99
|
-
|
|
100
|
-
- [ ] **S-001**: {title} -- Priority: {Must|Should|Could}
|
|
101
|
-
- [ ] **S-002**: {title} -- Priority: {Must|Should|Could}
|
|
102
|
-
|
|
103
|
-
## Acceptance Criteria
|
|
104
|
-
|
|
105
|
-
- [ ] {Measurable, verifiable criterion 1}
|
|
106
|
-
- [ ] {Measurable, verifiable criterion 2}
|
|
107
|
-
|
|
108
|
-
## Expected Outputs
|
|
109
|
-
|
|
110
|
-
- {Concrete deliverable 1}
|
|
111
|
-
- {Concrete deliverable 2}
|
|
112
|
-
|
|
113
|
-
## Target Files
|
|
114
|
-
|
|
115
|
-
- `{path/to/file.ts}` -- {create|modify}: {brief description}
|
|
116
|
-
|
|
117
|
-
## Stages
|
|
118
|
-
|
|
119
|
-
- [ ] **1. elaboration**: Pending
|
|
120
|
-
- [ ] **2. code_generation**: Pending
|
|
121
|
-
- [ ] **3. build_and_test**: Pending
|
|
122
|
-
- [ ] **4. review**: Pending
|
|
123
|
-
|
|
124
|
-
## Dependencies
|
|
125
|
-
|
|
126
|
-
### Bolt Dependencies (within unit)
|
|
127
|
-
- {BOLT-ID} (Required): {status}
|
|
128
|
-
|
|
129
|
-
### Unit Dependencies (cross-unit)
|
|
130
|
-
- {UNIT-ID}: {what is needed} -- {status}
|
|
131
|
-
|
|
132
|
-
### Enables (bolts waiting on this)
|
|
133
|
-
- {BOLT-ID}
|
|
134
|
-
|
|
135
|
-
## Success Criteria
|
|
136
|
-
|
|
137
|
-
- [ ] All stories implemented
|
|
138
|
-
- [ ] All acceptance criteria met
|
|
139
|
-
- [ ] Tests passing
|
|
140
|
-
- [ ] Code reviewed and approved
|
|
141
|
-
|
|
142
|
-
## Traceability
|
|
143
|
-
|
|
144
|
-
- **Requirements**: {FR-1, FR-2}
|
|
145
|
-
- **Stories**: {S-001, S-002}
|
|
146
|
-
```
|
|
147
|
-
|
|
148
|
-
---
|
|
149
|
-
|
|
150
|
-
## Status Values
|
|
151
|
-
|
|
152
|
-
- **planned**: Bolt created, not yet started
|
|
153
|
-
- **in_progress**: Currently being executed
|
|
154
|
-
- **built**: Code generation and build complete, awaiting review
|
|
155
|
-
- **in_review**: Under review by reviewer agent
|
|
156
|
-
- **done**: All stages complete, review approved
|
|
157
|
-
- **failed**: Stage failed after maximum retries
|
|
158
|
-
- **blocked**: Cannot proceed due to unresolved dependency
|
|
159
|
-
|
|
160
|
-
---
|
|
161
|
-
|
|
162
|
-
## Stage Status Symbols
|
|
163
|
-
|
|
164
|
-
- `- [ ]` = Pending
|
|
165
|
-
- `- ⏳` = In Progress
|
|
166
|
-
- `- ✅` = Complete
|
|
167
|
-
- `- ⊘` = Skipped (express mode)
|
|
168
|
-
|
|
169
|
-
---
|
|
170
|
-
|
|
171
|
-
## Concrete Example: Partially-Executed Bolt
|
|
172
|
-
|
|
173
|
-
The following shows a bolt that has completed the elaboration stage and is currently in code generation:
|
|
174
|
-
|
|
175
|
-
```yaml
|
|
176
|
-
---
|
|
177
|
-
id: BOLT-002-repository-layer
|
|
178
|
-
title: "Repository Layer Implementation"
|
|
179
|
-
parent_unit_id: UNIT-001-foundation
|
|
180
|
-
intent: user-auth-system
|
|
181
|
-
sequence: 2
|
|
182
|
-
status: in_progress
|
|
183
|
-
created: "2025-06-15T10:30:00Z"
|
|
184
|
-
started: "2025-06-15T14:00:00Z"
|
|
185
|
-
completed: null
|
|
186
|
-
current_stage: code_generation
|
|
187
|
-
stages_completed:
|
|
188
|
-
- stage: elaboration
|
|
189
|
-
completed_at: "2025-06-15T14:45:00Z"
|
|
190
|
-
depth_target: 6
|
|
191
|
-
express_mode: false
|
|
192
|
-
estimated_effort_hours: 6
|
|
193
|
-
requirements: ["FR-1", "FR-3", "FR-5"]
|
|
194
|
-
stories: ["S-002", "S-003"]
|
|
195
|
-
docs_impact: ["code-comments"]
|
|
196
|
-
requires_bolts: ["BOLT-001-data-model"]
|
|
197
|
-
enables_bolts: ["BOLT-003-service-layer"]
|
|
198
|
-
requires_units: []
|
|
199
|
-
blocked: false
|
|
200
|
-
complexity:
|
|
201
|
-
avg_complexity: 2
|
|
202
|
-
avg_uncertainty: 1
|
|
203
|
-
max_dependencies: 2
|
|
204
|
-
testing_scope: 2
|
|
205
|
-
---
|
|
206
|
-
```
|
|
207
|
-
|
|
208
|
-
```markdown
|
|
209
|
-
# Repository Layer Implementation
|
|
210
|
-
|
|
211
|
-
## Scope
|
|
212
|
-
|
|
213
|
-
Implement the data access layer for the User entity, providing CRUD operations
|
|
214
|
-
and query methods used by the service layer. Builds on the User entity and
|
|
215
|
-
migrations defined in BOLT-001-data-model.
|
|
216
|
-
|
|
217
|
-
## Stories Included
|
|
218
|
-
|
|
219
|
-
- [x] **S-002**: As a developer, I need a user repository with CRUD operations -- Priority: Must
|
|
220
|
-
- [ ] **S-003**: As a developer, I need query methods for user lookup by email -- Priority: Must
|
|
221
|
-
|
|
222
|
-
## Acceptance Criteria
|
|
223
|
-
|
|
224
|
-
- [x] UserRepository class implements create, read, update, delete operations
|
|
225
|
-
- [ ] findByEmail query method returns User or null
|
|
226
|
-
- [ ] All repository methods have unit tests with >80% coverage
|
|
227
|
-
- [ ] Repository uses parameterized queries to prevent SQL injection
|
|
228
|
-
|
|
229
|
-
## Expected Outputs
|
|
230
|
-
|
|
231
|
-
- UserRepository class with CRUD methods
|
|
232
|
-
- Query methods for user lookup
|
|
233
|
-
- Unit tests for all repository operations
|
|
234
|
-
|
|
235
|
-
## Target Files
|
|
236
|
-
|
|
237
|
-
- `src/repositories/user-repository.ts` -- create: UserRepository class
|
|
238
|
-
- `src/repositories/index.ts` -- modify: Export barrel file
|
|
239
|
-
- `tests/repositories/user-repository.test.ts` -- create: Unit tests
|
|
240
|
-
|
|
241
|
-
## Stages
|
|
242
|
-
|
|
243
|
-
- ✅ **1. elaboration**: Complete (2025-06-15T14:45:00Z)
|
|
244
|
-
- ⏳ **2. code_generation**: In Progress
|
|
245
|
-
- [ ] **3. build_and_test**: Pending
|
|
246
|
-
- [ ] **4. review**: Pending
|
|
247
|
-
|
|
248
|
-
## Dependencies
|
|
249
|
-
|
|
250
|
-
### Bolt Dependencies (within unit)
|
|
251
|
-
- **BOLT-001-data-model** (Required): Done
|
|
252
|
-
|
|
253
|
-
### Unit Dependencies (cross-unit)
|
|
254
|
-
- None
|
|
255
|
-
|
|
256
|
-
### Enables (bolts waiting on this)
|
|
257
|
-
- BOLT-003-service-layer
|
|
258
|
-
|
|
259
|
-
## Success Criteria
|
|
260
|
-
|
|
261
|
-
- [ ] All stories implemented
|
|
262
|
-
- [ ] All acceptance criteria met
|
|
263
|
-
- [ ] Tests passing
|
|
264
|
-
- [ ] Code reviewed and approved
|
|
265
|
-
|
|
266
|
-
## Traceability
|
|
267
|
-
|
|
268
|
-
- **Requirements**: FR-1, FR-3, FR-5
|
|
269
|
-
- **Stories**: S-002, S-003
|
|
270
|
-
```
|
|
1
|
+
# Bolt Spec Template
|
|
2
|
+
|
|
3
|
+
Use this template when creating bolt spec files during bolt planning (inception) or when the construction executor needs to create express bolts.
|
|
4
|
+
|
|
5
|
+
**Output path**: `aidlc-docs/{workflowId}/construction/{parent_unit_id}/bolts/{bolt_id}/spec.md`
|
|
6
|
+
|
|
7
|
+
**Stage artifacts are added to the same directory during construction:**
|
|
8
|
+
```text
|
|
9
|
+
aidlc-docs/{workflowId}/construction/{parent_unit_id}/bolts/{bolt_id}/
|
|
10
|
+
spec.md <- Created during bolt planning (this template)
|
|
11
|
+
review.md <- Created during bolt review stage
|
|
12
|
+
```
|
|
13
|
+
|
|
14
|
+
---
|
|
15
|
+
|
|
16
|
+
## Frontmatter
|
|
17
|
+
|
|
18
|
+
```yaml
|
|
19
|
+
---
|
|
20
|
+
id: BOLT-NNN-slug
|
|
21
|
+
title: "Short descriptive title"
|
|
22
|
+
parent_unit_id: UNIT-NNN-unit-name
|
|
23
|
+
intent: {workflow-id}
|
|
24
|
+
sequence: 1
|
|
25
|
+
status: planned
|
|
26
|
+
created: "{YYYY-MM-DDTHH:MM:SSZ}"
|
|
27
|
+
started: null
|
|
28
|
+
completed: null
|
|
29
|
+
current_stage: null
|
|
30
|
+
stages_completed: []
|
|
31
|
+
depth_target: 6
|
|
32
|
+
express_mode: false
|
|
33
|
+
estimated_effort_hours: 4
|
|
34
|
+
requirements: ["FR-1", "FR-3"]
|
|
35
|
+
stories: ["S-001", "S-002"]
|
|
36
|
+
docs_impact: ["none"]
|
|
37
|
+
requires_bolts: []
|
|
38
|
+
enables_bolts: ["BOLT-002-repository-layer"]
|
|
39
|
+
requires_units: []
|
|
40
|
+
blocked: false
|
|
41
|
+
complexity:
|
|
42
|
+
avg_complexity: 2
|
|
43
|
+
avg_uncertainty: 1
|
|
44
|
+
max_dependencies: 2
|
|
45
|
+
testing_scope: 2
|
|
46
|
+
---
|
|
47
|
+
```
|
|
48
|
+
|
|
49
|
+
---
|
|
50
|
+
|
|
51
|
+
## Required Frontmatter Fields
|
|
52
|
+
|
|
53
|
+
| Field | Type | Required | Description |
|
|
54
|
+
|-------|------|----------|-------------|
|
|
55
|
+
| `id` | string | YES | Globally unique bolt ID. Must match `BOLT-NNN-slug` pattern (`^BOLT-\d{3}-[a-z0-9-]+$`). |
|
|
56
|
+
| `title` | string | YES | Short human-readable title. |
|
|
57
|
+
| `parent_unit_id` | string | YES | ID of the parent construction unit (e.g., `UNIT-001-foundation`). |
|
|
58
|
+
| `intent` | string | YES | Parent workflow ID (matches `{workflowId}`). |
|
|
59
|
+
| `sequence` | integer | YES | Execution order within the unit (1-based, positive). |
|
|
60
|
+
| `status` | string | YES | Always `planned` on creation. Lifecycle: `planned` -> `in_progress` -> `built` -> `in_review` -> `done` or `failed`. |
|
|
61
|
+
| `created` | string | YES | ISO 8601 timestamp of spec creation. |
|
|
62
|
+
| `started` | string/null | YES | ISO 8601 timestamp when execution began. `null` on creation. |
|
|
63
|
+
| `completed` | string/null | YES | ISO 8601 timestamp when all stages finished. `null` on creation. |
|
|
64
|
+
| `current_stage` | string/null | YES | Currently executing stage. `null` on creation. |
|
|
65
|
+
| `stages_completed` | array | YES | Array of completed stage records. Empty `[]` on creation. |
|
|
66
|
+
| `depth_target` | number | YES | Reasoning depth (1-11 scale). Express mode threshold: <= 4. |
|
|
67
|
+
| `express_mode` | boolean | YES | `true` if eligible for express execution (skips elaboration). Derived from `depth_target <= 4 OR pathway == 'bugfix'`. |
|
|
68
|
+
| `estimated_effort_hours` | number | YES | Rough hours estimate for human review. |
|
|
69
|
+
| `requirements` | string[] | YES | Requirement IDs from `requirements.md` this bolt satisfies (e.g., `["FR-1", "FR-3"]`). **Minimum 1 required.** |
|
|
70
|
+
| `stories` | string[] | YES | Story IDs from `stories.md` this bolt addresses (e.g., `["S-001"]`). |
|
|
71
|
+
| `docs_impact` | string[] | YES | Documentation types this bolt impacts. Valid values: `none`, `readme`, `user-guide`, `config-reference`, `cli-reference`, `migration-guide`, `architecture`, `code-comments`. |
|
|
72
|
+
| `requires_bolts` | string[] | YES | Bolt IDs that must complete before this bolt begins (within-unit). Empty array `[]` if none. |
|
|
73
|
+
| `enables_bolts` | string[] | YES | Bolt IDs that depend on this bolt completing (reverse deps, informational). Empty array `[]` if none. |
|
|
74
|
+
| `requires_units` | string[] | YES | Unit IDs that must be fully built before this bolt begins (cross-unit). Empty array `[]` if none. |
|
|
75
|
+
| `blocked` | boolean | YES | Always `false` on creation. Set to `true` by executor when a dependency is incomplete. |
|
|
76
|
+
| `complexity` | object | YES | 4-factor complexity assessment block (see below). |
|
|
77
|
+
|
|
78
|
+
### Complexity Block Fields
|
|
79
|
+
|
|
80
|
+
| Field | Type | Range | Description |
|
|
81
|
+
|-------|------|-------|-------------|
|
|
82
|
+
| `avg_complexity` | number | 1-3 | Average complexity score across stories. 1=Low (CRUD), 2=Medium (business rules), 3=High (novel algorithms). |
|
|
83
|
+
| `avg_uncertainty` | number | 1-3 | Average uncertainty score. 1=Fully specified, 2=Some ambiguity, 3=Many unknowns. |
|
|
84
|
+
| `max_dependencies` | number | 1-3 | Highest dependency score among stories. 1=Self-contained, 2=Internal APIs, 3=External systems. |
|
|
85
|
+
| `testing_scope` | number | 1-3 | Required testing depth. 1=Unit tests, 2=Integration tests, 3=E2E + manual. |
|
|
86
|
+
|
|
87
|
+
---
|
|
88
|
+
|
|
89
|
+
## Required Body Content
|
|
90
|
+
|
|
91
|
+
```markdown
|
|
92
|
+
# {Bolt Title}
|
|
93
|
+
|
|
94
|
+
## Scope
|
|
95
|
+
|
|
96
|
+
{What this bolt implements. Focused description.}
|
|
97
|
+
|
|
98
|
+
## Stories Included
|
|
99
|
+
|
|
100
|
+
- [ ] **S-001**: {title} -- Priority: {Must|Should|Could}
|
|
101
|
+
- [ ] **S-002**: {title} -- Priority: {Must|Should|Could}
|
|
102
|
+
|
|
103
|
+
## Acceptance Criteria
|
|
104
|
+
|
|
105
|
+
- [ ] {Measurable, verifiable criterion 1}
|
|
106
|
+
- [ ] {Measurable, verifiable criterion 2}
|
|
107
|
+
|
|
108
|
+
## Expected Outputs
|
|
109
|
+
|
|
110
|
+
- {Concrete deliverable 1}
|
|
111
|
+
- {Concrete deliverable 2}
|
|
112
|
+
|
|
113
|
+
## Target Files
|
|
114
|
+
|
|
115
|
+
- `{path/to/file.ts}` -- {create|modify}: {brief description}
|
|
116
|
+
|
|
117
|
+
## Stages
|
|
118
|
+
|
|
119
|
+
- [ ] **1. elaboration**: Pending
|
|
120
|
+
- [ ] **2. code_generation**: Pending
|
|
121
|
+
- [ ] **3. build_and_test**: Pending
|
|
122
|
+
- [ ] **4. review**: Pending
|
|
123
|
+
|
|
124
|
+
## Dependencies
|
|
125
|
+
|
|
126
|
+
### Bolt Dependencies (within unit)
|
|
127
|
+
- {BOLT-ID} (Required): {status}
|
|
128
|
+
|
|
129
|
+
### Unit Dependencies (cross-unit)
|
|
130
|
+
- {UNIT-ID}: {what is needed} -- {status}
|
|
131
|
+
|
|
132
|
+
### Enables (bolts waiting on this)
|
|
133
|
+
- {BOLT-ID}
|
|
134
|
+
|
|
135
|
+
## Success Criteria
|
|
136
|
+
|
|
137
|
+
- [ ] All stories implemented
|
|
138
|
+
- [ ] All acceptance criteria met
|
|
139
|
+
- [ ] Tests passing
|
|
140
|
+
- [ ] Code reviewed and approved
|
|
141
|
+
|
|
142
|
+
## Traceability
|
|
143
|
+
|
|
144
|
+
- **Requirements**: {FR-1, FR-2}
|
|
145
|
+
- **Stories**: {S-001, S-002}
|
|
146
|
+
```
|
|
147
|
+
|
|
148
|
+
---
|
|
149
|
+
|
|
150
|
+
## Status Values
|
|
151
|
+
|
|
152
|
+
- **planned**: Bolt created, not yet started
|
|
153
|
+
- **in_progress**: Currently being executed
|
|
154
|
+
- **built**: Code generation and build complete, awaiting review
|
|
155
|
+
- **in_review**: Under review by reviewer agent
|
|
156
|
+
- **done**: All stages complete, review approved
|
|
157
|
+
- **failed**: Stage failed after maximum retries
|
|
158
|
+
- **blocked**: Cannot proceed due to unresolved dependency
|
|
159
|
+
|
|
160
|
+
---
|
|
161
|
+
|
|
162
|
+
## Stage Status Symbols
|
|
163
|
+
|
|
164
|
+
- `- [ ]` = Pending
|
|
165
|
+
- `- ⏳` = In Progress
|
|
166
|
+
- `- ✅` = Complete
|
|
167
|
+
- `- ⊘` = Skipped (express mode)
|
|
168
|
+
|
|
169
|
+
---
|
|
170
|
+
|
|
171
|
+
## Concrete Example: Partially-Executed Bolt
|
|
172
|
+
|
|
173
|
+
The following shows a bolt that has completed the elaboration stage and is currently in code generation:
|
|
174
|
+
|
|
175
|
+
```yaml
|
|
176
|
+
---
|
|
177
|
+
id: BOLT-002-repository-layer
|
|
178
|
+
title: "Repository Layer Implementation"
|
|
179
|
+
parent_unit_id: UNIT-001-foundation
|
|
180
|
+
intent: user-auth-system
|
|
181
|
+
sequence: 2
|
|
182
|
+
status: in_progress
|
|
183
|
+
created: "2025-06-15T10:30:00Z"
|
|
184
|
+
started: "2025-06-15T14:00:00Z"
|
|
185
|
+
completed: null
|
|
186
|
+
current_stage: code_generation
|
|
187
|
+
stages_completed:
|
|
188
|
+
- stage: elaboration
|
|
189
|
+
completed_at: "2025-06-15T14:45:00Z"
|
|
190
|
+
depth_target: 6
|
|
191
|
+
express_mode: false
|
|
192
|
+
estimated_effort_hours: 6
|
|
193
|
+
requirements: ["FR-1", "FR-3", "FR-5"]
|
|
194
|
+
stories: ["S-002", "S-003"]
|
|
195
|
+
docs_impact: ["code-comments"]
|
|
196
|
+
requires_bolts: ["BOLT-001-data-model"]
|
|
197
|
+
enables_bolts: ["BOLT-003-service-layer"]
|
|
198
|
+
requires_units: []
|
|
199
|
+
blocked: false
|
|
200
|
+
complexity:
|
|
201
|
+
avg_complexity: 2
|
|
202
|
+
avg_uncertainty: 1
|
|
203
|
+
max_dependencies: 2
|
|
204
|
+
testing_scope: 2
|
|
205
|
+
---
|
|
206
|
+
```
|
|
207
|
+
|
|
208
|
+
```markdown
|
|
209
|
+
# Repository Layer Implementation
|
|
210
|
+
|
|
211
|
+
## Scope
|
|
212
|
+
|
|
213
|
+
Implement the data access layer for the User entity, providing CRUD operations
|
|
214
|
+
and query methods used by the service layer. Builds on the User entity and
|
|
215
|
+
migrations defined in BOLT-001-data-model.
|
|
216
|
+
|
|
217
|
+
## Stories Included
|
|
218
|
+
|
|
219
|
+
- [x] **S-002**: As a developer, I need a user repository with CRUD operations -- Priority: Must
|
|
220
|
+
- [ ] **S-003**: As a developer, I need query methods for user lookup by email -- Priority: Must
|
|
221
|
+
|
|
222
|
+
## Acceptance Criteria
|
|
223
|
+
|
|
224
|
+
- [x] UserRepository class implements create, read, update, delete operations
|
|
225
|
+
- [ ] findByEmail query method returns User or null
|
|
226
|
+
- [ ] All repository methods have unit tests with >80% coverage
|
|
227
|
+
- [ ] Repository uses parameterized queries to prevent SQL injection
|
|
228
|
+
|
|
229
|
+
## Expected Outputs
|
|
230
|
+
|
|
231
|
+
- UserRepository class with CRUD methods
|
|
232
|
+
- Query methods for user lookup
|
|
233
|
+
- Unit tests for all repository operations
|
|
234
|
+
|
|
235
|
+
## Target Files
|
|
236
|
+
|
|
237
|
+
- `src/repositories/user-repository.ts` -- create: UserRepository class
|
|
238
|
+
- `src/repositories/index.ts` -- modify: Export barrel file
|
|
239
|
+
- `tests/repositories/user-repository.test.ts` -- create: Unit tests
|
|
240
|
+
|
|
241
|
+
## Stages
|
|
242
|
+
|
|
243
|
+
- ✅ **1. elaboration**: Complete (2025-06-15T14:45:00Z)
|
|
244
|
+
- ⏳ **2. code_generation**: In Progress
|
|
245
|
+
- [ ] **3. build_and_test**: Pending
|
|
246
|
+
- [ ] **4. review**: Pending
|
|
247
|
+
|
|
248
|
+
## Dependencies
|
|
249
|
+
|
|
250
|
+
### Bolt Dependencies (within unit)
|
|
251
|
+
- **BOLT-001-data-model** (Required): Done
|
|
252
|
+
|
|
253
|
+
### Unit Dependencies (cross-unit)
|
|
254
|
+
- None
|
|
255
|
+
|
|
256
|
+
### Enables (bolts waiting on this)
|
|
257
|
+
- BOLT-003-service-layer
|
|
258
|
+
|
|
259
|
+
## Success Criteria
|
|
260
|
+
|
|
261
|
+
- [ ] All stories implemented
|
|
262
|
+
- [ ] All acceptance criteria met
|
|
263
|
+
- [ ] Tests passing
|
|
264
|
+
- [ ] Code reviewed and approved
|
|
265
|
+
|
|
266
|
+
## Traceability
|
|
267
|
+
|
|
268
|
+
- **Requirements**: FR-1, FR-3, FR-5
|
|
269
|
+
- **Stories**: S-002, S-003
|
|
270
|
+
```
|