project-iris 0.0.17 → 0.1.0

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 (37) hide show
  1. package/README.md +86 -15
  2. package/flows/aidlc/README.md +358 -214
  3. package/flows/aidlc/agents/README.md +154 -0
  4. package/flows/aidlc/agents/master-agent.md +211 -24
  5. package/flows/aidlc/memory-bank.yaml +58 -10
  6. package/flows/aidlc/quick-start.md +7 -7
  7. package/flows/aidlc/skills/README.md +106 -0
  8. package/flows/aidlc/skills/construction/bolt-list.md +16 -0
  9. package/flows/aidlc/skills/construction/bolt-start.md +37 -1
  10. package/flows/aidlc/skills/construction/navigator.md +1 -1
  11. package/flows/aidlc/skills/inception/bolt-plan.md +1 -1
  12. package/flows/aidlc/skills/inception/intent-create.md +91 -2
  13. package/flows/aidlc/skills/inception/requirements.md +105 -6
  14. package/flows/aidlc/skills/master/answer-question.md +1 -1
  15. package/flows/aidlc/skills/master/code-elevate.md +434 -0
  16. package/flows/aidlc/skills/master/explain-flow.md +6 -6
  17. package/flows/aidlc/skills/master/project-init.md +110 -12
  18. package/flows/aidlc/skills/operations/build.md +32 -4
  19. package/flows/aidlc/skills/operations/monitor.md +75 -14
  20. package/flows/aidlc/skills/operations/rollback.md +239 -0
  21. package/flows/aidlc/templates/README.md +128 -0
  22. package/flows/aidlc/templates/construction/bolt-template.md +5 -5
  23. package/flows/aidlc/templates/construction/bolt-types/ddd-construction-bolt/{ddd-02-technical-design-template.md → ddd-02-logical-design-template.md} +1 -1
  24. package/flows/aidlc/templates/construction/bolt-types/ddd-construction-bolt.md +27 -27
  25. package/flows/aidlc/templates/construction/bolt-types/simple-construction-bolt.md +6 -6
  26. package/flows/aidlc/templates/construction/construction-guide.md +244 -0
  27. package/flows/aidlc/templates/construction/construction-log-template.md +7 -6
  28. package/flows/aidlc/templates/construction/elevation-dynamic-model-template.md +265 -0
  29. package/flows/aidlc/templates/construction/elevation-static-model-template.md +204 -0
  30. package/flows/aidlc/templates/inception/prfaq-template.md +147 -0
  31. package/flows/aidlc/templates/inception/requirements-template.md +70 -5
  32. package/flows/aidlc/templates/inception/risks-template.md +214 -0
  33. package/flows/aidlc/templates/operations/deployment-unit-template.md +228 -0
  34. package/lib/constants.js +13 -9
  35. package/package.json +1 -1
  36. package/flows/aidlc/templates/inception/project/README.md +0 -55
  37. /package/flows/aidlc/templates/construction/bolt-types/ddd-construction-bolt/{ddd-01-domain-model-template.md → ddd-01-domain-design-template.md} +0 -0
@@ -27,6 +27,22 @@
27
27
 
28
28
  ---
29
29
 
30
+ ## Display Convention (CRITICAL)
31
+
32
+ When referencing bolt files to the user, ALWAYS show the **bolt ID prominently**, not just "bolt.md":
33
+
34
+ **WRONG**:
35
+ - "Working on bolt.md"
36
+ - "Open bolt.md to see details"
37
+
38
+ **CORRECT**:
39
+ - "Working on **001-extension-foundation**"
40
+ - "Open **001-extension-foundation/bolt.md** to see details"
41
+
42
+ The bolt ID (directory name like `001-extension-foundation`) is the identifier. The file `bolt.md` is just the metadata file inside. Users should always see and understand WHICH bolt they're working on.
43
+
44
+ ---
45
+
30
46
  ## Checkpoints
31
47
 
32
48
  **Checkpoint 1**: Which bolt to work on?
@@ -33,6 +33,24 @@
33
33
 
34
34
  ---
35
35
 
