@sleighmaster/bmad 1.5.13 → 1.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.
|
@@ -14,6 +14,16 @@
|
|
|
14
14
|
<critical>Acceptance Criteria not implemented = HIGH severity finding</critical>
|
|
15
15
|
<critical>Do not review files that are not part of the application's source code. Always exclude the _bmad/ and _bmad-output/ folders from the review. Always exclude IDE and CLI configuration folders like .cursor/ and .windsurf/ and .claude/</critical>
|
|
16
16
|
|
|
17
|
+
<critical>🛑 SELF-REVIEW BIAS WARNING: If YOU are the same agent that implemented this story, your confirmation bias is EXTREME.
|
|
18
|
+
You will instinctively believe your code is correct. You will gloss over edge cases you "already thought about."
|
|
19
|
+
You will find fewer issues because you remember your intent, not the actual code.
|
|
20
|
+
FIGHT THIS. Pretend you are a hostile external reviewer who WANTS to find problems.
|
|
21
|
+
A story with 55+ tests, DB migrations, and multiple AC should NEVER have 0 review issues.</critical>
|
|
22
|
+
|
|
23
|
+
<critical>🛑 MINIMUM REVIEW ROUNDS: You MUST complete at least 2 full review rounds before declaring clean.
|
|
24
|
+
Round 1 finds-and-fixes. Round 2 re-reviews everything from scratch. Only Round 2+ can declare "0 issues."
|
|
25
|
+
A single-round "looks good" is NEVER acceptable — it means you didn't look hard enough.</critical>
|
|
26
|
+
|
|
17
27
|
|
|
18
28
|
<step n="1" goal="Load story and discover changes">
|
|
19
29
|
<action>Use provided {{story_path}} or ask user which story file to review</action>
|
|
@@ -70,7 +80,9 @@
|
|
|
70
80
|
You MUST NOT assume your fixes are correct. You have confirmation bias — fight it.
|
|
71
81
|
Treat this round as if a DIFFERENT reviewer is seeing the code for the first time.
|
|
72
82
|
Execute ALL checks below (AC Validation, Task Audit, Code Quality) with the SAME rigor as Round 1.
|
|
73
|
-
"Re-read modified files" means read EVERY file in the comprehensive review list, not just the ones you touched
|
|
83
|
+
"Re-read modified files" means read EVERY file in the comprehensive review list, not just the ones you touched.
|
|
84
|
+
If you are the same agent that implemented this code, you are ESPECIALLY biased about your own fixes.
|
|
85
|
+
Your instinct will be to skim files you "just fixed" — DO NOT do this. Read every line again.</critical>
|
|
74
86
|
<output>🔄 **Re-review Round {{review_round}}** — FULL adversarial re-review (not just fix verification)...</output>
|
|
75
87
|
<action>Re-read ALL files in the comprehensive review list (not just files modified in the previous round)</action>
|
|
76
88
|
<action>Re-run git status/diff to capture latest changes</action>
|
|
@@ -113,16 +125,23 @@
|
|
|
113
125
|
</action>
|
|
114
126
|
|
|
115
127
|
<check if="total_issues_found lt 3">
|
|
116
|
-
<critical
|
|
128
|
+
<critical>🛑 NOT LOOKING HARD ENOUGH - You MUST find at least 3 issues! 🛑
|
|
129
|
+
Finding fewer than 3 issues means you are being lazy or have confirmation bias.
|
|
130
|
+
NO codebase is perfect. Every implementation has edge cases, missing validation, or quality issues.
|
|
131
|
+
You CANNOT proceed to Step 4 until you have found at least 3 specific, actionable issues.
|
|
132
|
+
DO NOT fabricate issues — but DO look harder at:
|
|
133
|
+
</critical>
|
|
117
134
|
<action>Re-examine code for:
|
|
118
|
-
- Edge cases and null handling
|
|
119
|
-
- Architecture violations
|
|
120
|
-
-
|
|
121
|
-
-
|
|
122
|
-
-
|
|
123
|
-
-
|
|
135
|
+
- Edge cases and null handling (what happens with empty input? null? undefined?)
|
|
136
|
+
- Architecture violations (does it follow the documented patterns?)
|
|
137
|
+
- Missing error handling (what if the DB call fails? API timeout? invalid data?)
|
|
138
|
+
- Security issues (SQL injection? XSS? missing auth checks? input validation?)
|
|
139
|
+
- Performance (N+1 queries? unnecessary re-renders? missing memoization?)
|
|
140
|
+
- Test quality (are assertions specific? do tests cover error paths? any mocked-away logic?)
|
|
141
|
+
- Integration issues (does it work with the rest of the system? race conditions?)
|
|
142
|
+
- Dependency problems (version conflicts? unused imports? circular dependencies?)
|
|
124
143
|
</action>
|
|
125
|
-
<action>Find at least 3 more specific, actionable issues</action>
|
|
144
|
+
<action>Find at least 3 more specific, actionable issues — go back and re-read the files if necessary</action>
|
|
126
145
|
</check>
|
|
127
146
|
|
|
128
147
|
<!-- Mandatory review evidence output — required EVERY round before proceeding to Step 4 -->
|
|
@@ -191,9 +210,20 @@
|
|
|
191
210
|
|
|
192
211
|
<!-- 4c. Check if there are any issues to fix -->
|
|
193
212
|
<check if="{{high_count}} + {{medium_count}} + {{low_count}} == 0">
|
|
194
|
-
<!--
|
|
195
|
-
<
|
|
196
|
-
|
|
213
|
+
<!-- Enforce minimum 2 rounds before allowing clean exit -->
|
|
214
|
+
<check if="{{review_round}} lt 2">
|
|
215
|
+
<critical>🛑 Round 1 found 0 issues — this is SUSPICIOUS. No codebase is perfect on first pass.
|
|
216
|
+
You MUST loop back and re-review with deeper scrutiny. Look at EVERY file again.
|
|
217
|
+
Check edge cases, error paths, security, performance, test quality.
|
|
218
|
+
A story with tests, AC validation, and multiple files ALWAYS has improvement opportunities.</critical>
|
|
219
|
+
<output>⚠️ **Round {{review_round}} found 0 issues — forcing deeper re-review...**</output>
|
|
220
|
+
<goto step="3" scope="FULL" depth="adversarial">Mandatory deeper re-review — 0 issues in early round is not credible</goto>
|
|
221
|
+
</check>
|
|
222
|
+
<check if="{{review_round}} gte 2">
|
|
223
|
+
<!-- Round 2+ with 0 issues — legitimate clean exit -->
|
|
224
|
+
<output>✅ **No issues found in Round {{review_round}}! Code is clean.**</output>
|
|
225
|
+
<!-- Proceed to Step 5 (completion) -->
|
|
226
|
+
</check>
|
|
197
227
|
</check>
|
|
198
228
|
|
|
199
229
|
<check if="{{high_count}} + {{medium_count}} + {{low_count}} gt 0">
|