mirror of
https://github.com/bmadcode/BMAD-METHOD.git
synced 2025-12-29 16:14:59 +00:00
294 lines
7.7 KiB
Markdown
294 lines
7.7 KiB
Markdown
|
|
---
|
||
|
|
name: 'step-08-validation'
|
||
|
|
description: 'Validate architectural coherence and completeness'
|
||
|
|
|
||
|
|
# Path Definitions
|
||
|
|
workflow_path: '{project-root}/_bmad/bmgd/workflows/3-technical/game-architecture'
|
||
|
|
|
||
|
|
# File References
|
||
|
|
thisStepFile: '{workflow_path}/steps/step-08-validation.md'
|
||
|
|
nextStepFile: '{workflow_path}/steps/step-09-complete.md'
|
||
|
|
workflowFile: '{workflow_path}/workflow.md'
|
||
|
|
outputFile: '{output_folder}/game-architecture.md'
|
||
|
|
checklistFile: '{workflow_path}/checklist.md'
|
||
|
|
|
||
|
|
# Task References
|
||
|
|
advancedElicitationTask: '{project-root}/_bmad/core/tasks/advanced-elicitation.xml'
|
||
|
|
partyModeWorkflow: '{project-root}/_bmad/core/workflows/party-mode/workflow.md'
|
||
|
|
---
|
||
|
|
|
||
|
|
# Step 8: Validation
|
||
|
|
|
||
|
|
**Progress: Step 8 of 9** - Next: Completion
|
||
|
|
|
||
|
|
## STEP GOAL:
|
||
|
|
|
||
|
|
Validate that the architecture is coherent, complete, and ready to guide AI agent implementation. Check for conflicts, gaps, and missing coverage.
|
||
|
|
|
||
|
|
## MANDATORY EXECUTION RULES (READ FIRST):
|
||
|
|
|
||
|
|
### Universal Rules:
|
||
|
|
|
||
|
|
- NEVER generate content without user input
|
||
|
|
- CRITICAL: Read the complete step file before taking any action
|
||
|
|
- CRITICAL: When loading next step with 'C', ensure entire file is read
|
||
|
|
- YOU ARE A FACILITATOR, not a content generator
|
||
|
|
- NEVER mention time estimates
|
||
|
|
|
||
|
|
### Role Reinforcement:
|
||
|
|
|
||
|
|
- You are a veteran game architect facilitator
|
||
|
|
- Validation ensures document completeness
|
||
|
|
- Catch gaps before implementation begins
|
||
|
|
|
||
|
|
### Step-Specific Rules:
|
||
|
|
|
||
|
|
- Run through all validation checks
|
||
|
|
- Fix any issues before proceeding
|
||
|
|
- User must confirm document is ready
|
||
|
|
|
||
|
|
## EXECUTION PROTOCOLS:
|
||
|
|
|
||
|
|
- Show your analysis before taking any action
|
||
|
|
- Present A/P/C menu after validation complete
|
||
|
|
- ONLY proceed when user chooses C (Continue)
|
||
|
|
- Update frontmatter `stepsCompleted: [1, 2, 3, 4, 5, 6, 7, 8]` before loading next step
|
||
|
|
|
||
|
|
## COLLABORATION MENUS (A/P/C):
|
||
|
|
|
||
|
|
- **A (Advanced Elicitation)**: Deep dive into gaps
|
||
|
|
- **P (Party Mode)**: Get perspectives on completeness
|
||
|
|
- **C (Continue)**: Confirm validation and proceed
|
||
|
|
|
||
|
|
## Sequence of Instructions (Do not deviate, skip, or optimize)
|
||
|
|
|
||
|
|
### 1. Load Validation Checklist
|
||
|
|
|
||
|
|
**Load the checklist if available:**
|
||
|
|
|
||
|
|
Load `{checklistFile}` for structured validation criteria.
|
||
|
|
|
||
|
|
### 2. Decision Compatibility Check
|
||
|
|
|
||
|
|
"**Checking Decision Compatibility...**
|
||
|
|
|
||
|
|
Verifying all architectural decisions work together:
|
||
|
|
|
||
|
|
| Check | Status | Notes |
|
||
|
|
| ------------------------------ | ------------- | --------- |
|
||
|
|
| Engine + patterns compatible | {{pass/fail}} | {{notes}} |
|
||
|
|
| Cross-cutting + engine align | {{pass/fail}} | {{notes}} |
|
||
|
|
| Structure supports all systems | {{pass/fail}} | {{notes}} |
|
||
|
|
| No conflicting decisions | {{pass/fail}} | {{notes}} |
|
||
|
|
|
||
|
|
{{if_issues_found}}
|
||
|
|
**Issues Found:**
|
||
|
|
{{list_of_conflicts}}
|
||
|
|
|
||
|
|
How should we resolve these?
|
||
|
|
{{/if_issues_found}}"
|
||
|
|
|
||
|
|
### 3. GDD Coverage Check
|
||
|
|
|
||
|
|
"**Checking GDD Coverage...**
|
||
|
|
|
||
|
|
Verifying every GDD requirement has architectural support:
|
||
|
|
|
||
|
|
**Core Systems:**
|
||
|
|
| System | Architecture Support | Status |
|
||
|
|
|--------|---------------------|--------|
|
||
|
|
{{systems_coverage_table}}
|
||
|
|
|
||
|
|
**Technical Requirements:**
|
||
|
|
| Requirement | How Addressed | Status |
|
||
|
|
|-------------|---------------|--------|
|
||
|
|
{{requirements_coverage_table}}
|
||
|
|
|
||
|
|
{{if_gaps_found}}
|
||
|
|
**Gaps Found:**
|
||
|
|
{{list_of_gaps}}
|
||
|
|
|
||
|
|
How should we address these?
|
||
|
|
{{/if_gaps_found}}"
|
||
|
|
|
||
|
|
### 4. Pattern Completeness Check
|
||
|
|
|
||
|
|
"**Checking Pattern Completeness...**
|
||
|
|
|
||
|
|
Verifying implementation patterns cover all scenarios:
|
||
|
|
|
||
|
|
| Scenario | Pattern Defined | Status |
|
||
|
|
| ----------------------- | --------------- | ---------- |
|
||
|
|
| Entity creation | {{yes/no}} | {{status}} |
|
||
|
|
| Component communication | {{yes/no}} | {{status}} |
|
||
|
|
| State management | {{yes/no}} | {{status}} |
|
||
|
|
| Error handling | {{yes/no}} | {{status}} |
|
||
|
|
| Data access | {{yes/no}} | {{status}} |
|
||
|
|
| Event handling | {{yes/no}} | {{status}} |
|
||
|
|
|
||
|
|
{{if_missing_patterns}}
|
||
|
|
**Missing Patterns:**
|
||
|
|
{{list_of_missing}}
|
||
|
|
|
||
|
|
Should we define these now?
|
||
|
|
{{/if_missing_patterns}}"
|
||
|
|
|
||
|
|
### 5. Epic Mapping Check
|
||
|
|
|
||
|
|
"**Checking Epic Mapping...**
|
||
|
|
|
||
|
|
Verifying every epic/feature maps to architecture:
|
||
|
|
|
||
|
|
| Epic/Feature | Location | Patterns | Status |
|
||
|
|
| ------------ | -------- | -------- | ------ |
|
||
|
|
|
||
|
|
{{epic_mapping_table}}
|
||
|
|
|
||
|
|
{{if_unmapped_epics}}
|
||
|
|
**Unmapped Features:**
|
||
|
|
{{list_of_unmapped}}
|
||
|
|
|
||
|
|
Where should these live?
|
||
|
|
{{/if_unmapped_epics}}"
|
||
|
|
|
||
|
|
### 6. Document Completeness Check
|
||
|
|
|
||
|
|
"**Checking Document Completeness...**
|
||
|
|
|
||
|
|
Mandatory sections:
|
||
|
|
|
||
|
|
- [ ] Engine/Framework selection with version
|
||
|
|
- [ ] Decision summary table
|
||
|
|
- [ ] Project structure (complete, not placeholder)
|
||
|
|
- [ ] Cross-cutting concerns
|
||
|
|
- [ ] Implementation patterns with examples
|
||
|
|
- [ ] Naming conventions
|
||
|
|
- [ ] No placeholder text ({{placeholders}}, TODO, etc.)
|
||
|
|
|
||
|
|
{{if_incomplete}}
|
||
|
|
**Incomplete Sections:**
|
||
|
|
{{list_of_incomplete}}
|
||
|
|
|
||
|
|
Let's fix these before proceeding.
|
||
|
|
{{/if_incomplete}}"
|
||
|
|
|
||
|
|
### 7. Resolve Any Issues
|
||
|
|
|
||
|
|
**If issues were found in any check:**
|
||
|
|
|
||
|
|
For each issue:
|
||
|
|
|
||
|
|
1. Present the problem clearly
|
||
|
|
2. Propose a solution
|
||
|
|
3. Get user confirmation
|
||
|
|
4. Update the document
|
||
|
|
|
||
|
|
**Repeat validation if significant changes made.**
|
||
|
|
|
||
|
|
### 8. Generate Validation Summary
|
||
|
|
|
||
|
|
Based on the checks, prepare the summary:
|
||
|
|
|
||
|
|
```markdown
|
||
|
|
## Architecture Validation
|
||
|
|
|
||
|
|
### Validation Summary
|
||
|
|
|
||
|
|
| Check | Result | Notes |
|
||
|
|
| ---------------------- | ------------- | --------- |
|
||
|
|
| Decision Compatibility | {{pass/fail}} | {{notes}} |
|
||
|
|
| GDD Coverage | {{pass/fail}} | {{notes}} |
|
||
|
|
| Pattern Completeness | {{pass/fail}} | {{notes}} |
|
||
|
|
| Epic Mapping | {{pass/fail}} | {{notes}} |
|
||
|
|
| Document Completeness | {{pass/fail}} | {{notes}} |
|
||
|
|
|
||
|
|
### Coverage Report
|
||
|
|
|
||
|
|
**Systems Covered:** {{count}}/{{total}}
|
||
|
|
**Patterns Defined:** {{count}}
|
||
|
|
**Decisions Made:** {{count}}
|
||
|
|
|
||
|
|
### Issues Resolved
|
||
|
|
|
||
|
|
{{list_of_resolved_issues}}
|
||
|
|
|
||
|
|
### Validation Date
|
||
|
|
|
||
|
|
{{date}}
|
||
|
|
```
|
||
|
|
|
||
|
|
### 9. Present Validation and Menu
|
||
|
|
|
||
|
|
Show the validation results to the user and present:
|
||
|
|
|
||
|
|
"**Architecture Validation Complete**
|
||
|
|
|
||
|
|
**Results:**
|
||
|
|
|
||
|
|
[Show validation summary]
|
||
|
|
|
||
|
|
**Overall Status:** {{PASS/NEEDS_WORK}}
|
||
|
|
|
||
|
|
{{if_pass}}
|
||
|
|
Your architecture document is complete and ready to guide implementation.
|
||
|
|
{{/if_pass}}
|
||
|
|
|
||
|
|
{{if_needs_work}}
|
||
|
|
Some issues need resolution before the architecture is ready.
|
||
|
|
{{/if_needs_work}}
|
||
|
|
|
||
|
|
**Select an Option:**
|
||
|
|
[A] Advanced Elicitation - Deep dive into any gaps
|
||
|
|
[P] Party Mode - Get perspectives on completeness
|
||
|
|
[C] Continue - Save validation and move to Completion (Step 9 of 9)"
|
||
|
|
|
||
|
|
### 10. Handle Menu Selection
|
||
|
|
|
||
|
|
#### IF A (Advanced Elicitation):
|
||
|
|
|
||
|
|
- Execute {advancedElicitationTask} with validation results
|
||
|
|
- Ask user: "Accept these changes? (y/n)"
|
||
|
|
- If yes: Update content, re-run validation
|
||
|
|
- If no: Keep original, return to A/P/C menu
|
||
|
|
|
||
|
|
#### IF P (Party Mode):
|
||
|
|
|
||
|
|
- Execute {partyModeWorkflow} with validation results
|
||
|
|
- Ask user: "Accept these changes? (y/n)"
|
||
|
|
- If yes: Update content, re-run validation
|
||
|
|
- If no: Keep original, return to A/P/C menu
|
||
|
|
|
||
|
|
#### IF C (Continue):
|
||
|
|
|
||
|
|
- Append validation summary to `{outputFile}`
|
||
|
|
- Update frontmatter: `stepsCompleted: [1, 2, 3, 4, 5, 6, 7, 8]`
|
||
|
|
- Load `{nextStepFile}`
|
||
|
|
|
||
|
|
## CRITICAL STEP COMPLETION NOTE
|
||
|
|
|
||
|
|
ONLY WHEN [C continue option] is selected and [validation content saved with frontmatter updated], will you then load and read fully `{nextStepFile}`.
|
||
|
|
|
||
|
|
---
|
||
|
|
|
||
|
|
## SYSTEM SUCCESS/FAILURE METRICS
|
||
|
|
|
||
|
|
### SUCCESS:
|
||
|
|
|
||
|
|
- All validation checks performed
|
||
|
|
- Issues identified and resolved
|
||
|
|
- GDD coverage verified
|
||
|
|
- Pattern completeness confirmed
|
||
|
|
- Document has no placeholders
|
||
|
|
- A/P/C menu presented and handled correctly
|
||
|
|
- Frontmatter updated with stepsCompleted: [1, 2, 3, 4, 5, 6, 7, 8]
|
||
|
|
|
||
|
|
### SYSTEM FAILURE:
|
||
|
|
|
||
|
|
- Skipping validation checks
|
||
|
|
- Proceeding with unresolved issues
|
||
|
|
- Incomplete document going to completion
|
||
|
|
- Not presenting A/P/C menu after validation
|
||
|
|
- Proceeding without user selecting 'C'
|
||
|
|
|
||
|
|
**Master Rule:** Skipping steps, optimizing sequences, or not following exact instructions is FORBIDDEN and constitutes SYSTEM FAILURE.
|