36
+ ## Display Convention (CRITICAL)
37
+
38
+ When referencing bolt files to the user, ALWAYS show the **bolt ID prominently**, not just "bolt.md":
39
+
40
+ **WRONG**:
41
+ - "Working on bolt.md"
42
+ - "Updating bolt.md status"
43
+ - "Approve changes to bolt.md?"
44
+
45
+ **CORRECT**:
46
+ - "Working on **001-extension-foundation**"
47
+ - "Updating **001-extension-foundation** status"
48
+ - "Approve changes to **001-extension-foundation/bolt.md**?"
49
+
50
+ The bolt ID (directory name like `001-extension-foundation`) is the identifier. Users should always see and understand WHICH bolt they're working on.
51
+
52
+ ---
53
+
36
54
  ## Bolt Type Execution
37
55
 
38
56
  Stages, activities, outputs, and checkpoints come from the bolt type definition:
@@ -145,7 +163,7 @@ When transitioning from `planned` to `in-progress`:
145
163
  ---
146
164
  status: in-progress # was: planned
147
165
  started: {ISO-8601-timestamp} # was: null
148
- current_stage: {first-stage} # was: null (e.g., "domain-model")
166
+ current_stage: {first-stage} # was: null (e.g., "domain-design")
149
167
  ---
150
168
  ```
151
169
 
@@ -430,6 +448,24 @@ If construction log doesn't exist, create it using template:
430
448
 
431
449
  ---
432
450
 
451
+ ## CRITICAL: Post-Bolt Options (NEVER SKIP)
452
+
453
+ **After EVERY bolt completion, you MUST present the Actions menu above.**
454
+
455
+ ```text
456
+ ┌─────────────────────────────────────────────────────────────┐
457
+ │ BOLT COMPLETED │
458
+ │ → You MUST show the Actions menu (1-next, 2-list, 3-ops) │
459
+ │ → Do NOT just ask "approve to continue?" │
460
+ │ → Let the user CHOOSE their next action │
461
+ └─────────────────────────────────────────────────────────────┘
462
+ ```
463
+
464
+ **Failure Mode**: Asking "Ready to proceed to next bolt?" without showing options
465
+ **Correct Behavior**: Always show numbered Actions list and wait for user choice
466
+
467
+ ---
468
+
433
469
  ## Bolt Completion Checklist
434
470
 
435
471
  **Use this checklist to verify all completion tasks are done:**
@@ -8,7 +8,7 @@
8
8
  - ✅ **ALWAYS** use numbered list format: `N - **Option**: Description`
9
9
  - ✅ **ALWAYS** use status indicators: ✅ (done) ⏳ (current) [ ] (pending) 🚫 (blocked)
10
10
  - ✅ **ALWAYS** show active bolt context prominently at top
11
- - ✅ **ALWAYS** display stage progress (e.g., "Stage 2/4: Technical Design")
11
+ - ✅ **ALWAYS** display stage progress (e.g., "Stage 2/4: Logical Design")
12
12
  - ✅ **ALWAYS** end with suggested next step and call-to-action
13
13
 
14
14
  ## Success Metrics
@@ -255,7 +255,7 @@ Establish execution order based on dependencies:
255
255
  └── {stage-artifacts} ← Created during construction (varies by bolt type)
256
256
  ```
257
257
 
258
- *Note: Artifact names depend on bolt type (e.g., DDD bolts create `ddd-01-domain-model.md`, simple bolts create `implementation-plan.md`).*
258
+ *Note: Artifact names depend on bolt type (e.g., DDD bolts create `ddd-01-domain-design.md`, simple bolts create `implementation-plan.md`).*
259
259
 
260
260
  4. **Bolt File Structure** (CRITICAL: Include all dependencies in frontmatter):
261
261
 
@@ -10,11 +10,13 @@
10
10
  - ✅ **ALWAYS** show files created with paths
11
11
  - ✅ **ALWAYS** end with numbered actions and suggested next step
12
12
  - 📖 **ALWAYS** read project.yaml for context-aware suggestions
13
+ - ✅ **ALWAYS** offer PRFAQ generation after intent creation
13
14
 
14
15
  ## Success Metrics
15
16
 
16
17
  - ✅ Intent directory created with correct naming ({NNN}-{name})
17
18
  - ✅ requirements.md and inception-log.md initialized
19
+ - ✅ PRFAQ offered (optional but recommended per AI-DLC spec)
18
20
  - ✅ Confirmation shows created files with paths
19
21
  - ✅ Clear next step suggestion
20
22
 
@@ -24,6 +26,7 @@
24
26
  - ❌ Missing numeric prefix on intent name
25
27
  - ❌ Not reading existing intents for context
26
28
  - ❌ Multiple action lists in output
