project-iris 0.0.12 → 0.0.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/README.md +214 -323
- package/bin/cli.js +21 -0
- package/flows/aidlc/README.md +372 -0
- package/flows/aidlc/agents/construction-agent.md +79 -0
- package/flows/aidlc/agents/inception-agent.md +97 -0
- package/flows/aidlc/agents/master-agent.md +61 -0
- package/flows/aidlc/agents/operations-agent.md +89 -0
- package/flows/aidlc/commands/construction-agent.md +63 -0
- package/flows/aidlc/commands/inception-agent.md +55 -0
- package/flows/aidlc/commands/master-agent.md +47 -0
- package/flows/aidlc/commands/operations-agent.md +77 -0
- package/flows/aidlc/context-config.yaml +67 -0
- package/flows/aidlc/memory-bank.yaml +104 -0
- package/flows/aidlc/quick-start.md +322 -0
- package/flows/aidlc/skills/construction/bolt-list.md +163 -0
- package/flows/aidlc/skills/construction/bolt-replan.md +345 -0
- package/flows/aidlc/skills/construction/bolt-start.md +442 -0
- package/flows/aidlc/skills/construction/bolt-status.md +185 -0
- package/flows/aidlc/skills/construction/navigator.md +196 -0
- package/flows/aidlc/skills/inception/bolt-plan.md +372 -0
- package/flows/aidlc/skills/inception/context.md +171 -0
- package/flows/aidlc/skills/inception/intent-create.md +211 -0
- package/flows/aidlc/skills/inception/intent-list.md +124 -0
- package/flows/aidlc/skills/inception/navigator.md +207 -0
- package/flows/aidlc/skills/inception/requirements.md +227 -0
- package/flows/aidlc/skills/inception/review.md +248 -0
- package/flows/aidlc/skills/inception/story-create.md +304 -0
- package/flows/aidlc/skills/inception/units.md +278 -0
- package/flows/aidlc/skills/master/analyze-context.md +239 -0
- package/flows/aidlc/skills/master/answer-question.md +141 -0
- package/flows/aidlc/skills/master/explain-flow.md +158 -0
- package/flows/aidlc/skills/master/project-init.md +281 -0
- package/flows/aidlc/skills/master/route-request.md +126 -0
- package/flows/aidlc/skills/operations/build.md +237 -0
- package/flows/aidlc/skills/operations/deploy.md +259 -0
- package/flows/aidlc/skills/operations/monitor.md +265 -0
- package/flows/aidlc/skills/operations/navigator.md +209 -0
- package/flows/aidlc/skills/operations/verify.md +224 -0
- package/{dist/iris_bundle/frameworks/iris-core → flows/aidlc}/templates/construction/bolt-types/ddd-construction-bolt.md +3 -3
- package/{dist → flows/aidlc}/templates/construction/bolt-types/spike-bolt.md +2 -2
- package/flows/aidlc/templates/construction/construction-log-template.md +129 -0
- package/flows/aidlc/templates/construction/standards/coding-standards.md +29 -0
- package/flows/aidlc/templates/construction/standards/system-architecture.md +22 -0
- package/flows/aidlc/templates/construction/standards/tech-stack.md +19 -0
- package/flows/aidlc/templates/inception/inception-log-template.md +134 -0
- package/flows/aidlc/templates/inception/project/README.md +55 -0
- package/flows/aidlc/templates/standards/catalog.yaml +345 -0
- package/flows/aidlc/templates/standards/coding-standards.guide.md +553 -0
- package/flows/aidlc/templates/standards/data-stack.guide.md +162 -0
- package/flows/aidlc/templates/standards/tech-stack.guide.md +280 -0
- package/lib/InstallerFactory.js +36 -0
- package/lib/analytics/env-detector.js +92 -0
- package/lib/analytics/index.js +22 -0
- package/lib/analytics/machine-id.js +33 -0
- package/lib/analytics/tracker.js +232 -0
- package/lib/cli-utils.js +342 -0
- package/lib/constants.js +32 -0
- package/lib/installer.js +402 -0
- package/lib/installers/AntigravityInstaller.js +22 -0
- package/lib/installers/ClaudeInstaller.js +85 -0
- package/lib/installers/ClineInstaller.js +21 -0
- package/lib/installers/CodexInstaller.js +21 -0
- package/lib/installers/CopilotInstaller.js +113 -0
- package/lib/installers/CursorInstaller.js +63 -0
- package/lib/installers/GeminiInstaller.js +75 -0
- package/lib/installers/KiroInstaller.js +22 -0
- package/lib/installers/OpenCodeInstaller.js +22 -0
- package/lib/installers/RooInstaller.js +22 -0
- package/lib/installers/ToolInstaller.js +73 -0
- package/lib/installers/WindsurfInstaller.js +22 -0
- package/lib/markdown-validator.ts +175 -0
- package/lib/yaml-validator.ts +99 -0
- package/package.json +105 -32
- package/scripts/artifact-validator.js +594 -0
- package/scripts/bolt-complete.js +606 -0
- package/scripts/status-integrity.js +598 -0
- package/dist/bridge/agent-runner.js +0 -190
- package/dist/bridge/connector-factory.js +0 -31
- package/dist/bridge/connectors/antigravity-connector.js +0 -18
- package/dist/bridge/connectors/cursor-connector.js +0 -31
- package/dist/bridge/connectors/in-process-connector.js +0 -29
- package/dist/bridge/connectors/vscode-connector.js +0 -31
- package/dist/bridge/connectors/windsurf-connector.js +0 -23
- package/dist/bridge/filesystem-connector.js +0 -110
- package/dist/bridge/helper.js +0 -203
- package/dist/bridge/types.js +0 -10
- package/dist/cli.js +0 -40
- package/dist/commands/ask.js +0 -259
- package/dist/commands/bridge.js +0 -88
- package/dist/commands/create.js +0 -25
- package/dist/commands/develop.js +0 -141
- package/dist/commands/doctor.js +0 -102
- package/dist/commands/flow.js +0 -301
- package/dist/commands/framework.js +0 -273
- package/dist/commands/generate.js +0 -59
- package/dist/commands/install.js +0 -100
- package/dist/commands/pack.js +0 -33
- package/dist/commands/phase.js +0 -38
- package/dist/commands/run.js +0 -199
- package/dist/commands/status.js +0 -114
- package/dist/commands/uninstall.js +0 -14
- package/dist/commands/use.js +0 -20
- package/dist/commands/validate.js +0 -102
- package/dist/framework/framework-loader.js +0 -97
- package/dist/framework/framework-paths.js +0 -48
- package/dist/framework/framework-types.js +0 -15
- package/dist/iris/artifact-checker.js +0 -78
- package/dist/iris/artifacts/config.js +0 -68
- package/dist/iris/artifacts/generator.js +0 -88
- package/dist/iris/artifacts/types.js +0 -1
- package/dist/iris/bundle.js +0 -44
- package/dist/iris/doctrine/collector.js +0 -124
- package/dist/iris/fixer.js +0 -149
- package/dist/iris/flows/manifest.js +0 -124
- package/dist/iris/framework-context.js +0 -49
- package/dist/iris/framework-manager.js +0 -215
- package/dist/iris/fs/atomic.js +0 -22
- package/dist/iris/guard.js +0 -38
- package/dist/iris/importers/index.js +0 -9
- package/dist/iris/importers/types.js +0 -8
- package/dist/iris/importers/writer.js +0 -139
- package/dist/iris/include.js +0 -49
- package/dist/iris/installer.js +0 -334
- package/dist/iris/interactive/env.js +0 -21
- package/dist/iris/interactive/intent-interview.js +0 -345
- package/dist/iris/interactive/intent-schema.js +0 -28
- package/dist/iris/interactive/interview-io.js +0 -22
- package/dist/iris/interview/config.js +0 -71
- package/dist/iris/interview/types.js +0 -16
- package/dist/iris/interview/utils.js +0 -38
- package/dist/iris/manifest.js +0 -54
- package/dist/iris/packer.js +0 -325
- package/dist/iris/parsers/unit-parser.js +0 -43
- package/dist/iris/paths.js +0 -18
- package/dist/iris/policy.js +0 -133
- package/dist/iris/proc.js +0 -56
- package/dist/iris/report.js +0 -53
- package/dist/iris/resolver.js +0 -66
- package/dist/iris/router.js +0 -114
- package/dist/iris/routes.js +0 -189
- package/dist/iris/run-state.js +0 -146
- package/dist/iris/state.js +0 -113
- package/dist/iris/templates.js +0 -70
- package/dist/iris/tmp.js +0 -24
- package/dist/iris/uninstaller.js +0 -181
- package/dist/iris/utils/interpolate.js +0 -42
- package/dist/iris/validator.js +0 -391
- package/dist/iris/workflow/config.js +0 -51
- package/dist/iris/workflow/engine.js +0 -129
- package/dist/iris/workflow/steps.js +0 -448
- package/dist/iris/workflow/types.js +0 -1
- package/dist/iris_bundle/frameworks/iris-core/framework.yaml +0 -9
- package/dist/iris_bundle/frameworks/iris-core/memory/memory-bank.yaml +0 -1
- package/dist/iris_bundle/frameworks/iris-core/policy.yaml +0 -7
- package/dist/iris_bundle/frameworks/iris-core/templates/config/memory-bank.yaml +0 -1
- package/dist/iris_bundle/frameworks/iris-core/templates/construction/bolt-types/spike-bolt.md +0 -240
- package/dist/lib.js +0 -96
- package/dist/templates/construction/bolt-template.md +0 -226
- package/dist/templates/construction/bolt-types/ddd-construction-bolt/adr-template.md +0 -49
- package/dist/templates/construction/bolt-types/ddd-construction-bolt/ddd-01-domain-model-template.md +0 -55
- package/dist/templates/construction/bolt-types/ddd-construction-bolt/ddd-02-technical-design-template.md +0 -67
- package/dist/templates/construction/bolt-types/ddd-construction-bolt/ddd-03-test-report-template.md +0 -62
- package/dist/templates/construction/bolt-types/ddd-construction-bolt.md +0 -528
- package/dist/templates/construction/bolt-types/simple-construction-bolt.md +0 -347
- package/dist/templates/inception/requirements-template.md +0 -144
- package/dist/templates/inception/stories-template.md +0 -38
- package/dist/templates/inception/story-template.md +0 -147
- package/dist/templates/inception/system-context-template.md +0 -29
- package/dist/templates/inception/unit-brief-template.md +0 -177
- package/dist/templates/inception/units-template.md +0 -52
- package/dist/utils/exit-codes.js +0 -7
- package/dist/utils/logo.js +0 -17
- package/dist/workflows/bolt-execution.js +0 -238
- package/dist/workflows/bolt-plan.js +0 -221
- package/dist/workflows/intent-inception.js +0 -285
- package/dist/workflows/memory-bank-generator.js +0 -180
- package/dist/workflows/reporting.js +0 -74
- /package/{dist/iris_bundle/frameworks/iris-core → flows/aidlc}/templates/construction/bolt-template.md +0 -0
- /package/{dist/iris_bundle/frameworks/iris-core → flows/aidlc}/templates/construction/bolt-types/ddd-construction-bolt/adr-template.md +0 -0
- /package/{dist/iris_bundle/frameworks/iris-core → flows/aidlc}/templates/construction/bolt-types/ddd-construction-bolt/ddd-01-domain-model-template.md +0 -0
- /package/{dist/iris_bundle/frameworks/iris-core → flows/aidlc}/templates/construction/bolt-types/ddd-construction-bolt/ddd-02-technical-design-template.md +0 -0
- /package/{dist/iris_bundle/frameworks/iris-core → flows/aidlc}/templates/construction/bolt-types/ddd-construction-bolt/ddd-03-test-report-template.md +0 -0
- /package/{dist/iris_bundle/frameworks/iris-core → flows/aidlc}/templates/construction/bolt-types/simple-construction-bolt.md +0 -0
- /package/{dist/iris_bundle/frameworks/iris-core → flows/aidlc}/templates/inception/requirements-template.md +0 -0
- /package/{dist/iris_bundle/frameworks/iris-core → flows/aidlc}/templates/inception/stories-template.md +0 -0
- /package/{dist/iris_bundle/frameworks/iris-core → flows/aidlc}/templates/inception/story-template.md +0 -0
- /package/{dist/iris_bundle/frameworks/iris-core → flows/aidlc}/templates/inception/system-context-template.md +0 -0
- /package/{dist/iris_bundle/frameworks/iris-core → flows/aidlc}/templates/inception/unit-brief-template.md +0 -0
- /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
|
+
```
|