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.
Files changed (49) hide show
  1. package/.claude-plugin/plugin.json +1 -1
  2. package/dist/cli/index.js +63 -27
  3. package/dist/cli/index.js.map +1 -1
  4. package/dist/hooks/olympus-hooks.cjs +257 -257
  5. package/dist/installer/hooks.d.ts +47 -14
  6. package/dist/installer/hooks.d.ts.map +1 -1
  7. package/dist/installer/hooks.js +45 -77
  8. package/dist/installer/hooks.js.map +1 -1
  9. package/dist/installer/index.d.ts +8 -7
  10. package/dist/installer/index.d.ts.map +1 -1
  11. package/dist/installer/index.js +49 -46
  12. package/dist/installer/index.js.map +1 -1
  13. package/package.json +1 -1
  14. package/resources/config/risk-keywords.json +5 -5
  15. package/resources/rules/common/ascii-diagram-standards.md +115 -115
  16. package/resources/rules/common/content-validation.md +131 -131
  17. package/resources/rules/common/error-handling.md +430 -430
  18. package/resources/rules/common/markdown-formatting.md +170 -170
  19. package/resources/rules/common/overconfidence-prevention.md +100 -100
  20. package/resources/rules/common/pathway-behaviors.json +60 -60
  21. package/resources/rules/common/pathway-behaviors.md +100 -100
  22. package/resources/rules/common/process-overview.md +157 -157
  23. package/resources/rules/common/terminal-formatting.md +161 -161
  24. package/resources/rules/common/terminology.md +189 -189
  25. package/resources/rules/common/welcome-message.md +118 -118
  26. package/resources/rules/common/workflow-changes.md +285 -285
  27. package/resources/rules/construction/bolt-planning.md +153 -153
  28. package/resources/rules/construction/bolt-review.md +143 -143
  29. package/resources/rules/construction/build-and-test.md +527 -527
  30. package/resources/rules/construction/code-generation.md +414 -414
  31. package/resources/rules/construction/documentation.md +201 -201
  32. package/resources/rules/construction/functional-design.md +135 -135
  33. package/resources/rules/construction/infrastructure-design.md +110 -110
  34. package/resources/rules/construction/nfr-design.md +106 -106
  35. package/resources/rules/construction/nfr-requirements.md +118 -118
  36. package/resources/rules/construction/test-generation.md +112 -112
  37. package/resources/rules/core-workflow.md +196 -196
  38. package/resources/rules/inception/application-design.md +195 -195
  39. package/resources/rules/inception/bolt-planning.md +588 -588
  40. package/resources/rules/inception/reverse-engineering.md +354 -354
  41. package/resources/rules/inception/units-generation.md +505 -505
  42. package/resources/rules/inception/user-stories.md +527 -527
  43. package/resources/rules/inception/workspace-detection.md +82 -82
  44. package/resources/rules/operations/operations.md +19 -19
  45. package/resources/skills/brief/templates/ai-dlc-intent-brief-template.md +149 -149
  46. package/resources/skills/getting-started/SKILL.md +79 -79
  47. package/resources/templates/construction/bolt-spec-template.md +270 -270
  48. package/resources/templates/inception/unit-brief-template.md +188 -188
  49. 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
+ ```