olympus-ai 4.5.13 → 4.5.14

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 (49) hide show
  1. package/.claude-plugin/plugin.json +1 -1
  2. package/dist/cli/index.js +63 -27
  3. package/dist/cli/index.js.map +1 -1
  4. package/dist/hooks/olympus-hooks.cjs +257 -257
  5. package/dist/installer/hooks.d.ts +47 -14
  6. package/dist/installer/hooks.d.ts.map +1 -1
  7. package/dist/installer/hooks.js +45 -77
  8. package/dist/installer/hooks.js.map +1 -1
  9. package/dist/installer/index.d.ts +8 -7
  10. package/dist/installer/index.d.ts.map +1 -1
  11. package/dist/installer/index.js +49 -46
  12. package/dist/installer/index.js.map +1 -1
  13. package/package.json +1 -1
  14. package/resources/config/risk-keywords.json +5 -5
  15. package/resources/rules/common/ascii-diagram-standards.md +115 -115
  16. package/resources/rules/common/content-validation.md +131 -131
  17. package/resources/rules/common/error-handling.md +430 -430
  18. package/resources/rules/common/markdown-formatting.md +170 -170
  19. package/resources/rules/common/overconfidence-prevention.md +100 -100
  20. package/resources/rules/common/pathway-behaviors.json +60 -60
  21. package/resources/rules/common/pathway-behaviors.md +100 -100
  22. package/resources/rules/common/process-overview.md +157 -157
  23. package/resources/rules/common/terminal-formatting.md +161 -161
  24. package/resources/rules/common/terminology.md +189 -189
  25. package/resources/rules/common/welcome-message.md +118 -118
  26. package/resources/rules/common/workflow-changes.md +285 -285
  27. package/resources/rules/construction/bolt-planning.md +153 -153
  28. package/resources/rules/construction/bolt-review.md +143 -143
  29. package/resources/rules/construction/build-and-test.md +527 -527
  30. package/resources/rules/construction/code-generation.md +414 -414
  31. package/resources/rules/construction/documentation.md +201 -201
  32. package/resources/rules/construction/functional-design.md +135 -135
  33. package/resources/rules/construction/infrastructure-design.md +110 -110
  34. package/resources/rules/construction/nfr-design.md +106 -106
  35. package/resources/rules/construction/nfr-requirements.md +118 -118
  36. package/resources/rules/construction/test-generation.md +112 -112
  37. package/resources/rules/core-workflow.md +196 -196
  38. package/resources/rules/inception/application-design.md +195 -195
  39. package/resources/rules/inception/bolt-planning.md +588 -588
  40. package/resources/rules/inception/reverse-engineering.md +354 -354
  41. package/resources/rules/inception/units-generation.md +505 -505
  42. package/resources/rules/inception/user-stories.md +527 -527
  43. package/resources/rules/inception/workspace-detection.md +82 -82
  44. package/resources/rules/operations/operations.md +19 -19
  45. package/resources/skills/brief/templates/ai-dlc-intent-brief-template.md +149 -149
  46. package/resources/skills/getting-started/SKILL.md +79 -79
  47. package/resources/templates/construction/bolt-spec-template.md +270 -270
  48. package/resources/templates/inception/unit-brief-template.md +188 -188
  49. package/resources/templates/inception/units-template.md +99 -99