29
+ - ❌ Skipping PRFAQ offer without user choice
27
30
 
28
31
  ---
29
32
 
@@ -195,9 +198,64 @@ Once confirmed, perform these file operations:
195
198
  - Initialize with intent metadata and empty sections
196
199
  - Track progress, decisions, and scope changes
197
200
 
201
+ ### 4. Offer PRFAQ Generation (AI-DLC Spec Requirement)
202
+
203
+ **Per AI-DLC specification, PRFAQ is an optional but recommended Inception output.**
204
+
205
+ After initializing the intent, offer PRFAQ generation:
206
+
207
+ ```markdown
208
+ ## PRFAQ Document (Optional but Recommended)
209
+
210
+ A PRFAQ (Press Release / FAQ) helps clarify the business value before diving into requirements.
211
+
212
+ **Benefits:**
213
+ - Forces customer-centric thinking
214
+ - Surfaces scope questions early
215
+ - Aligns stakeholders on the "why"
216
+ - Defines success metrics upfront
217
+
218
+ Would you like to generate a PRFAQ for this intent?
219
+
220
+ 1 - **Yes**: Generate PRFAQ now (takes ~2 minutes of Q&A)
221
+ 2 - **Skip**: Proceed directly to requirements
222
+ ```
223
+
224
+ **If user chooses "Yes":**
225
+
226
+ Ask these questions to generate the PRFAQ:
227
+
228
+ ```markdown
229
+ ## PRFAQ Quick Questions
230
+
231
+ 1. **Headline**: In one sentence, what would the announcement say?
232
+ (e.g., "Company X launches feature Y, enabling users to Z")
233
+
234
+ 2. **Problem**: What user pain point does this solve?
235
+
236
+ 3. **Key Benefits**: What are the top 3 outcomes users will experience?
237
+
238
+ 4. **Success Metric**: How will you know this feature is successful?
239
+ (e.g., "50% reduction in time to complete X" or "10K daily active users")
240
+ ```
241
+
242
+ **After receiving answers:**
243
+
244
+ 1. Generate PRFAQ using template: `.iris/aidlc/templates/inception/prfaq-template.md`
245
+ 2. Save to: `{intent-path}/prfaq.md`
246
+ 3. Update inception-log.md with PRFAQ status
247
+
248
+ **If user chooses "Skip":**
249
+
250
+ Note in inception-log.md: "PRFAQ: Skipped by user"
251
+
252
+ Proceed to confirmation step.
253
+
198
254
  ### 5. Confirm Creation
199
255
 
200
- Show confirmation with **exactly ONE action list** - no workflow overview, no extra lists:
256
+ Show confirmation with **exactly ONE action list** - no workflow overview, no extra lists.
257
+
258
+ **If PRFAQ was generated:**
201
259
 
202
260
  ```markdown
203
261
  ## Intent Created: `{intent-name}`
@@ -209,6 +267,7 @@ Show confirmation with **exactly ONE action list** - no workflow overview, no ex
209
267
  Files created:
210
268
  - `requirements.md` (draft)
211
269
  - `inception-log.md` (progress tracker)
270
+ - `prfaq.md` (business value summary)
212
271
 
213
272
  1 - **requirements**: [Recommended] Gather detailed requirements
214
273
  2 - **context**: Define system context and boundaries
@@ -217,6 +276,29 @@ Files created:
217
276
  **Type a number to continue.**
218
277
  ```
219
278
 
279
+ **If PRFAQ was skipped:**
280
+
281
+ ```markdown
282
+ ## Intent Created: `{intent-name}`
283
+
284
+ **Goal**: {user's stated goal}
285
+ **Type**: {intent type}
286
+ **Location**: `{intent-path}/`
287
+
288
+ Files created:
289
+ - `requirements.md` (draft)
290
+ - `inception-log.md` (progress tracker)
291
+
292
+ > Note: PRFAQ skipped. You can generate it later with the `prfaq` action.
293
+
294
+ 1 - **requirements**: [Recommended] Gather detailed requirements
295
+ 2 - **prfaq**: Generate PRFAQ document
296
+ 3 - **context**: Define system context and boundaries
297
+ 4 - **menu**: Return to inception menu
298
+
299
+ **Type a number to continue.**
300
+ ```
301
+
220
302
  ---
221
303
 
222
304
  ## Transition
@@ -224,6 +306,7 @@ Files created:
224
306
  After intent created:
225
307
 
