- Fix ChatBubble to handle non-string content with String() wrapper - Fix API route to use generateText for non-streaming requests - Add @ai-sdk/openai-compatible for non-OpenAI providers (DeepSeek, etc.) - Use Chat Completions API instead of Responses API for compatible providers - Update ChatBubble tests and fix component exports to kebab-case - Remove stale PascalCase ChatBubble.tsx file
4.3 KiB
name, description, nextStepFile, validationReport, simpleValidation, expertValidation, agentCompilation, agentFile
| name | description | nextStepFile | validationReport | simpleValidation | expertValidation | agentCompilation | agentFile |
|---|---|---|---|---|---|---|---|
| v-02d-validate-structure | Validate YAML structure and append to report | ./v-02e-validate-sidecar.md | {bmb_creations_output_folder}/validation-report-{agent-name}.md | ../data/simple-agent-validation.md | ../data/expert-agent-validation.md | ../data/agent-compilation.md | {agent-file-path} |
Validate Step 2d: Validate Structure
STEP GOAL
Validate the agent's YAML structure and completeness against BMAD standards as defined in agentCompilation.md. Append findings to validation report and auto-advance.
MANDATORY EXECUTION RULES
- 📖 CRITICAL: Read the complete step file before taking any action
- 🔄 CRITICAL: Read validationReport and agentCompilation first
- 🔄 CRITICAL: Load the actual agent file to validate structure
- 🚫 NO MENU - append findings and auto-advance
- ✅ YOU MUST ALWAYS SPEAK OUTPUT In your Agent communication style with the config
{communication_language}
Step-Specific Rules:
- 🎯 Validate structure against agentCompilation.md rules
- 📊 Append findings to validation report
- 🚫 FORBIDDEN to present menu
EXECUTION PROTOCOLS
- 🎯 Load agentCompilation.md reference
- 🎯 Load the actual agent file for validation
- 📊 Validate YAML structure
- 💾 Append findings to validation report
- ➡️ Auto-advance to next validation step
MANDATORY SEQUENCE
CRITICAL: Follow this sequence exactly. Do not skip, reorder, or improvise unless user explicitly requests a change.
1. Load References
Read {agentCompilation}, {simpleValidation}, {expertValidation}, {validationReport}, and {agentFile}.
2. Validate Structure
Perform these checks systematically - validate EVERY rule specified in agentCompilation.md:
A. YAML Syntax Validation
- Parse YAML without errors
- Check indentation consistency (2-space standard)
- Validate proper escaping of special characters
- Verify no duplicate keys in any section
B. Frontmatter Validation
- All required fields present (name, description, version, etc.)
- Field values are correct type (string, boolean, array)
- No empty required fields
- Proper array formatting with dashes
- Boolean fields are actual booleans (not strings)
C. Section Completeness
- All required sections present based on agent type
- Sections not empty unless explicitly optional
- Proper markdown heading hierarchy (##, ###)
- No orphaned content without section headers
D. Field-Level Validation
- Path references exist and are valid
- Array fields properly formatted
- No malformed YAML structures
- File references use correct path format
E. Agent Type Specific Checks
For Simple Agents (hasSidecar is false/absent, module is 'stand-alone'):
- No sidecar requirements
- No sidecar-folder path in metadata
- Basic fields complete
- No expert-only configuration present
- Menu handlers use only internal references (#) or inline prompts
For Expert Agents (hasSidecar is true):
- Sidecar flag set correctly in metadata
- Sidecar folder path specified in metadata
- All expert fields present
- Advanced features properly configured
- Menu handlers reference sidecar files or have inline prompts
For Module Agents (module is a module code like 'bmm', 'bmb', etc.):
- Module property is valid module code
- Exec paths for menu handlers start with
{project-root}/_bmad/{module}/... - Referenced files exist under the module directory
- If also hasSidecar: true, sidecar configuration is valid
3. Append Findings to Report
Append to {validationReport}:
### Structure Validation
**Status:** {✅ PASS / ⚠️ WARNING / ❌ FAIL}
**Agent Type:** {simple|expert|module}
**Checks:**
- [ ] Valid YAML syntax
- [ ] Required fields present (name, description, type, persona)
- [ ] Field types correct (arrays, strings)
- [ ] Consistent 2-space indentation
- [ ] Agent type appropriate structure
**Detailed Findings:**
*PASSING:*
{List of passing checks}
*WARNINGS:*
{List of non-blocking issues}
*FAILURES:*
{List of blocking issues that must be fixed}
4. Auto-Advance
Load and execute {nextStepFile} immediately.
Validating sidecar structure...