specsmd 0.0.34 → 0.1.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (33) hide show
  1. package/README.md +21 -1
  2. package/flows/aidlc/agents/inception-agent.md +4 -2
  3. package/flows/aidlc/context-config.yaml +28 -2
  4. package/flows/aidlc/memory-bank.yaml +7 -7
  5. package/flows/aidlc/skills/construction/bolt-list.md +14 -14
  6. package/flows/aidlc/skills/construction/bolt-replan.md +37 -35
  7. package/flows/aidlc/skills/construction/bolt-start.md +133 -8
  8. package/flows/aidlc/skills/construction/navigator.md +7 -7
  9. package/flows/aidlc/skills/inception/bolt-plan.md +50 -30
  10. package/flows/aidlc/skills/master/analyze-context.md +107 -0
  11. package/flows/aidlc/skills/master/explain-flow.md +13 -1
  12. package/flows/aidlc/templates/construction/bolt-template.md +13 -1
  13. package/flows/aidlc/templates/construction/bolt-types/ddd-construction-bolt/adr-template.md +1 -1
  14. package/flows/aidlc/templates/construction/bolt-types/ddd-construction-bolt/ddd-01-domain-model-template.md +1 -1
  15. package/flows/aidlc/templates/construction/bolt-types/ddd-construction-bolt/ddd-02-technical-design-template.md +1 -1
  16. package/flows/aidlc/templates/construction/bolt-types/ddd-construction-bolt/ddd-03-test-report-template.md +1 -1
  17. package/flows/aidlc/templates/construction/bolt-types/ddd-construction-bolt.md +3 -3
  18. package/flows/aidlc/templates/construction/bolt-types/simple-construction-bolt.md +92 -23
  19. package/flows/aidlc/templates/construction/bolt-types/spike-bolt.md +2 -2
  20. package/flows/aidlc/templates/construction/construction-log-template.md +2 -2
  21. package/flows/aidlc/templates/inception/inception-log-template.md +2 -2
  22. package/flows/aidlc/templates/inception/requirements-template.md +2 -2
  23. package/flows/aidlc/templates/inception/stories-template.md +1 -1
  24. package/flows/aidlc/templates/inception/story-template.md +2 -2
  25. package/flows/aidlc/templates/inception/system-context-template.md +1 -1
  26. package/flows/aidlc/templates/inception/unit-brief-template.md +2 -2
  27. package/flows/aidlc/templates/inception/units-template.md +1 -1
  28. package/lib/analytics/env-detector.js +92 -0
  29. package/lib/analytics/index.js +22 -0
  30. package/lib/analytics/machine-id.js +33 -0
  31. package/lib/analytics/tracker.js +205 -0
  32. package/lib/installer.js +75 -1
  33. package/package.json +4 -3
package/README.md CHANGED
@@ -1,5 +1,9 @@
1
1
  # specs.md
2
2
 
3
+ <p align="center">
4
+ <img src="images/specs_md_pixel_logo.png" alt="specs.md logo" width="400" />
5
+ </p>
6
+
3
7
  **AI-native software development with multi-agent orchestration.**
4
8
 
5
9
  specsmd implements the [AI-Driven Development Lifecycle (AI-DLC)](https://aws.amazon.com/blogs/devops/ai-driven-development-life-cycle/) methodology as a set of markdown-based agents that work with your favorite AI coding tools.
@@ -14,6 +18,22 @@ specsmd implements the [AI-Driven Development Lifecycle (AI-DLC)](https://aws.am
14
18
 
15
19
  ---
16
20
 
21
+ ## VS Code Extension
22
+
23
+ Track your AI-DLC progress with our sidebar extension for VS Code and compatible IDEs.
24
+
25
+ <p align="center">
26
+ <img src="vs-code-extension/resources/extension-preview.png" alt="VS Code Extension Preview" width="800" />
27
+ </p>
28
+
29
+ > **Note:** Works with any VS Code-based IDE including [Cursor](https://cursor.sh), [Google Antigravity](https://antigravity.google), [Windsurf](https://codeium.com/windsurf), and others.
30
+
31
+ **Install from:**
32
+ - [VS Code Marketplace](https://marketplace.visualstudio.com/items?itemName=fabriqaai.specsmd)
33
+ - [GitHub Releases (VSIX)](https://github.com/fabriqaai/specs.md/releases)
34
+
35
+ ---
36
+
17
37
  ## Quick Start
18
38
 
19
39
  ### Prerequisites
@@ -162,7 +182,7 @@ The smallest iteration in AI-DLC, designed for rapid implementation. Unlike Spri
162
182
  | Type | Best For | Stages |
163
183
  |------|----------|--------|
164
184
  | **DDD Construction** | Complex business logic, domain modeling | Model → Design → ADR → Implement → Test |
165
- | **Simple Construction** | UI, integrations, utilities | Spec → Implement → Test |
185
+ | **Simple Construction** | UI, integrations, utilities | Plan → Implement → Test |
166
186
 
167
187
  ### Memory Bank
168
188
  File-based storage for all project artifacts. Maintains context across agent sessions and provides traceability between artifacts.
@@ -17,8 +17,10 @@ You are the **Inception Agent** for AI-DLC (AI-Driven Development Life Cycle).
17
17
  When user invokes `/specsmd-inception-agent`:
18
18
 
19
19
  1. Read `.specsmd/aidlc/memory-bank.yaml` for artifact schema
20
- 2. Execute `menu` (navigator) skill to show state and options
21
- 3. Route to selected skill based on user input
20
+ 2. Read `.specsmd/aidlc/context-config.yaml` for project context (under `agents.inception`)
21
+ 3. Load context files as defined (e.g., `project.yaml` for project type awareness)
22
+ 4. Execute `menu` (navigator) skill to show state and options
23
+ 5. Route to selected skill based on user input
22
24
 
23
25
  ---
24
26
 
@@ -37,5 +37,31 @@ agents:
37
37
 
38
38
  Or continue without standards (code may be inconsistent).
39
39
 
40
- # Note: Other agents (Master, Inception, Operations) do not require
41
- # standards to be loaded. They will be added here when needed.
40
+ inception:
41
+ description: "Inception Agent needs project type awareness for unit decomposition"
42
+ required_context:
43
+ - path: project.yaml
44
+ purpose: "Project type for unit decomposition and bolt type defaults"
45
+ critical: false
46
+
47
+ optional_context:
48
+ - path: standards/tech-stack.md
49
+ purpose: "Technology context for realistic decomposition"
50
+
51
+ on_missing_critical:
52
+ action: continue
53
+ message: |
54
+ ℹ️ Project not initialized yet.
55
+
56
+ The project.yaml file will be created during project-init.
57
+ Inception can proceed without it (will use defaults).
58
+
59
+ operations:
60
+ description: "Operations Agent requires deployment context"
61
+ required_context: []
62
+ optional_context:
63
+ - path: standards/system-architecture.md
64
+ purpose: "Architecture for deployment decisions"
65
+
66
+ - path: operations/deployment-config.md
67
+ purpose: "Existing deployment configuration"
@@ -50,20 +50,20 @@ naming:
50
50
  note: "3-digit prefix indicates order, kebab-case name"
51
51
 
52
52
  units:
53
- format: "{unit-name}"
54
- example: "auth-service"
55
- note: "Kebab-case, descriptive name"
53
+ format: "{UUU}-{unit-name}"
54
+ example: "001-auth-service"
55
+ note: "3-digit prefix within intent, kebab-case name"
56
56
 
57
57
  stories:
58
58
  format: "{SSS}-{title-slug}.md"
59
59
  example: "001-user-signup.md"
60
60
  note: "3-digit story number + kebab-case story title"
61
- full_path_example: "memory-bank/intents/001-user-authentication/units/auth-service/stories/001-user-signup.md"
61
+ full_path_example: "memory-bank/intents/001-user-authentication/units/001-auth-service/stories/001-user-signup.md"
62
62
 
63
63
  bolts:
64
- format: "bolt-{unit-name}-{N}/"
65
- example: "bolt-auth-service-1/"
66
- note: "Directory per bolt, contains bolt.md and stage artifacts"
64
+ format: "{BBB}-{unit-name}/"
65
+ example: "001-auth-service/"
66
+ note: "Global 3-digit sequence, unit name for context"
67
67
  contents:
68
68
  - "bolt.md" # Bolt instance metadata
69
69
  - "ddd-01-domain-model.md" # Stage 1 artifact (DDD bolt)
@@ -73,20 +73,20 @@ Sort bolts by:
73
73
 
74
74
  ### Active Bolts
75
75
 
76
- - ⏳ **bolt-auth-2** (auth-service, {bolt-type}) - Stage: {current-stage}, 2/4 (50%) ← working
76
+ - ⏳ **002-auth-service** (auth-service, {bolt-type}) - Stage: {current-stage}, 2/4 (50%) ← working
77
77
 
78
78
  ### Planned Bolts
79
79
 
80
- - [ ] **bolt-auth-3** (auth-service) - Stories: 005-*, 006-* - Ready ✅
81
- - [ ] **bolt-payments-1** (payment-api) - Stories: 001-*, 002-*, 003-* - Ready ✅
80
+ - [ ] **003-auth-service** (auth-service) - Stories: 005-*, 006-* - Ready ✅
81
+ - [ ] **004-payment-api** (payment-api) - Stories: 001-*, 002-*, 003-* - Ready ✅
82
82
 
83
83
  ### Blocked Bolts
84
84
 
85
- - 🚫 **bolt-api-1** - Waiting for auth (since 2024-12-04)
85
+ - 🚫 **005-api-gateway** - Waiting for auth (since 2024-12-04)
86
86
 
87
87
  ### Completed Bolts
88
88
 
89
- - ✅ **bolt-auth-1** (auth-service) - Completed 2024-12-05 (4 hours)
89
+ - ✅ **001-auth-service** (auth-service) - Completed 2024-12-05 (4 hours)
90
90
 
91
91
  ### Summary
92
92
  - **Total**: {n} bolts
@@ -97,8 +97,8 @@ Sort bolts by:
97
97
 
98
98
  ### Actions
99
99
 
100
- 1 - **Continue active bolt**: Resume `bolt-auth-2`
101
- 2 - **Start planned bolt**: Begin `bolt-auth-3`
100
+ 1 - **Continue active bolt**: Resume `002-auth-service`
101
+ 2 - **Start planned bolt**: Begin `003-auth-service`
102
102
  3 - **View bolt status**: Check detailed status
103
103
  4 - **Plan new bolts**: Create additional bolts
104
104
 
@@ -112,14 +112,14 @@ Sort bolts by:
112
112
  ```markdown
113
113
  ## Bolts for Unit: {unit-name}
114
114
 
115
- - ✅ **bolt-{unit}-1** ({bolt-type}) - Completed 100% - Stories: 001-*, 002-*
116
- - ⏳ **bolt-{unit}-2** ({bolt-type}) - In progress 50% - Stories: 003-*, 004-* ← current
117
- - [ ] **bolt-{unit}-3** ({bolt-type}) - Planned 0% - Stories: 005-*
115
+ - ✅ **001-{unit-name}** ({bolt-type}) - Completed 100% - Stories: 001-*, 002-*
116
+ - ⏳ **002-{unit-name}** ({bolt-type}) - In progress 50% - Stories: 003-*, 004-* ← current
117
+ - [ ] **003-{unit-name}** ({bolt-type}) - Planned 0% - Stories: 005-*
118
118
 
119
119
  ### Quick Actions
120
120
 
121
- 1 - **Continue bolt-{unit}-2**: Resume current work
122
- 2 - **View bolt-{unit}-1 status**: Review completed bolt
121
+ 1 - **Continue 002-{unit-name}**: Resume current work
122
+ 2 - **View 001-{unit-name} status**: Review completed bolt
123
123
 
124
124
  **Type a number to continue.**
125
125
  ```
@@ -133,8 +133,8 @@ Sort bolts by:
133
133
  ```text
134
134
  ### Available Bolts
135
135
 
136
- 1 - bolt-{unit}-1 (planned) - Stories: 001-*, 002-*
137
- 2 - bolt-{unit}-2 (planned) - Stories: 003-*, 004-*
136
+ 1 - 001-{unit-name} (planned) - Stories: 001-*, 002-*
137
+ 2 - 002-{unit-name} (planned) - Stories: 003-*, 004-*
138
138
 
139
139
  Which bolt would you like to work on?
140
140
  ```
@@ -33,9 +33,9 @@ Replan bolts during Construction phase - add new bolts, split existing ones, or
33
33
  ```markdown
34
34
  ## Current Bolt Status: {unit-name}
35
35
 
36
- - ✅ **bolt-auth-service-1** ({bolt-type}): 001-user-signup, 002-user-login - completed - No dependencies
37
- - ⏳ **bolt-auth-service-2** ({bolt-type}): 003-password-reset, 004-email-verify - in-progress - requires bolt-1
38
- - [ ] **bolt-auth-service-3** ({bolt-type}): 005-mfa-setup - planned - requires bolt-2
36
+ - ✅ **001-auth-service** ({bolt-type}): 001-user-signup, 002-user-login - completed - No dependencies
37
+ - ⏳ **002-auth-service** ({bolt-type}): 003-password-reset, 004-email-verify - in-progress - requires 001-auth-service
38
+ - [ ] **003-auth-service** ({bolt-type}): 005-mfa-setup - planned - requires 002-auth-service
39
39
 
40
40
  ### Summary
41
41
 
@@ -86,8 +86,10 @@ Select an option (1-4):
86
86
  ```
87
87
 
88
88
  2. **Determine next bolt ID**:
89
- - Read existing bolts, find highest sequence number
90
- - Next bolt: `bolt-{unit}-{N+1}`
89
+ - List all directories in `memory-bank/bolts/`
90
+ - Extract the 3-digit prefix from each (e.g., `015` from `015-auth-service`)
91
+ - Find the highest number
92
+ - Next bolt: `{next-BBB}-{unit-name}` (e.g., if highest is `015`, next is `016-auth-service`)
91
93
 
92
94
  3. **Create new bolt(s)**:
93
95
  - Use template: `.specsmd/aidlc/templates/construction/bolt-template.md`
@@ -103,12 +105,12 @@ Select an option (1-4):
103
105
 
104
106
  Created 1 new bolt:
105
107
 
106
- - [ ] **bolt-auth-service-4** ({bolt-type}): 006-session-mgmt, 007-api-keys - requires bolt-3
108
+ - [ ] **004-auth-service** ({bolt-type}): 006-session-mgmt, 007-api-keys - requires 003-auth-service
107
109
 
108
110
  Updated dependency graph:
109
- bolt-1bolt-2bolt-3bolt-4 (NEW)
111
+ 001-auth-service002-auth-service003-auth-service004-auth-service (NEW)
110
112
 
111
- File created: `memory-bank/bolts/bolt-auth-service-4.md`
113
+ File created: `memory-bank/bolts/004-auth-service/bolt.md`
112
114
  ```
113
115
 
114
116
  ---
@@ -136,8 +138,8 @@ Select an option (1-4):
136
138
 
137
139
  Splittable bolts (planned or in-progress):
138
140
 
139
- - ⏳ **bolt-auth-service-2** ({bolt-type}): 003-password-reset, 004-email-verify, 005-mfa-setup - in-progress - ⚠️ Confirm to split
140
- - [ ] **bolt-auth-service-3** ({bolt-type}): 006-session-mgmt, 007-api-keys, 008-rate-limit - planned - ✅ Can split
141
+ - ⏳ **002-auth-service** ({bolt-type}): 003-password-reset, 004-email-verify, 005-mfa-setup - in-progress - ⚠️ Confirm to split
142
+ - [ ] **003-auth-service** ({bolt-type}): 006-session-mgmt, 007-api-keys, 008-rate-limit - planned - ✅ Can split
141
143
 
142
144
  Enter bolt ID to split:
143
145
  ```
@@ -145,21 +147,21 @@ Select an option (1-4):
145
147
  2. **Propose split**:
146
148
 
147
149
  ```markdown
148
- ## Split Proposal: bolt-auth-service-3
150
+ ## Split Proposal: 003-auth-service
149
151
 
150
152
  Current: 3 stories (006-session-mgmt, 007-api-keys, 008-rate-limit)
151
153
 
152
154
  Proposed split:
153
155
 
154
- - **bolt-auth-service-3a**: 006-session-mgmt - Core feature
155
- - **bolt-auth-service-3b**: 007-api-keys, 008-rate-limit - Related edge cases
156
+ - **003-auth-service**: 006-session-mgmt - Core feature
157
+ - **004-auth-service**: 007-api-keys, 008-rate-limit - Related edge cases
156
158
 
157
159
  Accept this split? (yes/no/customize)
158
160
  ```
159
161
 
160
162
  3. **Execute split**:
161
163
  - Archive or update original bolt file
162
- - Create new bolt files with `3a`, `3b` suffixes (or next sequence)
164
+ - Create new bolt files with next sequence number
163
165
  - Update dependencies on dependent bolts
164
166
  - Update `enables_bolts` on prerequisite bolts
165
167
 
@@ -168,17 +170,17 @@ Select an option (1-4):
168
170
  ```markdown
169
171
  ## Bolt Split Complete
170
172
 
171
- Original: bolt-auth-service-3 (archived)
173
+ Original: 003-auth-service (updated)
172
174
 
173
175
  Created:
174
176
 
175
- - [ ] **bolt-auth-service-3** ({bolt-type}): 006-session-mgmt - requires bolt-2
176
- - [ ] **bolt-auth-service-4** ({bolt-type}): 007-api-keys, 008-rate-limit - requires bolt-3
177
+ - [ ] **003-auth-service** ({bolt-type}): 006-session-mgmt - requires 002-auth-service
178
+ - [ ] **004-auth-service** ({bolt-type}): 007-api-keys, 008-rate-limit - requires 003-auth-service
177
179
 
178
180
  Updated files:
179
- - `memory-bank/bolts/bolt-auth-service-3.md` (updated)
180
- - `memory-bank/bolts/bolt-auth-service-4.md` (created)
181
- - `memory-bank/bolts/bolt-auth-service-2.md` (updated enables_bolts)
181
+ - `memory-bank/bolts/003-auth-service/bolt.md` (updated)
182
+ - `memory-bank/bolts/004-auth-service/bolt.md` (created)
183
+ - `memory-bank/bolts/002-auth-service/bolt.md` (updated enables_bolts)
182
184
  ```
183
185
 
184
186
  ---
@@ -204,21 +206,21 @@ Select an option (1-4):
204
206
  ```markdown
205
207
  ## Current Execution Order
206
208
 
207
- bolt-1 (completed) → bolt-2 (in-progress) → bolt-3 (planned) → bolt-4 (planned)
209
+ 001-auth-service (completed) → 002-auth-service (in-progress) → 003-auth-service (planned) → 004-auth-service (planned)
208
210
 
209
- - 1 - **bolt-auth-service-1**: completed - ❌ Cannot move
210
- - 2 - **bolt-auth-service-2**: in-progress - ⚠️ Will pause if moved
211
- - 3 - **bolt-auth-service-3**: planned - ✅ Can move
212
- - 4 - **bolt-auth-service-4**: planned - ✅ Can move
211
+ - 1 - **001-auth-service**: completed - ❌ Cannot move
212
+ - 2 - **002-auth-service**: in-progress - ⚠️ Will pause if moved
213
+ - 3 - **003-auth-service**: planned - ✅ Can move
214
+ - 4 - **004-auth-service**: planned - ✅ Can move
213
215
  ```
214
216
 
215
217
  2. **Get new order**:
216
218
 
217
219
  ```markdown
218
220
  Enter new order for planned bolts (comma-separated IDs):
219
- Example: bolt-auth-service-4, bolt-auth-service-3
221
+ Example: 004-auth-service, 003-auth-service
220
222
 
221
- This will execute bolt-4 before bolt-3.
223
+ This will execute 004-auth-service before 003-auth-service.
222
224
  ```
223
225
 
224
226
  3. **Validate dependencies**:
@@ -236,11 +238,11 @@ Select an option (1-4):
236
238
 
237
239
  New execution order:
238
240
 
239
- bolt-1 (completed) → bolt-2 (in-progress) → bolt-4 (planned) → bolt-3 (planned)
241
+ 001-auth-service (completed) → 002-auth-service (in-progress) → 004-auth-service (planned) → 003-auth-service (planned)
240
242
 
241
243
  Updated files:
242
- - `memory-bank/bolts/bolt-auth-service-3.md` (requires_bolts updated)
243
- - `memory-bank/bolts/bolt-auth-service-4.md` (requires_bolts updated)
244
+ - `memory-bank/bolts/003-auth-service/bolt.md` (requires_bolts updated)
245
+ - `memory-bank/bolts/004-auth-service/bolt.md` (requires_bolts updated)
244
246
  ```
245
247
 
246
248
  ---
@@ -253,10 +255,10 @@ When modifying bolts, always update dependencies:
253
255
 
254
256
  ```yaml
255
257
  ---
256
- id: bolt-auth-service-3
258
+ id: 003-auth-service
257
259
  type: ddd-construction-bolt
258
- requires_bolts: [bolt-auth-service-2]
259
- enables_bolts: [bolt-auth-service-4]
260
+ requires_bolts: [002-auth-service]
261
+ enables_bolts: [004-auth-service]
260
262
  requires_units: []
261
263
  complexity:
262
264
  avg_complexity: 2
@@ -314,12 +316,12 @@ Update Current Bolt Structure to reflect changes.
314
316
 
315
317
  ### Example
316
318
 
317
- After splitting bolt-2:
319
+ After splitting 002-auth-service:
318
320
 
319
321
  ```markdown
320
322
  ## Replanning History
321
323
 
322
- - **2025-12-07**: split - bolt-2bolt-2, bolt-3 - Scope too large - ✅ Approved
324
+ - **2025-12-07**: split - 002-auth-service002-auth-service, 003-auth-service - Scope too large - ✅ Approved
323
325
  ```
324
326
 
325
327
  ---
@@ -61,7 +61,21 @@ Read bolt file from path defined by `schema.bolts`:
61
61
  └────────────────────────────────────────────────────────────┘
62
62
  ```
63
63
 
64
- ### 3. Load Agent Context
64
+ ### 3. Load Unit Context (CRITICAL)
65
+
66
+ **After extracting the unit from the bolt file, load its brief for context.**
67
+
68
+ Load `{intent}/units/{unit}/unit-brief.md` which contains:
69
+
70
+ - **Purpose and scope**: What the unit is responsible for
71
+ - **Key entities**: Domain concepts to work with
72
+ - **Technical constraints**: Specific limitations
73
+ - **Dependencies**: Other units this depends on
74
+ - **Unit type and bolt type**: Frontend vs backend, DDD vs simple
75
+
76
+ This context is essential for understanding what you're building.
77
+
78
+ ### 4. Load Agent Context
65
79
 
66
80
  Load context as defined in `.specsmd/aidlc/context-config.yaml` for the `construction` agent:
67
81
 
@@ -81,16 +95,38 @@ agents:
81
95
 
82
96
  **Note**: This is agent-level context. Bolt-type-specific context loading may be added later.
83
97
 
84
- ### 4. Determine Current Stage
98
+ ### 5. Determine Current Stage
85
99
 
86
100
  Based on bolt state:
87
101
 
88
- - **planned** → Start with first stage, set status to `in-progress`
102
+ - **planned** → Start with first stage, update bolt file immediately (see Step 6)
89
103
  - **in-progress** → Continue from `current_stage`
90
104
  - **completed** → Inform user bolt is done
91
105
  - **blocked** → Show blocker, ask how to resolve
92
106
 
93
- ### 5. Execute Stage
107
+ ### 6. Update Bolt File on Start (CRITICAL - DO FIRST)
108
+
109
+ **⚠️ BEFORE any stage work begins, update the bolt file IMMEDIATELY.**
110
+
111
+ When transitioning from `planned` to `in-progress`:
112
+
113
+ ```yaml
114
+ ---
115
+ status: in-progress # was: planned
116
+ started: {ISO-8601-timestamp} # was: null
117
+ current_stage: {first-stage} # was: null (e.g., "domain-model")
118
+ ---
119
+ ```
120
+
121
+ **This is NON-NEGOTIABLE.** The bolt file must reflect that work has begun before any stage activities start. This ensures:
122
+
123
+ 1. Progress is tracked even if execution is interrupted
124
+ 2. Other tools/agents see accurate status
125
+ 3. Resumption works correctly
126
+
127
+ **Also update construction log** (see "Update Construction Log" section below).
128
+
129
+ ### 7. Execute Stage
94
130
 
95
131
  For the current stage, follow the bolt type definition:
96
132
 
@@ -122,7 +158,7 @@ For the current stage, follow the bolt type definition:
122
158
  - Use templates if specified by bolt type
123
159
  - Place in correct paths per schema
124
160
 
125
- ### 6. Handle Checkpoints (As Defined by Bolt Type)
161
+ ### 8. Handle Checkpoints (As Defined by Bolt Type)
126
162
 
127
163
  The bolt type definition specifies:
128
164
 
@@ -146,9 +182,9 @@ Ready to proceed?
146
182
 
147
183
  If the bolt type specifies automatic validation criteria, follow those rules.
148
184
 
149
- ### 7. Update Bolt File
185
+ ### 9. Update Bolt File on Stage Completion
150
186
 
151
- After stage completion:
187
+ After each stage completion:
152
188
 
153
189
  - Add stage to `stages_completed` with timestamp
154
190
  - Update `current_stage` to next stage
@@ -171,7 +207,96 @@ stages_completed:
171
207
  completed: {timestamp}
172
208
  ```
173
209
 
174
- ### 8. Continue or Complete
210
+ #### Update Story Status (On Bolt Completion)
211
+
212
+ When marking a bolt as `status: complete`, update all stories in the bolt's `stories` array:
213
+
214
+ 1. **Read bolt's stories**: Get story IDs from bolt frontmatter `stories: [001-story-name, 002-story-name, ...]`
215
+ 2. **Locate story files**: `{intent}/units/{unit}/stories/{story-id}.md`
216
+ 3. **Update each story frontmatter**:
217
+
218
+ ```yaml
219
+ # Change from
220
+ status: draft
221
+ implemented: false
222
+
223
+ # To
224
+ status: complete
225
+ implemented: true
226
+ ```
227
+
228
+ **Example**:
229
+
230
+ ```text
231
+ Bolt stories: [001-create-role, 002-manage-permissions, 003-view-roles]
232
+
233
+ Updated:
234
+ ✅ stories/001-create-role.md → status: complete, implemented: true
235
+ ✅ stories/002-manage-permissions.md → status: complete, implemented: true
236
+ ✅ stories/003-view-roles.md → status: complete, implemented: true
237
+ ```
238
+
239
+ This ensures the memory-bank reflects actual implementation status and the VS Code extension shows correct completion indicators.
240
+
241
+ #### Update Unit & Intent Status (Status Cascade)
242
+
243
+ Status changes cascade upward: Bolt → Story → Unit → Intent.
244
+
245
+ **On Bolt Start** (when changing from `planned` to `in-progress`):
246
+
247
+ 1. **Update Unit Status**:
248
+ - Read unit-brief: `{intent}/units/{unit}/unit-brief.md`
249
+ - If unit status is `stories-defined` or `stories-updated` → change to `in-progress`
250
+
251
+ 2. **Update Intent Status**:
252
+ - Read requirements: `{intent}/requirements.md`
253
+ - If intent status is `units-defined` → change to `construction`
254
+
255
+ **On Bolt Completion** (after updating stories):
256
+
257
+ 1. **Check Unit Completion**:
258
+ - Find all bolts for this unit: scan `memory-bank/bolts/*/bolt.md` and match `unit: {unit-name}` in frontmatter
259
+ - If ALL bolts have `status: complete` → update unit-brief to `status: complete`
260
+
261
+ 2. **Check Intent Completion**:
262
+ - Read unit-briefs for all units in intent: `{intent}/units/*/unit-brief.md`
263
+ - If ALL units have `status: complete` → update requirements to `status: complete`
264
+
265
+ **Status Transitions**:
266
+
267
+ ```text
268
+ Intent: draft → requirements-defined → units-defined → construction → complete
269
+ Unit: draft → stories-defined → in-progress → complete
270
+ Story: draft → in-progress → complete
271
+ ```
272
+
273
+ **Example** (001-artifact-parser completes):
274
+
275
+ ```text
276
+ 1. Stories updated: 001, 002, 003, 004 → complete
277
+ 2. Check unit bolts:
278
+ - 001-artifact-parser: complete ✓
279
+ - 005-artifact-parser: planned ✗
280
+ → Unit stays in-progress (not all bolts complete)
281
+ 3. Intent stays construction (unit not complete)
282
+ ```
283
+
284
+ **Example** (last bolt for file-watcher completes):
285
+
286
+ ```text
287
+ 1. Stories updated: 001, 002 → complete
288
+ 2. Check unit bolts:
289
+ - 003-file-watcher: complete ✓
290
+ → Only bolt for unit, all complete!
291
+ → Update unit-brief: status: complete
292
+ 3. Check intent units:
293
+ - artifact-parser: in-progress ✗
294
+ - file-watcher: complete ✓
295
+ - sidebar-provider: in-progress ✗
296
+ → Intent stays construction (not all units complete)
297
+ ```
298
+
299
+ ### 10. Continue or Complete
175
300
 
176
301
  Based on condition:
177
302
 
@@ -134,18 +134,18 @@ When user selects an option:
134
134
 
135
135
  ### Available Bolts
136
136
 
137
- - [ ] `bolt-auth-1` (auth-service, DDD) - planned
138
- - [ ] `bolt-auth-2` (auth-service, DDD) - planned
139
- - [ ] `bolt-api-1` (api-gateway, Simple) - planned
137
+ - [ ] `001-auth-service` (auth-service, DDD) - planned
138
+ - [ ] `002-auth-service` (auth-service, DDD) - planned
139
+ - [ ] `003-api-gateway` (api-gateway, Simple) - planned
140
140
 
141
141
  ### Quick Actions
142
142
 
143
- 1 - **Start bolt-auth-1**: Begin first bolt
143
+ 1 - **Start 001-auth-service**: Begin first bolt
144
144
  2 - **List all bolts**: View with details
145
145
  3 - **View bolt status**: Check specific bolt
146
146
 
147
147
  ### Suggested Next Step
148
- → Start construction with `bolt-auth-1`
148
+ → Start construction with `001-auth-service`
149
149
 
150
150
  **Type a number or enter a bolt ID.**
151
151
  ```
@@ -161,8 +161,8 @@ When user selects an option:
161
161
 
162
162
  All {n} bolts have been completed:
163
163
 
164
- - ✅ `bolt-{unit}-1` - Completed 2024-12-05 (3h)
165
- - ✅ `bolt-{unit}-2` - Completed 2024-12-06 (4h)
164
+ - ✅ `001-{unit-name}` - Completed 2024-12-05 (3h)
165
+ - ✅ `005-{unit-name}` - Completed 2024-12-06 (4h)
166
166
 
167
167
  ### Summary
168
168
  - Stories delivered: {n}