226
308
  - → **requirements** - begin checkpoint workflow at Checkpoint 1
309
+ - → **prfaq** (optional) - generate PRFAQ if skipped earlier
227
310
 
228
311
  ---
229
312
 
@@ -231,6 +314,12 @@ After intent created:
231
314
 
232
315
  ```yaml
233
316
  input: User's feature idea
234
- output: Intent directory with requirements.md and inception-log.md
317
+ output: Intent directory with requirements.md, inception-log.md, and optionally prfaq.md
235
318
  checkpoints: 0 (prerequisite to workflow)
319
+ artifacts:
320
+ required:
321
+ - requirements.md
322
+ - inception-log.md
323
+ optional:
324
+ - prfaq.md (AI-DLC recommended, user choice)
236
325
  ```
@@ -325,7 +325,74 @@ Do these SLOs align with your expectations?
325
325
 
326
326
  ---
327
327
 
328
- ### Step 5: Document Trade-offs
328
+ ### Step 5: Define Measurement Criteria (AI-DLC Requirement)
329
+
330
+ **Per AI-DLC specification, Measurement Criteria must trace to the business intent.**
331
+
332
+ Unlike technical SLOs, Measurement Criteria capture business-level success indicators.
333
+
334
+ ```markdown
335
+ ## Measurement Criteria
336
+
337
+ Measurement Criteria trace back to the business intent and help validate whether the feature delivers expected value.
338
+
339
+ ### Business Outcome Metrics
340
+
341
+ 1. **Primary Success Metric**: What single metric best indicates this feature is successful?
342
+ - Metric: ___
343
+ - Current baseline (if known): ___
344
+ - Target: ___
345
+ - Measurement method: ___
346
+
347
+ 2. **User Adoption Metrics**:
348
+ - Expected active users: ___
349
+ - Feature usage frequency: ___
350
+ - Time to first value: ___
351
+
352
+ 3. **Business Impact Metrics**:
353
+ - Revenue impact (if applicable): ___
354
+ - Cost reduction (if applicable): ___
355
+ - Efficiency gain (if applicable): ___
356
+
357
+ ### Leading Indicators
358
+ What early signals will indicate we're on track?
359
+ - ___
360
+ - ___
361
+
362
+ ### Lagging Indicators
363
+ What will confirm long-term success?
364
+ - ___
365
+ - ___
366
+
367
+ ### Measurement Timeline
368
+ - **Week 1-2**: {Early indicators to monitor}
369
+ - **Month 1**: {Short-term success criteria}
370
+ - **Quarter 1**: {Long-term validation}
371
+ ```
372
+
373
+ **Wait for user input on key metrics.**
374
+
375
+ **After receiving answers, document in requirements.md:**
376
+
377
+ ```markdown
378
+ ## Measurement Criteria
379
+
380
+ ### Primary Success Metric
381
+ - **Metric**: {metric name}
382
+ - **Baseline**: {current state}
383
+ - **Target**: {goal}
384
+ - **Measurement**: {how to measure}
385
+
386
+ ### Business Traceability
387
+ | Metric | Business Goal | FR/NFR Link |
388
+ |--------|---------------|-------------|
389
+ | {Metric 1} | {Which business goal it validates} | FR-1, FR-2 |
390
+ | {Metric 2} | {Which business goal it validates} | NFR-P1 |
391
+ ```
392
+
393
+ ---
394
+
395
+ ### Step 6: Document Trade-offs
329
396
 
330
397
  If requirements conflict, document trade-offs:
331
398
 
@@ -347,7 +414,7 @@ I've identified these trade-offs in your requirements:
347
414
 
348
415
  ---
349
416
 
350
- ### Step 6: Document Requirements
417
+ ### Step 7: Document Requirements
351
418
 
352
419
  1. **Read Path**: Check `schema.requirements` from `.iris/aidlc/memory-bank.yaml`
353
420
  *(Default: `memory-bank/intents/{intent-name}/requirements.md`)*
@@ -393,6 +460,19 @@ I've identified these trade-offs in your requirements:
393
460
  - **Latency (p95)**: < {X}ms
394
461
  - **Error Rate**: < {X}%
395
462
 
