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.
Files changed (61) hide show
  1. package/.claude-plugin/plugin.json +1 -1
  2. package/dist/features/workflow-engine/checkpoint.d.ts.map +1 -1
  3. package/dist/features/workflow-engine/checkpoint.js +33 -6
  4. package/dist/features/workflow-engine/checkpoint.js.map +1 -1
  5. package/dist/features/workflow-engine/construction/executor.d.ts +38 -3
  6. package/dist/features/workflow-engine/construction/executor.d.ts.map +1 -1
  7. package/dist/features/workflow-engine/construction/executor.js +245 -3
  8. package/dist/features/workflow-engine/construction/executor.js.map +1 -1
  9. package/dist/features/workflow-engine/construction/regression-baseline.d.ts +76 -0
  10. package/dist/features/workflow-engine/construction/regression-baseline.d.ts.map +1 -0
  11. package/dist/features/workflow-engine/construction/regression-baseline.js +274 -0
  12. package/dist/features/workflow-engine/construction/regression-baseline.js.map +1 -0
  13. package/dist/features/workflow-engine/construction/regression-categorizer.d.ts +44 -0
  14. package/dist/features/workflow-engine/construction/regression-categorizer.d.ts.map +1 -0
  15. package/dist/features/workflow-engine/construction/regression-categorizer.js +54 -0
  16. package/dist/features/workflow-engine/construction/regression-categorizer.js.map +1 -0
  17. package/dist/features/workflow-engine/construction/validators/index.d.ts +6 -0
  18. package/dist/features/workflow-engine/construction/validators/index.d.ts.map +1 -0
  19. package/dist/features/workflow-engine/construction/validators/index.js +4 -0
  20. package/dist/features/workflow-engine/construction/validators/index.js.map +1 -0
  21. package/dist/features/workflow-engine/construction/validators/pipeline.d.ts +10 -0
  22. package/dist/features/workflow-engine/construction/validators/pipeline.d.ts.map +1 -0
  23. package/dist/features/workflow-engine/construction/validators/pipeline.js +84 -0
  24. package/dist/features/workflow-engine/construction/validators/pipeline.js.map +1 -0
  25. package/dist/features/workflow-engine/construction/validators/quality-patterns.d.ts +18 -0
  26. package/dist/features/workflow-engine/construction/validators/quality-patterns.d.ts.map +1 -0
  27. package/dist/features/workflow-engine/construction/validators/quality-patterns.js +245 -0
  28. package/dist/features/workflow-engine/construction/validators/quality-patterns.js.map +1 -0
  29. package/dist/features/workflow-engine/construction/validators/quality-validator.d.ts +3 -0
  30. package/dist/features/workflow-engine/construction/validators/quality-validator.d.ts.map +1 -0
  31. package/dist/features/workflow-engine/construction/validators/quality-validator.js +132 -0
  32. package/dist/features/workflow-engine/construction/validators/quality-validator.js.map +1 -0
  33. package/dist/features/workflow-engine/construction/validators/types.d.ts +26 -0
  34. package/dist/features/workflow-engine/construction/validators/types.d.ts.map +1 -0
  35. package/dist/features/workflow-engine/construction/validators/types.js +2 -0
  36. package/dist/features/workflow-engine/construction/validators/types.js.map +1 -0
  37. package/dist/features/workflow-engine/index.d.ts +3 -1
  38. package/dist/features/workflow-engine/index.d.ts.map +1 -1
  39. package/dist/features/workflow-engine/index.js +1 -0
  40. package/dist/features/workflow-engine/index.js.map +1 -1
  41. package/dist/features/workflow-engine/phase-types.d.ts +73 -1
  42. package/dist/features/workflow-engine/phase-types.d.ts.map +1 -1
  43. package/dist/hooks/olympus-hooks.cjs +334 -280
  44. package/dist/hooks/registry.d.ts +18 -0
  45. package/dist/hooks/registry.d.ts.map +1 -1
  46. package/dist/hooks/registry.js +18 -0
  47. package/dist/hooks/registry.js.map +1 -1
  48. package/dist/installer/index.d.ts +1 -1
  49. package/dist/installer/index.js +1 -1
  50. package/package.json +1 -1
  51. package/resources/agents/frontend-engineer-high.md +12 -0
  52. package/resources/agents/olympian-high.md +77 -1
  53. package/resources/agents/olympian.md +31 -7
  54. package/resources/claude-md.md +44 -0
  55. package/resources/config/risk-keywords.json +5 -0
  56. package/resources/rules/common/pathway-behaviors.md +100 -0
  57. package/resources/rules/common/terminal-formatting.md +161 -0
  58. package/resources/rules/construction/build-and-test.md +58 -0
  59. package/resources/rules/construction/code-generation.md +26 -5
  60. package/resources/rules/construction/test-generation.md +82 -0
  61. package/resources/skills/continue/SKILL.md +4 -0
@@ -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;;;;;GAKG;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"}
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"}
@@ -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;;;;;GAKG;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"}
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.13";
27
+ export declare const VERSION = "4.4.15";
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.4.13';
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
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "olympus-ai",
3
- "version": "4.4.13",
3
+ "version": "4.4.15",
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",
@@ -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
- </Todo_Discipline>
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 `aidlc-docs/{workflow-id}/construction/plans/{unit-name}-code-generation-plan.md` (paths provided in your prompt)
70
- 2. Execute steps exactly, in orderno skipping, no deviation
71
- 3. After completing each step, immediately mark its checkbox `[x]` in the plan file
72
- 4. After ALL steps complete, create `aidlc-docs/{workflow-id}/construction/{unit-name}/code/code-summary.md` listing: files created/modified, tech stack, stories implemented, known gaps
73
- 5. Do NOT report completion until the checkboxes are updated and the code summary file exists
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
- - All todos marked completed
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>
@@ -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`: