olympus-ai 4.5.1 → 4.5.2
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/.claude-plugin/plugin.json +1 -1
- package/dist/installer/index.d.ts +1 -1
- package/dist/installer/index.js +1 -1
- package/package.json +1 -1
- package/resources/rules/inception/requirements-analysis.md +65 -7
- package/resources/rules/inception/units-generation.md +55 -0
- package/resources/rules/inception/user-stories.md +38 -1
- package/resources/skills/plan/SKILL.md +29 -9
|
@@ -24,7 +24,7 @@ export declare const HOOKS_DIR: string;
|
|
|
24
24
|
export declare const SETTINGS_FILE: string;
|
|
25
25
|
export declare const VERSION_FILE: string;
|
|
26
26
|
/** Current version - MUST match package.json */
|
|
27
|
-
export declare const VERSION = "4.5.
|
|
27
|
+
export declare const VERSION = "4.5.2";
|
|
28
28
|
/** Installation result */
|
|
29
29
|
export interface InstallResult {
|
|
30
30
|
success: boolean;
|
package/dist/installer/index.js
CHANGED
|
@@ -40,7 +40,7 @@ export const HOOKS_DIR = join(CLAUDE_CONFIG_DIR, 'hooks');
|
|
|
40
40
|
export const SETTINGS_FILE = join(CLAUDE_CONFIG_DIR, 'settings.json');
|
|
41
41
|
export const VERSION_FILE = join(CLAUDE_CONFIG_DIR, '.olympus-version.json');
|
|
42
42
|
/** Current version - MUST match package.json */
|
|
43
|
-
export const VERSION = '4.5.
|
|
43
|
+
export const VERSION = '4.5.2';
|
|
44
44
|
/**
|
|
45
45
|
* Read a content file from the resources/ directory.
|
|
46
46
|
*
|
package/package.json
CHANGED
|
@@ -182,16 +182,74 @@ When done, let me know and I will incorporate your approved findings into the re
|
|
|
182
182
|
### Step 7: Generate Requirements Document
|
|
183
183
|
- **PREREQUISITE**: Step 6 gate must be passed — all answers received and analyzed. If Step 6b applied, supplementary findings must also be reviewed.
|
|
184
184
|
- Create `aidlc-docs/{workflow-id}/inception/requirements/requirements.md`
|
|
185
|
-
-
|
|
186
|
-
|
|
187
|
-
|
|
185
|
+
- Begin with YAML frontmatter mirroring intent.md classification:
|
|
186
|
+
|
|
187
|
+
```yaml
|
|
188
|
+
---
|
|
189
|
+
workflow: "{workflow-id}"
|
|
190
|
+
pathway: "{greenfield|brownfield-enhancement|brownfield-refactor|bugfix|migration}"
|
|
191
|
+
scope: "{single-file|single-component|multi-component|system-wide|cross-system}"
|
|
192
|
+
complexity: "{trivial|simple|moderate|complex}"
|
|
193
|
+
depth: "{minimal|standard|comprehensive}"
|
|
194
|
+
status: draft
|
|
195
|
+
created: "{ISO-8601}"
|
|
196
|
+
---
|
|
197
|
+
```
|
|
198
|
+
|
|
199
|
+
- Include intent analysis summary after frontmatter:
|
|
200
|
+
- User request (verbatim or paraphrased)
|
|
201
|
+
- Request type classification
|
|
188
202
|
- Scope estimate
|
|
189
203
|
- Complexity estimate
|
|
190
|
-
- Include both functional and non-functional requirements
|
|
191
|
-
- Include scenario coverage when relevant (use cases, edge cases, error scenarios)
|
|
192
|
-
- Incorporate user's answers to clarifying questions
|
|
193
|
-
- Provide brief summary of key requirements
|
|
194
204
|
- **Do NOT include a User Stories section** — user stories with personas and acceptance criteria are generated in the dedicated User Stories stage
|
|
205
|
+
- Incorporate user's answers to clarifying questions
|
|
206
|
+
- If the requirements introduce 3+ domain-specific terms that aren't self-explanatory, append a `## Glossary` section defining them
|
|
207
|
+
|
|
208
|
+
#### Depth-Specific Content Guidance
|
|
209
|
+
|
|
210
|
+
The depth determined in Step 3 controls which sections to include and how much detail each receives:
|
|
211
|
+
|
|
212
|
+
**Minimal** (clear, simple requests):
|
|
213
|
+
- Intent analysis summary
|
|
214
|
+
- Functional requirements (concise list)
|
|
215
|
+
- Brief key requirements summary
|
|
216
|
+
- Coverage verification (expect most areas N/A with justification)
|
|
217
|
+
|
|
218
|
+
**Standard** (normal complexity):
|
|
219
|
+
- All Minimal sections, plus:
|
|
220
|
+
- Non-functional requirements
|
|
221
|
+
- Scenario coverage (key use cases and error scenarios)
|
|
222
|
+
- Coverage verification (expect most areas Covered)
|
|
223
|
+
|
|
224
|
+
**Comprehensive** (complex, high-risk):
|
|
225
|
+
- All Standard sections, plus:
|
|
226
|
+
- Detailed scenario coverage with edge cases and error scenarios
|
|
227
|
+
- Dedicated Business Context section
|
|
228
|
+
- Dedicated Technical Context section
|
|
229
|
+
- Coverage verification (ALL areas must be Covered or have justified Partial status)
|
|
230
|
+
|
|
231
|
+
#### 7b. Coverage Verification (MANDATORY)
|
|
232
|
+
|
|
233
|
+
Include a **Coverage Verification** section at the end of `requirements.md`. This maps directly to the six coverage areas evaluated in Step 5. Every area must be accounted for:
|
|
234
|
+
|
|
235
|
+
```markdown
|
|
236
|
+
## Coverage Verification
|
|
237
|
+
|
|
238
|
+
| Area | Status | Section | Notes |
|
|
239
|
+
|------|--------|---------|-------|
|
|
240
|
+
| Functional Requirements | {Covered/Partial/N-A} | {§ section ref} | {justification if Partial or N-A} |
|
|
241
|
+
| Non-Functional Requirements | {Covered/Partial/N-A} | {§ section ref} | {justification if Partial or N-A} |
|
|
242
|
+
| Scenario Coverage | {Covered/Partial/N-A} | {§ section ref} | {justification if Partial or N-A} |
|
|
243
|
+
| Business Context | {Covered/Partial/N-A} | {§ section ref} | {justification if Partial or N-A} |
|
|
244
|
+
| Technical Context | {Covered/Partial/N-A} | {§ section ref} | {justification if Partial or N-A} |
|
|
245
|
+
| Quality Attributes | {Covered/Partial/N-A} | {§ section ref} | {justification if Partial or N-A} |
|
|
246
|
+
```
|
|
247
|
+
|
|
248
|
+
**Rules**:
|
|
249
|
+
- **Covered**: The area has a dedicated section with substantive content
|
|
250
|
+
- **Partial**: The area is addressed but incomplete — the Notes column MUST explain what is missing and why
|
|
251
|
+
- **N-A**: The area does not apply to this workflow — the Notes column MUST justify the exclusion
|
|
252
|
+
- If any area is Partial, consider whether follow-up questions are needed before finalizing
|
|
195
253
|
|
|
196
254
|
### Step 8: MANDATORY: Update State Tracking
|
|
197
255
|
|
|
@@ -74,6 +74,7 @@ Unit boundaries define the scope of all subsequent design and code generation wo
|
|
|
74
74
|
- [ ] Generate `aidlc-docs/inception/application-design/unit-of-work.md` with unit definitions and responsibilities
|
|
75
75
|
- [ ] Generate `aidlc-docs/inception/application-design/unit-of-work-dependency.md` with dependency matrix
|
|
76
76
|
- [ ] Generate `aidlc-docs/inception/application-design/unit-of-work-story-map.md` mapping stories to units
|
|
77
|
+
- [ ] **Conditional** (complexity >= moderate AND units >= 3): Generate per-unit briefs in `aidlc-docs/inception/application-design/units/{unit-slug}/unit-brief.md`
|
|
77
78
|
- [ ] **Greenfield only**: Document code organization strategy in `unit-of-work.md` (see code-generation.md for structure patterns)
|
|
78
79
|
- [ ] Validate unit boundaries and dependencies
|
|
79
80
|
- [ ] Ensure all stories are assigned to units
|
|
@@ -163,9 +164,63 @@ If the analysis in step 7 reveals ANY ambiguous answers, you MUST:
|
|
|
163
164
|
- [ ] Save all generated artifacts
|
|
164
165
|
- **Do NOT proceed without completing state updates**
|
|
165
166
|
|
|
167
|
+
## Step 14b: Generate Unit Briefs (CONDITIONAL)
|
|
168
|
+
|
|
169
|
+
**Condition**: Generate unit briefs when complexity is `moderate` or `complex` AND the decomposition produced 3 or more units. If the condition is not met, skip to Step 15.
|
|
170
|
+
|
|
171
|
+
For each unit defined in `unit-of-work.md`, create a per-unit brief file:
|
|
172
|
+
|
|
173
|
+
**Path**: `aidlc-docs/{workflowId}/inception/application-design/units/{unit-slug}/unit-brief.md`
|
|
174
|
+
|
|
175
|
+
Where `{unit-slug}` follows the existing convention (e.g., `UNIT-001-foundation`).
|
|
176
|
+
|
|
177
|
+
```markdown
|
|
178
|
+
---
|
|
179
|
+
unit: "U-NNN"
|
|
180
|
+
intent: "{workflow-id}"
|
|
181
|
+
complexity: "{S|M|L|XL}"
|
|
182
|
+
status: draft
|
|
183
|
+
created: "{ISO-8601}"
|
|
184
|
+
---
|
|
185
|
+
|
|
186
|
+
# Unit Brief: U-NNN — {Name}
|
|
187
|
+
|
|
188
|
+
## Purpose and Scope
|
|
189
|
+
{What this unit handles. Explicit boundary — what is IN vs OUT of this unit relative to other units.}
|
|
190
|
+
|
|
191
|
+
## Requirements Mapping
|
|
192
|
+
| Requirement | Description | Coverage |
|
|
193
|
+
|-------------|-------------|----------|
|
|
194
|
+
| FR-1 | {description} | Covered / Partial |
|
|
195
|
+
|
|
196
|
+
## Key Domain Entities
|
|
197
|
+
| Entity | Description | Owned by this unit? |
|
|
198
|
+
|--------|-------------|---------------------|
|
|
199
|
+
| {Entity} | {description} | Yes / Shared with U-NNN |
|
|
200
|
+
|
|
201
|
+
## Technical Context
|
|
202
|
+
{Tech stack, integration points, data storage, and APIs relevant to this unit.
|
|
203
|
+
Reference existing system components if brownfield.}
|
|
204
|
+
|
|
205
|
+
## Dependencies
|
|
206
|
+
- **Depends on**: {list units this unit requires to be built first, or "None"}
|
|
207
|
+
- **Depended on by**: {list units that require this unit, or "None"}
|
|
208
|
+
|
|
209
|
+
## Success Criteria
|
|
210
|
+
- [ ] {Verifiable outcome specific to this unit}
|
|
211
|
+
- [ ] {Verifiable outcome specific to this unit}
|
|
212
|
+
```
|
|
213
|
+
|
|
214
|
+
**Rules**:
|
|
215
|
+
- Unit briefs supplement, not replace, `unit-of-work.md` — the overview document remains the single index of all units
|
|
216
|
+
- Requirements Mapping must trace back to FRs in `requirements.md`
|
|
217
|
+
- Dependencies must be consistent with `unit-of-work-dependency.md`
|
|
218
|
+
- Keep briefs concise — detailed functional design happens in the Construction phase
|
|
219
|
+
|
|
166
220
|
## Step 15: Continue or Complete
|
|
167
221
|
- [ ] If more steps remain, return to Step 12
|
|
168
222
|
- [ ] If all steps complete, verify units are ready for design stages
|
|
223
|
+
- [ ] If unit briefs were generated (Step 14b), verify consistency across all briefs
|
|
169
224
|
- [ ] Mark Units Generation stage as complete
|
|
170
225
|
|
|
171
226
|
## Step 16: Present Completion Message
|
|
@@ -163,9 +163,46 @@ For medium priority cases, execute user stories if ANY of these apply:
|
|
|
163
163
|
- [ ] Generate stories.md with user stories following INVEST criteria
|
|
164
164
|
- [ ] Generate personas.md with user archetypes and characteristics
|
|
165
165
|
- [ ] Ensure stories are Independent, Negotiable, Valuable, Estimable, Small, Testable
|
|
166
|
-
- [ ] Include acceptance criteria for each story
|
|
166
|
+
- [ ] Include acceptance criteria for each story (Gherkin Given/When/Then format)
|
|
167
|
+
- [ ] Include edge cases for non-trivial stories
|
|
167
168
|
- [ ] Map personas to relevant user stories
|
|
168
169
|
|
|
170
|
+
### Story Naming Convention (MANDATORY)
|
|
171
|
+
|
|
172
|
+
All stories MUST use `S-NNN` IDs (zero-padded to three digits, sequential within the workflow). This is consistent with `U-NNN` for units and `BOLT-NNN` for bolts.
|
|
173
|
+
|
|
174
|
+
### Story Template (MANDATORY)
|
|
175
|
+
|
|
176
|
+
Each story in `stories.md` MUST follow this structure:
|
|
177
|
+
|
|
178
|
+
```markdown
|
|
179
|
+
### S-NNN: {Story Title}
|
|
180
|
+
|
|
181
|
+
**Persona**: {persona name from personas.md}
|
|
182
|
+
**Priority**: {must | should | could}
|
|
183
|
+
|
|
184
|
+
> As a **{persona}**, I want **{capability}**, so that **{benefit}**.
|
|
185
|
+
|
|
186
|
+
#### Acceptance Criteria
|
|
187
|
+
- **Given** {precondition}, **when** {action}, **then** {expected result}
|
|
188
|
+
- **Given** {precondition}, **when** {action}, **then** {expected result}
|
|
189
|
+
|
|
190
|
+
#### Edge Cases
|
|
191
|
+
| Scenario | Expected Behavior |
|
|
192
|
+
|----------|-------------------|
|
|
193
|
+
| {edge case} | {what should happen} |
|
|
194
|
+
|
|
195
|
+
#### Dependencies
|
|
196
|
+
- Requires: {S-NNN or "None"}
|
|
197
|
+
- Enables: {S-NNN or "None"}
|
|
198
|
+
```
|
|
199
|
+
|
|
200
|
+
**Rules**:
|
|
201
|
+
- Every story MUST have at least one Given/When/Then acceptance criterion
|
|
202
|
+
- Edge Cases table is MANDATORY for stories with priority `must`, optional for `should`/`could`
|
|
203
|
+
- Dependencies track inter-story ordering — use "None" when the story is independent
|
|
204
|
+
- Priority uses MoSCoW: `must` (required), `should` (important), `could` (nice-to-have)
|
|
205
|
+
|
|
169
206
|
## Step 5: Present Story Options
|
|
170
207
|
- Include different approaches for story breakdown in the plan document:
|
|
171
208
|
- **User Journey-Based**: Stories follow user workflows and interactions
|
|
@@ -121,6 +121,9 @@ Before generating questions, analyze the `/plan` input and extract what is alrea
|
|
|
121
121
|
- Infer the problem being solved
|
|
122
122
|
- Identify any mentioned personas or user types
|
|
123
123
|
- Note any explicit constraints or success criteria
|
|
124
|
+
- Infer business context (why now? what motivates this work?)
|
|
125
|
+
- Infer technical context (current system state, relevant technologies, integrations)
|
|
126
|
+
- Estimate priority (must/should/could) and complexity (trivial/simple/moderate/complex)
|
|
124
127
|
- Determine what is genuinely unclear or missing
|
|
125
128
|
|
|
126
129
|
### 3b. Generate intent-questions.md
|
|
@@ -137,7 +140,10 @@ Based on your description, I've inferred the following. Please correct anything
|
|
|
137
140
|
- **Problem**: {inferred problem statement}
|
|
138
141
|
- **Primary users**: {inferred personas}
|
|
139
142
|
- **Scope**: {inferred scope}
|
|
143
|
+
- **Business context**: {inferred motivation, else "unclear"}
|
|
144
|
+
- **Technical context**: {inferred current state, else "unclear"}
|
|
140
145
|
- **Success criteria**: {inferred if present, else "unclear"}
|
|
146
|
+
- **Priority**: {inferred must/should/could, else "unclear"}
|
|
141
147
|
|
|
142
148
|
---
|
|
143
149
|
|
|
@@ -164,9 +170,9 @@ Z) Other: please specify
|
|
|
164
170
|
```
|
|
165
171
|
|
|
166
172
|
**Question count based on trust level:**
|
|
167
|
-
- Trust 0:
|
|
168
|
-
- Trust 1:
|
|
169
|
-
- Trust 2: 2-3 questions (Problem + Success
|
|
173
|
+
- Trust 0: 6+ questions (Problem, Personas, Business Context, Technical Context, Success Criteria, Constraints, Priority)
|
|
174
|
+
- Trust 1: 4-5 questions (Problem, Personas, Success Criteria, Business Context, and one more if needed)
|
|
175
|
+
- Trust 2: 2-3 questions (Problem + Success Criteria + Business Context, omit if clearly answered in input)
|
|
170
176
|
- Trust 3: 1-2 questions, or 0 if the feature description is comprehensive
|
|
171
177
|
|
|
172
178
|
**Question format rules:**
|
|
@@ -230,6 +236,10 @@ title: "{title}"
|
|
|
230
236
|
status: draft
|
|
231
237
|
created: "{ISO-8601}"
|
|
232
238
|
author: "prometheus"
|
|
239
|
+
pathway: "{greenfield|brownfield-enhancement|brownfield-refactor|bugfix|migration}"
|
|
240
|
+
scope: "{single-file|single-component|multi-component|system-wide|cross-system}"
|
|
241
|
+
complexity: "{trivial|simple|moderate|complex}"
|
|
242
|
+
priority: "{must|should|could}"
|
|
233
243
|
---
|
|
234
244
|
|
|
235
245
|
# INTENT: {Title}
|
|
@@ -237,20 +247,30 @@ author: "prometheus"
|
|
|
237
247
|
## Problem Statement
|
|
238
248
|
{What problem does this solve? Who is affected? Why does it matter now?}
|
|
239
249
|
|
|
250
|
+
## Business Context
|
|
251
|
+
{Why is this work happening now? What business driver, compliance requirement,
|
|
252
|
+
user feedback, or strategic goal motivates it? What happens if we don't do this?}
|
|
253
|
+
|
|
240
254
|
## User Personas
|
|
241
|
-
- **{Persona 1}**: {
|
|
255
|
+
- **{Persona 1}**: {Role, goals, pain points — 1-2 sentences}
|
|
256
|
+
|
|
257
|
+
## Technical Context
|
|
258
|
+
{Current system state relevant to this intent. Key technologies, integrations,
|
|
259
|
+
and architectural constraints that shape the solution space. NOT the design —
|
|
260
|
+
just what exists today that matters.}
|
|
242
261
|
|
|
243
|
-
## Success
|
|
244
|
-
- {Measurable outcome 1}
|
|
262
|
+
## Success Criteria
|
|
263
|
+
- [ ] {Measurable, verifiable outcome 1}
|
|
264
|
+
- [ ] {Measurable, verifiable outcome 2}
|
|
245
265
|
|
|
246
266
|
## Business Constraints
|
|
247
|
-
- {Constraint 1}
|
|
267
|
+
- {Constraint 1 — e.g., timeline, budget, compliance, backwards compatibility}
|
|
248
268
|
|
|
249
269
|
## Out of Scope
|
|
250
|
-
- {Explicit exclusion 1}
|
|
270
|
+
- {Explicit exclusion 1 — prevents scope creep during construction}
|
|
251
271
|
```
|
|
252
272
|
|
|
253
|
-
Fill all sections from interview answers. Include multiple personas, metrics, constraints, and exclusions as appropriate.
|
|
273
|
+
Fill all sections from interview answers. Include multiple personas, metrics, constraints, and exclusions as appropriate. The frontmatter `pathway`, `scope`, and `complexity` values must align with the classifications determined during the interview. User stories do NOT belong in intent.md — capture personas here; full stories are generated in the User Stories stage.
|
|
254
274
|
|
|
255
275
|
### 4b. Initialize checkpoint with inception_stages
|
|
256
276
|
|