463
+ ## Measurement Criteria (AI-DLC Required)
464
+
465
+ ### Primary Success Metric
466
+ - **Metric**: {metric name}
467
+ - **Baseline**: {current state}
468
+ - **Target**: {goal}
469
+ - **Measurement**: {how to measure}
470
+
471
+ ### Business Traceability
472
+ | Metric | Business Goal | FR/NFR Link |
473
+ |--------|---------------|-------------|
474
+ | {Metric 1} | {Which business goal it validates} | FR-1, FR-2 |
475
+
396
476
  ## Trade-off Decisions
397
477
  - {Trade-off 1}: Chose {option} because {reason}
398
478
  ```
@@ -405,7 +485,7 @@ I've identified these trade-offs in your requirements:
405
485
 
406
486
  ---
407
487
 
408
- ### Step 7: Requirements Review
488
+ ### Step 8: Requirements Review
409
489
 
410
490
  **Checkpoint 3**: Present FULL requirements for approval.
411
491
 
@@ -467,6 +547,10 @@ I've identified these trade-offs in your requirements:
467
547
  - **Latency (p95)**: < {X}ms
468
548
  - **Error Rate**: < {X}%
469
549
 
550
+ ### Measurement Criteria (Business Traceability)
551
+ - **Primary Metric**: {metric} - Baseline: {X} → Target: {Y}
552
+ - **Business Goal Link**: {Which intent goal this validates}
553
+
470
554
  ### Trade-off Decisions
471
555
  - {Trade-off 1}: Chose {option} because {reason}
472
556
 
@@ -490,7 +574,9 @@ Do these requirements capture your intent?
490
574
  - **Functional Requirements**: {N} defined
491
575
  - **Non-Functional Requirements**: {N} across 5 categories
492
576
  - **SLOs**: {N} defined
577
+ - **Measurement Criteria**: {N} business metrics defined
493
578
  - **Trade-offs**: {N} documented
579
+ - **Technical Constraints**: {N} intent-specific
494
580
 
495
581
  ### FR Quality
496
582
  - ✅ All FRs have User Story format
@@ -505,6 +591,15 @@ Do these requirements capture your intent?
505
591
  - ✅ Reliability: {count} requirements
506
592
  - ✅ Compliance: {count} requirements
507
593
 
594
+ ### Measurement Criteria (AI-DLC Required)
595
+ - ✅ Primary success metric defined with baseline and target
596
+ - ✅ Business traceability documented (metrics → goals → FRs)
597
+ - ✅ Measurement timeline established
598
+
599
+ ### Technical Constraints
600
+ - **Standards**: Loaded by Construction Agent from `memory-bank/standards/`
601
+ - **Intent-Specific**: {constraints from Q7 not covered by standards, or "None"}
602
+
508
603
  ### Artifact Created
509
604
  - `{intent-path}/requirements.md`
510
605
 
@@ -590,10 +685,14 @@ Requirements ← YOU ARE HERE
590
685
  ## Test Contract
591
686
 
592
687
  ```yaml
593
- input: User answers to FR questions + NFR category questions (5 categories)
594
- output: requirements.md with FRs (user stories, acceptance criteria), NFRs (5 categories), SLOs, trade-offs
688
+ input: User answers to FR questions + NFR category questions (5 categories) + Measurement Criteria questions
689
+ output: requirements.md with FRs (user stories, acceptance criteria), NFRs (5 categories), SLOs, Measurement Criteria (business traceability), trade-offs
595
690
  checkpoints: 3
596
691
  - Checkpoint 1: FR clarifying questions answered
597
692
  - Checkpoint 2: All 5 NFR categories addressed
598
- - Checkpoint 3: Full requirements approved
693
+ - Checkpoint 3: Full requirements approved (includes Measurement Criteria)
694
+ ai_dlc_alignment:
695
+ - Measurement Criteria traces to business intent (spec requirement)
696
+ - SLOs provide technical targets
697
+ - Trade-offs documented for complex decisions
599
698
  ```
@@ -56,7 +56,7 @@ Identify what type of information is being requested:
56
56
  - **Status of intent/unit/bolt** → Check respective artifact files
57
57
  - **Configuration/settings** → `{schema.standards}/`
58
58
  - **Requirements** → `{intent}/requirements.md`
59
- - **Architecture decisions** → `{unit}/ddd-02-technical-design.md` or `standards/system-architecture.md`
59
+ - **Architecture decisions** → `{unit}/ddd-02-logical-design.md` or `standards/system-architecture.md`
60
60
  - **Deployment info** → `{unit}/deployment/`
61
61
  - **Story details** → `{unit}/stories/`
62
62