olympus-ai 4.4.13 → 4.4.15
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/features/workflow-engine/checkpoint.d.ts.map +1 -1
- package/dist/features/workflow-engine/checkpoint.js +33 -6
- package/dist/features/workflow-engine/checkpoint.js.map +1 -1
- package/dist/features/workflow-engine/construction/executor.d.ts +38 -3
- package/dist/features/workflow-engine/construction/executor.d.ts.map +1 -1
- package/dist/features/workflow-engine/construction/executor.js +245 -3
- package/dist/features/workflow-engine/construction/executor.js.map +1 -1
- package/dist/features/workflow-engine/construction/regression-baseline.d.ts +76 -0
- package/dist/features/workflow-engine/construction/regression-baseline.d.ts.map +1 -0
- package/dist/features/workflow-engine/construction/regression-baseline.js +274 -0
- package/dist/features/workflow-engine/construction/regression-baseline.js.map +1 -0
- package/dist/features/workflow-engine/construction/regression-categorizer.d.ts +44 -0
- package/dist/features/workflow-engine/construction/regression-categorizer.d.ts.map +1 -0
- package/dist/features/workflow-engine/construction/regression-categorizer.js +54 -0
- package/dist/features/workflow-engine/construction/regression-categorizer.js.map +1 -0
- package/dist/features/workflow-engine/construction/validators/index.d.ts +6 -0
- package/dist/features/workflow-engine/construction/validators/index.d.ts.map +1 -0
- package/dist/features/workflow-engine/construction/validators/index.js +4 -0
- package/dist/features/workflow-engine/construction/validators/index.js.map +1 -0
- package/dist/features/workflow-engine/construction/validators/pipeline.d.ts +10 -0
- package/dist/features/workflow-engine/construction/validators/pipeline.d.ts.map +1 -0
- package/dist/features/workflow-engine/construction/validators/pipeline.js +84 -0
- package/dist/features/workflow-engine/construction/validators/pipeline.js.map +1 -0
- package/dist/features/workflow-engine/construction/validators/quality-patterns.d.ts +18 -0
- package/dist/features/workflow-engine/construction/validators/quality-patterns.d.ts.map +1 -0
- package/dist/features/workflow-engine/construction/validators/quality-patterns.js +245 -0
- package/dist/features/workflow-engine/construction/validators/quality-patterns.js.map +1 -0
- package/dist/features/workflow-engine/construction/validators/quality-validator.d.ts +3 -0
- package/dist/features/workflow-engine/construction/validators/quality-validator.d.ts.map +1 -0
- package/dist/features/workflow-engine/construction/validators/quality-validator.js +132 -0
- package/dist/features/workflow-engine/construction/validators/quality-validator.js.map +1 -0
- package/dist/features/workflow-engine/construction/validators/types.d.ts +26 -0
- package/dist/features/workflow-engine/construction/validators/types.d.ts.map +1 -0
- package/dist/features/workflow-engine/construction/validators/types.js +2 -0
- package/dist/features/workflow-engine/construction/validators/types.js.map +1 -0
- package/dist/features/workflow-engine/index.d.ts +3 -1
- package/dist/features/workflow-engine/index.d.ts.map +1 -1
- package/dist/features/workflow-engine/index.js +1 -0
- package/dist/features/workflow-engine/index.js.map +1 -1
- package/dist/features/workflow-engine/phase-types.d.ts +73 -1
- package/dist/features/workflow-engine/phase-types.d.ts.map +1 -1
- package/dist/hooks/olympus-hooks.cjs +334 -280
- package/dist/hooks/registry.d.ts +18 -0
- package/dist/hooks/registry.d.ts.map +1 -1
- package/dist/hooks/registry.js +18 -0
- package/dist/hooks/registry.js.map +1 -1
- package/dist/installer/index.d.ts +1 -1
- package/dist/installer/index.js +1 -1
- package/package.json +1 -1
- package/resources/agents/frontend-engineer-high.md +12 -0
- package/resources/agents/olympian-high.md +77 -1
- package/resources/agents/olympian.md +31 -7
- package/resources/claude-md.md +44 -0
- package/resources/config/risk-keywords.json +5 -0
- package/resources/rules/common/pathway-behaviors.md +100 -0
- package/resources/rules/common/terminal-formatting.md +161 -0
- package/resources/rules/construction/build-and-test.md +58 -0
- package/resources/rules/construction/code-generation.md +26 -5
- package/resources/rules/construction/test-generation.md +82 -0
- package/resources/skills/continue/SKILL.md +4 -0
package/dist/hooks/registry.d.ts
CHANGED
|
@@ -3,6 +3,24 @@
|
|
|
3
3
|
*
|
|
4
4
|
* Central registry for all hooks. Hooks are organized by event type
|
|
5
5
|
* and sorted by priority (lower runs first).
|
|
6
|
+
*
|
|
7
|
+
* Reserved priority ranges (do NOT reuse without updating this table):
|
|
8
|
+
*
|
|
9
|
+
* Priority Owner / Purpose
|
|
10
|
+
* -------- -------------------------------------------------------
|
|
11
|
+
* 5 SessionStart — early session initialization
|
|
12
|
+
* 10 SessionStart — standard session initialization
|
|
13
|
+
* 50 AgentTracking — PreToolUse, tracks Task tool invocations
|
|
14
|
+
* 70 LearningTool — discovery capture, tool-use learning
|
|
15
|
+
* 75 PlanLifecycle — plan creation events
|
|
16
|
+
* 76 PlanLifecycle — plan completion events
|
|
17
|
+
* 84-86 Test infrastructure (Group 1A) — reserved for U-002/U-003
|
|
18
|
+
* 90 LearningStop — session-end learning flush
|
|
19
|
+
* 92 DiscoveryCapture — PostToolUse discovery events
|
|
20
|
+
* 110 CompletePlan — plan completion and archival hook
|
|
21
|
+
* 115 CompletePlan — final plan state persistence
|
|
22
|
+
*
|
|
23
|
+
* Available gaps: 77-83, 87-89
|
|
6
24
|
*/
|
|
7
25
|
import type { HookDefinition, HookEvent } from './types.js';
|
|
8
26
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"registry.d.ts","sourceRoot":"","sources":["../../src/hooks/registry.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"registry.d.ts","sourceRoot":"","sources":["../../src/hooks/registry.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AAEH,OAAO,KAAK,EAAE,cAAc,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC;AAK5D;;;;;GAKG;AACH,wBAAgB,YAAY,CAAC,IAAI,EAAE,cAAc,GAAG,IAAI,CAMvD;AAED;;;;;GAKG;AACH,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,SAAS,GAAG,cAAc,EAAE,CAEnE;AAED;;;;GAIG;AACH,wBAAgB,WAAW,IAAI,cAAc,EAAE,CAE9C;AAED;;;GAGG;AACH,wBAAgB,UAAU,IAAI,IAAI,CAEjC;AAED;;;;GAIG;AACH,wBAAgB,aAAa,IAAI,GAAG,CAAC,SAAS,EAAE,MAAM,CAAC,CAMtD"}
|
package/dist/hooks/registry.js
CHANGED
|
@@ -3,6 +3,24 @@
|
|
|
3
3
|
*
|
|
4
4
|
* Central registry for all hooks. Hooks are organized by event type
|
|
5
5
|
* and sorted by priority (lower runs first).
|
|
6
|
+
*
|
|
7
|
+
* Reserved priority ranges (do NOT reuse without updating this table):
|
|
8
|
+
*
|
|
9
|
+
* Priority Owner / Purpose
|
|
10
|
+
* -------- -------------------------------------------------------
|
|
11
|
+
* 5 SessionStart — early session initialization
|
|
12
|
+
* 10 SessionStart — standard session initialization
|
|
13
|
+
* 50 AgentTracking — PreToolUse, tracks Task tool invocations
|
|
14
|
+
* 70 LearningTool — discovery capture, tool-use learning
|
|
15
|
+
* 75 PlanLifecycle — plan creation events
|
|
16
|
+
* 76 PlanLifecycle — plan completion events
|
|
17
|
+
* 84-86 Test infrastructure (Group 1A) — reserved for U-002/U-003
|
|
18
|
+
* 90 LearningStop — session-end learning flush
|
|
19
|
+
* 92 DiscoveryCapture — PostToolUse discovery events
|
|
20
|
+
* 110 CompletePlan — plan completion and archival hook
|
|
21
|
+
* 115 CompletePlan — final plan state persistence
|
|
22
|
+
*
|
|
23
|
+
* Available gaps: 77-83, 87-89
|
|
6
24
|
*/
|
|
7
25
|
/** Map of event type to registered hooks */
|
|
8
26
|
const hooks = new Map();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"registry.js","sourceRoot":"","sources":["../../src/hooks/registry.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"registry.js","sourceRoot":"","sources":["../../src/hooks/registry.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AAIH,4CAA4C;AAC5C,MAAM,KAAK,GAAqC,IAAI,GAAG,EAAE,CAAC;AAE1D;;;;;GAKG;AACH,MAAM,UAAU,YAAY,CAAC,IAAoB;IAC/C,MAAM,UAAU,GAAG,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC;IAC/C,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACtB,8CAA8C;IAC9C,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,QAAQ,IAAI,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,QAAQ,IAAI,GAAG,CAAC,CAAC,CAAC;IACrE,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,KAAK,EAAE,UAAU,CAAC,CAAC;AACpC,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,gBAAgB,CAAC,KAAgB;IAC/C,OAAO,KAAK,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC;AAChC,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,WAAW;IACzB,OAAO,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC;AAC3C,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,UAAU;IACxB,KAAK,CAAC,KAAK,EAAE,CAAC;AAChB,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,aAAa;IAC3B,MAAM,MAAM,GAAG,IAAI,GAAG,EAAqB,CAAC;IAC5C,KAAK,MAAM,CAAC,KAAK,EAAE,UAAU,CAAC,IAAI,KAAK,EAAE,CAAC;QACxC,MAAM,CAAC,GAAG,CAAC,KAAK,EAAE,UAAU,CAAC,MAAM,CAAC,CAAC;IACvC,CAAC;IACD,OAAO,MAAM,CAAC;AAChB,CAAC"}
|
|
@@ -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.4.
|
|
27
|
+
export declare const VERSION = "4.4.15";
|
|
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.4.
|
|
43
|
+
export const VERSION = '4.4.15';
|
|
44
44
|
/**
|
|
45
45
|
* Read a content file from the resources/ directory.
|
|
46
46
|
*
|
package/package.json
CHANGED
|
@@ -116,4 +116,16 @@ model: opus
|
|
|
116
116
|
- Does it render without errors and perform well?
|
|
117
117
|
- Would someone remember this interface?
|
|
118
118
|
</Final_Checklist>
|
|
119
|
+
<AIDLC_Compliance>
|
|
120
|
+
When your task prompt references `aidlc-docs/` OR contains a numbered plan with checkboxes, you are executing an AIDLC unit. You MUST:
|
|
121
|
+
- Read the code generation plan at the path given in your prompt
|
|
122
|
+
- Count the TOTAL number of steps — you are not done until ALL are [x]
|
|
123
|
+
- Execute steps exactly, in order — no skipping, no deviation
|
|
124
|
+
- Mark each step's checkbox `[x]` in the plan file immediately after completing it
|
|
125
|
+
- After marking a checkbox, check: are there more [ ] remaining? YES → continue immediately. NO → proceed to summary.
|
|
126
|
+
- After ALL steps are [x], create the code summary at `aidlc-docs/{workflow-id}/construction/{unit-name}/code/code-summary.md` (files created/modified, tech stack, stories implemented, known gaps)
|
|
127
|
+
- Do not report completion until EVERY checkbox is [x] and the code summary exists
|
|
128
|
+
|
|
129
|
+
⚠️ Completing only some steps and returning is a CRITICAL FAILURE. You must finish the entire plan.
|
|
130
|
+
</AIDLC_Compliance>
|
|
119
131
|
</Agent_Prompt>
|
|
@@ -30,9 +30,85 @@ CRITICAL PATH RULES:
|
|
|
30
30
|
- If you accidentally create malformed directories (CUsers..., C:...), DELETE them immediately
|
|
31
31
|
</Critical_Constraints>
|
|
32
32
|
|
|
33
|
+
<Work_Context>
|
|
34
|
+
## Learning System
|
|
35
|
+
LEARNING PATH: .olympus/learning/discoveries.jsonl
|
|
36
|
+
GLOBAL LEARNING: ~/.claude/olympus/learning/
|
|
37
|
+
|
|
38
|
+
**Recording Discoveries:**
|
|
39
|
+
When you encounter important insights during work, document them:
|
|
40
|
+
|
|
41
|
+
olympus discover "category | summary | details"
|
|
42
|
+
|
|
43
|
+
**Categories:** pattern, gotcha, workaround, performance, dependency, configuration, technical_insight
|
|
44
|
+
|
|
45
|
+
**When to record:**
|
|
46
|
+
- You discover a pattern/convention in the codebase
|
|
47
|
+
- You encounter a gotcha or edge case
|
|
48
|
+
- You find a workaround for a problem
|
|
49
|
+
- You learn something about performance, dependencies, or configuration
|
|
50
|
+
|
|
51
|
+
## Plan Location (READ ONLY)
|
|
52
|
+
PLAN PATH: .olympus/plans/{plan-name}.md
|
|
53
|
+
|
|
54
|
+
⚠️⚠️⚠️ CRITICAL RULE: NEVER MODIFY THE PLAN FILE ⚠️⚠️⚠️
|
|
55
|
+
|
|
56
|
+
The plan file (.olympus/plans/*.md) is SACRED and READ-ONLY.
|
|
57
|
+
- You may READ the plan to understand tasks
|
|
58
|
+
- You MUST NOT edit, modify, or update the plan file
|
|
59
|
+
- Only the Orchestrator manages the plan file
|
|
60
|
+
|
|
61
|
+
**NOTE**: AIDLC workflows use a different plan path structure: `aidlc-docs/{workflow-id}/construction/plans/{unit-name}-code-generation-plan.md`. When working on an AIDLC unit, use that path — NOT `.olympus/plans/`.
|
|
62
|
+
|
|
63
|
+
## AIDLC Compliance
|
|
64
|
+
|
|
65
|
+
**Activates when**: your task prompt references `aidlc-docs/` OR contains a numbered plan with checkboxes.
|
|
66
|
+
|
|
67
|
+
When active, you MUST:
|
|
68
|
+
1. Read the code generation plan at the path provided in your prompt
|
|
69
|
+
2. Count the TOTAL number of steps — this is your target. You are not done until ALL of them are [x]
|
|
70
|
+
3. Execute steps exactly, in order — no skipping, no deviation
|
|
71
|
+
4. After completing each step, immediately mark its checkbox `[x]` in the plan file
|
|
72
|
+
5. After marking a checkbox, check: are there more [ ] checkboxes remaining?
|
|
73
|
+
- YES → Continue to the next step immediately. DO NOT STOP.
|
|
74
|
+
- NO → Proceed to step 6.
|
|
75
|
+
6. After ALL steps are [x], create `aidlc-docs/{workflow-id}/construction/{unit-name}/code/code-summary.md` listing: files created/modified, tech stack, stories implemented, known gaps
|
|
76
|
+
7. Do NOT report completion until EVERY checkbox is [x] and the code summary file exists
|
|
77
|
+
|
|
78
|
+
⚠️ Completing only some steps and returning is a CRITICAL FAILURE. You must finish the entire plan.
|
|
79
|
+
</Work_Context>
|
|
80
|
+
|
|
81
|
+
<Completion_Gate>
|
|
82
|
+
⚠️ CRITICAL: DO NOT STOP UNTIL ALL STEPS ARE COMPLETE ⚠️
|
|
83
|
+
|
|
84
|
+
When executing a multi-step task (plan, checklist, or numbered steps):
|
|
85
|
+
- You MUST complete EVERY step before returning any result
|
|
86
|
+
- After finishing each step, ask yourself: "Are there more uncompleted steps?"
|
|
87
|
+
- YES → Continue to the next step immediately. Do NOT return or summarize partial progress.
|
|
88
|
+
- NO → All steps done. NOW you may create summaries and report completion.
|
|
89
|
+
- Returning after completing only SOME steps is a FAILURE
|
|
90
|
+
- If you encounter an error on one step, document it and continue with remaining steps
|
|
91
|
+
- Count your completed checkboxes [x] vs total checkboxes [ ] — if they don't match, KEEP GOING
|
|
92
|
+
- Your task is the ENTIRE list, not just the first few items
|
|
93
|
+
</Completion_Gate>
|
|
94
|
+
|
|
33
95
|
<Todo_Discipline>
|
|
34
96
|
TODO OBSESSION (NON-NEGOTIABLE):
|
|
35
97
|
- 2+ steps → TodoWrite FIRST, atomic breakdown
|
|
36
98
|
- Mark in_progress before starting (ONE at a time)
|
|
37
99
|
- Mark completed IMMEDIATELY after each step
|
|
38
|
-
|
|
100
|
+
- NEVER batch completions
|
|
101
|
+
- NEVER return with incomplete todos — check your todo list before finishing
|
|
102
|
+
|
|
103
|
+
No todos on multi-step work = INCOMPLETE WORK.
|
|
104
|
+
</Todo_Discipline>
|
|
105
|
+
|
|
106
|
+
<Verification>
|
|
107
|
+
Task NOT complete without:
|
|
108
|
+
- ALL plan checkboxes marked [x] (if working from a plan)
|
|
109
|
+
- ALL todos marked completed (zero remaining)
|
|
110
|
+
- lsp_diagnostics clean on changed files
|
|
111
|
+
- Build passes (if applicable)
|
|
112
|
+
|
|
113
|
+
⚠️ If ANY checkboxes remain [ ] or ANY todos are not completed, you are NOT done. KEEP WORKING.
|
|
114
|
+
</Verification>
|
|
@@ -63,31 +63,55 @@ The plan file (.olympus/plans/*.md) is SACRED and READ-ONLY.
|
|
|
63
63
|
|
|
64
64
|
## AIDLC Compliance
|
|
65
65
|
|
|
66
|
-
**Activates when**: your task prompt references `aidlc-docs
|
|
66
|
+
**Activates when**: your task prompt references `aidlc-docs/` OR contains a numbered plan with checkboxes.
|
|
67
67
|
|
|
68
68
|
When active, you MUST:
|
|
69
|
-
1. Read the code generation plan at
|
|
70
|
-
2.
|
|
71
|
-
3.
|
|
72
|
-
4. After
|
|
73
|
-
5.
|
|
69
|
+
1. Read the code generation plan at the path provided in your prompt
|
|
70
|
+
2. Count the TOTAL number of steps — this is your target. You are not done until ALL of them are [x]
|
|
71
|
+
3. Execute steps exactly, in order — no skipping, no deviation
|
|
72
|
+
4. After completing each step, immediately mark its checkbox `[x]` in the plan file
|
|
73
|
+
5. After marking a checkbox, check: are there more [ ] checkboxes remaining?
|
|
74
|
+
- YES → Continue to the next step immediately. DO NOT STOP.
|
|
75
|
+
- NO → Proceed to step 6.
|
|
76
|
+
6. After ALL steps are [x], create `aidlc-docs/{workflow-id}/construction/{unit-name}/code/code-summary.md` listing: files created/modified, tech stack, stories implemented, known gaps
|
|
77
|
+
7. Do NOT report completion until EVERY checkbox is [x] and the code summary file exists
|
|
78
|
+
|
|
79
|
+
⚠️ Completing only some steps and returning is a CRITICAL FAILURE. You must finish the entire plan.
|
|
74
80
|
</Work_Context>
|
|
75
81
|
|
|
82
|
+
<Completion_Gate>
|
|
83
|
+
⚠️ CRITICAL: DO NOT STOP UNTIL ALL STEPS ARE COMPLETE ⚠️
|
|
84
|
+
|
|
85
|
+
When executing a multi-step task (plan, checklist, or numbered steps):
|
|
86
|
+
- You MUST complete EVERY step before returning any result
|
|
87
|
+
- After finishing each step, ask yourself: "Are there more uncompleted steps?"
|
|
88
|
+
- YES → Continue to the next step immediately. Do NOT return or summarize partial progress.
|
|
89
|
+
- NO → All steps done. NOW you may create summaries and report completion.
|
|
90
|
+
- Returning after completing only SOME steps is a FAILURE
|
|
91
|
+
- If you encounter an error on one step, document it and continue with remaining steps
|
|
92
|
+
- Count your completed checkboxes [x] vs total checkboxes [ ] — if they don't match, KEEP GOING
|
|
93
|
+
- Your task is the ENTIRE list, not just the first few items
|
|
94
|
+
</Completion_Gate>
|
|
95
|
+
|
|
76
96
|
<Todo_Discipline>
|
|
77
97
|
TODO OBSESSION (NON-NEGOTIABLE):
|
|
78
98
|
- 2+ steps → TodoWrite FIRST, atomic breakdown
|
|
79
99
|
- Mark in_progress before starting (ONE at a time)
|
|
80
100
|
- Mark completed IMMEDIATELY after each step
|
|
81
101
|
- NEVER batch completions
|
|
102
|
+
- NEVER return with incomplete todos — check your todo list before finishing
|
|
82
103
|
|
|
83
104
|
No todos on multi-step work = INCOMPLETE WORK.
|
|
84
105
|
</Todo_Discipline>
|
|
85
106
|
|
|
86
107
|
<Verification>
|
|
87
108
|
Task NOT complete without:
|
|
109
|
+
- ALL plan checkboxes marked [x] (if working from a plan)
|
|
110
|
+
- ALL todos marked completed (zero remaining)
|
|
88
111
|
- lsp_diagnostics clean on changed files
|
|
89
112
|
- Build passes (if applicable)
|
|
90
|
-
|
|
113
|
+
|
|
114
|
+
⚠️ If ANY checkboxes remain [ ] or ANY todos are not completed, you are NOT done. KEEP WORKING.
|
|
91
115
|
</Verification>
|
|
92
116
|
|
|
93
117
|
<Style>
|
package/resources/claude-md.md
CHANGED
|
@@ -199,6 +199,50 @@ olympus learn --budget-status
|
|
|
199
199
|
4. **Verify**: Check your todo list before declaring completion
|
|
200
200
|
5. **Plan First**: For complex tasks, use Prometheus to create a plan
|
|
201
201
|
|
|
202
|
+
## Terminal Output Formatting
|
|
203
|
+
|
|
204
|
+
Plain paragraphs are invisible in the terminal. Use visual elements to create hierarchy.
|
|
205
|
+
|
|
206
|
+
**Phase banners** — fenced with `---`, use `## 🚀` header:
|
|
207
|
+
|
|
208
|
+
```text
|
|
209
|
+
---
|
|
210
|
+
## 🚀 Starting Phase Name
|
|
211
|
+
**Key:** `value` — description
|
|
212
|
+
---
|
|
213
|
+
```
|
|
214
|
+
|
|
215
|
+
**Action prompts** — ALWAYS use this pattern when the user must do something:
|
|
216
|
+
|
|
217
|
+
```text
|
|
218
|
+
---
|
|
219
|
+
## 📌 Action Required
|
|
220
|
+
Do the thing with `command`, then say **"done"**.
|
|
221
|
+
> Secondary instructions go in a blockquote.
|
|
222
|
+
---
|
|
223
|
+
```
|
|
224
|
+
|
|
225
|
+
**Status lines** — emoji-first for scannability:
|
|
226
|
+
|
|
227
|
+
```text
|
|
228
|
+
✅ Tests pass (3,360 / 3,360)
|
|
229
|
+
⚠️ Missing optional config
|
|
230
|
+
❌ Contract validation failed
|
|
231
|
+
⏳ Generating artifacts...
|
|
232
|
+
```
|
|
233
|
+
|
|
234
|
+
**Emoji vocabulary:** 🚀 workflow start, 📌 action required, ✅ success, ⚠️ warning, ❌ error, 🔍 context/analysis, 📋 summary, 💡 recommendation
|
|
235
|
+
|
|
236
|
+
**Rules:**
|
|
237
|
+
|
|
238
|
+
1. Action prompts use `## 📌 Action Required` — never plain paragraphs
|
|
239
|
+
2. Phase transitions get `---` fenced `##` headers with emoji
|
|
240
|
+
3. File paths, commands, user inputs always in `inline code`
|
|
241
|
+
4. Key action words in **bold**
|
|
242
|
+
5. Secondary instructions in `> blockquotes`
|
|
243
|
+
6. Action prompts go at the END of the response
|
|
244
|
+
7. No emojis in headers written to files (breaks parsers)
|
|
245
|
+
|
|
202
246
|
## Background Task Execution
|
|
203
247
|
|
|
204
248
|
For long-running operations, use `run_in_background: true`:
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
{
|
|
2
|
+
"critical": ["auth", "payment", "security", "encrypt", "token", "credential", "password", "session", "permission"],
|
|
3
|
+
"moderate": ["validate", "transform", "process", "persist", "database", "query", "transaction", "migrate", "cache"],
|
|
4
|
+
"low": ["log", "format", "display", "util", "helper", "config", "constant", "mock", "fixture"]
|
|
5
|
+
}
|
|
@@ -0,0 +1,100 @@
|
|
|
1
|
+
# Pathway Behaviors
|
|
2
|
+
|
|
3
|
+
**Loading note**: The orchestrator loads this file at the start of each Construction unit and
|
|
4
|
+
injects the section matching `checkpoint.pathway_type` into the agent context. Only the
|
|
5
|
+
relevant section is injected — the agent sees its pathway section, not the full file.
|
|
6
|
+
|
|
7
|
+
---
|
|
8
|
+
|
|
9
|
+
## Bugfix Pathway
|
|
10
|
+
|
|
11
|
+
These rules are non-negotiable. Every bugfix unit must satisfy all items in the quality gate
|
|
12
|
+
before the unit is marked complete.
|
|
13
|
+
|
|
14
|
+
### Autonomous Diagnosis
|
|
15
|
+
|
|
16
|
+
Before writing any code change, the agent must:
|
|
17
|
+
|
|
18
|
+
1. Reproduce the defect with a failing test or a documented reproduction recipe
|
|
19
|
+
2. Identify the root cause — the specific code path, assumption, or edge case that causes
|
|
20
|
+
the failure
|
|
21
|
+
3. Document the root cause in the `## Root Cause` section of the unit's `test-report.md`
|
|
22
|
+
|
|
23
|
+
Do not write a fix before completing the diagnosis. A fix that addresses only the symptom
|
|
24
|
+
will likely fail the quality gate.
|
|
25
|
+
|
|
26
|
+
### Root Cause Analysis Requirement
|
|
27
|
+
|
|
28
|
+
The `test-report.md` for a bugfix unit must contain a `## Root Cause` section with:
|
|
29
|
+
- File path and line number(s) of the defect
|
|
30
|
+
- A one-paragraph explanation of why the failure occurs
|
|
31
|
+
- Confirmation that the fix targets the root cause, not a workaround
|
|
32
|
+
|
|
33
|
+
### Missing Test Rule (Non-Negotiable)
|
|
34
|
+
|
|
35
|
+
Every bugfix unit MUST produce at least one new test that:
|
|
36
|
+
- Reproduces the original defect (fails before the fix, passes after)
|
|
37
|
+
- Is placed in the appropriate test file for the affected module
|
|
38
|
+
- Is named to clearly identify the defect it guards against
|
|
39
|
+
|
|
40
|
+
This rule cannot be overridden via `allowFailures`. The engine blocks unit completion if
|
|
41
|
+
`tests_total === 0` for any bugfix unit, regardless of options passed.
|
|
42
|
+
|
|
43
|
+
### Quality Gate Checklist
|
|
44
|
+
|
|
45
|
+
All items must be satisfied before the bugfix unit is marked complete:
|
|
46
|
+
|
|
47
|
+
- [ ] Root cause identified and documented in `test-report.md`
|
|
48
|
+
- [ ] Fix addresses the root cause (not just the symptom)
|
|
49
|
+
- [ ] All existing tests still pass (zero regressions)
|
|
50
|
+
- [ ] At least one new test reproduces the original defect
|
|
51
|
+
- [ ] New test passes with the fix applied
|
|
52
|
+
|
|
53
|
+
---
|
|
54
|
+
|
|
55
|
+
## Optimization Pathway
|
|
56
|
+
|
|
57
|
+
### Baseline Measurement
|
|
58
|
+
|
|
59
|
+
Before making any code changes:
|
|
60
|
+
|
|
61
|
+
1. Run the relevant benchmark or performance test
|
|
62
|
+
2. Record the baseline metric (e.g., execution time, memory usage, throughput) in the
|
|
63
|
+
`## Baseline` section of the unit's `test-report.md`
|
|
64
|
+
3. Note the test command used and any environment conditions that could affect the result
|
|
65
|
+
|
|
66
|
+
Do not proceed with changes until the baseline is captured. A comparison without a baseline
|
|
67
|
+
is not a valid optimization result.
|
|
68
|
+
|
|
69
|
+
### Performance Comparison
|
|
70
|
+
|
|
71
|
+
After applying changes:
|
|
72
|
+
|
|
73
|
+
1. Run the same benchmark or performance test under the same conditions
|
|
74
|
+
2. Record the result in the `## Performance Comparison` section of `test-report.md`:
|
|
75
|
+
- Baseline metric
|
|
76
|
+
- Post-change metric
|
|
77
|
+
- Delta (absolute and percentage)
|
|
78
|
+
3. Confirm the improvement meets the acceptance criteria defined in the unit spec
|
|
79
|
+
|
|
80
|
+
If performance has not improved, investigate before marking the unit complete.
|
|
81
|
+
|
|
82
|
+
### Rollback Plan
|
|
83
|
+
|
|
84
|
+
Document in `test-report.md` how to revert the optimization if it causes a regression in
|
|
85
|
+
production:
|
|
86
|
+
- Which files were changed
|
|
87
|
+
- The prior behavior that would need to be restored
|
|
88
|
+
- Any feature flags or config knobs that could disable the optimization without a deploy
|
|
89
|
+
|
|
90
|
+
---
|
|
91
|
+
|
|
92
|
+
## Standard / Enhancement / Greenfield Pathways
|
|
93
|
+
|
|
94
|
+
No additional behavioral constraints apply beyond the standard rules defined in:
|
|
95
|
+
|
|
96
|
+
- `resources/rules/construction/code-generation.md`
|
|
97
|
+
- `resources/rules/construction/test-generation.md`
|
|
98
|
+
|
|
99
|
+
Follow those rules as written. The orchestrator does not inject any additional context for
|
|
100
|
+
these pathways.
|
|
@@ -0,0 +1,161 @@
|
|
|
1
|
+
# Terminal Output Formatting Standards
|
|
2
|
+
|
|
3
|
+
Claude Code renders markdown via an Ink/React TUI renderer with ANSI escape codes. Plain paragraphs are visually invisible — they blend into the response stream. These rules ensure critical information is scannable.
|
|
4
|
+
|
|
5
|
+
## The Core Problem
|
|
6
|
+
|
|
7
|
+
In a terminal, the user sees a continuous stream of white text. Only these elements create visual differentiation:
|
|
8
|
+
|
|
9
|
+
| Element | Renders As | Use For |
|
|
10
|
+
|---------|-----------|---------|
|
|
11
|
+
| `# H1` / `## H2` | Colored text (red/orange) | Section breaks, banners |
|
|
12
|
+
| `**bold**` | Bold weight | Key terms, labels |
|
|
13
|
+
| `` `inline code` `` | Distinct background/color | Commands, file paths, values |
|
|
14
|
+
| `> blockquote` | Indented with left border | Callouts, important notes |
|
|
15
|
+
| `---` | Horizontal rule | Visual fences/separators |
|
|
16
|
+
| Emojis | Colored glyphs | Status indicators, anchors |
|
|
17
|
+
| Code blocks | Syntax-highlighted box | Code, structured data |
|
|
18
|
+
|
|
19
|
+
**Rule: Anything the user must act on or notice MUST use at least two of these elements. Never deliver critical info as a plain paragraph.**
|
|
20
|
+
|
|
21
|
+
---
|
|
22
|
+
|
|
23
|
+
## Emoji Vocabulary (Standardized)
|
|
24
|
+
|
|
25
|
+
Use consistently so users learn the visual language:
|
|
26
|
+
|
|
27
|
+
| Emoji | Meaning | When to Use |
|
|
28
|
+
|-------|---------|-------------|
|
|
29
|
+
| 🚀 | Workflow start / launch | Welcome banners, phase kickoffs |
|
|
30
|
+
| 📌 | Action required | User needs to do something NOW |
|
|
31
|
+
| ✅ | Success / complete | Task done, tests pass, validation pass |
|
|
32
|
+
| ⚠️ | Warning / attention | Non-blocking but important |
|
|
33
|
+
| ❌ | Error / failure | Something broke, blocking issue |
|
|
34
|
+
| 🔍 | Context / analysis | Showing inferred or extracted info |
|
|
35
|
+
| 📋 | Summary / recap | Phase summaries, status reports |
|
|
36
|
+
| 💡 | Recommendation / tip | AI suggestions, best practices |
|
|
37
|
+
| ⏳ | In progress / waiting | Long-running operations |
|
|
38
|
+
| 🔄 | Iteration / retry | Re-running, looping back |
|
|
39
|
+
|
|
40
|
+
**Do NOT use emojis in markdown headers that will be written to files** (breaks TOCs and parsers). Emojis are for terminal display output only.
|
|
41
|
+
|
|
42
|
+
---
|
|
43
|
+
|
|
44
|
+
## Output Patterns
|
|
45
|
+
|
|
46
|
+
### Pattern 1: Welcome / Phase Banner
|
|
47
|
+
|
|
48
|
+
```markdown
|
|
49
|
+
---
|
|
50
|
+
## 🚀 Welcome to AI-DLC! Starting a new workflow for Group 1B
|
|
51
|
+
|
|
52
|
+
**Workflow:** `group-1b-test-quality` — Test Quality & Traceability
|
|
53
|
+
**Builds on:** Group 1A test infrastructure (confirmed ✅)
|
|
54
|
+
---
|
|
55
|
+
```
|
|
56
|
+
|
|
57
|
+
Why it works: `---` fences create a visual box. `##` renders in color. Emoji grabs the eye. Bold labels + inline code for scannable key-value pairs.
|
|
58
|
+
|
|
59
|
+
---
|
|
60
|
+
|
|
61
|
+
### Pattern 2: Action Required (MOST IMPORTANT)
|
|
62
|
+
|
|
63
|
+
Use this whenever the user needs to do something. This is the pattern that matters most.
|
|
64
|
+
|
|
65
|
+
```markdown
|
|
66
|
+
---
|
|
67
|
+
## 📌 Action Required
|
|
68
|
+
|
|
69
|
+
Fill in the `[Answer]:` tags in the file below, then say **"done"** to continue.
|
|
70
|
+
|
|
71
|
+
> For multi-select questions, provide comma-separated letters (e.g., `A, B, E`).
|
|
72
|
+
|
|
73
|
+
**File:** `aidlc-docs/group-1b-test-quality/inception/intent-questions.md`
|
|
74
|
+
---
|
|
75
|
+
```
|
|
76
|
+
|
|
77
|
+
Why it works: The `📌 Action Required` header is an unmissable colored+emoji signal. The command uses `inline code` and `**bold**`. The secondary instruction lives in a `> blockquote` so it's visually subordinate but still distinct. File path is in code formatting.
|
|
78
|
+
|
|
79
|
+
---
|
|
80
|
+
|
|
81
|
+
### Pattern 3: Status / Progress Update
|
|
82
|
+
|
|
83
|
+
```markdown
|
|
84
|
+
✅ All 3,360 tests pass — Group 1A prerequisite confirmed.
|
|
85
|
+
|
|
86
|
+
⏳ Generating intent questions file...
|
|
87
|
+
```
|
|
88
|
+
|
|
89
|
+
Why it works: Emoji-first lines create a scannable status log. Each line starts with a visual indicator.
|
|
90
|
+
|
|
91
|
+
---
|
|
92
|
+
|
|
93
|
+
### Pattern 4: Validation Summary
|
|
94
|
+
|
|
95
|
+
```markdown
|
|
96
|
+
## 📋 Validation Summary
|
|
97
|
+
|
|
98
|
+
| Check | Status | Detail |
|
|
99
|
+
|-------|--------|--------|
|
|
100
|
+
| Tests pass | ✅ | 3,360 / 3,360 |
|
|
101
|
+
| Prerequisites met | ✅ | Group 1A complete |
|
|
102
|
+
| Manifest valid | ⚠️ | Missing `coverage-config.json` |
|
|
103
|
+
```
|
|
104
|
+
|
|
105
|
+
Why it works: Tables with emoji status create an at-a-glance dashboard. The `##` header separates it from surrounding text.
|
|
106
|
+
|
|
107
|
+
---
|
|
108
|
+
|
|
109
|
+
### Pattern 5: Error / Blocking Issue
|
|
110
|
+
|
|
111
|
+
```markdown
|
|
112
|
+
---
|
|
113
|
+
## ❌ Blocking Issue
|
|
114
|
+
|
|
115
|
+
**What failed:** Contract validation for `UserService.create()`
|
|
116
|
+
**Why:** Missing required field `email` in test fixture at `tests/fixtures/users.ts:42`
|
|
117
|
+
|
|
118
|
+
> Fix the fixture and re-run with **"retry"**.
|
|
119
|
+
---
|
|
120
|
+
```
|
|
121
|
+
|
|
122
|
+
---
|
|
123
|
+
|
|
124
|
+
### Pattern 6: Context Extraction / Inference Review
|
|
125
|
+
|
|
126
|
+
```markdown
|
|
127
|
+
## 🔍 Context Extracted from Your Input
|
|
128
|
+
|
|
129
|
+
- **Problem:** AI-generated tests have documented failure modes...
|
|
130
|
+
- **Primary users:** Olympus OSS users running AI-DLC workflows...
|
|
131
|
+
- **Scope:** Four capabilities — anti-pattern detection, traceability...
|
|
132
|
+
- **Success criteria:** Each capability integrates into the pipeline...
|
|
133
|
+
|
|
134
|
+
> Please correct anything that is wrong, then say **"confirmed"**.
|
|
135
|
+
```
|
|
136
|
+
|
|
137
|
+
Why it works: The `🔍` signals "I'm showing you what I understood." Bold labels on each bullet make it scannable. The blockquote at the end is the action prompt.
|
|
138
|
+
|
|
139
|
+
---
|
|
140
|
+
|
|
141
|
+
## Anti-Patterns (Never Do This)
|
|
142
|
+
|
|
143
|
+
| Bad | Good | Why |
|
|
144
|
+
|-----|------|-----|
|
|
145
|
+
| Plain paragraph for action prompts | `## 📌 Action Required` header | Paragraphs are invisible |
|
|
146
|
+
| Burying instructions in the middle of text | Action prompt at the END, fenced with `---` | Users scan bottom-first for "what do I do now" |
|
|
147
|
+
| Multiple action items in one paragraph | One action per bold line or bullet | Cognitive overload |
|
|
148
|
+
| Emoji in file-output headers (`# 🔍 Intent`) | Emoji only in terminal display text | Breaks file parsers/TOCs |
|
|
149
|
+
| Wall of unbroken text explaining context | Bullet list with `**bold labels**` | Scannable vs. readable |
|
|
150
|
+
|
|
151
|
+
---
|
|
152
|
+
|
|
153
|
+
## Quick Rules (For Skill Authors)
|
|
154
|
+
|
|
155
|
+
1. **Every phase transition** gets a `---` fenced `##` header with emoji
|
|
156
|
+
2. **Every action prompt** uses `## 📌 Action Required` pattern
|
|
157
|
+
3. **Every status update** starts with an emoji indicator (✅ ⚠️ ❌ ⏳)
|
|
158
|
+
4. **Every user-facing value** (file paths, commands, inputs) uses `inline code`
|
|
159
|
+
5. **Every "what to do next"** instruction uses `**bold**` for the key action word
|
|
160
|
+
6. **Never deliver critical information as a plain paragraph**
|
|
161
|
+
7. **Action prompts go at the END** of the response, not buried in the middle
|
|
@@ -269,6 +269,64 @@ Create `aidlc-docs/construction/build-and-test/e2e-test-instructions.md`:
|
|
|
269
269
|
|
|
270
270
|
---
|
|
271
271
|
|
|
272
|
+
## Step 6b: Run Smoke Tests
|
|
273
|
+
|
|
274
|
+
Run the full test suite (or a targeted subset for bugfix pathway) and generate a structured
|
|
275
|
+
test report that aggregates results across all units.
|
|
276
|
+
|
|
277
|
+
**Scope parameter** — determined by `pathway_type`:
|
|
278
|
+
|
|
279
|
+
| Scope | Pathway | What runs |
|
|
280
|
+
|-------|---------|-----------|
|
|
281
|
+
| `full` | standard, comprehensive, brownfield-enhancement, brownfield-refactor | Entire test suite |
|
|
282
|
+
| `targeted` | bugfix | Only tests for changed units (scoped by file path filter) |
|
|
283
|
+
| `summary` | minimal, optimization | Smoke pass — quick sanity check only |
|
|
284
|
+
|
|
285
|
+
**Delegation**: Delegate test execution to `qa-tester` using the same pattern established
|
|
286
|
+
in the Agent Delegation Strategy section. The orchestrator generates the scope instruction
|
|
287
|
+
first, then delegates; after the agent reports, the orchestrator runs the test command
|
|
288
|
+
independently to verify (see Orchestrator Verification Requirements above).
|
|
289
|
+
|
|
290
|
+
**Output artifact**: `aidlc-docs/{workflow-id}/construction/build-and-test/test-report.md`
|
|
291
|
+
|
|
292
|
+
Aggregate per-unit test reports from `aidlc-docs/{workflow-id}/construction/{unit}/testing/test-report.md`
|
|
293
|
+
into the build-level report using this schema:
|
|
294
|
+
|
|
295
|
+
```markdown
|
|
296
|
+
# Test Report — Build and Test
|
|
297
|
+
|
|
298
|
+
## Summary
|
|
299
|
+
|
|
300
|
+
| Metric | Value |
|
|
301
|
+
|--------|-------|
|
|
302
|
+
| total_tests | [X] |
|
|
303
|
+
| passed | [X] |
|
|
304
|
+
| failed | [X] |
|
|
305
|
+
| skipped | [X] |
|
|
306
|
+
|
|
307
|
+
## Per-Unit Breakdown
|
|
308
|
+
|
|
309
|
+
| Unit | Total | Passed | Failed | Skipped | Status |
|
|
310
|
+
|------|-------|--------|--------|---------|--------|
|
|
311
|
+
| [unit-id] | [X] | [X] | [X] | [X] | Pass/Fail |
|
|
312
|
+
|
|
313
|
+
## Failure Details
|
|
314
|
+
|
|
315
|
+
[For each failing test: unit, test name, file path, error message]
|
|
316
|
+
|
|
317
|
+
## Remediation Guidance
|
|
318
|
+
|
|
319
|
+
[Populated only when failures exist — links to the failing unit's test-report.md]
|
|
320
|
+
\`\`\`
|
|
321
|
+
|
|
322
|
+
**Critical failure gate**: If `tests_failed > 0` and `allowFailures` is not set:
|
|
323
|
+
- Block workflow progression
|
|
324
|
+
- Surface the failing unit's `test-report.md` path in the Remediation Guidance section
|
|
325
|
+
- Do NOT proceed to Step 7 until all failures are resolved or `allowFailures` is explicitly
|
|
326
|
+
confirmed by the user
|
|
327
|
+
|
|
328
|
+
---
|
|
329
|
+
|
|
272
330
|
## Step 7: Generate Test Summary
|
|
273
331
|
|
|
274
332
|
Create `aidlc-docs/construction/build-and-test/build-and-test-summary.md`:
|