bmad-plus 0.5.0 → 0.6.0
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/CHANGELOG.md +23 -0
- package/README.md +4 -2
- package/package.json +1 -1
- package/readme-international/README.de.md +1 -1
- package/readme-international/README.es.md +1 -1
- package/readme-international/README.fr.md +1 -1
- package/src/bmad-plus/module.yaml +33 -0
- package/src/bmad-plus/packs/pack-dev-studio/README.md +162 -0
- package/src/bmad-plus/packs/pack-dev-studio/categories/analysis/analyst-agent.md +74 -0
- package/src/bmad-plus/packs/pack-dev-studio/categories/analysis/document-project.md +62 -0
- package/src/bmad-plus/packs/pack-dev-studio/categories/analysis/domain-research.md +96 -0
- package/src/bmad-plus/packs/pack-dev-studio/categories/analysis/market-research.md +96 -0
- package/src/bmad-plus/packs/pack-dev-studio/categories/analysis/prfaq.md +135 -0
- package/src/bmad-plus/packs/pack-dev-studio/categories/analysis/product-brief.md +81 -0
- package/src/bmad-plus/packs/pack-dev-studio/categories/analysis/tech-writer-agent.md +74 -0
- package/src/bmad-plus/packs/pack-dev-studio/categories/analysis/technical-research.md +96 -0
- package/src/bmad-plus/packs/pack-dev-studio/categories/architecture/architect-agent.md +74 -0
- package/src/bmad-plus/packs/pack-dev-studio/categories/architecture/create-architecture.md +74 -0
- package/src/bmad-plus/packs/pack-dev-studio/categories/architecture/create-epics-stories.md +93 -0
- package/src/bmad-plus/packs/pack-dev-studio/categories/architecture/generate-project-context.md +81 -0
- package/src/bmad-plus/packs/pack-dev-studio/categories/architecture/implementation-readiness.md +91 -0
- package/src/bmad-plus/packs/pack-dev-studio/categories/architecture/steps/step-01-init.md +153 -0
- package/src/bmad-plus/packs/pack-dev-studio/categories/architecture/steps/step-01b-continue.md +173 -0
- package/src/bmad-plus/packs/pack-dev-studio/categories/architecture/steps/step-02-context.md +224 -0
- package/src/bmad-plus/packs/pack-dev-studio/categories/architecture/steps/step-03-starter.md +329 -0
- package/src/bmad-plus/packs/pack-dev-studio/categories/architecture/steps/step-04-decisions.md +318 -0
- package/src/bmad-plus/packs/pack-dev-studio/categories/architecture/steps/step-05-patterns.md +359 -0
- package/src/bmad-plus/packs/pack-dev-studio/categories/architecture/steps/step-06-structure.md +379 -0
- package/src/bmad-plus/packs/pack-dev-studio/categories/architecture/steps/step-07-validation.md +361 -0
- package/src/bmad-plus/packs/pack-dev-studio/categories/architecture/steps/step-08-complete.md +82 -0
- package/src/bmad-plus/packs/pack-dev-studio/categories/implementation/checkpoint-preview.md +68 -0
- package/src/bmad-plus/packs/pack-dev-studio/categories/implementation/code-review-steps/step-01-gather-context.md +85 -0
- package/src/bmad-plus/packs/pack-dev-studio/categories/implementation/code-review-steps/step-02-review.md +35 -0
- package/src/bmad-plus/packs/pack-dev-studio/categories/implementation/code-review-steps/step-03-triage.md +49 -0
- package/src/bmad-plus/packs/pack-dev-studio/categories/implementation/code-review-steps/step-04-present.md +132 -0
- package/src/bmad-plus/packs/pack-dev-studio/categories/implementation/code-review.md +90 -0
- package/src/bmad-plus/packs/pack-dev-studio/categories/implementation/correct-course.md +301 -0
- package/src/bmad-plus/packs/pack-dev-studio/categories/implementation/create-story.md +429 -0
- package/src/bmad-plus/packs/pack-dev-studio/categories/implementation/dev-agent.md +74 -0
- package/src/bmad-plus/packs/pack-dev-studio/categories/implementation/dev-story-checklist.md +80 -0
- package/src/bmad-plus/packs/pack-dev-studio/categories/implementation/dev-story.md +485 -0
- package/src/bmad-plus/packs/pack-dev-studio/categories/implementation/investigate.md +194 -0
- package/src/bmad-plus/packs/pack-dev-studio/categories/implementation/qa-e2e-tests.md +176 -0
- package/src/bmad-plus/packs/pack-dev-studio/categories/implementation/quick-dev.md +111 -0
- package/src/bmad-plus/packs/pack-dev-studio/categories/implementation/retrospective.md +1512 -0
- package/src/bmad-plus/packs/pack-dev-studio/categories/implementation/sprint-planning.md +299 -0
- package/src/bmad-plus/packs/pack-dev-studio/categories/implementation/sprint-status.md +297 -0
- package/src/bmad-plus/packs/pack-dev-studio/categories/planning/create-prd.md +30 -0
- package/src/bmad-plus/packs/pack-dev-studio/categories/planning/create-ux-design.md +75 -0
- package/src/bmad-plus/packs/pack-dev-studio/categories/planning/edit-prd.md +30 -0
- package/src/bmad-plus/packs/pack-dev-studio/categories/planning/pm-agent.md +74 -0
- package/src/bmad-plus/packs/pack-dev-studio/categories/planning/prd.md +90 -0
- package/src/bmad-plus/packs/pack-dev-studio/categories/planning/ux-designer-agent.md +74 -0
- package/src/bmad-plus/packs/pack-dev-studio/categories/planning/validate-prd.md +30 -0
- package/src/bmad-plus/packs/pack-dev-studio/categories/utilities/advanced-elicitation.md +142 -0
- package/src/bmad-plus/packs/pack-dev-studio/categories/utilities/adversarial-review.md +37 -0
- package/src/bmad-plus/packs/pack-dev-studio/categories/utilities/bmad-help.md +75 -0
- package/src/bmad-plus/packs/pack-dev-studio/categories/utilities/brainstorming.md +6 -0
- package/src/bmad-plus/packs/pack-dev-studio/categories/utilities/customize.md +111 -0
- package/src/bmad-plus/packs/pack-dev-studio/categories/utilities/distillator.md +177 -0
- package/src/bmad-plus/packs/pack-dev-studio/categories/utilities/edge-case-hunter.md +67 -0
- package/src/bmad-plus/packs/pack-dev-studio/categories/utilities/editorial-review-prose.md +86 -0
- package/src/bmad-plus/packs/pack-dev-studio/categories/utilities/editorial-review-structure.md +179 -0
- package/src/bmad-plus/packs/pack-dev-studio/categories/utilities/index-docs.md +66 -0
- package/src/bmad-plus/packs/pack-dev-studio/categories/utilities/party-mode.md +128 -0
- package/src/bmad-plus/packs/pack-dev-studio/categories/utilities/shard-doc.md +105 -0
- package/src/bmad-plus/packs/pack-dev-studio/dev-studio-orchestrator.md +120 -0
- package/src/bmad-plus/packs/pack-dev-studio/shared/architecture-decision-template.md +12 -0
- package/src/bmad-plus/packs/pack-dev-studio/shared/bwml-spec.md +328 -0
- package/src/bmad-plus/packs/pack-dev-studio/shared/module-help.csv +32 -0
- package/src/bmad-plus/packs/pack-dev-studio/upstream-sync.yaml +81 -0
- package/tools/cli/commands/install.js +10 -1
- package/tools/cli/i18n.js +10 -10
package/src/bmad-plus/packs/pack-dev-studio/categories/architecture/steps/step-07-validation.md
ADDED
|
@@ -0,0 +1,361 @@
|
|
|
1
|
+
# Step 7: Architecture Validation & Completion
|
|
2
|
+
|
|
3
|
+
## MANDATORY EXECUTION RULES (READ FIRST):
|
|
4
|
+
|
|
5
|
+
- 🛑 NEVER generate content without user input
|
|
6
|
+
|
|
7
|
+
- 📖 CRITICAL: ALWAYS read the complete step file before taking any action - partial understanding leads to incomplete decisions
|
|
8
|
+
- 🔄 CRITICAL: When loading next step with 'C', ensure the entire file is read and understood before proceeding
|
|
9
|
+
- ✅ ALWAYS treat this as collaborative discovery between architectural peers
|
|
10
|
+
- 📋 YOU ARE A FACILITATOR, not a content generator
|
|
11
|
+
- 💬 FOCUS on validating architectural coherence and completeness
|
|
12
|
+
- ✅ VALIDATE all requirements are covered by architectural decisions
|
|
13
|
+
- ⚠️ ABSOLUTELY NO TIME ESTIMATES - AI development speed has fundamentally changed
|
|
14
|
+
- ✅ YOU MUST ALWAYS SPEAK OUTPUT In your Agent communication style with the config `{communication_language}`
|
|
15
|
+
|
|
16
|
+
## EXECUTION PROTOCOLS:
|
|
17
|
+
|
|
18
|
+
- 🎯 Show your analysis before taking any action
|
|
19
|
+
- ✅ Run comprehensive validation checks on the complete architecture
|
|
20
|
+
- ⚠️ Present A/P/C menu after generating validation results
|
|
21
|
+
- 💾 ONLY save when user chooses C (Continue)
|
|
22
|
+
- 📖 Update frontmatter `stepsCompleted: [1, 2, 3, 4, 5, 6, 7]` before loading next step
|
|
23
|
+
- 🚫 FORBIDDEN to load next step until C is selected
|
|
24
|
+
|
|
25
|
+
## COLLABORATION MENUS (A/P/C):
|
|
26
|
+
|
|
27
|
+
This step will generate content and present choices:
|
|
28
|
+
|
|
29
|
+
- **A (Advanced Elicitation)**: Use discovery protocols to address complex architectural issues found during validation
|
|
30
|
+
- **P (Party Mode)**: Bring multiple perspectives to resolve validation concerns
|
|
31
|
+
- **C (Continue)**: Save the validation results and complete the architecture
|
|
32
|
+
|
|
33
|
+
## PROTOCOL INTEGRATION:
|
|
34
|
+
|
|
35
|
+
- When 'A' selected: Invoke the `bmad-advanced-elicitation` skill
|
|
36
|
+
- When 'P' selected: Invoke the `bmad-party-mode` skill
|
|
37
|
+
- PROTOCOLS always return to display this step's A/P/C menu after the A or P have completed
|
|
38
|
+
- User accepts/rejects protocol changes before proceeding
|
|
39
|
+
|
|
40
|
+
## CONTEXT BOUNDARIES:
|
|
41
|
+
|
|
42
|
+
- Complete architecture document with all sections is available
|
|
43
|
+
- All architectural decisions, patterns, and structure are defined
|
|
44
|
+
- Focus on validation, gap analysis, and coherence checking
|
|
45
|
+
- Prepare for handoff to implementation phase
|
|
46
|
+
|
|
47
|
+
## YOUR TASK:
|
|
48
|
+
|
|
49
|
+
Validate the complete architecture for coherence, completeness, and readiness to guide AI agents through consistent implementation.
|
|
50
|
+
|
|
51
|
+
## VALIDATION SEQUENCE:
|
|
52
|
+
|
|
53
|
+
### 1. Coherence Validation
|
|
54
|
+
|
|
55
|
+
Check that all architectural decisions work together:
|
|
56
|
+
|
|
57
|
+
**Decision Compatibility:**
|
|
58
|
+
|
|
59
|
+
- Do all technology choices work together without conflicts?
|
|
60
|
+
- Are all versions compatible with each other?
|
|
61
|
+
- Do patterns align with technology choices?
|
|
62
|
+
- Are there any contradictory decisions?
|
|
63
|
+
|
|
64
|
+
**Pattern Consistency:**
|
|
65
|
+
|
|
66
|
+
- Do implementation patterns support the architectural decisions?
|
|
67
|
+
- Are naming conventions consistent across all areas?
|
|
68
|
+
- Do structure patterns align with technology stack?
|
|
69
|
+
- Are communication patterns coherent?
|
|
70
|
+
|
|
71
|
+
**Structure Alignment:**
|
|
72
|
+
|
|
73
|
+
- Does the project structure support all architectural decisions?
|
|
74
|
+
- Are boundaries properly defined and respected?
|
|
75
|
+
- Does the structure enable the chosen patterns?
|
|
76
|
+
- Are integration points properly structured?
|
|
77
|
+
|
|
78
|
+
### 2. Requirements Coverage Validation
|
|
79
|
+
|
|
80
|
+
Verify all project requirements are architecturally supported:
|
|
81
|
+
|
|
82
|
+
**From Epics (if available):**
|
|
83
|
+
|
|
84
|
+
- Does every epic have architectural support?
|
|
85
|
+
- Are all user stories implementable with these decisions?
|
|
86
|
+
- Are cross-epic dependencies handled architecturally?
|
|
87
|
+
- Are there any gaps in epic coverage?
|
|
88
|
+
|
|
89
|
+
**From FR Categories (if no epics):**
|
|
90
|
+
|
|
91
|
+
- Does every functional requirement have architectural support?
|
|
92
|
+
- Are all FR categories fully covered by architectural decisions?
|
|
93
|
+
- Are cross-cutting FRs properly addressed?
|
|
94
|
+
- Are there any missing architectural capabilities?
|
|
95
|
+
|
|
96
|
+
**Non-Functional Requirements:**
|
|
97
|
+
|
|
98
|
+
- Are performance requirements addressed architecturally?
|
|
99
|
+
- Are security requirements fully covered?
|
|
100
|
+
- Are scalability considerations properly handled?
|
|
101
|
+
- Are compliance requirements architecturally supported?
|
|
102
|
+
|
|
103
|
+
### 3. Implementation Readiness Validation
|
|
104
|
+
|
|
105
|
+
Assess if AI agents can implement consistently:
|
|
106
|
+
|
|
107
|
+
**Decision Completeness:**
|
|
108
|
+
|
|
109
|
+
- Are all critical decisions documented with versions?
|
|
110
|
+
- Are implementation patterns comprehensive enough?
|
|
111
|
+
- Are consistency rules clear and enforceable?
|
|
112
|
+
- Are examples provided for all major patterns?
|
|
113
|
+
|
|
114
|
+
**Structure Completeness:**
|
|
115
|
+
|
|
116
|
+
- Is the project structure complete and specific?
|
|
117
|
+
- Are all files and directories defined?
|
|
118
|
+
- Are integration points clearly specified?
|
|
119
|
+
- Are component boundaries well-defined?
|
|
120
|
+
|
|
121
|
+
**Pattern Completeness:**
|
|
122
|
+
|
|
123
|
+
- Are all potential conflict points addressed?
|
|
124
|
+
- Are naming conventions comprehensive?
|
|
125
|
+
- Are communication patterns fully specified?
|
|
126
|
+
- Are process patterns (error handling, etc.) complete?
|
|
127
|
+
|
|
128
|
+
### 4. Gap Analysis
|
|
129
|
+
|
|
130
|
+
Identify and document any missing elements:
|
|
131
|
+
|
|
132
|
+
**Critical Gaps:**
|
|
133
|
+
|
|
134
|
+
- Missing architectural decisions that block implementation
|
|
135
|
+
- Incomplete patterns that could cause conflicts
|
|
136
|
+
- Missing structural elements needed for development
|
|
137
|
+
- Undefined integration points
|
|
138
|
+
|
|
139
|
+
**Important Gaps:**
|
|
140
|
+
|
|
141
|
+
- Areas that need more detailed specification
|
|
142
|
+
- Patterns that could be more comprehensive
|
|
143
|
+
- Documentation that would help implementation
|
|
144
|
+
- Examples that would clarify complex decisions
|
|
145
|
+
|
|
146
|
+
**Nice-to-Have Gaps:**
|
|
147
|
+
|
|
148
|
+
- Additional patterns that would be helpful
|
|
149
|
+
- Supplementary documentation
|
|
150
|
+
- Tooling recommendations
|
|
151
|
+
- Development workflow optimizations
|
|
152
|
+
|
|
153
|
+
### 5. Address Validation Issues
|
|
154
|
+
|
|
155
|
+
For any issues found, facilitate resolution:
|
|
156
|
+
|
|
157
|
+
**Critical Issues:**
|
|
158
|
+
"I found some issues that need to be addressed before implementation:
|
|
159
|
+
|
|
160
|
+
{{critical_issue_description}}
|
|
161
|
+
|
|
162
|
+
These could cause implementation problems. How would you like to resolve this?"
|
|
163
|
+
|
|
164
|
+
**Important Issues:**
|
|
165
|
+
"I noticed a few areas that could be improved:
|
|
166
|
+
|
|
167
|
+
{{important_issue_description}}
|
|
168
|
+
|
|
169
|
+
These aren't blocking, but addressing them would make implementation smoother. Should we work on these?"
|
|
170
|
+
|
|
171
|
+
**Minor Issues:**
|
|
172
|
+
"Here are some minor suggestions for improvement:
|
|
173
|
+
|
|
174
|
+
{{minor_issue_description}}
|
|
175
|
+
|
|
176
|
+
These are optional refinements. Would you like to address any of these?"
|
|
177
|
+
|
|
178
|
+
### 6. Generate Validation Content
|
|
179
|
+
|
|
180
|
+
Prepare the content to append to the document:
|
|
181
|
+
|
|
182
|
+
#### Content Structure:
|
|
183
|
+
|
|
184
|
+
```markdown
|
|
185
|
+
## Architecture Validation Results
|
|
186
|
+
|
|
187
|
+
### Coherence Validation ✅
|
|
188
|
+
|
|
189
|
+
**Decision Compatibility:**
|
|
190
|
+
{{assessment_of_how_all_decisions_work_together}}
|
|
191
|
+
|
|
192
|
+
**Pattern Consistency:**
|
|
193
|
+
{{verification_that_patterns_support_decisions}}
|
|
194
|
+
|
|
195
|
+
**Structure Alignment:**
|
|
196
|
+
{{confirmation_that_structure_supports_architecture}}
|
|
197
|
+
|
|
198
|
+
### Requirements Coverage Validation ✅
|
|
199
|
+
|
|
200
|
+
**Epic/Feature Coverage:**
|
|
201
|
+
{{verification_that_all_epics_or_features_are_supported}}
|
|
202
|
+
|
|
203
|
+
**Functional Requirements Coverage:**
|
|
204
|
+
{{confirmation_that_all_FRs_are_architecturally_supported}}
|
|
205
|
+
|
|
206
|
+
**Non-Functional Requirements Coverage:**
|
|
207
|
+
{{verification_that_NFRs_are_addressed}}
|
|
208
|
+
|
|
209
|
+
### Implementation Readiness Validation ✅
|
|
210
|
+
|
|
211
|
+
**Decision Completeness:**
|
|
212
|
+
{{assessment_of_decision_documentation_completeness}}
|
|
213
|
+
|
|
214
|
+
**Structure Completeness:**
|
|
215
|
+
{{evaluation_of_project_structure_completeness}}
|
|
216
|
+
|
|
217
|
+
**Pattern Completeness:**
|
|
218
|
+
{{verification_of_implementation_patterns_completeness}}
|
|
219
|
+
|
|
220
|
+
### Gap Analysis Results
|
|
221
|
+
|
|
222
|
+
{{gap_analysis_findings_with_priority_levels}}
|
|
223
|
+
|
|
224
|
+
### Validation Issues Addressed
|
|
225
|
+
|
|
226
|
+
{{description_of_any_issues_found_and_resolutions}}
|
|
227
|
+
|
|
228
|
+
### Architecture Completeness Checklist
|
|
229
|
+
|
|
230
|
+
Mark each item `[x]` only if validation confirms it; leave `[ ]` if it is missing, partial, or unverified. Any unchecked item must be reflected in the Gap Analysis above and in the Overall Status below.
|
|
231
|
+
|
|
232
|
+
**Requirements Analysis**
|
|
233
|
+
|
|
234
|
+
- [ ] Project context thoroughly analyzed
|
|
235
|
+
- [ ] Scale and complexity assessed
|
|
236
|
+
- [ ] Technical constraints identified
|
|
237
|
+
- [ ] Cross-cutting concerns mapped
|
|
238
|
+
|
|
239
|
+
**Architectural Decisions**
|
|
240
|
+
|
|
241
|
+
- [ ] Critical decisions documented with versions
|
|
242
|
+
- [ ] Technology stack fully specified
|
|
243
|
+
- [ ] Integration patterns defined
|
|
244
|
+
- [ ] Performance considerations addressed
|
|
245
|
+
|
|
246
|
+
**Implementation Patterns**
|
|
247
|
+
|
|
248
|
+
- [ ] Naming conventions established
|
|
249
|
+
- [ ] Structure patterns defined
|
|
250
|
+
- [ ] Communication patterns specified
|
|
251
|
+
- [ ] Process patterns documented
|
|
252
|
+
|
|
253
|
+
**Project Structure**
|
|
254
|
+
|
|
255
|
+
- [ ] Complete directory structure defined
|
|
256
|
+
- [ ] Component boundaries established
|
|
257
|
+
- [ ] Integration points mapped
|
|
258
|
+
- [ ] Requirements to structure mapping complete
|
|
259
|
+
|
|
260
|
+
### Architecture Readiness Assessment
|
|
261
|
+
|
|
262
|
+
**Overall Status:** {{READY FOR IMPLEMENTATION | READY WITH MINOR GAPS | NOT READY}} (choose READY FOR IMPLEMENTATION only when all 16 checklist items are `[x]` and no Critical Gaps remain; choose NOT READY when any Critical Gap is open or any Requirements Analysis or Architectural Decisions item is unchecked; otherwise READY WITH MINOR GAPS)
|
|
263
|
+
|
|
264
|
+
**Confidence Level:** {{high/medium/low}} based on validation results
|
|
265
|
+
|
|
266
|
+
**Key Strengths:**
|
|
267
|
+
{{list_of_architecture_strengths}}
|
|
268
|
+
|
|
269
|
+
**Areas for Future Enhancement:**
|
|
270
|
+
{{areas_that_could_be_improved_later}}
|
|
271
|
+
|
|
272
|
+
### Implementation Handoff
|
|
273
|
+
|
|
274
|
+
**AI Agent Guidelines:**
|
|
275
|
+
|
|
276
|
+
- Follow all architectural decisions exactly as documented
|
|
277
|
+
- Use implementation patterns consistently across all components
|
|
278
|
+
- Respect project structure and boundaries
|
|
279
|
+
- Refer to this document for all architectural questions
|
|
280
|
+
|
|
281
|
+
**First Implementation Priority:**
|
|
282
|
+
{{starter_template_command_or_first_architectural_step}}
|
|
283
|
+
```
|
|
284
|
+
|
|
285
|
+
### 7. Present Content and Menu
|
|
286
|
+
|
|
287
|
+
Show the validation results and present choices:
|
|
288
|
+
|
|
289
|
+
"I've completed a comprehensive validation of your architecture.
|
|
290
|
+
|
|
291
|
+
**Validation Summary:**
|
|
292
|
+
|
|
293
|
+
- ✅ Coherence: All decisions work together
|
|
294
|
+
- ✅ Coverage: All requirements are supported
|
|
295
|
+
- ✅ Readiness: AI agents can implement consistently
|
|
296
|
+
|
|
297
|
+
**Here's what I'll add to complete the architecture document:**
|
|
298
|
+
|
|
299
|
+
[Show the complete markdown content from step 6]
|
|
300
|
+
|
|
301
|
+
**What would you like to do?**
|
|
302
|
+
[A] Advanced Elicitation - Address any complex architectural concerns
|
|
303
|
+
[P] Party Mode - Review validation from different implementation perspectives
|
|
304
|
+
[C] Continue - Complete the architecture and finish workflow
|
|
305
|
+
|
|
306
|
+
### 8. Handle Menu Selection
|
|
307
|
+
|
|
308
|
+
#### If 'A' (Advanced Elicitation):
|
|
309
|
+
|
|
310
|
+
- Invoke the `bmad-advanced-elicitation` skill with validation issues
|
|
311
|
+
- Process enhanced solutions for complex concerns
|
|
312
|
+
- Ask user: "Accept these architectural improvements? (y/n)"
|
|
313
|
+
- If yes: Update content, then return to A/P/C menu
|
|
314
|
+
- If no: Keep original content, then return to A/P/C menu
|
|
315
|
+
|
|
316
|
+
#### If 'P' (Party Mode):
|
|
317
|
+
|
|
318
|
+
- Invoke the `bmad-party-mode` skill with validation context
|
|
319
|
+
- Process collaborative insights on implementation readiness
|
|
320
|
+
- Ask user: "Accept these changes to the validation results? (y/n)"
|
|
321
|
+
- If yes: Update content, then return to A/P/C menu
|
|
322
|
+
- If no: Keep original content, then return to A/P/C menu
|
|
323
|
+
|
|
324
|
+
#### If 'C' (Continue):
|
|
325
|
+
|
|
326
|
+
- Append the final content to `{planning_artifacts}/architecture.md`
|
|
327
|
+
- Update frontmatter: `stepsCompleted: [1, 2, 3, 4, 5, 6, 7]`
|
|
328
|
+
- Load `./step-08-complete.md`
|
|
329
|
+
|
|
330
|
+
## APPEND TO DOCUMENT:
|
|
331
|
+
|
|
332
|
+
When user selects 'C', append the content directly to the document using the structure from step 6.
|
|
333
|
+
|
|
334
|
+
## SUCCESS METRICS:
|
|
335
|
+
|
|
336
|
+
✅ All architectural decisions validated for coherence
|
|
337
|
+
✅ Complete requirements coverage verified
|
|
338
|
+
✅ Implementation readiness confirmed
|
|
339
|
+
✅ All gaps identified and addressed
|
|
340
|
+
✅ Comprehensive validation checklist completed
|
|
341
|
+
✅ A/P/C menu presented and handled correctly
|
|
342
|
+
✅ Content properly appended to document when C selected
|
|
343
|
+
|
|
344
|
+
## FAILURE MODES:
|
|
345
|
+
|
|
346
|
+
❌ Skipping validation of decision compatibility
|
|
347
|
+
❌ Not verifying all requirements are architecturally supported
|
|
348
|
+
❌ Missing potential implementation conflicts
|
|
349
|
+
❌ Not addressing gaps found during validation
|
|
350
|
+
❌ Providing incomplete validation checklist
|
|
351
|
+
❌ Not presenting A/P/C menu after content generation
|
|
352
|
+
|
|
353
|
+
❌ **CRITICAL**: Reading only partial step file - leads to incomplete understanding and poor decisions
|
|
354
|
+
❌ **CRITICAL**: Proceeding with 'C' without fully reading and understanding the next step file
|
|
355
|
+
❌ **CRITICAL**: Making decisions without complete understanding of step requirements and protocols
|
|
356
|
+
|
|
357
|
+
## NEXT STEP:
|
|
358
|
+
|
|
359
|
+
After user selects 'C' and content is saved to document, load `./step-08-complete.md` to complete the workflow and provide implementation guidance.
|
|
360
|
+
|
|
361
|
+
Remember: Do NOT proceed to step-08 until user explicitly selects 'C' from the A/P/C menu and content is saved!
|
|
@@ -0,0 +1,82 @@
|
|
|
1
|
+
# Step 8: Architecture Completion & Handoff
|
|
2
|
+
|
|
3
|
+
## MANDATORY EXECUTION RULES (READ FIRST):
|
|
4
|
+
|
|
5
|
+
- 🛑 NEVER generate content without user input
|
|
6
|
+
|
|
7
|
+
- 📖 CRITICAL: ALWAYS read the complete step file before taking any action - partial understanding leads to incomplete decisions
|
|
8
|
+
- ✅ ALWAYS treat this as collaborative completion between architectural peers
|
|
9
|
+
- 📋 YOU ARE A FACILITATOR, not a content generator
|
|
10
|
+
- 💬 FOCUS on successful workflow completion and implementation handoff
|
|
11
|
+
- 🎯 PROVIDE clear next steps for implementation phase
|
|
12
|
+
- ⚠️ ABSOLUTELY NO TIME ESTIMATES - AI development speed has fundamentally changed
|
|
13
|
+
- ✅ YOU MUST ALWAYS SPEAK OUTPUT In your Agent communication style with the config `{communication_language}`
|
|
14
|
+
|
|
15
|
+
## EXECUTION PROTOCOLS:
|
|
16
|
+
|
|
17
|
+
- 🎯 Show your analysis before taking any action
|
|
18
|
+
- 🎯 Present completion summary and implementation guidance
|
|
19
|
+
- 📖 Update frontmatter with final workflow state
|
|
20
|
+
- 🚫 THIS IS THE FINAL STEP IN THIS WORKFLOW
|
|
21
|
+
|
|
22
|
+
## YOUR TASK:
|
|
23
|
+
|
|
24
|
+
Complete the architecture workflow, provide a comprehensive completion summary, and guide the user to the next phase of their project development.
|
|
25
|
+
|
|
26
|
+
## COMPLETION SEQUENCE:
|
|
27
|
+
|
|
28
|
+
### 1. Congratulate the User on Completion
|
|
29
|
+
|
|
30
|
+
Both you and the User completed something amazing here - give a summary of what you achieved together and really congratulate the user on a job well done.
|
|
31
|
+
|
|
32
|
+
### 2. Update the created document's frontmatter
|
|
33
|
+
|
|
34
|
+
```yaml
|
|
35
|
+
stepsCompleted: [1, 2, 3, 4, 5, 6, 7, 8]
|
|
36
|
+
workflowType: 'architecture'
|
|
37
|
+
lastStep: 8
|
|
38
|
+
status: 'complete'
|
|
39
|
+
completedAt: '{{current_date}}'
|
|
40
|
+
```
|
|
41
|
+
|
|
42
|
+
### 3. Next Steps Guidance
|
|
43
|
+
|
|
44
|
+
Architecture complete. Invoke the `bmad-help` skill.
|
|
45
|
+
|
|
46
|
+
Upon Completion of task output: offer to answer any questions about the Architecture Document.
|
|
47
|
+
|
|
48
|
+
|
|
49
|
+
## SUCCESS METRICS:
|
|
50
|
+
|
|
51
|
+
✅ Complete architecture document delivered with all sections
|
|
52
|
+
✅ All architectural decisions documented and validated
|
|
53
|
+
✅ Implementation patterns and consistency rules finalized
|
|
54
|
+
✅ Project structure complete with all files and directories
|
|
55
|
+
✅ User provided with clear next steps and implementation guidance
|
|
56
|
+
✅ Workflow status properly updated
|
|
57
|
+
✅ User collaboration maintained throughout completion process
|
|
58
|
+
|
|
59
|
+
## FAILURE MODES:
|
|
60
|
+
|
|
61
|
+
❌ Not providing clear implementation guidance
|
|
62
|
+
❌ Missing final validation of document completeness
|
|
63
|
+
❌ Not updating workflow status appropriately
|
|
64
|
+
❌ Failing to celebrate the successful completion
|
|
65
|
+
❌ Not providing specific next steps for the user
|
|
66
|
+
❌ Rushing completion without proper summary
|
|
67
|
+
|
|
68
|
+
❌ **CRITICAL**: Reading only partial step file - leads to incomplete understanding and poor decisions
|
|
69
|
+
❌ **CRITICAL**: Proceeding with 'C' without fully reading and understanding the next step file
|
|
70
|
+
❌ **CRITICAL**: Making decisions without complete understanding of step requirements and protocols
|
|
71
|
+
|
|
72
|
+
## WORKFLOW COMPLETE:
|
|
73
|
+
|
|
74
|
+
This is the final step of the Architecture workflow. The user now has a complete, validated architecture document ready for AI agent implementation.
|
|
75
|
+
|
|
76
|
+
The architecture will serve as the single source of truth for all technical decisions, ensuring consistent implementation across the entire project development lifecycle.
|
|
77
|
+
|
|
78
|
+
## On Complete
|
|
79
|
+
|
|
80
|
+
<!-- Adapted for BMAD+: original script dependency removed -->
|
|
81
|
+
|
|
82
|
+
If the resolved `workflow.on_complete` is non-empty, follow it as the final terminal instruction before exiting.
|
|
@@ -0,0 +1,68 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: bmad-checkpoint-preview
|
|
3
|
+
description: 'LLM-assisted human-in-the-loop review. Make sense of a change, focus attention where it matters, test. Use when the user says "checkpoint", "human review", or "walk me through this change".'
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# Checkpoint Review Workflow
|
|
7
|
+
|
|
8
|
+
**Goal:** Guide a human through reviewing a change — from purpose and context into details.
|
|
9
|
+
|
|
10
|
+
**Your Role:** You are assisting the user in reviewing a change.
|
|
11
|
+
|
|
12
|
+
## Conventions
|
|
13
|
+
|
|
14
|
+
- Bare paths (e.g. `step-01-orientation.md`) resolve from the skill root.
|
|
15
|
+
- `this skill directory` resolves to this skill's installed directory (where `agent configuration` lives).
|
|
16
|
+
- `{project-root}`-prefixed paths resolve from the project working directory.
|
|
17
|
+
- `{skill-name}` resolves to the skill directory's basename.
|
|
18
|
+
|
|
19
|
+
## On Activation
|
|
20
|
+
|
|
21
|
+
### Step 1: Resolve the Workflow Block
|
|
22
|
+
|
|
23
|
+
<!-- Adapted for BMAD+: original script dependency removed -->
|
|
24
|
+
|
|
25
|
+
**If the script fails**, resolve the `workflow` block yourself by reading these three files in base → team → user order and applying the same structural merge rules as the resolver:
|
|
26
|
+
|
|
27
|
+
1. `this skill file` — defaults
|
|
28
|
+
2. `{project-root}/custom/{skill-name}.toml` — team overrides
|
|
29
|
+
3. `{project-root}/custom/{skill-name}.user.toml` — personal overrides
|
|
30
|
+
|
|
31
|
+
Any missing file is skipped. Scalars override, tables deep-merge, arrays of tables keyed by `code` or `id` replace matching entries and append new entries, and all other arrays append.
|
|
32
|
+
|
|
33
|
+
### Step 2: Execute Prepend Steps
|
|
34
|
+
|
|
35
|
+
Execute each entry in `{workflow.activation_steps_prepend}` in order before proceeding.
|
|
36
|
+
|
|
37
|
+
### Step 3: Load Persistent Facts
|
|
38
|
+
|
|
39
|
+
Treat every entry in `{workflow.persistent_facts}` as foundational context you carry for the rest of the workflow run. Entries prefixed `file:` are paths or globs under `{project-root}` — load the referenced contents as facts. All other entries are facts verbatim.
|
|
40
|
+
|
|
41
|
+
### Step 4: Load Config
|
|
42
|
+
|
|
43
|
+
Load config from `{project-root}/project config` and resolve:
|
|
44
|
+
|
|
45
|
+
- `implementation_artifacts`
|
|
46
|
+
- `planning_artifacts`
|
|
47
|
+
- `communication_language`
|
|
48
|
+
- `document_output_language`
|
|
49
|
+
|
|
50
|
+
### Step 5: Greet the User
|
|
51
|
+
|
|
52
|
+
Greet the user, speaking in `{communication_language}`.
|
|
53
|
+
|
|
54
|
+
### Step 6: Execute Append Steps
|
|
55
|
+
|
|
56
|
+
Execute each entry in `{workflow.activation_steps_append}` in order.
|
|
57
|
+
|
|
58
|
+
Activation is complete. Begin the workflow below.
|
|
59
|
+
|
|
60
|
+
## Global Step Rules (apply to every step)
|
|
61
|
+
|
|
62
|
+
- **Path:line format** — Every code reference must use CWD-relative `path:line` format (no leading `/`) so it is clickable in IDE-embedded terminals (e.g., `src/auth/middleware.ts:42`).
|
|
63
|
+
- **Front-load then shut up** — Present the entire output for the current step in a single coherent message. Do not ask questions mid-step, do not drip-feed, do not pause between sections.
|
|
64
|
+
- **Language** — Speak in `{communication_language}`. Write any file output in `{document_output_language}`.
|
|
65
|
+
|
|
66
|
+
## FIRST STEP
|
|
67
|
+
|
|
68
|
+
Read fully and follow `./step-01-orientation.md` to begin.
|
|
@@ -0,0 +1,85 @@
|
|
|
1
|
+
---
|
|
2
|
+
diff_output: '' # set at runtime
|
|
3
|
+
spec_file: '' # set at runtime (path or empty)
|
|
4
|
+
review_mode: '' # set at runtime: "full" or "no-spec"
|
|
5
|
+
story_key: '' # set at runtime when discovered from sprint status
|
|
6
|
+
---
|
|
7
|
+
|
|
8
|
+
# Step 1: Gather Context
|
|
9
|
+
|
|
10
|
+
## RULES
|
|
11
|
+
|
|
12
|
+
- YOU MUST ALWAYS SPEAK OUTPUT in your Agent communication style with the config `{communication_language}`
|
|
13
|
+
- The prompt that triggered this workflow IS the intent — not a hint.
|
|
14
|
+
- Do not modify any files. This step is read-only.
|
|
15
|
+
|
|
16
|
+
## INSTRUCTIONS
|
|
17
|
+
|
|
18
|
+
1. **Find the review target.** The conversation context before this skill was triggered IS your starting point — not a blank slate. Check in this order — stop as soon as the review target is identified:
|
|
19
|
+
|
|
20
|
+
**Tier 1 — Explicit argument.**
|
|
21
|
+
Did the user pass a PR, commit SHA, branch, spec file, or diff source this message?
|
|
22
|
+
- PR reference → resolve to branch/commit via `gh pr view`. If resolution fails, ask for a SHA or branch.
|
|
23
|
+
- Commit or branch → use directly.
|
|
24
|
+
- Spec file → set `{spec_file}` to the provided path. Check its frontmatter for `baseline_commit`. If found, use as diff baseline. If not found, continue the cascade (a spec alone does not identify a diff source).
|
|
25
|
+
- Also scan the argument for diff-mode keywords that narrow the scope:
|
|
26
|
+
- "staged" / "staged changes" → Staged changes only
|
|
27
|
+
- "uncommitted" / "working tree" / "all changes" → Uncommitted changes (staged + unstaged)
|
|
28
|
+
- "branch diff" / "vs main" / "against main" / "compared to <branch>" → Branch diff (extract base branch if mentioned)
|
|
29
|
+
- "commit range" / "last N commits" / "<from-sha>..<to-sha>" → Specific commit range
|
|
30
|
+
- "this diff" / "provided diff" / "paste" → User-provided diff (do not match bare "diff" — it appears in other modes)
|
|
31
|
+
- When multiple keywords match, prefer the most specific (e.g., "branch diff" over bare "diff").
|
|
32
|
+
|
|
33
|
+
**Tier 2 — Recent conversation.**
|
|
34
|
+
Do the last few messages reveal what the user wants to be reviewed? Look for spec paths, commit refs, branches, PRs, or descriptions of a change. Apply the same diff-mode keyword scan and routing as Tier 1.
|
|
35
|
+
|
|
36
|
+
**Tier 3 — Sprint tracking.**
|
|
37
|
+
Look for a sprint status file (`*sprint-status*`) in `{implementation_artifacts}` or `{planning_artifacts}`. If found, scan for stories with status `review`:
|
|
38
|
+
- **Exactly one `review` story:** Set `{story_key}` to the story's key (e.g., `1-2-user-auth`). Suggest it: "I found story <story-id> in `review` status. Would you like to review its changes? [Y] Yes / [N] No, let me choose". If confirmed, use the story context to determine the diff source (branch name derived from story slug, or uncommitted changes). If declined, clear `{story_key}` and fall through.
|
|
39
|
+
- **Multiple `review` stories:** Present them as numbered options alongside a manual choice option. Wait for user selection. If a story is selected, set `{story_key}` and use its context to determine the diff source. If manual choice is selected, clear `{story_key}` and fall through.
|
|
40
|
+
- **None:** Fall through.
|
|
41
|
+
|
|
42
|
+
**Tier 4 — Current git state.**
|
|
43
|
+
If version control is unavailable, skip to Tier 5. Otherwise, check the current branch and HEAD. If the branch is not `main` (or the default branch), confirm: "I see HEAD is `<short-sha>` on `<branch>` — do you want to review this branch's changes?" If confirmed, treat as a branch diff against `main`. If declined, fall through.
|
|
44
|
+
|
|
45
|
+
**Tier 5 — Ask.**
|
|
46
|
+
Fall through to instruction 2.
|
|
47
|
+
|
|
48
|
+
Never ask extra questions beyond what the cascade prescribes. If a tier above already identified the target, skip the remaining tiers and proceed to instruction 3 (construct diff).
|
|
49
|
+
|
|
50
|
+
2. HALT. Ask the user: **What do you want to review?** Present these options:
|
|
51
|
+
- **Uncommitted changes** (staged + unstaged)
|
|
52
|
+
- **Staged changes only**
|
|
53
|
+
- **Branch diff** vs a base branch (ask which base branch)
|
|
54
|
+
- **Specific commit range** (ask for the range)
|
|
55
|
+
- **Provided diff or file list** (user pastes or provides a path)
|
|
56
|
+
|
|
57
|
+
3. Construct `{diff_output}` from the chosen source.
|
|
58
|
+
- For **staged changes only**: run `git diff --cached`.
|
|
59
|
+
- For **uncommitted changes** (staged + unstaged): run `git diff HEAD`.
|
|
60
|
+
- For **branch diff**: verify the base branch exists before running `git diff`. If it does not exist, HALT and ask the user for a valid branch.
|
|
61
|
+
- For **commit range**: verify the range resolves. If it does not, HALT and ask the user for a valid range.
|
|
62
|
+
- For **provided diff**: validate the content is non-empty and parseable as a unified diff. If it is not parseable, HALT and ask the user to provide a valid diff.
|
|
63
|
+
- For **file list**: validate each path exists in the working tree. Construct `{diff_output}` by running `git diff HEAD -- <path1> <path2> ...`. If any paths are untracked (new files not yet staged), use `git diff --no-index /dev/null <path>` to include them. If the diff is empty (files have no uncommitted changes and are not untracked), ask the user whether to review the full file contents or to specify a different baseline.
|
|
64
|
+
- After constructing `{diff_output}`, verify it is non-empty regardless of source type. If empty, HALT and tell the user there is nothing to review.
|
|
65
|
+
|
|
66
|
+
4. **Set the spec context.**
|
|
67
|
+
- If `{spec_file}` is already set (from Tier 1 or Tier 2): verify the file exists and is readable, then set `{review_mode}` = `"full"`.
|
|
68
|
+
- Otherwise, ask the user: **Is there a spec or story file that provides context for these changes?**
|
|
69
|
+
- If yes: set `{spec_file}` to the path provided, verify the file exists and is readable, then set `{review_mode}` = `"full"`.
|
|
70
|
+
- If no: set `{review_mode}` = `"no-spec"`.
|
|
71
|
+
|
|
72
|
+
5. If `{review_mode}` = `"full"` and the file at `{spec_file}` has a `context` field in its frontmatter listing additional docs, load each referenced document. Warn the user about any docs that cannot be found.
|
|
73
|
+
|
|
74
|
+
6. Sanity check: if `{diff_output}` exceeds approximately 3000 lines, warn the user and offer to chunk the review by file group.
|
|
75
|
+
- If the user opts to chunk: agree on the first group, narrow `{diff_output}` accordingly, and list the remaining groups for the user to note for follow-up runs.
|
|
76
|
+
- If the user declines: proceed as-is with the full diff.
|
|
77
|
+
|
|
78
|
+
### CHECKPOINT
|
|
79
|
+
|
|
80
|
+
Present a summary before proceeding: diff stats (files changed, lines added/removed), `{review_mode}`, and loaded spec/context docs (if any). HALT and wait for user confirmation to proceed.
|
|
81
|
+
|
|
82
|
+
|
|
83
|
+
## NEXT
|
|
84
|
+
|
|
85
|
+
Read fully and follow `./step-02-review.md`
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
---
|
|
2
|
+
failed_layers: '' # set at runtime: comma-separated list of layers that failed or returned empty
|
|
3
|
+
---
|
|
4
|
+
|
|
5
|
+
# Step 2: Review
|
|
6
|
+
|
|
7
|
+
## RULES
|
|
8
|
+
|
|
9
|
+
- YOU MUST ALWAYS SPEAK OUTPUT in your Agent communication style with the config `{communication_language}`
|
|
10
|
+
- The Blind Hunter subagent receives NO project context — diff only.
|
|
11
|
+
- The Edge Case Hunter subagent receives diff and project read access.
|
|
12
|
+
- The Acceptance Auditor subagent receives diff, spec, and context docs.
|
|
13
|
+
- All review subagents must run at the same model capability as the current session.
|
|
14
|
+
|
|
15
|
+
## INSTRUCTIONS
|
|
16
|
+
|
|
17
|
+
1. If `{review_mode}` = `"no-spec"`, note to the user: "Acceptance Auditor skipped — no spec file provided."
|
|
18
|
+
|
|
19
|
+
2. Launch parallel subagents without conversation context. If subagents are not available, generate prompt files in `{implementation_artifacts}` — one per reviewer role below — and HALT. Ask the user to run each in a separate session (ideally a different LLM) and paste back the findings. When findings are pasted, resume from this point and proceed to step 3.
|
|
20
|
+
|
|
21
|
+
- **Blind Hunter** — receives `{diff_output}` only. No spec, no context docs, no project access. Invoke via the `bmad-review-adversarial-general` skill.
|
|
22
|
+
|
|
23
|
+
- **Edge Case Hunter** — receives `{diff_output}` and read access to the project. Invoke via the `bmad-review-edge-case-hunter` skill.
|
|
24
|
+
|
|
25
|
+
- **Acceptance Auditor** (only if `{review_mode}` = `"full"`) — receives `{diff_output}`, the content of the file at `{spec_file}`, and any loaded context docs. Its prompt:
|
|
26
|
+
> You are an Acceptance Auditor. Review this diff against the spec and context docs. Check for: violations of acceptance criteria, deviations from spec intent, missing implementation of specified behavior, contradictions between spec constraints and actual code. Output findings as a Markdown list. Each finding: one-line title, which AC/constraint it violates, and evidence from the diff.
|
|
27
|
+
|
|
28
|
+
3. **Subagent failure handling**: If any subagent fails, times out, or returns empty results, append the layer name to `{failed_layers}` (comma-separated) and proceed with findings from the remaining layers.
|
|
29
|
+
|
|
30
|
+
4. Collect all findings from the completed layers.
|
|
31
|
+
|
|
32
|
+
|
|
33
|
+
## NEXT
|
|
34
|
+
|
|
35
|
+
Read fully and follow `./step-03-triage.md`
|
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
---
|
|
2
|
+
---
|
|
3
|
+
|
|
4
|
+
# Step 3: Triage
|
|
5
|
+
|
|
6
|
+
## RULES
|
|
7
|
+
|
|
8
|
+
- YOU MUST ALWAYS SPEAK OUTPUT in your Agent communication style with the config `{communication_language}`
|
|
9
|
+
- Be precise. When uncertain between categories, prefer the more conservative classification.
|
|
10
|
+
|
|
11
|
+
## INSTRUCTIONS
|
|
12
|
+
|
|
13
|
+
1. **Normalize** findings into a common format. Expected input formats:
|
|
14
|
+
- Adversarial (Blind Hunter): markdown list of descriptions
|
|
15
|
+
- Edge Case Hunter: JSON array with `location`, `trigger_condition`, `guard_snippet`, `potential_consequence` fields
|
|
16
|
+
- Acceptance Auditor: markdown list with title, AC/constraint reference, and evidence
|
|
17
|
+
|
|
18
|
+
If a layer's output does not match its expected format, attempt best-effort parsing. Note any parsing issues for the user.
|
|
19
|
+
|
|
20
|
+
Convert all to a unified list where each finding has:
|
|
21
|
+
- `id` -- sequential integer
|
|
22
|
+
- `source` -- `blind`, `edge`, `auditor`, or merged sources (e.g., `blind+edge`)
|
|
23
|
+
- `title` -- one-line summary
|
|
24
|
+
- `detail` -- full description
|
|
25
|
+
- `location` -- file and line reference (if available)
|
|
26
|
+
|
|
27
|
+
2. **Deduplicate.** If two or more findings describe the same issue, merge them into one:
|
|
28
|
+
- Use the most specific finding as the base (prefer edge-case JSON with location over adversarial prose).
|
|
29
|
+
- Append any unique detail, reasoning, or location references from the other finding(s) into the surviving `detail` field.
|
|
30
|
+
- Set `source` to the merged sources (e.g., `blind+edge`).
|
|
31
|
+
|
|
32
|
+
3. **Classify** each finding into exactly one bucket:
|
|
33
|
+
- **decision_needed** -- There is an ambiguous choice that requires human input. The code cannot be correctly patched without knowing the user's intent. Only possible if `{review_mode}` = `"full"`.
|
|
34
|
+
- **patch** -- Code issue that is fixable without human input. The correct fix is unambiguous.
|
|
35
|
+
- **defer** -- Pre-existing issue not caused by the current change. Real but not actionable now.
|
|
36
|
+
- **dismiss** -- Noise, false positive, or handled elsewhere.
|
|
37
|
+
|
|
38
|
+
If `{review_mode}` = `"no-spec"` and a finding would otherwise be `decision_needed`, reclassify it as `patch` (if the fix is unambiguous) or `defer` (if not).
|
|
39
|
+
|
|
40
|
+
4. **Drop** all `dismiss` findings. Record the dismiss count for the summary.
|
|
41
|
+
|
|
42
|
+
5. If `{failed_layers}` is non-empty, report which layers failed before announcing results. If zero findings remain after dropping dismissed AND `{failed_layers}` is non-empty, warn the user that the review may be incomplete rather than announcing a clean review.
|
|
43
|
+
|
|
44
|
+
6. If zero findings remain after triage (all rejected or none raised): state "✅ Clean review — all layers passed." (Step 3 already warned if any review layers failed via `{failed_layers}`.)
|
|
45
|
+
|
|
46
|
+
|
|
47
|
+
## NEXT
|
|
48
|
+
|
|
49
|
+
Read fully and follow `./step-04-present.md`
|