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.
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "olympus-ai",
3
- "version": "4.5.1",
3
+ "version": "4.5.2",
4
4
  "description": "Olympus: Multi-agent orchestration for Claude Code. Summon the gods of code.",
5
5
  "author": {
6
6
  "name": "mikev10",
@@ -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.1";
27
+ export declare const VERSION = "4.5.2";
28
28
  /** Installation result */
29
29
  export interface InstallResult {
30
30
  success: boolean;
@@ -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.1';
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
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "olympus-ai",
3
- "version": "4.5.1",
3
+ "version": "4.5.2",
4
4
  "description": "Olympus: Multi-agent orchestration for Claude Code. Summon the gods of code.",
5
5
  "type": "module",
6
6
  "main": "dist/index.js",
@@ -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
- - Include intent analysis summary at the top:
186
- - User request
187
- - Request type
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: 5+ questions (Problem, Personas, Success Metrics, Constraints, Priorities)
168
- - Trust 1: 3-4 questions (Problem, Personas, Success Metrics, and one more if needed)
169
- - Trust 2: 2-3 questions (Problem + Success Metrics, omit if clearly answered in input)
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}**: {Description — role, goals, pain points}
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 Metrics
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