project-iris 0.0.13 → 0.0.15

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 (189) hide show
  1. package/README.md +261 -94
  2. package/bin/cli.js +21 -0
  3. package/flows/aidlc/README.md +372 -0
  4. package/flows/aidlc/agents/construction-agent.md +79 -0
  5. package/flows/aidlc/agents/inception-agent.md +97 -0
  6. package/flows/aidlc/agents/master-agent.md +61 -0
  7. package/flows/aidlc/agents/operations-agent.md +89 -0
  8. package/flows/aidlc/commands/construction-agent.md +63 -0
  9. package/flows/aidlc/commands/inception-agent.md +55 -0
  10. package/flows/aidlc/commands/master-agent.md +47 -0
  11. package/flows/aidlc/commands/operations-agent.md +77 -0
  12. package/flows/aidlc/context-config.yaml +67 -0
  13. package/flows/aidlc/memory-bank.yaml +104 -0
  14. package/flows/aidlc/quick-start.md +322 -0
  15. package/flows/aidlc/skills/construction/bolt-list.md +163 -0
  16. package/flows/aidlc/skills/construction/bolt-replan.md +345 -0
  17. package/flows/aidlc/skills/construction/bolt-start.md +442 -0
  18. package/flows/aidlc/skills/construction/bolt-status.md +185 -0
  19. package/flows/aidlc/skills/construction/navigator.md +196 -0
  20. package/flows/aidlc/skills/inception/bolt-plan.md +372 -0
  21. package/flows/aidlc/skills/inception/context.md +171 -0
  22. package/flows/aidlc/skills/inception/intent-create.md +211 -0
  23. package/flows/aidlc/skills/inception/intent-list.md +124 -0
  24. package/flows/aidlc/skills/inception/navigator.md +207 -0
  25. package/flows/aidlc/skills/inception/requirements.md +227 -0
  26. package/flows/aidlc/skills/inception/review.md +248 -0
  27. package/flows/aidlc/skills/inception/story-create.md +304 -0
  28. package/flows/aidlc/skills/inception/units.md +278 -0
  29. package/flows/aidlc/skills/master/analyze-context.md +239 -0
  30. package/flows/aidlc/skills/master/answer-question.md +141 -0
  31. package/flows/aidlc/skills/master/explain-flow.md +158 -0
  32. package/flows/aidlc/skills/master/project-init.md +281 -0
  33. package/flows/aidlc/skills/master/route-request.md +126 -0
  34. package/flows/aidlc/skills/operations/build.md +237 -0
  35. package/flows/aidlc/skills/operations/deploy.md +259 -0
  36. package/flows/aidlc/skills/operations/monitor.md +265 -0
  37. package/flows/aidlc/skills/operations/navigator.md +209 -0
  38. package/flows/aidlc/skills/operations/verify.md +224 -0
  39. package/{dist/iris_bundle/frameworks/iris-core → flows/aidlc}/templates/construction/bolt-types/ddd-construction-bolt.md +3 -3
  40. package/{dist → flows/aidlc}/templates/construction/bolt-types/spike-bolt.md +2 -2
  41. package/flows/aidlc/templates/construction/construction-log-template.md +129 -0
  42. package/flows/aidlc/templates/construction/standards/coding-standards.md +29 -0
  43. package/flows/aidlc/templates/construction/standards/system-architecture.md +22 -0
  44. package/flows/aidlc/templates/construction/standards/tech-stack.md +19 -0
  45. package/flows/aidlc/templates/inception/inception-log-template.md +134 -0
  46. package/flows/aidlc/templates/inception/project/README.md +55 -0
  47. package/flows/aidlc/templates/standards/catalog.yaml +345 -0
  48. package/flows/aidlc/templates/standards/coding-standards.guide.md +553 -0
  49. package/flows/aidlc/templates/standards/data-stack.guide.md +162 -0
  50. package/flows/aidlc/templates/standards/tech-stack.guide.md +280 -0
  51. package/lib/InstallerFactory.js +36 -0
  52. package/lib/analytics/env-detector.js +92 -0
  53. package/lib/analytics/index.js +22 -0
  54. package/lib/analytics/machine-id.js +33 -0
  55. package/lib/analytics/tracker.js +232 -0
  56. package/lib/cli-utils.js +342 -0
  57. package/lib/constants.js +32 -0
  58. package/lib/installer.js +402 -0
  59. package/lib/installers/AntigravityInstaller.js +112 -0
  60. package/lib/installers/ClaudeInstaller.js +85 -0
  61. package/lib/installers/ClineInstaller.js +21 -0
  62. package/lib/installers/CodexInstaller.js +21 -0
  63. package/lib/installers/CopilotInstaller.js +113 -0
  64. package/lib/installers/CursorInstaller.js +63 -0
  65. package/lib/installers/GeminiInstaller.js +75 -0
  66. package/lib/installers/KiroInstaller.js +22 -0
  67. package/lib/installers/OpenCodeInstaller.js +22 -0
  68. package/lib/installers/RooInstaller.js +22 -0
  69. package/lib/installers/ToolInstaller.js +73 -0
  70. package/lib/installers/WindsurfInstaller.js +22 -0
  71. package/lib/markdown-validator.ts +175 -0
  72. package/lib/yaml-validator.ts +99 -0
  73. package/package.json +106 -33
  74. package/scripts/artifact-validator.js +594 -0
  75. package/scripts/bolt-complete.js +606 -0
  76. package/scripts/status-integrity.js +598 -0
  77. package/dist/bridge/agent-runner.js +0 -190
  78. package/dist/bridge/connector-factory.js +0 -31
  79. package/dist/bridge/connectors/antigravity-connector.js +0 -18
  80. package/dist/bridge/connectors/cursor-connector.js +0 -31
  81. package/dist/bridge/connectors/in-process-connector.js +0 -29
  82. package/dist/bridge/connectors/vscode-connector.js +0 -31
  83. package/dist/bridge/connectors/windsurf-connector.js +0 -23
  84. package/dist/bridge/filesystem-connector.js +0 -110
  85. package/dist/bridge/helper.js +0 -203
  86. package/dist/bridge/types.js +0 -10
  87. package/dist/cli.js +0 -40
  88. package/dist/commands/ask.js +0 -259
  89. package/dist/commands/bridge.js +0 -88
  90. package/dist/commands/create.js +0 -25
  91. package/dist/commands/develop.js +0 -141
  92. package/dist/commands/doctor.js +0 -102
  93. package/dist/commands/flow.js +0 -301
  94. package/dist/commands/framework.js +0 -273
  95. package/dist/commands/generate.js +0 -59
  96. package/dist/commands/install.js +0 -100
  97. package/dist/commands/pack.js +0 -33
  98. package/dist/commands/phase.js +0 -38
  99. package/dist/commands/run.js +0 -199
  100. package/dist/commands/status.js +0 -114
  101. package/dist/commands/uninstall.js +0 -14
  102. package/dist/commands/use.js +0 -20
  103. package/dist/commands/validate.js +0 -102
  104. package/dist/framework/framework-loader.js +0 -97
  105. package/dist/framework/framework-paths.js +0 -48
  106. package/dist/framework/framework-types.js +0 -15
  107. package/dist/iris/artifact-checker.js +0 -78
  108. package/dist/iris/artifacts/config.js +0 -68
  109. package/dist/iris/artifacts/generator.js +0 -88
  110. package/dist/iris/artifacts/types.js +0 -1
  111. package/dist/iris/bundle.js +0 -44
  112. package/dist/iris/doctrine/collector.js +0 -124
  113. package/dist/iris/fixer.js +0 -149
  114. package/dist/iris/flows/manifest.js +0 -124
  115. package/dist/iris/framework-context.js +0 -49
  116. package/dist/iris/framework-manager.js +0 -215
  117. package/dist/iris/fs/atomic.js +0 -22
  118. package/dist/iris/guard.js +0 -38
  119. package/dist/iris/importers/index.js +0 -9
  120. package/dist/iris/importers/types.js +0 -8
  121. package/dist/iris/importers/writer.js +0 -139
  122. package/dist/iris/include.js +0 -49
  123. package/dist/iris/installer.js +0 -334
  124. package/dist/iris/interactive/env.js +0 -21
  125. package/dist/iris/interactive/intent-interview.js +0 -345
  126. package/dist/iris/interactive/intent-schema.js +0 -28
  127. package/dist/iris/interactive/interview-io.js +0 -22
  128. package/dist/iris/interview/config.js +0 -71
  129. package/dist/iris/interview/types.js +0 -16
  130. package/dist/iris/interview/utils.js +0 -38
  131. package/dist/iris/manifest.js +0 -54
  132. package/dist/iris/packer.js +0 -325
  133. package/dist/iris/parsers/unit-parser.js +0 -43
  134. package/dist/iris/paths.js +0 -18
  135. package/dist/iris/policy.js +0 -133
  136. package/dist/iris/proc.js +0 -56
  137. package/dist/iris/report.js +0 -53
  138. package/dist/iris/resolver.js +0 -66
  139. package/dist/iris/router.js +0 -114
  140. package/dist/iris/routes.js +0 -189
  141. package/dist/iris/run-state.js +0 -146
  142. package/dist/iris/state.js +0 -113
  143. package/dist/iris/templates.js +0 -70
  144. package/dist/iris/tmp.js +0 -24
  145. package/dist/iris/uninstaller.js +0 -181
  146. package/dist/iris/utils/interpolate.js +0 -42
  147. package/dist/iris/validator.js +0 -391
  148. package/dist/iris/workflow/config.js +0 -51
  149. package/dist/iris/workflow/engine.js +0 -129
  150. package/dist/iris/workflow/steps.js +0 -448
  151. package/dist/iris/workflow/types.js +0 -1
  152. package/dist/iris_bundle/frameworks/iris-core/framework.yaml +0 -9
  153. package/dist/iris_bundle/frameworks/iris-core/memory/memory-bank.yaml +0 -1
  154. package/dist/iris_bundle/frameworks/iris-core/policy.yaml +0 -7
  155. package/dist/iris_bundle/frameworks/iris-core/templates/config/memory-bank.yaml +0 -1
  156. package/dist/iris_bundle/frameworks/iris-core/templates/construction/bolt-types/spike-bolt.md +0 -240
  157. package/dist/lib.js +0 -96
  158. package/dist/templates/construction/bolt-template.md +0 -226
  159. package/dist/templates/construction/bolt-types/ddd-construction-bolt/adr-template.md +0 -49
  160. package/dist/templates/construction/bolt-types/ddd-construction-bolt/ddd-01-domain-model-template.md +0 -55
  161. package/dist/templates/construction/bolt-types/ddd-construction-bolt/ddd-02-technical-design-template.md +0 -67
  162. package/dist/templates/construction/bolt-types/ddd-construction-bolt/ddd-03-test-report-template.md +0 -62
  163. package/dist/templates/construction/bolt-types/ddd-construction-bolt.md +0 -528
  164. package/dist/templates/construction/bolt-types/simple-construction-bolt.md +0 -347
  165. package/dist/templates/inception/requirements-template.md +0 -144
  166. package/dist/templates/inception/stories-template.md +0 -38
  167. package/dist/templates/inception/story-template.md +0 -147
  168. package/dist/templates/inception/system-context-template.md +0 -29
  169. package/dist/templates/inception/unit-brief-template.md +0 -177
  170. package/dist/templates/inception/units-template.md +0 -52
  171. package/dist/utils/exit-codes.js +0 -7
  172. package/dist/utils/logo.js +0 -17
  173. package/dist/workflows/bolt-execution.js +0 -238
  174. package/dist/workflows/bolt-plan.js +0 -221
  175. package/dist/workflows/intent-inception.js +0 -285
  176. package/dist/workflows/memory-bank-generator.js +0 -180
  177. package/dist/workflows/reporting.js +0 -74
  178. /package/{dist/iris_bundle/frameworks/iris-core → flows/aidlc}/templates/construction/bolt-template.md +0 -0
  179. /package/{dist/iris_bundle/frameworks/iris-core → flows/aidlc}/templates/construction/bolt-types/ddd-construction-bolt/adr-template.md +0 -0
  180. /package/{dist/iris_bundle/frameworks/iris-core → flows/aidlc}/templates/construction/bolt-types/ddd-construction-bolt/ddd-01-domain-model-template.md +0 -0
  181. /package/{dist/iris_bundle/frameworks/iris-core → flows/aidlc}/templates/construction/bolt-types/ddd-construction-bolt/ddd-02-technical-design-template.md +0 -0
  182. /package/{dist/iris_bundle/frameworks/iris-core → flows/aidlc}/templates/construction/bolt-types/ddd-construction-bolt/ddd-03-test-report-template.md +0 -0
  183. /package/{dist/iris_bundle/frameworks/iris-core → flows/aidlc}/templates/construction/bolt-types/simple-construction-bolt.md +0 -0
  184. /package/{dist/iris_bundle/frameworks/iris-core → flows/aidlc}/templates/inception/requirements-template.md +0 -0
  185. /package/{dist/iris_bundle/frameworks/iris-core → flows/aidlc}/templates/inception/stories-template.md +0 -0
  186. /package/{dist/iris_bundle/frameworks/iris-core → flows/aidlc}/templates/inception/story-template.md +0 -0
  187. /package/{dist/iris_bundle/frameworks/iris-core → flows/aidlc}/templates/inception/system-context-template.md +0 -0
  188. /package/{dist/iris_bundle/frameworks/iris-core → flows/aidlc}/templates/inception/unit-brief-template.md +0 -0
  189. /package/{dist/iris_bundle/frameworks/iris-core → flows/aidlc}/templates/inception/units-template.md +0 -0
