project-iris 0.0.11 → 0.0.13
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 +84 -360
- package/dist/cli.js +4 -2
- package/dist/commands/create.js +25 -0
- package/dist/iris/bundle.js +1 -1
- package/dist/iris_bundle/frameworks/iris-core/framework.yaml +9 -0
- package/dist/iris_bundle/frameworks/iris-core/memory/memory-bank.yaml +1 -0
- package/dist/iris_bundle/frameworks/iris-core/policy.yaml +7 -0
- package/dist/iris_bundle/frameworks/iris-core/templates/config/memory-bank.yaml +1 -0
- package/dist/iris_bundle/frameworks/iris-core/templates/construction/bolt-template.md +226 -0
- package/dist/iris_bundle/frameworks/iris-core/templates/construction/bolt-types/ddd-construction-bolt/adr-template.md +49 -0
- package/dist/iris_bundle/frameworks/iris-core/templates/construction/bolt-types/ddd-construction-bolt/ddd-01-domain-model-template.md +55 -0
- package/dist/iris_bundle/frameworks/iris-core/templates/construction/bolt-types/ddd-construction-bolt/ddd-02-technical-design-template.md +67 -0
- package/dist/iris_bundle/frameworks/iris-core/templates/construction/bolt-types/ddd-construction-bolt/ddd-03-test-report-template.md +62 -0
- package/dist/iris_bundle/frameworks/iris-core/templates/construction/bolt-types/ddd-construction-bolt.md +528 -0
- package/dist/iris_bundle/frameworks/iris-core/templates/construction/bolt-types/simple-construction-bolt.md +347 -0
- package/dist/iris_bundle/frameworks/iris-core/templates/construction/bolt-types/spike-bolt.md +240 -0
- package/dist/iris_bundle/frameworks/iris-core/templates/inception/requirements-template.md +144 -0
- package/dist/iris_bundle/frameworks/iris-core/templates/inception/stories-template.md +38 -0
- package/dist/iris_bundle/frameworks/iris-core/templates/inception/story-template.md +147 -0
- package/dist/iris_bundle/frameworks/iris-core/templates/inception/system-context-template.md +29 -0
- package/dist/iris_bundle/frameworks/iris-core/templates/inception/unit-brief-template.md +177 -0
- package/dist/iris_bundle/frameworks/iris-core/templates/inception/units-template.md +52 -0
- package/dist/templates/construction/bolt-template.md +226 -0
- package/dist/templates/construction/bolt-types/ddd-construction-bolt/adr-template.md +49 -0
- package/dist/templates/construction/bolt-types/ddd-construction-bolt/ddd-01-domain-model-template.md +55 -0
- package/dist/templates/construction/bolt-types/ddd-construction-bolt/ddd-02-technical-design-template.md +67 -0
- package/dist/templates/construction/bolt-types/ddd-construction-bolt/ddd-03-test-report-template.md +62 -0
- package/dist/templates/construction/bolt-types/ddd-construction-bolt.md +528 -0
- package/dist/templates/construction/bolt-types/simple-construction-bolt.md +347 -0
- package/dist/templates/construction/bolt-types/spike-bolt.md +240 -0
- package/dist/templates/inception/requirements-template.md +144 -0
- package/dist/templates/inception/stories-template.md +38 -0
- package/dist/templates/inception/story-template.md +147 -0
- package/dist/templates/inception/system-context-template.md +29 -0
- package/dist/templates/inception/unit-brief-template.md +177 -0
- package/dist/templates/inception/units-template.md +52 -0
- package/dist/workflows/bolt-plan.js +57 -28
- package/dist/workflows/intent-inception.js +82 -7
- package/dist/workflows/memory-bank-generator.js +180 -0
- package/package.json +3 -2
|
@@ -0,0 +1,347 @@
|
|
|
1
|
+
# Bolt Type: Simple Construction
|
|
2
|
+
|
|
3
|
+
## Mandatory Output Rules (READ FIRST)
|
|
4
|
+
|
|
5
|
+
- 🚫 **NEVER** use ASCII tables for options - they break at different terminal widths
|
|
6
|
+
- ✅ **ALWAYS** use numbered list format: `N - **Option**: Description`
|
|
7
|
+
- ✅ **ALWAYS** use status indicators: ✅ (done) ⏳ (current) [ ] (pending) 🚫 (blocked)
|
|
8
|
+
|
|
9
|
+
## Success Metrics
|
|
10
|
+
|
|
11
|
+
- ✅ Activities presented as numbered lists (not tables)
|
|
12
|
+
- ✅ Stage progress shown with status indicators
|
|
13
|
+
- ✅ Human checkpoints clearly marked
|
|
14
|
+
|
|
15
|
+
## Failure Modes
|
|
16
|
+
|
|
17
|
+
- ❌ Using ASCII table for activities
|
|
18
|
+
- ❌ Auto-advancing without human confirmation
|
|
19
|
+
- ❌ Skipping stages
|
|
20
|
+
|
|
21
|
+
---
|
|
22
|
+
|
|
23
|
+
## ⛔ CRITICAL: Stage Execution Sequence
|
|
24
|
+
|
|
25
|
+
**Stages MUST be executed in this exact order:**
|
|
26
|
+
|
|
27
|
+
```text
|
|
28
|
+
Stage 1: Plan → Stage 2: Implement → Stage 3: Test
|
|
29
|
+
```
|
|
30
|
+
|
|
31
|
+
**Stage Overview:**
|
|
32
|
+
|
|
33
|
+
- ✅/[ ] **1. Plan** (Required) → `implementation-plan.md`
|
|
34
|
+
- ✅/[ ] **2. Implement** (Required) → Source code + `implementation-walkthrough.md`
|
|
35
|
+
- ✅/[ ] **3. Test** (Required) → Tests + `test-walkthrough.md`
|
|
36
|
+
|
|
37
|
+
**Rules**:
|
|
38
|
+
|
|
39
|
+
- Each stage MUST be completed before the next begins
|
|
40
|
+
- **⛔ Human validation is MANDATORY at each stage checkpoint - STOP and WAIT for approval**
|
|
41
|
+
- NEVER auto-advance to next stage without explicit user confirmation
|
|
42
|
+
|
|
43
|
+
---
|
|
44
|
+
|
|
45
|
+
## Metadata
|
|
46
|
+
|
|
47
|
+
```yaml
|
|
48
|
+
bolt_type: simple-construction-bolt
|
|
49
|
+
name: Simple Construction Bolt
|
|
50
|
+
description: Lightweight construction for UI, integrations, utilities, and non-DDD work
|
|
51
|
+
version: 1.0.0
|
|
52
|
+
suitable_for:
|
|
53
|
+
- Frontend pages and components
|
|
54
|
+
- Simple backend endpoints
|
|
55
|
+
- Integrations with external APIs
|
|
56
|
+
- Utilities and helper modules
|
|
57
|
+
- Scripts and automation
|
|
58
|
+
- CLI commands
|
|
59
|
+
stages_count: 3
|
|
60
|
+
```
|
|
61
|
+
|
|
62
|
+
---
|
|
63
|
+
|
|
64
|
+
## Overview
|
|
65
|
+
|
|
66
|
+
This bolt type provides a lightweight construction process for work that doesn't need full domain modeling. It's ideal for UI work, integrations, utilities, and any code where the design is straightforward.
|
|
67
|
+
|
|
68
|
+
**Best For**:
|
|
69
|
+
|
|
70
|
+
- Frontend pages, components, layouts
|
|
71
|
+
- Simple CRUD endpoints without complex business logic
|
|
72
|
+
- Third-party API integrations
|
|
73
|
+
- Utility functions and helpers
|
|
74
|
+
- CLI commands and scripts
|
|
75
|
+
- Configuration and setup tasks
|
|
76
|
+
|
|
77
|
+
**NOT For** (use `ddd-construction-bolt` instead):
|
|
78
|
+
|
|
79
|
+
- Complex domain logic with business rules
|
|
80
|
+
- Systems requiring bounded contexts
|
|
81
|
+
- Services with rich domain models
|
|
82
|
+
|
|
83
|
+
---
|
|
84
|
+
|
|
85
|
+
## Stages
|
|
86
|
+
|
|
87
|
+
### Stage 1: Plan
|
|
88
|
+
|
|
89
|
+
**Objective**: Define what to build with clear requirements
|
|
90
|
+
|
|
91
|
+
**Duration**: Minutes to hours (typically 15-60 minutes)
|
|
92
|
+
|
|
93
|
+
**Activities**:
|
|
94
|
+
|
|
95
|
+
1 - **Review stories**: Understand what needs to be built
|
|
96
|
+
2 - **Define scope**: List specific deliverables
|
|
97
|
+
3 - **Identify dependencies**: External APIs, other units, libraries
|
|
98
|
+
4 - **Define acceptance criteria**: How will we know it's done?
|
|
99
|
+
5 - **Note technical approach**: High-level implementation notes
|
|
100
|
+
|
|
101
|
+
**Artifact**: `implementation-plan.md`
|
|
102
|
+
**Location**: `memory-bank/bolts/{bolt-id}/implementation-plan.md`
|
|
103
|
+
|
|
104
|
+
**Template Structure**:
|
|
105
|
+
|
|
106
|
+
```markdown
|
|
107
|
+
---
|
|
108
|
+
stage: plan
|
|
109
|
+
bolt: {bolt-id}
|
|
110
|
+
created: {YYYY-MM-DDTHH:MM:SSZ}
|
|
111
|
+
---
|
|
112
|
+
|
|
113
|
+
## Implementation Plan: {unit-name}
|
|
114
|
+
|
|
115
|
+
### Objective
|
|
116
|
+
{What this bolt will accomplish}
|
|
117
|
+
|
|
118
|
+
### Deliverables
|
|
119
|
+
- {Deliverable 1}
|
|
120
|
+
- {Deliverable 2}
|
|
121
|
+
|
|
122
|
+
### Dependencies
|
|
123
|
+
- {Dependency 1}: {why needed}
|
|
124
|
+
|
|
125
|
+
### Technical Approach
|
|
126
|
+
{Brief notes on how to implement}
|
|
127
|
+
|
|
128
|
+
### Acceptance Criteria
|
|
129
|
+
- [ ] {Criterion 1}
|
|
130
|
+
- [ ] {Criterion 2}
|
|
131
|
+
```
|
|
132
|
+
|
|
133
|
+
**Completion Criteria**:
|
|
134
|
+
|
|
135
|
+
- [ ] Stories reviewed and understood
|
|
136
|
+
- [ ] Deliverables clearly defined
|
|
137
|
+
- [ ] Dependencies identified
|
|
138
|
+
- [ ] Acceptance criteria documented
|
|
139
|
+
|
|
140
|
+
**⛔ HUMAN Checkpoint**: Present plan summary and **STOP**. Wait for user to confirm before proceeding to Stage 2.
|
|
141
|
+
|
|
142
|
+
---
|
|
143
|
+
|
|
144
|
+
### Stage 2: Implement
|
|
145
|
+
|
|
146
|
+
**Objective**: Write the code and document what was done
|
|
147
|
+
|
|
148
|
+
**Duration**: Hours (varies by complexity)
|
|
149
|
+
|
|
150
|
+
**Activities**:
|
|
151
|
+
|
|
152
|
+
1 - **Setup structure**: Create files and folders
|
|
153
|
+
2 - **Implement core functionality**: Build the main features
|
|
154
|
+
3 - **Handle edge cases**: Error handling, validation
|
|
155
|
+
4 - **Add documentation**: Code comments, JSDoc/docstrings
|
|
156
|
+
5 - **Run linting**: Ensure code style compliance
|
|
157
|
+
6 - **Document implementation**: Create implementation walkthrough
|
|
158
|
+
|
|
159
|
+
**Artifacts**:
|
|
160
|
+
|
|
161
|
+
- Source code - As defined in project structure (e.g., `src/`, `app/`, `pages/`)
|
|
162
|
+
- `implementation-walkthrough.md` - `memory-bank/bolts/{bolt-id}/implementation-walkthrough.md`
|
|
163
|
+
|
|
164
|
+
**Implementation Walkthrough Guidelines**:
|
|
165
|
+
|
|
166
|
+
⚠️ **CRITICAL RULES**:
|
|
167
|
+
|
|
168
|
+
- **NO CODE** in this document - only structure summaries and descriptions
|
|
169
|
+
- **USE CHECKMARKS** for all file entries (completed work)
|
|
170
|
+
- **BE CONSISTENT** - follow the template exactly
|
|
171
|
+
|
|
172
|
+
**Template**:
|
|
173
|
+
|
|
174
|
+
```markdown
|
|
175
|
+
---
|
|
176
|
+
stage: implement
|
|
177
|
+
bolt: {bolt-id}
|
|
178
|
+
created: {YYYY-MM-DDTHH:MM:SSZ}
|
|
179
|
+
---
|
|
180
|
+
|
|
181
|
+
## Implementation Walkthrough: {unit-name}
|
|
182
|
+
|
|
183
|
+
### Summary
|
|
184
|
+
|
|
185
|
+
{2-3 sentence overview of what was built - NO CODE}
|
|
186
|
+
|
|
187
|
+
### Structure Overview
|
|
188
|
+
|
|
189
|
+
{High-level description of the architecture/organization - NO CODE}
|
|
190
|
+
|
|
191
|
+
### Completed Work
|
|
192
|
+
|
|
193
|
+
- [x] `{path/to/file}` - {what this file does, not how}
|
|
194
|
+
- [x] `{path/to/file}` - {what this file does, not how}
|
|
195
|
+
- [x] `{path/to/file}` - {what this file does, not how}
|
|
196
|
+
|
|
197
|
+
### Key Decisions
|
|
198
|
+
|
|
199
|
+
- **{Decision}**: {Why this approach was chosen}
|
|
200
|
+
|
|
201
|
+
### Deviations from Plan
|
|
202
|
+
|
|
203
|
+
{Any changes from implementation-plan.md and why, or "None"}
|
|
204
|
+
|
|
205
|
+
### Dependencies Added
|
|
206
|
+
|
|
207
|
+
- [x] `{package}` - {why needed}
|
|
208
|
+
|
|
209
|
+
### Developer Notes
|
|
210
|
+
|
|
211
|
+
{Gotchas, tips, or context for future work - keep brief}
|
|
212
|
+
```
|
|
213
|
+
|
|
214
|
+
**What to Include**:
|
|
215
|
+
|
|
216
|
+
- ✅ File paths with brief purpose descriptions
|
|
217
|
+
- ✅ Architectural decisions and rationale
|
|
218
|
+
- ✅ Deviations from original plan
|
|
219
|
+
- ✅ High-level structure explanations
|
|
220
|
+
|
|
221
|
+
**What NOT to Include**:
|
|
222
|
+
|
|
223
|
+
- ❌ Code snippets or examples
|
|
224
|
+
- ❌ Implementation details (how it works internally)
|
|
225
|
+
- ❌ Line-by-line explanations
|
|
226
|
+
- ❌ API signatures or type definitions
|
|
227
|
+
|
|
228
|
+
**Completion Criteria**:
|
|
229
|
+
|
|
230
|
+
- [ ] All deliverables from plan implemented
|
|
231
|
+
- [ ] Code follows project coding standards
|
|
232
|
+
- [ ] Linting passes
|
|
233
|
+
- [ ] Code is documented
|
|
234
|
+
- [ ] Implementation walkthrough created
|
|
235
|
+
|
|
236
|
+
**⛔ HUMAN Checkpoint**: Present implementation summary and **STOP**. Wait for user to confirm before proceeding to Stage 3.
|
|
237
|
+
|
|
238
|
+
---
|
|
239
|
+
|
|
240
|
+
### Stage 3: Test
|
|
241
|
+
|
|
242
|
+
**Objective**: Verify the implementation works correctly
|
|
243
|
+
|
|
244
|
+
**Duration**: Minutes to hours (typically 30-120 minutes)
|
|
245
|
+
|
|
246
|
+
**Activities**:
|
|
247
|
+
|
|
248
|
+
1 - **Write unit tests**: Test individual functions/components
|
|
249
|
+
2 - **Write integration tests**: Test API endpoints or component interactions
|
|
250
|
+
3 - **Run test suite**: Execute all tests
|
|
251
|
+
4 - **Verify acceptance criteria**: Check against plan
|
|
252
|
+
5 - **Document results**: Create test report
|
|
253
|
+
|
|
254
|
+
**Artifact**: `test-walkthrough.md`
|
|
255
|
+
**Location**: `memory-bank/bolts/{bolt-id}/test-walkthrough.md`
|
|
256
|
+
|
|
257
|
+
**Template Structure**:
|
|
258
|
+
|
|
259
|
+
```markdown
|
|
260
|
+
---
|
|
261
|
+
stage: test
|
|
262
|
+
bolt: {bolt-id}
|
|
263
|
+
created: {YYYY-MM-DDTHH:MM:SSZ}
|
|
264
|
+
---
|
|
265
|
+
|
|
266
|
+
## Test Report: {unit-name}
|
|
267
|
+
|
|
268
|
+
### Summary
|
|
269
|
+
|
|
270
|
+
- **Tests**: {passed}/{total} passed
|
|
271
|
+
- **Coverage**: {percentage}%
|
|
272
|
+
|
|
273
|
+
### Test Files
|
|
274
|
+
|
|
275
|
+
- [x] `{path/to/test-file.test.ts}` - {what this test file covers}
|
|
276
|
+
- [x] `{path/to/another.test.ts}` - {what this test file covers}
|
|
277
|
+
|
|
278
|
+
### Acceptance Criteria Validation
|
|
279
|
+
|
|
280
|
+
- ✅/❌ **{Criterion}**: {Status}
|
|
281
|
+
|
|
282
|
+
### Issues Found
|
|
283
|
+
{Any issues discovered during testing}
|
|
284
|
+
|
|
285
|
+
### Notes
|
|
286
|
+
{Additional observations}
|
|
287
|
+
```
|
|
288
|
+
|
|
289
|
+
**Completion Criteria**:
|
|
290
|
+
|
|
291
|
+
- [ ] All tests passing
|
|
292
|
+
- [ ] Acceptance criteria verified
|
|
293
|
+
- [ ] Test report created
|
|
294
|
+
|
|
295
|
+
**⛔ HUMAN Checkpoint**: Present test report and **STOP**. Wait for user to confirm bolt completion.
|
|
296
|
+
|
|
297
|
+
---
|
|
298
|
+
|
|
299
|
+
## State Tracking
|
|
300
|
+
|
|
301
|
+
Bolt instance tracks progress:
|
|
302
|
+
|
|
303
|
+
```yaml
|
|
304
|
+
---
|
|
305
|
+
current_stage: implement
|
|
306
|
+
stages_completed:
|
|
307
|
+
- name: plan
|
|
308
|
+
completed: 2024-12-05T10:00:00Z
|
|
309
|
+
artifact: implementation-plan.md
|
|
310
|
+
status: in-progress
|
|
311
|
+
---
|
|
312
|
+
```
|
|
313
|
+
|
|
314
|
+
---
|
|
315
|
+
|
|
316
|
+
## Bolt Context Loading
|
|
317
|
+
|
|
318
|
+
For Stage 2 (Implement) and Stage 3 (Test), load all artifacts from the bolt folder:
|
|
319
|
+
|
|
320
|
+
**Location**: `memory-bank/bolts/{bolt-id}/`
|
|
321
|
+
|
|
322
|
+
**Load all files in this folder**, which may include:
|
|
323
|
+
|
|
324
|
+
- `bolt.md` - Bolt instance metadata
|
|
325
|
+
- `implementation-plan.md` - Plan from Stage 1
|
|
326
|
+
- `implementation-walkthrough.md` - Developer notes from Stage 2 (if exists)
|
|
327
|
+
|
|
328
|
+
This ensures later stages have full context from earlier work.
|
|
329
|
+
|
|
330
|
+
---
|
|
331
|
+
|
|
332
|
+
## Usage by Construction Agent
|
|
333
|
+
|
|
334
|
+
1. **Load bolt instance** from path defined by `schema.bolts`
|
|
335
|
+
2. **Read `bolt_type` field** (e.g., `simple-construction-bolt`)
|
|
336
|
+
3. **Load this definition** from `.iris/aidlc/templates/construction/bolt-types/`
|
|
337
|
+
4. **Check `current_stage`** in bolt instance
|
|
338
|
+
5. **Load bolt folder artifacts** if stage requires previous context
|
|
339
|
+
6. **Execute stage** following activities defined here
|
|
340
|
+
7. **Create artifacts** as specified
|
|
341
|
+
8. **⛔ STOP and present completion summary** - DO NOT continue automatically
|
|
342
|
+
9. **Wait for user confirmation** - user must explicitly approve
|
|
343
|
+
10. **Only after approval**: Update bolt state and advance to next stage
|
|
344
|
+
|
|
345
|
+
**⛔ CRITICAL**: Steps 8-9 are MANDATORY. Never skip the human checkpoint. Never auto-advance.
|
|
346
|
+
|
|
347
|
+
The Construction Agent is **bolt-type agnostic** - it reads stages from this file and executes them.
|
|
@@ -0,0 +1,240 @@
|
|
|
1
|
+
# Bolt Type: Spike (Research)
|
|
2
|
+
|
|
3
|
+
## Mandatory Output Rules (READ FIRST)
|
|
4
|
+
|
|
5
|
+
- 🚫 **NEVER** use ASCII tables for options - they break at different terminal widths
|
|
6
|
+
- ✅ **ALWAYS** use numbered list format: `N - **Option**: Description`
|
|
7
|
+
- ✅ **ALWAYS** use status indicators: ✅ (done) ⏳ (current) [ ] (pending) 🚫 (blocked)
|
|
8
|
+
|
|
9
|
+
## Success Metrics
|
|
10
|
+
|
|
11
|
+
- ✅ Activities presented as numbered lists (not tables)
|
|
12
|
+
- ✅ Stage progress shown with status indicators
|
|
13
|
+
- ✅ Human checkpoints clearly marked
|
|
14
|
+
|
|
15
|
+
## Failure Modes
|
|
16
|
+
|
|
17
|
+
- ❌ Using ASCII table for activities
|
|
18
|
+
- ❌ Auto-advancing without human confirmation
|
|
19
|
+
- ❌ Exceeding time-box without approval
|
|
20
|
+
|
|
21
|
+
---
|
|
22
|
+
|
|
23
|
+
## Metadata
|
|
24
|
+
|
|
25
|
+
```yaml
|
|
26
|
+
bolt_type: spike-bolt
|
|
27
|
+
name: Spike Bolt
|
|
28
|
+
description: Research and proof-of-concept for unknown areas
|
|
29
|
+
version: 1.0.0
|
|
30
|
+
suitable_for:
|
|
31
|
+
- Technical research
|
|
32
|
+
- Proof of concept
|
|
33
|
+
- Evaluating technologies
|
|
34
|
+
- Risk mitigation
|
|
35
|
+
stages_count: 2
|
|
36
|
+
```
|
|
37
|
+
|
|
38
|
+
---
|
|
39
|
+
|
|
40
|
+
## Overview
|
|
41
|
+
|
|
42
|
+
This bolt type is for research and proof-of-concept work when there are unknowns that need investigation before committing to implementation.
|
|
43
|
+
|
|
44
|
+
**Best For**:
|
|
45
|
+
|
|
46
|
+
- Evaluating new technologies
|
|
47
|
+
- Proof of concept for risky approaches
|
|
48
|
+
- Research before estimation
|
|
49
|
+
- Validating assumptions
|
|
50
|
+
- Learning and experimentation
|
|
51
|
+
|
|
52
|
+
**Important**: Spike bolts produce **knowledge**, not production code. The output is documentation, not deployable software.
|
|
53
|
+
|
|
54
|
+
---
|
|
55
|
+
|
|
56
|
+
## Stages
|
|
57
|
+
|
|
58
|
+
### Stage 1: explore
|
|
59
|
+
|
|
60
|
+
**Objective**: Investigate the unknown area and document findings
|
|
61
|
+
|
|
62
|
+
**Duration**: Time-boxed (hours to days, strictly limited)
|
|
63
|
+
|
|
64
|
+
**Activities**:
|
|
65
|
+
|
|
66
|
+
1 - **Define research questions**: List what needs to be answered
|
|
67
|
+
2 - **Investigate options**: Research and document alternatives
|
|
68
|
+
3 - **Build throwaway prototypes**: Create proof-of-concept code
|
|
69
|
+
4 - **Test assumptions**: Validate or invalidate beliefs
|
|
70
|
+
5 - **Identify risks**: Document potential issues
|
|
71
|
+
6 - **Evaluate trade-offs**: Compare options
|
|
72
|
+
|
|
73
|
+
**Artifact**: `spike-exploration.md`
|
|
74
|
+
**Location**: Path defined by `schema.units` in `.iris/aidlc/memory/memory-bank.yaml`
|
|
75
|
+
*(Default: `{intents-path}/{intent}/units/{unit}/spike-exploration.md`)*
|
|
76
|
+
|
|
77
|
+
**Template Structure**:
|
|
78
|
+
|
|
79
|
+
```markdown
|
|
80
|
+
---
|
|
81
|
+
stage: explore
|
|
82
|
+
bolt: {bolt-id}
|
|
83
|
+
created: {YYYY-MM-DDTHH:MM:SSZ}
|
|
84
|
+
time_box: {hours}
|
|
85
|
+
---
|
|
86
|
+
|
|
87
|
+
## Spike Exploration: {topic}
|
|
88
|
+
|
|
89
|
+
### Research Questions
|
|
90
|
+
1. {question 1}
|
|
91
|
+
2. {question 2}
|
|
92
|
+
|
|
93
|
+
### Options Investigated
|
|
94
|
+
|
|
95
|
+
- **{Option}**: {Description} - Pros: {list} - Cons: {list}
|
|
96
|
+
|
|
97
|
+
### Prototype Notes
|
|
98
|
+
{What was built, what was learned}
|
|
99
|
+
|
|
100
|
+
### Assumptions Tested
|
|
101
|
+
|
|
102
|
+
- **{Assumption}**: Valid: {yes/no} - Evidence: {details}
|
|
103
|
+
|
|
104
|
+
### Risks Identified
|
|
105
|
+
|
|
106
|
+
- **{Risk}**: Likelihood: {H/M/L} - Impact: {H/M/L} - Mitigation: {approach}
|
|
107
|
+
```
|
|
108
|
+
|
|
109
|
+
**Completion Criteria**:
|
|
110
|
+
|
|
111
|
+
- [ ] All research questions addressed
|
|
112
|
+
- [ ] Options evaluated
|
|
113
|
+
- [ ] Prototypes built (if applicable)
|
|
114
|
+
- [ ] Assumptions validated or invalidated
|
|
115
|
+
- [ ] Risks documented
|
|
116
|
+
|
|
117
|
+
**⛔ HUMAN Checkpoint**: Present exploration summary and **STOP**. Wait for user to confirm before proceeding to Stage 2.
|
|
118
|
+
|
|
119
|
+
---
|
|
120
|
+
|
|
121
|
+
### Stage 2: document
|
|
122
|
+
|
|
123
|
+
**Objective**: Consolidate findings into actionable recommendations
|
|
124
|
+
|
|
125
|
+
**Duration**: Hours (typically 1-2 hours)
|
|
126
|
+
|
|
127
|
+
**Activities**:
|
|
128
|
+
|
|
129
|
+
1 - **Summarize findings**: Create high-level summary
|
|
130
|
+
2 - **Make recommendations**: Propose best approach
|
|
131
|
+
3 - **Estimate implementation**: Provide effort estimates
|
|
132
|
+
4 - **Identify next bolts**: Suggest follow-up work
|
|
133
|
+
5 - **Present to team**: Share knowledge
|
|
134
|
+
|
|
135
|
+
**Artifact**: `spike-report.md`
|
|
136
|
+
**Location**: Path defined by `schema.units` in `.iris/aidlc/memory/memory-bank.yaml`
|
|
137
|
+
*(Default: `{intents-path}/{intent}/units/{unit}/spike-report.md`)*
|
|
138
|
+
|
|
139
|
+
**Template Structure**:
|
|
140
|
+
|
|
141
|
+
```markdown
|
|
142
|
+
---
|
|
143
|
+
stage: document
|
|
144
|
+
bolt: {bolt-id}
|
|
145
|
+
created: {YYYY-MM-DDTHH:MM:SSZ}
|
|
146
|
+
---
|
|
147
|
+
|
|
148
|
+
## Spike Report: {topic}
|
|
149
|
+
|
|
150
|
+
### Summary
|
|
151
|
+
{High-level summary of what was learned}
|
|
152
|
+
|
|
153
|
+
### Key Findings
|
|
154
|
+
1. {finding 1}
|
|
155
|
+
2. {finding 2}
|
|
156
|
+
|
|
157
|
+
### Recommendation
|
|
158
|
+
**Recommended Approach**: {option}
|
|
159
|
+
|
|
160
|
+
**Rationale**: {why this option}
|
|
161
|
+
|
|
162
|
+
### Implementation Estimate
|
|
163
|
+
|
|
164
|
+
- **{Component}**: Effort: {estimate} - Confidence: {H/M/L}
|
|
165
|
+
|
|
166
|
+
### Risks to Monitor
|
|
167
|
+
|
|
168
|
+
- **{Risk}**: Mitigation: {strategy}
|
|
169
|
+
|
|
170
|
+
### Suggested Next Steps
|
|
171
|
+
1. {Create bolt for...}
|
|
172
|
+
2. {Update requirements with...}
|
|
173
|
+
3. {Add story for...}
|
|
174
|
+
|
|
175
|
+
### Artifacts to Archive
|
|
176
|
+
- [ ] Prototype code (if reusable): {location}
|
|
177
|
+
- [ ] Research notes: {location}
|
|
178
|
+
```
|
|
179
|
+
|
|
180
|
+
**Completion Criteria**:
|
|
181
|
+
|
|
182
|
+
- [ ] Findings documented
|
|
183
|
+
- [ ] Clear recommendation made
|
|
184
|
+
- [ ] Estimates provided
|
|
185
|
+
- [ ] Next steps identified
|
|
186
|
+
- [ ] Knowledge shared with team
|
|
187
|
+
|
|
188
|
+
**⛔ HUMAN Checkpoint**: Present spike report and **STOP**. Wait for user to confirm bolt completion.
|
|
189
|
+
|
|
190
|
+
---
|
|
191
|
+
|
|
192
|
+
## Stage Execution
|
|
193
|
+
|
|
194
|
+
### Sequence
|
|
195
|
+
|
|
196
|
+
```text
|
|
197
|
+
explore → document
|
|
198
|
+
```
|
|
199
|
+
|
|
200
|
+
### Time-Boxing
|
|
201
|
+
|
|
202
|
+
Spikes **MUST** be time-boxed:
|
|
203
|
+
|
|
204
|
+
- Define maximum duration upfront
|
|
205
|
+
- Stop when time-box expires
|
|
206
|
+
- Document whatever was learned
|
|
207
|
+
- Don't extend without explicit approval
|
|
208
|
+
|
|
209
|
+
### State Tracking
|
|
210
|
+
|
|
211
|
+
```yaml
|
|
212
|
+
---
|
|
213
|
+
current_stage: document
|
|
214
|
+
stages_completed:
|
|
215
|
+
- name: explore
|
|
216
|
+
completed: 2024-12-05T16:00:00Z
|
|
217
|
+
time_spent: 4h
|
|
218
|
+
status: in-progress
|
|
219
|
+
time_box: 8h
|
|
220
|
+
time_remaining: 4h
|
|
221
|
+
---
|
|
222
|
+
```
|
|
223
|
+
|
|
224
|
+
---
|
|
225
|
+
|
|
226
|
+
## Important Notes
|
|
227
|
+
|
|
228
|
+
### Spike Output
|
|
229
|
+
|
|
230
|
+
- **NOT** production code
|
|
231
|
+
- **NOT** deployable software
|
|
232
|
+
- **IS** knowledge and documentation
|
|
233
|
+
- **IS** input for real construction bolts
|
|
234
|
+
|
|
235
|
+
### After a Spike
|
|
236
|
+
|
|
237
|
+
1. Review findings with team
|
|
238
|
+
2. Update requirements if needed
|
|
239
|
+
3. Create real construction bolts
|
|
240
|
+
4. Archive or delete prototype code
|
|
@@ -0,0 +1,144 @@
|
|
|
1
|
+
# Requirements Template
|
|
2
|
+
|
|
3
|
+
Use this template when documenting requirements for an intent.
|
|
4
|
+
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
## Frontmatter
|
|
8
|
+
|
|
9
|
+
```yaml
|
|
10
|
+
---
|
|
11
|
+
intent: {NNN}-{intent-name}
|
|
12
|
+
phase: inception
|
|
13
|
+
status: draft|in-progress|complete
|
|
14
|
+
created: {YYYY-MM-DDTHH:MM:SSZ}
|
|
15
|
+
updated: {YYYY-MM-DDTHH:MM:SSZ}
|
|
16
|
+
---
|
|
17
|
+
```
|
|
18
|
+
|
|
19
|
+
Note: All naming is derived from folder names. No prefix field needed.
|
|
20
|
+
|
|
21
|
+
---
|
|
22
|
+
|
|
23
|
+
## Content
|
|
24
|
+
|
|
25
|
+
```markdown
|
|
26
|
+
# Requirements: {Intent Name}
|
|
27
|
+
|
|
28
|
+
## Intent Overview
|
|
29
|
+
|
|
30
|
+
{High-level description of what this intent aims to achieve}
|
|
31
|
+
|
|
32
|
+
## Business Goals
|
|
33
|
+
|
|
34
|
+
| Goal | Success Metric | Priority |
|
|
35
|
+
|------|----------------|----------|
|
|
36
|
+
| {Goal 1} | {How to measure success} | Must |
|
|
37
|
+
| {Goal 2} | {How to measure success} | Should |
|
|
38
|
+
|
|
39
|
+
---
|
|
40
|
+
|
|
41
|
+
## Functional Requirements
|
|
42
|
+
|
|
43
|
+
### FR-1: {Requirement Title}
|
|
44
|
+
- **Description**: {What the system must do}
|
|
45
|
+
- **Acceptance Criteria**: {Measurable conditions for success}
|
|
46
|
+
- **Priority**: Must/Should/Could
|
|
47
|
+
- **Related Stories**: {Story IDs when defined}
|
|
48
|
+
|
|
49
|
+
### FR-2: {Requirement Title}
|
|
50
|
+
- **Description**: {What the system must do}
|
|
51
|
+
- **Acceptance Criteria**: {Measurable conditions for success}
|
|
52
|
+
- **Priority**: Must/Should/Could
|
|
53
|
+
- **Related Stories**: {Story IDs when defined}
|
|
54
|
+
|
|
55
|
+
---
|
|
56
|
+
|
|
57
|
+
## Non-Functional Requirements
|
|
58
|
+
|
|
59
|
+
### Performance
|
|
60
|
+
| Requirement | Metric | Target |
|
|
61
|
+
|-------------|--------|--------|
|
|
62
|
+
| Response Time | p95 latency | < 200ms |
|
|
63
|
+
| Throughput | Requests/second | > 1000 |
|
|
64
|
+
|
|
65
|
+
### Scalability
|
|
66
|
+
| Requirement | Metric | Target |
|
|
67
|
+
|-------------|--------|--------|
|
|
68
|
+
| Concurrent Users | Active sessions | 10,000 |
|
|
69
|
+
| Data Volume | Records | 10M+ |
|
|
70
|
+
|
|
71
|
+
### Security
|
|
72
|
+
| Requirement | Standard | Notes |
|
|
73
|
+
|-------------|----------|-------|
|
|
74
|
+
| Authentication | OAuth 2.0 / JWT | {details} |
|
|
75
|
+
| Authorization | RBAC | {details} |
|
|
76
|
+
| Data Protection | AES-256 | {details} |
|
|
77
|
+
|
|
78
|
+
### Reliability
|
|
79
|
+
| Requirement | Metric | Target |
|
|
80
|
+
|-------------|--------|--------|
|
|
81
|
+
| Availability | Uptime | 99.9% |
|
|
82
|
+
| Recovery | RTO | < 1 hour |
|
|
83
|
+
|
|
84
|
+
### Compliance
|
|
85
|
+
| Requirement | Standard | Notes |
|
|
86
|
+
|-------------|----------|-------|
|
|
87
|
+
| {Regulation} | {Standard} | {details} |
|
|
88
|
+
|
|
89
|
+
---
|
|
90
|
+
|
|
91
|
+
## Constraints
|
|
92
|
+
|
|
93
|
+
### Technical Constraints
|
|
94
|
+
|
|
95
|
+
**Project-wide standards**: Required standards will be loaded from memory-bank standards folder by Construction Agent
|
|
96
|
+
|
|
97
|
+
**Intent-specific constraints** (only list constraints unique to this feature):
|
|
98
|
+
- {Constraint specific to this intent, not covered by standards}
|
|
99
|
+
|
|
100
|
+
### Business Constraints
|
|
101
|
+
- {Constraint 1: e.g., budget limitation}
|
|
102
|
+
- {Constraint 2: e.g., timeline requirement}
|
|
103
|
+
|
|
104
|
+
---
|
|
105
|
+
|
|
106
|
+
## Assumptions
|
|
107
|
+
|
|
108
|
+
| Assumption | Risk if Invalid | Mitigation |
|
|
109
|
+
|------------|-----------------|------------|
|
|
110
|
+
| {Assumption 1} | {What happens if wrong} | {How to mitigate} |
|
|
111
|
+
| {Assumption 2} | {What happens if wrong} | {How to mitigate} |
|
|
112
|
+
|
|
113
|
+
---
|
|
114
|
+
|
|
115
|
+
## Open Questions
|
|
116
|
+
|
|
117
|
+
| Question | Owner | Due Date | Resolution |
|
|
118
|
+
|----------|-------|----------|------------|
|
|
119
|
+
| {Question 1} | {Who} | {When} | {Pending/Resolved} |
|
|
120
|
+
```
|
|
121
|
+
|
|
122
|
+
---
|
|
123
|
+
|
|
124
|
+
## Priority Definitions
|
|
125
|
+
|
|
126
|
+
| Priority | Meaning |
|
|
127
|
+
|----------|---------|
|
|
128
|
+
| **Must** | Required for MVP, system unusable without |
|
|
129
|
+
| **Should** | Important, significant value but not blocking |
|
|
130
|
+
| **Could** | Nice to have, enhances experience |
|
|
131
|
+
| **Won't** | Out of scope for this intent |
|
|
132
|
+
|
|
133
|
+
---
|
|
134
|
+
|
|
135
|
+
## Requirement Quality Checklist
|
|
136
|
+
|
|
137
|
+
Before marking requirements complete, verify:
|
|
138
|
+
|
|
139
|
+
- [ ] All requirements are testable (measurable, not vague)
|
|
140
|
+
- [ ] Acceptance criteria are binary (pass/fail)
|
|
141
|
+
- [ ] NFRs have specific metrics and targets
|
|
142
|
+
- [ ] Dependencies are identified
|
|
143
|
+
- [ ] Constraints are documented
|
|
144
|
+
- [ ] Assumptions are stated and risks assessed
|