@@ -1,170 +1,170 @@
1
- # Markdown Formatting Standards
2
-
3
- ## MANDATORY: All Generated Markdown Must Pass markdownlint
4
-
5
- **CRITICAL**: Every markdown file you create or modify MUST comply with the [markdownlint](https://github.com/DavidAnson/markdownlint) rule set (v0.40.0). The project enforces these rules via `.markdownlint.json` at the workspace root. Violations will cause linter failures on save.
6
-
7
- ## Project Configuration Overrides
8
-
9
- The project `.markdownlint.json` modifies the defaults as follows. **Always respect these overrides:**
10
-
11
- | Setting | Value | Effect |
12
- |---------------|----------------------------------------------------------------------|-----------------------------------------------------------------------------------------------|
13
- | `default` | `true` | All rules enabled unless explicitly disabled |
14
- | `frontMatter` | `"^---\s*$[\s\S]*?^---\s*$"` | YAML frontmatter blocks are recognized and excluded from rules |
15
- | `MD013` | `false` | **Line length is NOT enforced** — no maximum line width |
16
- | `MD024` | `{ "siblings_only": true }` | Duplicate headings allowed if they are NOT siblings (same parent) |
17
- | `MD033` | `{ "allowed_elements": ["br", "details", "summary", "sup", "sub"] }` | Inline HTML forbidden EXCEPT these five elements |
18
- | `MD036` | `false` | **Emphasis-as-heading is allowed** — bold text may serve as pseudo-headings |
19
- | `MD041` | `false` | **First line need not be an H1** — files may start with frontmatter, badges, or other content |
20
-
21
- ## Editor Integration
22
-
23
- The project `.vscode/settings.json` configures:
24
-
25
- - **markdownlint runs on save** — violations are flagged immediately
26
- - **Format on save** enabled with `markdown-table-prettify` as the default formatter
27
- - **Word wrap off** — lines are not soft-wrapped in the editor
28
-
29
- When generating tables, produce clean pipe-aligned tables since the prettifier will reformat them on save.
30
-
31
- ---
32
-
33
- ## Rule Reference
34
-
35
- All 54 active markdownlint rules organized by category. Rules disabled by project config are marked with **(DISABLED)**.
36
-
37
- ### Document Structure
38
-
39
- | Rule | Alias | Requirement |
40
- |-------|---------------------------|------------------------------------------------------------------------|
41
- | MD001 | `heading-increment` | Heading levels must increment by one (no skipping H2 to H4) |
42
- | MD025 | `single-h1` | Only one H1 (`#`) per document. YAML frontmatter `title:` counts as H1 |
43
- | MD041 | `first-line-h1` | **(DISABLED)** First line need not be a top-level heading |
44
- | MD043 | `required-headings` | Required heading structure if configured (default: not configured) |
45
- | MD047 | `single-trailing-newline` | File MUST end with exactly one newline character |
46
-
47
- ### Headings
48
-
49
- | Rule | Alias | Requirement |
50
- |-------|--------------------------------|------------------------------------------------------------------------------------------------|
51
- | MD003 | `heading-style` | Use consistent heading style — use ATX style (`# Heading`) throughout |
52
- | MD018 | `no-missing-space-atx` | Must have a space after `#` in headings: `# Heading` not `#Heading` |
53
- | MD019 | `no-multiple-space-atx` | Only one space after `#`: `# Heading` not `# Heading` |
54
- | MD020 | `no-missing-space-closed-atx` | Closed ATX headings need inner spaces: `# Heading #` |
55
- | MD021 | `no-multiple-space-closed-atx` | Only one space inside closed ATX hashes |
56
- | MD022 | `blanks-around-headings` | One blank line BEFORE and AFTER every heading |
57
- | MD023 | `heading-start-left` | Headings must start at column 1 (no indentation) |
58
- | MD024 | `no-duplicate-heading` | No duplicate heading text among **siblings** (same-parent headings may repeat across sections) |
59
- | MD026 | `no-trailing-punctuation` | Headings must not end with `.` `,` `;` `:` `!` or their CJK equivalents |
60
- | MD036 | `no-emphasis-as-heading` | **(DISABLED)** Bold/italic text may be used as pseudo-headings |
61
-
62
- ### Lists
63
-
64
- | Rule | Alias | Requirement |
65
- |-------|-----------------------|--------------------------------------------------------------------------------|
66
- | MD004 | `ul-style` | Use consistent unordered list markers — use `-` (dash) for all unordered lists |
67
- | MD005 | `list-indent` | Sibling list items must have consistent indentation |
68
- | MD007 | `ul-indent` | Indent nested unordered list items by **2 spaces** |
69
- | MD029 | `ol-prefix` | Ordered lists: use `1.` for all items OR sequential numbering — be consistent |
70
- | MD030 | `list-marker-space` | Exactly one space after list markers (`-`, `1.`) |
71
- | MD032 | `blanks-around-lists` | One blank line BEFORE and AFTER every list block |
72
-
73
- ### Code Blocks and Fences
74
-
75
- | Rule | Alias | Requirement |
76
- |-------|------------------------|------------------------------------------------------------|
77
- | MD010 | `no-hard-tabs` | No tab characters — use spaces only |
78
- | MD014 | `commands-show-output` | Don't prefix commands with `$` unless showing output below |
79
- | MD031 | `blanks-around-fences` | One blank line BEFORE and AFTER every fenced code block |
80
- | MD040 | `fenced-code-language` | Fenced code blocks MUST specify a language (e.g., ` ```typescript `) |
81
- | MD046 | `code-block-style` | Use consistent code block style — use **fenced** (backtick) style, not indented |
82
- | MD048 | `code-fence-style` | Use consistent fence delimiters — use **backticks** (`` ` ``), not tildes (`~`) |
83
-
84
- ### Whitespace and Formatting
85
-
86
- | Rule | Alias | Requirement |
87
- |-------|------------------------|----------------------------------------------------------------------------------------|
88
- | MD009 | `no-trailing-spaces` | No trailing whitespace at end of lines. Use `<br>` for intentional line breaks |
89
- | MD012 | `no-multiple-blanks` | Maximum one consecutive blank line between elements |
90
- | MD013 | `line-length` | **(DISABLED)** No maximum line length enforced |
91
- | MD035 | `hr-style` | Use consistent horizontal rules — use `---` |
92
- | MD037 | `no-space-in-emphasis` | No spaces inside emphasis: `**bold**` not `** bold **` |
93
- | MD038 | `no-space-in-code` | No leading/trailing spaces inside backtick code spans: `` `code` `` not `` ` code ` `` |
94
- | MD049 | `emphasis-style` | Use consistent emphasis markers — use `*` (asterisk) for italics |
95
- | MD050 | `strong-style` | Use consistent strong markers — use `**` (double asterisk) for bold |
96
-
97
- ### Links and Images
98
-
99
- | Rule | Alias | Requirement |
100
- |-------|------------------------------------|---------------------------------------------------------------------------|
101
- | MD011 | `no-reversed-links` | Correct link syntax: `[text](url)` not `(text)[url]` |
102
- | MD034 | `no-bare-urls` | URLs must be wrapped: `<https://example.com>` or `[text](url)` — not bare |
103
- | MD039 | `no-space-in-links` | No spaces inside link brackets: `[text](url)` not `[ text ](url)` |
104
- | MD042 | `no-empty-links` | Links must have a non-empty destination |
105
- | MD044 | `proper-names` | Proper names must use correct capitalization if configured |
106
- | MD045 | `no-alt-text` | Images MUST have alt text: `![description](image.png)` |
107
- | MD051 | `link-fragments` | Link fragment anchors (`#section`) must reference valid headings |
108
- | MD052 | `reference-links-images` | Reference-style links must use defined labels |
109
- | MD053 | `link-image-reference-definitions` | Reference definitions must be used (no orphaned definitions) |
110
- | MD054 | `link-image-style` | Use consistent link style (inline, reference, etc.) |
111
- | MD059 | `descriptive-link-text` | Avoid generic link text like "click here", "here", "link", "more" |
112
-
113
- ### Blockquotes
114
-
115
- | Rule | Alias | Requirement |
116
- |-------|--------------------------------|---------------------------------------------------------|
117
- | MD027 | `no-multiple-space-blockquote` | Only one space after `>`: `> text` not `> text` |
118
- | MD028 | `no-blanks-blockquote` | No blank lines inside a blockquote (splits it into two) |
119
-
120
- ### Tables
121
-
122
- | Rule | Alias | Requirement |
123
- |-------|------------------------|----------------------------------------------------------------|
124
- | MD055 | `table-pipe-style` | Use consistent pipe style — include leading and trailing pipes |
125
- | MD056 | `table-column-count` | All rows must have the same number of columns |
126
- | MD058 | `blanks-around-tables` | One blank line BEFORE and AFTER every table |
127
- | MD060 | `table-column-style` | Use consistent column alignment syntax in delimiter rows |
128
-
129
- ### Inline HTML
130
-
131
- | Rule | Alias | Requirement |
132
- |-------|------------------|-----------------------------------------------------------------------------------------|
133
- | MD033 | `no-inline-html` | Inline HTML is **forbidden** except: `<br>`, `<details>`, `<summary>`, `<sup>`, `<sub>` |
134
-
135
- ---
136
-
137
- ## Quick Reference: Most Common Violations
138
-
139
- When generating markdown, watch for these frequent issues:
140
-
141
- 1. **Missing blank lines** (MD022, MD031, MD032, MD058) — Always surround headings, code blocks, lists, and tables with blank lines
142
- 2. **Trailing whitespace** (MD009) — Strip trailing spaces from every line
143
- 3. **No language on code fences** (MD040) — Always specify a language: use `text` or `markdown` when no syntax applies
144
- 4. **Multiple H1 headings** (MD025) — Only one `#` per file; use `##` and below for sections
145
- 5. **Inconsistent list markers** (MD004) — Always use `-` for unordered lists
146
- 6. **Bare URLs** (MD034) — Wrap URLs in angle brackets or make them proper links
147
- 7. **Missing final newline** (MD047) — Files must end with exactly one `\n`
148
- 8. **Heading level skips** (MD001) — Go `#` then `##` then `###` — never skip levels
149
- 9. **Missing image alt text** (MD045) — Every `![](image)` needs descriptive alt text
150
- 10. **Spaces inside emphasis/code** (MD037, MD038) — No spaces inside `**`, `*`, or backticks
151
-
152
- ## Pre-Write Validation Checklist
153
-
154
- Before writing ANY markdown file, verify:
155
-
156
- - [ ] Single `#` H1 (or none if frontmatter has `title:`)
157
- - [ ] Heading levels increment by one (no skips)
158
- - [ ] Blank lines around all block elements (headings, lists, code blocks, tables, blockquotes)
159
- - [ ] No trailing whitespace on any line
160
- - [ ] No consecutive blank lines
161
- - [ ] All code fences specify a language
162
- - [ ] Code fences use backticks, not tildes
163
- - [ ] Unordered lists use `-` consistently
164
- - [ ] List indentation uses 2 spaces
165
- - [ ] No bare URLs
166
- - [ ] All images have alt text
167
- - [ ] No forbidden inline HTML (only `<br>`, `<details>`, `<summary>`, `<sup>`, `<sub>` allowed)
168
- - [ ] File ends with exactly one newline
169
- - [ ] No tab characters anywhere
170
- - [ ] Tables have consistent column counts and pipe style
1
+ # Markdown Formatting Standards
2
+
3
+ ## MANDATORY: All Generated Markdown Must Pass markdownlint
4
+
5
+ **CRITICAL**: Every markdown file you create or modify MUST comply with the [markdownlint](https://github.com/DavidAnson/markdownlint) rule set (v0.40.0). The project enforces these rules via `.markdownlint.json` at the workspace root. Violations will cause linter failures on save.
6
+
7
+ ## Project Configuration Overrides
8
+
9
+ The project `.markdownlint.json` modifies the defaults as follows. **Always respect these overrides:**
10
+
11
+ | Setting | Value | Effect |
12
+ |---------------|----------------------------------------------------------------------|-----------------------------------------------------------------------------------------------|
13
+ | `default` | `true` | All rules enabled unless explicitly disabled |
14
+ | `frontMatter` | `"^---\s*$[\s\S]*?^---\s*$"` | YAML frontmatter blocks are recognized and excluded from rules |
15
+ | `MD013` | `false` | **Line length is NOT enforced** — no maximum line width |
16
+ | `MD024` | `{ "siblings_only": true }` | Duplicate headings allowed if they are NOT siblings (same parent) |
17
+ | `MD033` | `{ "allowed_elements": ["br", "details", "summary", "sup", "sub"] }` | Inline HTML forbidden EXCEPT these five elements |
18
+ | `MD036` | `false` | **Emphasis-as-heading is allowed** — bold text may serve as pseudo-headings |
19
+ | `MD041` | `false` | **First line need not be an H1** — files may start with frontmatter, badges, or other content |
20
+
21
+ ## Editor Integration
22
+
23
+ The project `.vscode/settings.json` configures:
24
+
25
+ - **markdownlint runs on save** — violations are flagged immediately
26
+ - **Format on save** enabled with `markdown-table-prettify` as the default formatter
27
+ - **Word wrap off** — lines are not soft-wrapped in the editor
28
+
29
+ When generating tables, produce clean pipe-aligned tables since the prettifier will reformat them on save.
30
+
31
+ ---
32
+
33
+ ## Rule Reference
34
+
35
+ All 54 active markdownlint rules organized by category. Rules disabled by project config are marked with **(DISABLED)**.
36
+
37
+ ### Document Structure
38
+
39
+ | Rule | Alias | Requirement |
40
+ |-------|---------------------------|------------------------------------------------------------------------|
41
+ | MD001 | `heading-increment` | Heading levels must increment by one (no skipping H2 to H4) |
42
+ | MD025 | `single-h1` | Only one H1 (`#`) per document. YAML frontmatter `title:` counts as H1 |
43
+ | MD041 | `first-line-h1` | **(DISABLED)** First line need not be a top-level heading |
44
+ | MD043 | `required-headings` | Required heading structure if configured (default: not configured) |
45
+ | MD047 | `single-trailing-newline` | File MUST end with exactly one newline character |
46
+
47
+ ### Headings
48
+
49
+ | Rule | Alias | Requirement |
50
+ |-------|--------------------------------|------------------------------------------------------------------------------------------------|
51
+ | MD003 | `heading-style` | Use consistent heading style — use ATX style (`# Heading`) throughout |
52
+ | MD018 | `no-missing-space-atx` | Must have a space after `#` in headings: `# Heading` not `#Heading` |
53
+ | MD019 | `no-multiple-space-atx` | Only one space after `#`: `# Heading` not `# Heading` |
54
+ | MD020 | `no-missing-space-closed-atx` | Closed ATX headings need inner spaces: `# Heading #` |
55
+ | MD021 | `no-multiple-space-closed-atx` | Only one space inside closed ATX hashes |
56
+ | MD022 | `blanks-around-headings` | One blank line BEFORE and AFTER every heading |
57
+ | MD023 | `heading-start-left` | Headings must start at column 1 (no indentation) |
58
+ | MD024 | `no-duplicate-heading` | No duplicate heading text among **siblings** (same-parent headings may repeat across sections) |
59
+ | MD026 | `no-trailing-punctuation` | Headings must not end with `.` `,` `;` `:` `!` or their CJK equivalents |
60
+ | MD036 | `no-emphasis-as-heading` | **(DISABLED)** Bold/italic text may be used as pseudo-headings |
61
+
62
+ ### Lists
63
+
64
+ | Rule | Alias | Requirement |
65
+ |-------|-----------------------|--------------------------------------------------------------------------------|
66
+ | MD004 | `ul-style` | Use consistent unordered list markers — use `-` (dash) for all unordered lists |
67
+ | MD005 | `list-indent` | Sibling list items must have consistent indentation |
68
+ | MD007 | `ul-indent` | Indent nested unordered list items by **2 spaces** |
69
+ | MD029 | `ol-prefix` | Ordered lists: use `1.` for all items OR sequential numbering — be consistent |
70
+ | MD030 | `list-marker-space` | Exactly one space after list markers (`-`, `1.`) |
71
+ | MD032 | `blanks-around-lists` | One blank line BEFORE and AFTER every list block |
72
+
73
+ ### Code Blocks and Fences
74
+
75
+ | Rule | Alias | Requirement |
76
+ |-------|------------------------|------------------------------------------------------------|
77
+ | MD010 | `no-hard-tabs` | No tab characters — use spaces only |
78
+ | MD014 | `commands-show-output` | Don't prefix commands with `$` unless showing output below |
79
+ | MD031 | `blanks-around-fences` | One blank line BEFORE and AFTER every fenced code block |
80
+ | MD040 | `fenced-code-language` | Fenced code blocks MUST specify a language (e.g., ` ```typescript `) |
81
+ | MD046 | `code-block-style` | Use consistent code block style — use **fenced** (backtick) style, not indented |
82
+ | MD048 | `code-fence-style` | Use consistent fence delimiters — use **backticks** (`` ` ``), not tildes (`~`) |
83
+
84
+ ### Whitespace and Formatting
85
+
86
+ | Rule | Alias | Requirement |
87
+ |-------|------------------------|----------------------------------------------------------------------------------------|
88
+ | MD009 | `no-trailing-spaces` | No trailing whitespace at end of lines. Use `<br>` for intentional line breaks |
89
+ | MD012 | `no-multiple-blanks` | Maximum one consecutive blank line between elements |
90
+ | MD013 | `line-length` | **(DISABLED)** No maximum line length enforced |
91
+ | MD035 | `hr-style` | Use consistent horizontal rules — use `---` |
92
+ | MD037 | `no-space-in-emphasis` | No spaces inside emphasis: `**bold**` not `** bold **` |
93
+ | MD038 | `no-space-in-code` | No leading/trailing spaces inside backtick code spans: `` `code` `` not `` ` code ` `` |
94
+ | MD049 | `emphasis-style` | Use consistent emphasis markers — use `*` (asterisk) for italics |
95
+ | MD050 | `strong-style` | Use consistent strong markers — use `**` (double asterisk) for bold |
96
+
97
+ ### Links and Images
98
+
99
+ | Rule | Alias | Requirement |
100
+ |-------|------------------------------------|---------------------------------------------------------------------------|
101
+ | MD011 | `no-reversed-links` | Correct link syntax: `[text](url)` not `(text)[url]` |
102
+ | MD034 | `no-bare-urls` | URLs must be wrapped: `<https://example.com>` or `[text](url)` — not bare |
103
+ | MD039 | `no-space-in-links` | No spaces inside link brackets: `[text](url)` not `[ text ](url)` |
104
+ | MD042 | `no-empty-links` | Links must have a non-empty destination |
105
+ | MD044 | `proper-names` | Proper names must use correct capitalization if configured |
106
+ | MD045 | `no-alt-text` | Images MUST have alt text: `![description](image.png)` |
107
+ | MD051 | `link-fragments` | Link fragment anchors (`#section`) must reference valid headings |
108
+ | MD052 | `reference-links-images` | Reference-style links must use defined labels |
109
+ | MD053 | `link-image-reference-definitions` | Reference definitions must be used (no orphaned definitions) |
110
+ | MD054 | `link-image-style` | Use consistent link style (inline, reference, etc.) |
111
+ | MD059 | `descriptive-link-text` | Avoid generic link text like "click here", "here", "link", "more" |
112
+
113
+ ### Blockquotes
114
+
115
+ | Rule | Alias | Requirement |
116
+ |-------|--------------------------------|---------------------------------------------------------|
117
+ | MD027 | `no-multiple-space-blockquote` | Only one space after `>`: `> text` not `> text` |
118
+ | MD028 | `no-blanks-blockquote` | No blank lines inside a blockquote (splits it into two) |
119
+
120
+ ### Tables
121
+
122
+ | Rule | Alias | Requirement |
123
+ |-------|------------------------|----------------------------------------------------------------|
124
+ | MD055 | `table-pipe-style` | Use consistent pipe style — include leading and trailing pipes |
125
+ | MD056 | `table-column-count` | All rows must have the same number of columns |
126
+ | MD058 | `blanks-around-tables` | One blank line BEFORE and AFTER every table |
127
+ | MD060 | `table-column-style` | Use consistent column alignment syntax in delimiter rows |
128
+
129
+ ### Inline HTML
130
+
131
+ | Rule | Alias | Requirement |
132
+ |-------|------------------|-----------------------------------------------------------------------------------------|
133
+ | MD033 | `no-inline-html` | Inline HTML is **forbidden** except: `<br>`, `<details>`, `<summary>`, `<sup>`, `<sub>` |
134
+
135
+ ---
136
+
137
+ ## Quick Reference: Most Common Violations
138
+
139
+ When generating markdown, watch for these frequent issues:
140
+
141
+ 1. **Missing blank lines** (MD022, MD031, MD032, MD058) — Always surround headings, code blocks, lists, and tables with blank lines
142
+ 2. **Trailing whitespace** (MD009) — Strip trailing spaces from every line
143
+ 3. **No language on code fences** (MD040) — Always specify a language: use `text` or `markdown` when no syntax applies
144
+ 4. **Multiple H1 headings** (MD025) — Only one `#` per file; use `##` and below for sections
145
+ 5. **Inconsistent list markers** (MD004) — Always use `-` for unordered lists
146
+ 6. **Bare URLs** (MD034) — Wrap URLs in angle brackets or make them proper links
147
+ 7. **Missing final newline** (MD047) — Files must end with exactly one `\n`
148
+ 8. **Heading level skips** (MD001) — Go `#` then `##` then `###` — never skip levels
149
+ 9. **Missing image alt text** (MD045) — Every `![](image)` needs descriptive alt text
150
+ 10. **Spaces inside emphasis/code** (MD037, MD038) — No spaces inside `**`, `*`, or backticks
151
+
152
+ ## Pre-Write Validation Checklist
153
+
154
+ Before writing ANY markdown file, verify:
155
+
156
+ - [ ] Single `#` H1 (or none if frontmatter has `title:`)
157
+ - [ ] Heading levels increment by one (no skips)
158
+ - [ ] Blank lines around all block elements (headings, lists, code blocks, tables, blockquotes)
159
+ - [ ] No trailing whitespace on any line
160
+ - [ ] No consecutive blank lines
161
+ - [ ] All code fences specify a language
162
+ - [ ] Code fences use backticks, not tildes
163
+ - [ ] Unordered lists use `-` consistently
164
+ - [ ] List indentation uses 2 spaces
165
+ - [ ] No bare URLs
166
+ - [ ] All images have alt text
167
+ - [ ] No forbidden inline HTML (only `<br>`, `<details>`, `<summary>`, `<sup>`, `<sub>` allowed)
168
+ - [ ] File ends with exactly one newline
169
+ - [ ] No tab characters anywhere
170
+ - [ ] Tables have consistent column counts and pipe style
@@ -1,100 +1,100 @@
1
- # Overconfidence Prevention Guide
2
-
3
- ## Problem Statement
4
-
5
- AI-DLC was exhibiting overconfidence by not asking enough clarifying questions, even for complex project intent statements. This led to assumptions being made instead of gathering proper requirements.
6
-
7
- ## Root Cause Analysis
8
-
9
- The overconfidence issue was caused by directives in multiple stages that encouraged skipping questions:
10
-
11
- 1. **Functional Design**: "Skip entire categories if not applicable"
12
- 2. **User Stories**: "Use categories as inspiration, NOT as mandatory checklist"
13
- 3. **Requirements Analysis**: Similar patterns encouraging minimal questioning
14
- 4. **NFR Requirements**: "Only if" conditions that discouraged thorough analysis
15
-
16
- These directives were telling the AI to avoid asking questions rather than encouraging comprehensive requirements gathering.
17
-
18
- ## Solution Implemented
19
-
20
- ### Updated Question Generation Philosophy
21
-
22
- **OLD APPROACH**: "Only ask questions if absolutely necessary"
23
- **NEW APPROACH**: "When in doubt, ask the question - overconfidence leads to poor outcomes"
24
-
25
- ### Key Changes Made
26
-
27
- #### 1. Requirements Analysis Stage
28
- - Changed from "only if needed" to "ALWAYS create questions unless exceptionally clear"
29
- - Added comprehensive evaluation areas (functional, non-functional, business context, technical context)
30
- - Emphasized proactive questioning approach
31
-
32
- #### 2. User Stories Stage
33
- - Removed "skip entire categories" directive
34
- - Added comprehensive question categories to evaluate
35
- - Enhanced answer analysis requirements
36
- - Strengthened follow-up question mandates
37
-
38
- #### 3. Functional Design Stage
39
- - Replaced "only if" conditions with comprehensive evaluation
40
- - Added more question categories (data flow, integration points, error handling)
41
- - Strengthened ambiguity detection and resolution requirements
42
-
43
- #### 4. NFR Requirements Stage
44
- - Expanded question categories beyond basic NFRs
45
- - Added reliability, maintainability, and usability considerations
46
- - Enhanced answer analysis for technical ambiguities
47
-
48
- ### New Guiding Principles
49
-
50
- 1. **Default to Asking**: When there's any ambiguity, ask clarifying questions
51
- 2. **Comprehensive Coverage**: Evaluate ALL relevant categories, don't skip areas
52
- 3. **Thorough Analysis**: Carefully analyze ALL user responses for ambiguities
53
- 4. **Mandatory Follow-up**: Create follow-up questions for ANY unclear responses
54
- 5. **No Proceeding with Ambiguity**: Don't move forward until ALL ambiguities are resolved
55
-
56
- ## Implementation Guidelines
57
-
58
- ### For Question Generation
59
- - Evaluate ALL question categories, don't skip any
60
- - Ask questions wherever clarification would improve quality
61
- - Include comprehensive question categories in each stage
62
- - Default to inclusion rather than exclusion of questions
63
-
64
- ### For Answer Analysis
65
- - Look for vague responses: "depends", "maybe", "not sure", "mix of", "somewhere between"
66
- - Detect undefined terms and references to external concepts
67
- - Identify contradictory or incomplete answers
68
- - Create follow-up questions for ANY ambiguities
69
-
70
- ### For Follow-up Questions
71
- - Create separate clarification files when ambiguities are detected
72
- - Ask specific questions to resolve each ambiguity
73
- - Don't proceed until ALL unclear responses are clarified
74
- - Be thorough - better to over-clarify than under-clarify
75
-
76
- ## Quality Assurance
77
-
78
- ### Red Flags to Watch For
79
- - Stages completing without asking any questions on complex projects
80
- - Proceeding with vague or ambiguous user responses
81
- - Skipping entire question categories without justification
82
- - Making assumptions instead of asking for clarification
83
-
84
- ### Success Indicators
85
- - Appropriate number of clarifying questions for project complexity
86
- - Thorough analysis of user responses with follow-up when needed
87
- - Clear, unambiguous requirements before proceeding to implementation
88
- - Reduced need for changes during later stages due to better upfront clarification
89
-
90
- ## Maintenance
91
-
92
- This guide should be referenced when:
93
- - Adding new stages to AI-DLC
94
- - Updating existing stage instructions
95
- - Reviewing AI-DLC performance for overconfidence issues
96
- - Training team members on AI-DLC question generation principles
97
-
98
- ## Key Takeaway
99
-
100
- **It's better to ask too many questions than to make incorrect assumptions.** The cost of asking clarifying questions upfront is far less than the cost of implementing the wrong solution based on assumptions.
1
+ # Overconfidence Prevention Guide
2
+
3
+ ## Problem Statement
4
+
5
+ AI-DLC was exhibiting overconfidence by not asking enough clarifying questions, even for complex project intent statements. This led to assumptions being made instead of gathering proper requirements.
6
+
7
+ ## Root Cause Analysis
8
+
9
+ The overconfidence issue was caused by directives in multiple stages that encouraged skipping questions:
10
+
11
+ 1. **Functional Design**: "Skip entire categories if not applicable"
12
+ 2. **User Stories**: "Use categories as inspiration, NOT as mandatory checklist"
13
+ 3. **Requirements Analysis**: Similar patterns encouraging minimal questioning
14
+ 4. **NFR Requirements**: "Only if" conditions that discouraged thorough analysis
15
+
16
+ These directives were telling the AI to avoid asking questions rather than encouraging comprehensive requirements gathering.
17
+
18
+ ## Solution Implemented
19
+
20
+ ### Updated Question Generation Philosophy
21
+
22
+ **OLD APPROACH**: "Only ask questions if absolutely necessary"
23
+ **NEW APPROACH**: "When in doubt, ask the question - overconfidence leads to poor outcomes"
24
+
25
+ ### Key Changes Made
26
+
27
+ #### 1. Requirements Analysis Stage
28
+ - Changed from "only if needed" to "ALWAYS create questions unless exceptionally clear"
29
+ - Added comprehensive evaluation areas (functional, non-functional, business context, technical context)
30
+ - Emphasized proactive questioning approach
31
+
32
+ #### 2. User Stories Stage
33
+ - Removed "skip entire categories" directive
34
+ - Added comprehensive question categories to evaluate
35
+ - Enhanced answer analysis requirements
36
+ - Strengthened follow-up question mandates
37
+
38
+ #### 3. Functional Design Stage
39
+ - Replaced "only if" conditions with comprehensive evaluation
40
+ - Added more question categories (data flow, integration points, error handling)
41
+ - Strengthened ambiguity detection and resolution requirements
42
+
43
+ #### 4. NFR Requirements Stage
44
+ - Expanded question categories beyond basic NFRs
45
+ - Added reliability, maintainability, and usability considerations
46
+ - Enhanced answer analysis for technical ambiguities
47
+
48
+ ### New Guiding Principles
49
+
50
+ 1. **Default to Asking**: When there's any ambiguity, ask clarifying questions
51
+ 2. **Comprehensive Coverage**: Evaluate ALL relevant categories, don't skip areas
52
+ 3. **Thorough Analysis**: Carefully analyze ALL user responses for ambiguities
53
+ 4. **Mandatory Follow-up**: Create follow-up questions for ANY unclear responses
54
+ 5. **No Proceeding with Ambiguity**: Don't move forward until ALL ambiguities are resolved
55
+
56
+ ## Implementation Guidelines
57
+
58
+ ### For Question Generation
59
+ - Evaluate ALL question categories, don't skip any
60
+ - Ask questions wherever clarification would improve quality
61
+ - Include comprehensive question categories in each stage
62
+ - Default to inclusion rather than exclusion of questions
63
+
64
+ ### For Answer Analysis
65
+ - Look for vague responses: "depends", "maybe", "not sure", "mix of", "somewhere between"
66
+ - Detect undefined terms and references to external concepts
67
+ - Identify contradictory or incomplete answers
68
+ - Create follow-up questions for ANY ambiguities
69
+
70
+ ### For Follow-up Questions
71
+ - Create separate clarification files when ambiguities are detected
72
+ - Ask specific questions to resolve each ambiguity
73
+ - Don't proceed until ALL unclear responses are clarified
74
+ - Be thorough - better to over-clarify than under-clarify
75
+
76
+ ## Quality Assurance
77
+
78
+ ### Red Flags to Watch For
79
+ - Stages completing without asking any questions on complex projects
80
+ - Proceeding with vague or ambiguous user responses
81
+ - Skipping entire question categories without justification
82
+ - Making assumptions instead of asking for clarification
83
+
84
+ ### Success Indicators
85
+ - Appropriate number of clarifying questions for project complexity
86
+ - Thorough analysis of user responses with follow-up when needed
87
+ - Clear, unambiguous requirements before proceeding to implementation
88
+ - Reduced need for changes during later stages due to better upfront clarification
89
+
90
+ ## Maintenance
91
+
92
+ This guide should be referenced when:
93
+ - Adding new stages to AI-DLC
94
+ - Updating existing stage instructions
95
+ - Reviewing AI-DLC performance for overconfidence issues
96
+ - Training team members on AI-DLC question generation principles
97
+
98
+ ## Key Takeaway
99
+
100
+ **It's better to ask too many questions than to make incorrect assumptions.** The cost of asking clarifying questions upfront is far less than the cost of implementing the wrong solution based on assumptions.