@@ -0,0 +1,442 @@
1
+ # Skill: Start/Continue Bolt
2
+
3
+ ---
4
+
5
+ ## Bolt Type Execution
6
+
7
+ Stages, activities, outputs, and checkpoints come from the bolt type definition:
8
+ `.iris/aidlc/templates/construction/bolt-types/{bolt_type}.md`
9
+
10
+ **ALWAYS read bolt type first. Never assume stages or checkpoints.**
11
+
12
+ ---
13
+
14
+ ## Goal
15
+
16
+ Execute a bolt instance through its defined stages, producing artifacts with human validation at checkpoints defined by the bolt type.
17
+
18
+ ---
19
+
20
+ ## Input
21
+
22
+ - **Required**: `--bolt-id` - The bolt instance ID
23
+ - **Required**: `.iris/aidlc/memory-bank.yaml` - artifact schema
24
+ - **Optional**: `--stage` - Specific stage to execute (for resuming)
25
+
26
+ ---
27
+
28
+ ## Process
29
+
30
+ ### 1. Load Bolt Context
31
+
32
+ Read bolt file from path defined by `schema.bolts`:
33
+
34
+ - Verify bolt exists and is not completed
35
+ - Extract: bolt_type, unit, intent, stories, current_stage
36
+
37
+ ### 2. Load Bolt Type Definition (CRITICAL)
38
+
39
+ **Using the bolt_type extracted in Step 1**, load the bolt type definition:
40
+
41
+ **Location**: `.iris/aidlc/templates/construction/bolt-types/{bolt_type}.md`
42
+
43
+ **This step is NON-NEGOTIABLE. You MUST:**
44
+
45
+ 1. Read the bolt type file COMPLETELY before any stage execution
46
+ 2. Extract and understand:
47
+ - **Stages**: Names, sequence, count
48
+ - **Activities**: What to do in each stage
49
+ - **Outputs**: Artifacts to produce
50
+ - **Constraints**: Forbidden actions per stage
51
+ - **Completion Criteria**: How to know a stage is done
52
+ - **Checkpoints**: Where to pause for human validation
53
+
54
+ **The bolt type IS the execution plan. Follow it exactly.**
55
+
56
+ ```text
57
+ ┌────────────────────────────────────────────────────────────┐
58
+ │ bolt instance defines bolt_type │
59
+ │ bolt_type definition dictates stages and execution │
60
+ │ bolt-start does NOT define stages or checkpoints │
61
+ └────────────────────────────────────────────────────────────┘
62
+ ```
63
+
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
79
+
80
+ Load context as defined in `.iris/aidlc/context-config.yaml` for the `construction` agent:
81
+
82
+ ```yaml
83
+ agents:
84
+ construction:
85
+ required_context:
86
+ - path: standards/tech-stack.md
87
+ - path: standards/coding-standards.md
88
+ optional_context:
89
+ - path: standards/system-architecture.md
90
+ - path: standards/api-conventions.md
91
+ ```
92
+
93
+ 1. Load all `required_context` files (warn if missing with `critical: true`)
94
+ 2. Load `optional_context` files if they exist
95
+
96
+ **Note**: This is agent-level context. Bolt-type-specific context loading may be added later.
97
+
98
+ ### 5. Determine Current Stage
99
+
100
+ Based on bolt state:
101
+
102
+ - **planned** → Start with first stage, update bolt file immediately (see Step 6)
103
+ - **in-progress** → Continue from `current_stage`
104
+ - **completed** → Inform user bolt is done
105
+ - **blocked** → Show blocker, ask how to resolve
106
+
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
130
+
131
+ For the current stage, follow the bolt type definition:
132
+
133
+ 1. **Present Stage Context**:
134
+
135
+ ```markdown
136
+ ## Stage: {stage-name}
137
+
138
+ ### Objective
139
+ {From bolt type definition}
140
+
141
+ ### Activities
142
+ {From bolt type definition}
143
+
144
+ ### Expected Output
145
+ {From bolt type definition}
146
+
147
+ ### Stories in Scope
148
+ {From bolt instance}
149
+ ```
150
+
151
+ 2. **Perform Activities**:
152
+ - Follow bolt type's activity instructions exactly
153
+ - Create artifacts as specified
154
+ - Respect constraints (e.g., "no code in this stage")
155
+
156
+ 3. **Generate Outputs**:
157
+ - Create specified output artifacts
158
+ - Use templates if specified by bolt type
159
+ - Place in correct paths per schema
160
+
161
+ ### 8. Handle Checkpoints (As Defined by Bolt Type)
162
+
163
+ The bolt type definition specifies:
164
+
165
+ - **Which stages have checkpoints**
166
+ - **What to present at each checkpoint**
167
+ - **What approval means**
168
+
169
+ If the current stage has a checkpoint:
170
+
171
+ ```text
172
+ ## Stage Complete: {stage-name}
173
+
174
+ {Present summary as specified by bolt type}
175
+
176
+ Ready to proceed?
177
+ 1 - Approve and continue
178
+ 2 - Need changes (specify)
179
+ ```
180
+
181
+ **Wait for user response before proceeding.**
182
+
183
+ If the bolt type specifies automatic validation criteria, follow those rules.
184
+
185
+ ### 8b. Final Stage Checkpoint (CRITICAL RE-READ)
186
+
187
+ **⚠️ If this is the FINAL stage of the bolt**, before presenting completion:
188
+
189
+ 1. **STOP** and re-read **Step 10** from this skill
190
+ 2. This step is often skipped due to context distance - re-reading prevents this
191
+ 3. Do NOT report bolt as complete until you have executed Step 10
192
+
193
+ ```text
194
+ ┌─────────────────────────────────────────────────────────────┐
195
+ │ FINAL STAGE DETECTED │
196
+ │ → Re-read Step 10 NOW │
197
+ │ → You MUST run: node .iris/scripts/bolt-complete.js │
198
+ │ → Do NOT manually edit story files │
199
+ └─────────────────────────────────────────────────────────────┘
200
+ ```
201
+
202
+ ### 9. Update Bolt File on Stage Completion
203
+
204
+ **Trigger**: After EACH stage completion (not just final stage).
205
+
206
+ After each stage completion:
207
+
208
+ - Add stage to `stages_completed` with timestamp
209
+ - Update `current_stage` to next stage
210
+
211
+ **⚠️ TIMESTAMP FORMAT**: See `memory-bank.yaml` → `conventions.timestamps`
212
+
213
+ ```yaml
214
+ ---
215
+ status: in-progress
216
+ current_stage: {next-stage-from-bolt-type}
217
+ stages_completed:
218
+ - name: {stage-name}
219
+ completed: {timestamp}
220
+ artifact: {artifact-filename}
221
+ ---
222
+ ```
223
+
224
+ **If this is the FINAL stage**, proceed to **Step 10** (bolt completion).
225
+
226
+ **If this is NOT the final stage**, update bolt file and proceed to next stage. Stop here.
227
+
228
+ ---
229
+
230
+ ### 10. Mark Bolt Complete (HARD GATE - MANDATORY ON FINAL STAGE)
231
+
232
+ **Trigger**: ONLY when this is the FINAL stage.
233
+
234
+ ```text
235
+ ⛔ HARD GATE - SCRIPT EXECUTION REQUIRED
236
+ ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
237
+ You CANNOT report bolt completion without:
238
+ 1. Running the bolt-complete.js script
239
+ 2. Showing the script output to the user
240
+
241
+ If you skip this, the memory-bank becomes inconsistent.
242
+ Do NOT manually edit story files - the script handles everything.
243
+ ```
244
+
245
+ **Run this command:**
246
+
247
+ ```bash
248
+ node .iris/scripts/bolt-complete.js {bolt-id}
249
+ ```
250
+
251
+ **What this command does (deterministically):**
252
+
253
+ 1. Updates bolt file to `status: complete`
254
+ 2. Updates ALL stories in bolt's `stories` array to `status: complete, implemented: true`
255
+ 3. Updates unit status if all bolts for unit are complete
256
+ 4. Updates intent status if all units for intent are complete
257
+
258
+ **Example output:**
259
+
260
+ ```text
261
+ ════════════════════════════════════════
262
+ Bolt Completion: 016-analytics-tracker
263
+ ════════════════════════════════════════
264
+
265
+ Bolt: 016-analytics-tracker
266
+ Intent: 007-installer-analytics
267
+ Unit: analytics-tracker
268
+ Stories: 12
269
+
270
+ ✓ Bolt status: in-progress → complete
271
+
272
+ Updating stories:
273
+ ✓ 001-initialize-mixpanel - draft → complete
274
+ ✓ 002-generate-machine-hash - draft → complete
275
+ ...
276
+
277
+ Stories: 12 updated, 0 skipped, 0 errors
278
+
279
+ ✓ Unit status: in-progress → complete
280
+ ✓ Intent status: construction → complete
281
+
282
+ ════════════════════════════════════════
283
+ ✓ Bolt Complete: 016-analytics-tracker
284
+ ════════════════════════════════════════
285
+ ```
286
+
287
+ **Do NOT manually edit story files.** The command handles everything deterministically.
288
+
289
+ **Verify the script completed successfully:**
290
+
291
+ After running the command, verify the changes were applied correctly:
292
+
293
+ - [ ] **Bolt file updated**:
294
+ - [ ] `status: complete`
295
+ - [ ] `current_stage: null`
296
+ - [ ] `completed: {timestamp}` set
297
+
298
+ - [ ] **Stories updated** (sample 2-3 from the bolt's stories array):
299
+ - [ ] `status: complete`
300
+ - [ ] `implemented: true`
301
+
302
+ - [ ] **Unit status updated** (if all bolts for this unit are complete):
303
+ - [ ] Check `{intent}/units/{unit}/unit-brief.md` → `status: complete`
304
+
305
+ - [ ] **Intent status updated** (if all units for this intent are complete):
306
+ - [ ] Check `{intent}/intent.md` → `status: complete`
307
+
308
+ **If any verification fails**, the script may have encountered an error. Check the console output for error messages.
309
+
310
+ ---
311
+
312
+ ## Update Construction Log
313
+
314
+ **IMPORTANT**: Update the construction log at key execution points.
315
+
316
+ ### Location
317
+
318
+ `{unit-path}/construction-log.md`
319
+
320
+ ### On First Bolt Start
321
+
322
+ If construction log doesn't exist, create it using template:
323
+ `.iris/aidlc/templates/construction/construction-log-template.md`
324
+
325
+ ### On Bolt Start
326
+
327
+ ```markdown
328
+ - **{ISO-8601-timestamp}**: {bolt-id} started - Stage 1: {stage-name}
329
+ ```
330
+
331
+ ### On Stage Completion
332
+
333
+ ```markdown
334
+ - **{ISO-8601-timestamp}**: {bolt-id} stage-complete - {stage-name} → {next-stage}
335
+ ```
336
+
337
+ ### On Bolt Completion
338
+
339
+ ```markdown
340
+ - **{ISO-8601-timestamp}**: {bolt-id} completed - All {n} stages done
341
+ ```
342
+
343
+ ---
344
+
345
+ ## Output (Stage Execution)
346
+
347
+ ```markdown
348
+ ## Executing Bolt: {bolt-id}
349
+
350
+ ### Current Stage: {stage-name}
351
+ **Type**: {bolt-type}
352
+ **Progress**: Stage {n} of {total}
353
+
354
+ ### Activities Performed
355
+ 1. ✅ {activity 1}
356
+ 2. ✅ {activity 2}
357
+ 3. ⏳ {activity 3 - in progress}
358
+
359
+ ### Artifacts Created
360
+ - `{path/to/artifact}` - {description}
361
+
362
+ ### Stories Addressed
363
+ - ✅ **{SSS}-{story-slug}**: {criteria} - Complete
364
+ - ⏳ **{SSS}-{story-slug}**: {criteria} - In Progress
365
+
366
+ ---
367
+
368
+ ### Checkpoint (if defined by bolt type)
369
+ > "{checkpoint prompt from bolt type definition}"
370
+ ```
371
+
372
+ ---
373
+
374
+ ## Output (Bolt Completed)
375
+
376
+ ```markdown
377
+ ## Bolt Complete: {bolt-id}
378
+
379
+ ### Summary
380
+ - **Type**: {bolt-type}
381
+ - **Duration**: {time elapsed}
382
+ - **Stages Completed**: {all stages from bolt type}
383
+
384
+ ### Artifacts Produced
385
+ {List artifacts as defined by bolt type}
386
+
387
+ ### Stories Delivered
388
+ - ✅ **{SSS}-{story-slug}**: Complete
389
+ - ✅ **{SSS}-{story-slug}**: Complete
390
+
391
+ ### Actions
392
+
393
+ 1 - **next**: Start next bolt
394
+ 2 - **list**: Review all bolts for this unit
395
+ 3 - **operations**: Proceed to Operations (if all complete)
396
+
397
+ **Type a number or press Enter for suggested action.**
398
+ ```
399
+
400
+ ---
401
+
402
+ ## Bolt Completion Checklist
403
+
404
+ **Use this checklist to verify all completion tasks are done:**
405
+
406
+ ```text
407
+ □ Bolt file updated:
408
+ □ status: complete
409
+ □ completed: {timestamp}
410
+ □ current_stage: null
411
+
412
+ □ Stories updated (Step 10):
413
+ □ Each story in bolt's stories array:
414
+ □ status: complete
415
+ □ implemented: true
416
+
417
+ □ Status cascade checked (Step 11):
418
+ □ Unit status updated if all bolts complete
419
+ □ Intent status updated if all units complete
420
+
421
+ □ Construction log updated:
422
+ □ "{bolt-id} completed" entry added
423
+ ```
424
+
425
+ ---
426
+
427
+ ## Transition
428
+
429
+ After bolt completion:
430
+
431
+ - → **Next Bolt** - if more bolts in unit
432
+ - → **Operations Agent** - if all unit bolts complete
433
+
434
+ ---
435
+
436
+ ## Test Contract
437
+
438
+ ```yaml
439
+ input: bolt-id, bolt type definition
440
+ output: Artifacts as defined by bolt type
441
+ checkpoints: As defined by bolt type (0 to N)
442
+ ```
@@ -0,0 +1,185 @@
1
+ # Skill: Bolt Status
2
+
3
+ ---
4
+
5
+ ## Role
6
+
7
+ Informational skill to display detailed status of a specific bolt.
8
+
9
+ **NO Checkpoint** - This is a read-only status skill, not a decision point.
10
+
11
+ ---
12
+
13
+ ## Goal
14
+
15
+ Display detailed status of a specific bolt instance including stage progress, artifacts created, and blockers.
16
+
17
+ ---
18
+
19
+ ## Input
20
+
21
+ - **Required**: `--bolt-id` - The bolt instance ID
22
+ - **Required**: `.iris/aidlc/memory-bank.yaml` - artifact schema
23
+
24
+ ---
25
+
26
+ ## Process
27
+
28
+ ### 1. Load Bolt File
29
+
30
+ Read bolt file from path defined by `schema.bolts`:
31
+
32
+ - Parse frontmatter for metadata
33
+ - Extract: status, type, current_stage, stages_completed, stories
34
+
35
+ ### 2. Load Bolt Type Definition
36
+
37
+ Read the bolt type from `.iris/aidlc/templates/construction/bolt-types/{bolt_type}.md`:
38
+
39
+ - Get total stages for this bolt type
40
+ - Get stage names and expected outputs
41
+
42
+ ### 3. Verify Artifacts
43
+
44
+ For each completed stage, verify artifacts exist based on bolt type definition:
45
+
46
+ - ✅ **{stage-1-name}**: `{artifact-from-bolt-type}` - Found
47
+ - ✅ **{stage-2-name}**: `{artifact-from-bolt-type}` - Found
48
+ - ⏳ **{current-stage}**: {expected-output} - In Progress
49
+
50
+ *Note: Artifact names come from the bolt type definition, not hardcoded here.*
51
+
52
+ ### 4. Calculate Metrics
53
+
54
+ ```markdown
55
+ ### Progress Metrics
56
+ - **Stages**: {completed}/{total} ({percentage}%)
57
+ - **Stories**: {stories covered}
58
+ - **Started**: {start date}
59
+ - **Elapsed**: {time since start}
60
+ ```
61
+
62
+ ### 5. Identify Blockers
63
+
64
+ Check for issues:
65
+
66
+ - Missing prerequisite bolts
67
+ - Failed tests
68
+ - Unresolved design decisions
69
+ - External dependencies
70
+
71
+ ---
72
+
73
+ ## Output
74
+
75
+ ```markdown
76
+ ## Bolt Status: {bolt-id}
77
+
78
+ ### Overview
79
+
80
+ - **ID**: `{bolt-id}`
81
+ - **Unit**: `{unit-name}`
82
+ - **Intent**: `{intent-name}`
83
+ - **Type**: {bolt-type}
84
+ - **Status**: {planned|in-progress|completed|blocked}
85
+
86
+ ### Progress
87
+ [██████████░░░░░░░░░░] 50% (2/4 stages)
88
+
89
+ ### Stage Breakdown
90
+
91
+ - ✅ **1. {stage-1}**: Complete → `{artifact-1}`
92
+ - ✅ **2. {stage-2}**: Complete → `{artifact-2}`
93
+ - ⏳ **3. {stage-3}**: Current ← working
94
+ - [ ] **4. {stage-4}**: Pending
95
+
96
+ *Stage names and artifacts are read from the bolt type definition.*
97
+
98
+ ### Stories Covered
99
+
100
+ - ✅ **{SSS}-{story-slug}**: {story-title} - Implemented
101
+ - ⏳ **{SSS}-{story-slug}**: {story-title} - In Progress
102
+
103
+ ### Artifacts Created
104
+
105
+ - `memory-bank/bolts/{bolt-id}/{artifact-1}` (from bolt type)
106
+ - `memory-bank/bolts/{bolt-id}/{artifact-2}` (from bolt type)
107
+ - `src/{unit}/...` (implementation files)
108
+
109
+ ### Current Stage Details
110
+ **Stage**: {current_stage}
111
+ **Activities**:
112
+ - {activity 1}
113
+ - {activity 2}
114
+
115
+ **Expected Output**:
116
+ - {output 1}
117
+
118
+ ### Blockers
119
+ {None | List of blockers with details}
120
+
121
+ ### Next Action
122
+ → Continue with {current_stage} stage
123
+ → Command: `bolt-start --bolt-id="{bolt-id}"`
124
+ ```
125
+
126
+ ---
127
+
128
+ ## Output (Completed Bolt)
129
+
130
+ ```markdown
131
+ ## Bolt Status: {bolt-id}
132
+
133
+ ### Overview
134
+
135
+ - **Status**: ✅ **COMPLETED**
136
+ - **Completed**: {date}
137
+ - **Duration**: {time}
138
+
139
+ ### All Stages Complete
140
+
141
+ - ✅ **1. {stage-1}**: {date} → `{artifact-1}`
142
+ - ✅ **2. {stage-2}**: {date} → `{artifact-2}`
143
+ - ✅ **3. {stage-3}**: {date} → {output-3}
144
+ - ✅ **4. {stage-4}**: {date} → {output-4}
145
+
146
+ *Stage names and artifacts are read from the bolt type definition.*
147
+
148
+ ### Stories Delivered
149
+
150
+ - ✅ **{SSS}-{story-slug}**: {story-title} - All criteria passed
151
+ - ✅ **{SSS}-{story-slug}**: {story-title} - All criteria passed
152
+
153
+ ### Summary
154
+ All {n} stories implemented and tested.
155
+
156
+ ### Next Action
157
+ → Start next bolt: `bolt-start --bolt-id="{next-bolt}"`
158
+ → Or proceed to Operations if all bolts complete
159
+ ```
160
+
161
+ ---
162
+
163
+ ## Human Validation Point
164
+
165
+ > "Bolt `{bolt-id}` is {status}. {summary}. Would you like to continue working on it or view another bolt?"
166
+
167
+ ---
168
+
169
+ ## Transition
170
+
171
+ After viewing status:
172
+
173
+ - → **Bolt Start** (`.iris/skills/construction/bolt-start.md`) - continue the bolt
174
+ - → **Bolt List** (`.iris/skills/construction/bolt-list.md`) - view other bolts
175
+ - → **Operations Agent** - if all bolts for unit are complete
176
+
177
+ ---
178
+
179
+ ## Test Contract
180
+
181
+ ```yaml
182
+ input: Bolt ID
183
+ output: Detailed status with stage progress, artifacts, blockers
184
+ checkpoints: 0 (informational only)
185
+ ```