Initial commit: BMAD framework + Story 1.1 Component Trait Definition
Features: - BMAD (Build Modular AI-driven Development) framework setup - BMM, BMB, CIS, Core modules configured - Story 1.1: Component trait with error handling - Workspace Cargo.toml with components crate - 31 tests passing (19 unit + 12 doc tests) Technical: - Component trait with compute_residuals, jacobian_entries, n_equations - ComponentError enum with thiserror - JacobianBuilder for sparse matrix construction - Object-safe trait supporting Box<dyn Component> - Comprehensive documentation and examples
This commit is contained in:
137
_bmad/bmb/workflows/agent/steps-v/v-01-load-review.md
Normal file
137
_bmad/bmb/workflows/agent/steps-v/v-01-load-review.md
Normal file
@@ -0,0 +1,137 @@
|
||||
---
|
||||
name: 'v-01-load-review'
|
||||
description: 'Load agent and initialize validation report'
|
||||
|
||||
nextStepFile: './v-02a-validate-metadata.md'
|
||||
validationReport: '{bmb_creations_output_folder}/validation-report-{agent-name}.md'
|
||||
agentMetadata: ../data/agent-metadata.md
|
||||
|
||||
advancedElicitationTask: '{project-root}/_bmad/core/workflows/advanced-elicitation/workflow.xml'
|
||||
partyModeWorkflow: '{project-root}/_bmad/core/workflows/party-mode/workflow.md'
|
||||
---
|
||||
|
||||
# Validate Step 1: Load Agent for Review
|
||||
|
||||
## STEP GOAL:
|
||||
|
||||
Load the existing agent file and initialize a validation report to track all findings.
|
||||
|
||||
## MANDATORY EXECUTION RULES:
|
||||
|
||||
- 📖 CRITICAL: Read the complete step file before taking any action
|
||||
- ✅ YOU MUST ALWAYS SPEAK OUTPUT In your Agent communication style with the config `{communication_language}`
|
||||
|
||||
### Step-Specific Rules:
|
||||
|
||||
- 🎯 Load the complete agent file
|
||||
- 📊 Create validation report tracking document
|
||||
- 🚫 FORBIDDEN to proceed without user confirming correct agent
|
||||
|
||||
## EXECUTION PROTOCOLS:
|
||||
|
||||
- 🎯 Load the complete agent YAML file
|
||||
- 📊 Parse and display agent summary
|
||||
- 💾 Create validation report document
|
||||
- 🚫 FORBIDDEN to proceed without user confirmation
|
||||
|
||||
## MANDATORY SEQUENCE
|
||||
|
||||
**CRITICAL:** Follow this sequence exactly. Do not skip, reorder, or improvise unless user explicitly requests a change.
|
||||
|
||||
### 1. Load Agent File
|
||||
|
||||
Read the complete YAML from the agent file path provided by the user.
|
||||
|
||||
Check the metadata to determine agent configuration:
|
||||
- **module**: `stand-alone` or module code (bmm, cis, bmgd, etc.)
|
||||
- **hasSidecar**: `true` or `false`
|
||||
|
||||
### 2. Display Agent Summary
|
||||
|
||||
```markdown
|
||||
## Agent to Validate: {agent-name}
|
||||
|
||||
**Configuration:** Agent {WITH|WITHOUT} sidecar
|
||||
**hasSidecar:** {true|false}
|
||||
**module:** {module-value}
|
||||
**File:** {agent-file-path}
|
||||
|
||||
### Current Structure:
|
||||
|
||||
**Persona:** {character count} characters
|
||||
**Commands:** {count} commands
|
||||
**Critical Actions:** {count} actions (if hasSidecar: true)
|
||||
**Sidecar:** {present|not present}
|
||||
```
|
||||
|
||||
### 3. Create Validation Report
|
||||
|
||||
Initialize the validation report:
|
||||
|
||||
```markdown
|
||||
---
|
||||
agentName: '{agent-name}'
|
||||
hasSidecar: {true|false}
|
||||
module: '{module-value}'
|
||||
agentFile: '{agent-file-path}'
|
||||
validationDate: '{YYYY-MM-DD}'
|
||||
stepsCompleted:
|
||||
- v-01-load-review.md
|
||||
---
|
||||
|
||||
# Validation Report: {agent-name}
|
||||
|
||||
## Agent Overview
|
||||
|
||||
**Name:** {agent-name}
|
||||
**hasSidecar:** {true|false}
|
||||
**module:** {module-value}
|
||||
**File:** {agent-file-path}
|
||||
|
||||
---
|
||||
|
||||
## Validation Findings
|
||||
|
||||
*This section will be populated by validation steps*
|
||||
```
|
||||
|
||||
Write to `{validationReport}`.
|
||||
|
||||
### 4. Present MENU OPTIONS
|
||||
|
||||
Display: "**Is this the correct agent to validate and is it identified as the proper configuration?** [A] Advanced Elicitation [P] Party Mode [C] Yes, Begin Validation"
|
||||
|
||||
#### Menu Handling Logic:
|
||||
|
||||
- IF A: Execute {advancedElicitationTask}, and when finished redisplay the menu
|
||||
- IF P: Execute {partyModeWorkflow}, and when finished redisplay the menu
|
||||
- IF C: Save to {validationReport}, then only then load, read entire file, then execute {nextStepFile}
|
||||
- IF Any other comments or queries: help user respond then [Redisplay Menu Options](#4-present-menu-options)
|
||||
|
||||
#### EXECUTION RULES:
|
||||
|
||||
- ALWAYS halt and wait for user input after presenting menu
|
||||
- ONLY proceed to next step when user selects 'C'
|
||||
- After other menu items execution, return to this menu
|
||||
|
||||
## CRITICAL STEP COMPLETION NOTE
|
||||
|
||||
ONLY WHEN [C continue option] is selected and [agent loaded and report created], will you then load and read fully `{nextStepFile}` to execute and begin validation.
|
||||
|
||||
---
|
||||
|
||||
## 🚨 SYSTEM SUCCESS/FAILURE METRICS
|
||||
|
||||
### ✅ SUCCESS:
|
||||
|
||||
- Agent file loaded successfully
|
||||
- Validation report created
|
||||
- User confirmed correct agent
|
||||
|
||||
### ❌ SYSTEM FAILURE:
|
||||
|
||||
- Failed to load agent file
|
||||
- Report not created
|
||||
- Proceeded without user confirmation
|
||||
|
||||
**Master Rule:** Skipping steps, optimizing sequences, or not following exact instructions is FORBIDDEN and constitutes SYSTEM FAILURE.
|
||||
116
_bmad/bmb/workflows/agent/steps-v/v-02a-validate-metadata.md
Normal file
116
_bmad/bmb/workflows/agent/steps-v/v-02a-validate-metadata.md
Normal file
@@ -0,0 +1,116 @@
|
||||
---
|
||||
name: 'v-02a-validate-metadata'
|
||||
description: 'Validate metadata and append to report'
|
||||
|
||||
nextStepFile: './v-02b-validate-persona.md'
|
||||
validationReport: '{bmb_creations_output_folder}/validation-report-{agent-name}.md'
|
||||
agentMetadata: ../data/agent-metadata.md
|
||||
agentFile: '{agent-file-path}'
|
||||
---
|
||||
|
||||
# Validate Step 2a: Validate Metadata
|
||||
|
||||
## STEP GOAL
|
||||
|
||||
Validate the agent's metadata properties against BMAD standards as defined in agentMetadata.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 agentMetadata first
|
||||
- 🔄 CRITICAL: Load the actual agent file to validate metadata
|
||||
- 🚫 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 metadata against agentMetadata.md rules
|
||||
- 📊 Append findings to validation report
|
||||
- 🚫 FORBIDDEN to present menu
|
||||
|
||||
## EXECUTION PROTOCOLS
|
||||
|
||||
- 🎯 Load agentMetadata.md reference
|
||||
- 🎯 Load the actual agent file for validation
|
||||
- 📊 Validate all metadata fields
|
||||
- 💾 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 `{agentMetadata}`, `{validationReport}`, and `{agentFile}`.
|
||||
|
||||
### 2. Validate Metadata
|
||||
|
||||
Perform these checks systematically - validate EVERY rule specified in agentMetadata.md:
|
||||
|
||||
1. **Required Fields Existence**
|
||||
- [ ] id: Present and non-empty
|
||||
- [ ] name: Present and non-empty (display name)
|
||||
- [ ] title: Present and non-empty
|
||||
- [ ] icon: Present (emoji or symbol)
|
||||
- [ ] module: Present and valid format
|
||||
- [ ] hasSidecar: Present (boolean, if applicable)
|
||||
|
||||
2. **Format Validation**
|
||||
- [ ] id: Uses kebab-case, no spaces, unique identifier
|
||||
- [ ] name: Clear display name for UI
|
||||
- [ ] title: Concise functional description
|
||||
- [ ] icon: Appropriate emoji or unicode symbol
|
||||
- [ ] module: Either a 3-4 letter module code OR 'stand-alone'
|
||||
- [ ] hasSidecar: Boolean value, matches actual agent structure
|
||||
|
||||
3. **Content Quality**
|
||||
- [ ] id: Unique and descriptive
|
||||
- [ ] name: Clear and user-friendly
|
||||
- [ ] title: Accurately describes agent's function
|
||||
- [ ] icon: Visually representative of agent's purpose
|
||||
- [ ] module: Correctly identifies module membership
|
||||
- [ ] hasSidecar: Correctly indicates if agent uses sidecar files
|
||||
|
||||
4. **Agent Type Consistency**
|
||||
- [ ] If hasSidecar: true, sidecar folder path must be specified
|
||||
- [ ] If module is a module code, agent is a module agent
|
||||
- [ ] If module is 'stand-alone', agent is not part of a module
|
||||
- [ ] No conflicting type indicators
|
||||
|
||||
### 3. Append Findings to Report
|
||||
|
||||
Append to `{validationReport}`:
|
||||
|
||||
```markdown
|
||||
### Metadata Validation
|
||||
|
||||
**Status:** {✅ PASS / ⚠️ WARNING / ❌ FAIL}
|
||||
|
||||
**Checks:**
|
||||
- [ ] id: kebab-case, no spaces, unique
|
||||
- [ ] name: clear display name
|
||||
- [ ] title: concise function description
|
||||
- [ ] icon: appropriate emoji/symbol
|
||||
- [ ] module: correct format (code or stand-alone)
|
||||
- [ ] hasSidecar: matches actual usage
|
||||
|
||||
**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 persona...**
|
||||
124
_bmad/bmb/workflows/agent/steps-v/v-02b-validate-persona.md
Normal file
124
_bmad/bmb/workflows/agent/steps-v/v-02b-validate-persona.md
Normal file
@@ -0,0 +1,124 @@
|
||||
---
|
||||
name: 'v-02b-validate-persona'
|
||||
description: 'Validate persona and append to report'
|
||||
|
||||
nextStepFile: './v-02c-validate-menu.md'
|
||||
validationReport: '{bmb_creations_output_folder}/validation-report-{agent-name}.md'
|
||||
personaProperties: ../data/persona-properties.md
|
||||
principlesCrafting: ../data/principles-crafting.md
|
||||
agentFile: '{agent-file-path}'
|
||||
---
|
||||
|
||||
# Validate Step 2b: Validate Persona
|
||||
|
||||
## STEP GOAL
|
||||
|
||||
Validate the agent's persona against BMAD standards as defined in personaProperties.md and principlesCrafting.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 persona references first
|
||||
- 🔄 CRITICAL: Load the actual agent file to validate persona
|
||||
- 🚫 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 persona against personaProperties.md rules
|
||||
- 📊 Append findings to validation report
|
||||
- 🚫 FORBIDDEN to present menu
|
||||
|
||||
## EXECUTION PROTOCOLS
|
||||
|
||||
- 🎯 Load personaProperties.md and principlesCrafting.md
|
||||
- 🎯 Load the actual agent file for validation
|
||||
- 📊 Validate persona fields
|
||||
- 💾 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 `{personaProperties}`, `{principlesCrafting}`, `{validationReport}`, and `{agentFile}`.
|
||||
|
||||
### 2. Validate Persona
|
||||
|
||||
Perform these checks systematically - validate EVERY rule specified in personaProperties.md:
|
||||
|
||||
1. **Required Fields Existence**
|
||||
- [ ] role: Present, clear, and specific
|
||||
- [ ] identity: Present and defines who the agent is
|
||||
- [ ] communication_style: Present and appropriate to role
|
||||
- [ ] principles: Present as array, not empty (if applicable)
|
||||
|
||||
2. **Content Quality - Role**
|
||||
- [ ] Role is specific (not generic like "assistant")
|
||||
- [ ] Role aligns with agent's purpose and menu items
|
||||
- [ ] Role is achievable within LLM capabilities
|
||||
- [ ] Role scope is appropriate (not too broad/narrow)
|
||||
|
||||
3. **Content Quality - Identity**
|
||||
- [ ] Identity clearly defines the agent's character
|
||||
- [ ] Identity is consistent with the role
|
||||
- [ ] Identity provides context for behavior
|
||||
- [ ] Identity is not generic or cliché
|
||||
|
||||
4. **Content Quality - Communication Style**
|
||||
- [ ] Communication style is clearly defined
|
||||
- [ ] Style matches the role and target users
|
||||
- [ ] Style is consistent throughout the definition
|
||||
- [ ] Style examples or guidance provided if nuanced
|
||||
- [ ] Style focuses on speech patterns only (not behavior)
|
||||
|
||||
5. **Content Quality - Principles**
|
||||
- [ ] Principles are actionable (not vague platitudes)
|
||||
- [ ] Principles guide behavior and decisions
|
||||
- [ ] Principles are consistent with role
|
||||
- [ ] 3-7 principles recommended (not overwhelming)
|
||||
- [ ] Each principle is clear and specific
|
||||
- [ ] First principle activates domain knowledge
|
||||
|
||||
6. **Consistency Checks**
|
||||
- [ ] Role, identity, communication_style, principles all align
|
||||
- [ ] No contradictions between principles
|
||||
- [ ] Persona supports the menu items defined
|
||||
- [ ] Language and terminology consistent
|
||||
|
||||
### 3. Append Findings to Report
|
||||
|
||||
Append to `{validationReport}`:
|
||||
|
||||
```markdown
|
||||
### Persona Validation
|
||||
|
||||
**Status:** {✅ PASS / ⚠️ WARNING / ❌ FAIL}
|
||||
|
||||
**Checks:**
|
||||
- [ ] role: specific, not generic
|
||||
- [ ] identity: defines who agent is
|
||||
- [ ] communication_style: speech patterns only
|
||||
- [ ] principles: first principle activates domain knowledge
|
||||
|
||||
**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 menu structure...**
|
||||
127
_bmad/bmb/workflows/agent/steps-v/v-02c-validate-menu.md
Normal file
127
_bmad/bmb/workflows/agent/steps-v/v-02c-validate-menu.md
Normal file
@@ -0,0 +1,127 @@
|
||||
---
|
||||
name: 'v-02c-validate-menu'
|
||||
description: 'Validate menu structure and append to report'
|
||||
|
||||
nextStepFile: './v-02d-validate-structure.md'
|
||||
validationReport: '{bmb_creations_output_folder}/validation-report-{agent-name}.md'
|
||||
agentMenuPatterns: ../data/agent-menu-patterns.md
|
||||
agentFile: '{agent-file-path}'
|
||||
---
|
||||
|
||||
# Validate Step 2c: Validate Menu
|
||||
|
||||
## STEP GOAL
|
||||
|
||||
Validate the agent's command menu structure against BMAD standards as defined in agentMenuPatterns.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 agentMenuPatterns first
|
||||
- 🔄 CRITICAL: Load the actual agent file to validate menu
|
||||
- 🚫 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 menu against agentMenuPatterns.md rules
|
||||
- 📊 Append findings to validation report
|
||||
- 🚫 FORBIDDEN to present menu
|
||||
|
||||
## EXECUTION PROTOCOLS
|
||||
|
||||
- 🎯 Load agentMenuPatterns.md reference
|
||||
- 🎯 Load the actual agent file for validation
|
||||
- 📊 Validate commands and menu
|
||||
- 💾 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 `{agentMenuPatterns}`, `{validationReport}`, and `{agentFile}`.
|
||||
|
||||
### 2. Validate Menu
|
||||
|
||||
Perform these checks systematically - validate EVERY rule specified in agentMenuPatterns.md:
|
||||
|
||||
1. **Menu Structure**
|
||||
- [ ] Menu section exists and is properly formatted
|
||||
- [ ] At least one menu item defined (unless intentionally tool-less)
|
||||
- [ ] Menu items follow proper YAML structure
|
||||
- [ ] Each item has required fields (trigger, description, action)
|
||||
|
||||
2. **Menu Item Requirements**
|
||||
For each menu item:
|
||||
- [ ] trigger: Present, follows `XX or fuzzy match on command` format
|
||||
- [ ] description: Clear and concise, starts with `[XX]` code
|
||||
- [ ] action: Prompt reference (#id) or inline instruction
|
||||
|
||||
3. **Trigger Format Validation**
|
||||
- [ ] Format: `XX or fuzzy match on command-name` (XX = 2-letter code)
|
||||
- [ ] Codes are unique within agent
|
||||
- [ ] No reserved codes used: MH, CH, PM, DA
|
||||
|
||||
4. **Description Format Validation**
|
||||
- [ ] Descriptions start with `[XX]` code
|
||||
- [ ] Code in description matches trigger code
|
||||
- [ ] Descriptions are clear and descriptive
|
||||
|
||||
5. **Action Handler Validation**
|
||||
- [ ] If `action: '#prompt-id'`, corresponding prompt exists
|
||||
- [ ] If `action: 'inline text'`, instruction is complete and clear
|
||||
|
||||
6. **Alignment Checks**
|
||||
- [ ] Menu items align with agent's role/purpose
|
||||
- [ ] Menu items are appropriate for target users
|
||||
- [ ] Menu scope is appropriate (not too sparse/overloaded)
|
||||
|
||||
7. **Configuration Specific Menu Handler Validation**
|
||||
- [ ] Determine hasSidecar from metadata
|
||||
- [ ] For hasSidecar: true:
|
||||
- [ ] Menu handlers MAY reference sidecar files using correct path format
|
||||
- [ ] Sidecar references use: `{project-root}/_bmad/_memory/{sidecar-folder}/...`
|
||||
- [ ] For hasSidecar: false:
|
||||
- [ ] Menu handlers MUST NOT have sidecar file links
|
||||
- [ ] Menu handlers use only internal references (#) or inline prompts
|
||||
|
||||
### 3. Append Findings to Report
|
||||
|
||||
Append to `{validationReport}`:
|
||||
|
||||
```markdown
|
||||
### Menu Validation
|
||||
|
||||
**Status:** {✅ PASS / ⚠️ WARNING / ❌ FAIL}
|
||||
|
||||
**hasSidecar:** {true|false}
|
||||
|
||||
**Checks:**
|
||||
- [ ] Triggers follow `XX or fuzzy match on command` format
|
||||
- [ ] Descriptions start with `[XX]` code
|
||||
- [ ] No reserved codes (MH, CH, PM, DA)
|
||||
- [ ] Action handlers valid (#prompt-id or inline)
|
||||
- [ ] Configuration appropriate menu links
|
||||
|
||||
**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 YAML structure...**
|
||||
134
_bmad/bmb/workflows/agent/steps-v/v-02d-validate-structure.md
Normal file
134
_bmad/bmb/workflows/agent/steps-v/v-02d-validate-structure.md
Normal file
@@ -0,0 +1,134 @@
|
||||
---
|
||||
name: 'v-02d-validate-structure'
|
||||
description: 'Validate YAML structure and append to report'
|
||||
|
||||
nextStepFile: './v-02e-validate-sidecar.md'
|
||||
validationReport: '{bmb_creations_output_folder}/validation-report-{agent-name}.md'
|
||||
agentValidation: ../data/agent-validation.md
|
||||
agentCompilation: ../data/agent-compilation.md
|
||||
agentFile: '{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}`, `{agentValidation}`, `{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 hasSidecar value
|
||||
- [ ] 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 Configuration Specific Checks
|
||||
|
||||
**For Agents WITHOUT Sidecar (hasSidecar is false):**
|
||||
- [ ] No sidecar requirements
|
||||
- [ ] No sidecar-folder path in metadata
|
||||
- [ ] If critical_actions present, no sidecar file references
|
||||
- [ ] Menu handlers use only internal references (#) or inline prompts
|
||||
- [ ] Total size under ~250 lines (unless justified)
|
||||
|
||||
**For Agents WITH Sidecar (hasSidecar is true):**
|
||||
- [ ] hasSidecar flag set correctly in metadata
|
||||
- [ ] Sidecar folder path specified in metadata
|
||||
- [ ] critical_actions section present with minimum requirements:
|
||||
- [ ] Loads sidecar memories
|
||||
- [ ] Loads sidecar instructions
|
||||
- [ ] Restricts file access to sidecar folder
|
||||
- [ ] All critical_actions reference correct `{project-root}/_bmad/_memory/` paths
|
||||
- [ ] Menu handlers that update sidecar use correct path format
|
||||
|
||||
### 3. Append Findings to Report
|
||||
|
||||
Append to `{validationReport}`:
|
||||
|
||||
```markdown
|
||||
### Structure Validation
|
||||
|
||||
**Status:** {✅ PASS / ⚠️ WARNING / ❌ FAIL}
|
||||
|
||||
**Configuration:** Agent {WITH|WITHOUT} sidecar
|
||||
|
||||
**hasSidecar:** {true|false}
|
||||
|
||||
**Checks:**
|
||||
- [ ] Valid YAML syntax
|
||||
- [ ] Required fields present (name, description, persona, menu)
|
||||
- [ ] Field types correct (arrays, strings, booleans)
|
||||
- [ ] Consistent 2-space indentation
|
||||
- [ ] Configuration 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...**
|
||||
134
_bmad/bmb/workflows/agent/steps-v/v-02e-validate-sidecar.md
Normal file
134
_bmad/bmb/workflows/agent/steps-v/v-02e-validate-sidecar.md
Normal file
@@ -0,0 +1,134 @@
|
||||
---
|
||||
name: 'v-02e-validate-sidecar'
|
||||
description: 'Validate sidecar structure and append to report'
|
||||
|
||||
nextStepFile: './v-03-summary.md'
|
||||
validationReport: '{bmb_creations_output_folder}/validation-report-{agent-name}.md'
|
||||
agentValidation: ../data/agent-validation.md
|
||||
criticalActions: ../data/critical-actions.md
|
||||
agentFile: '{agent-file-path}'
|
||||
sidecarFolder: '{agent-sidecar-folder}'
|
||||
---
|
||||
|
||||
# Validate Step 2e: Validate Sidecar
|
||||
|
||||
## STEP GOAL
|
||||
|
||||
Validate the agent's sidecar structure (if hasSidecar: true) against BMAD standards as defined in agentValidation.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 agentValidation first
|
||||
- 🔄 CRITICAL: Load the actual agent file to check for sidecar
|
||||
- 🚫 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 sidecar against agentValidation.md rules (for agents with sidecar)
|
||||
- 📊 Append findings to validation report
|
||||
- 🚫 FORBIDDEN to present menu
|
||||
|
||||
## EXECUTION PROTOCOLS
|
||||
|
||||
- 🎯 Load agentValidation.md reference
|
||||
- 🎯 Load the actual agent file for validation
|
||||
- 📊 Validate sidecar if hasSidecar: true, skip for hasSidecar: false
|
||||
- 💾 Append findings to validation report
|
||||
- ➡️ Auto-advance to summary step
|
||||
|
||||
## MANDATORY SEQUENCE
|
||||
|
||||
**CRITICAL:** Follow this sequence exactly. Do not skip, reorder, or improvise unless user explicitly requests a change.
|
||||
|
||||
### 1. Load References
|
||||
|
||||
Read `{agentValidation}`, `{criticalActions}`, `{validationReport}`, and `{agentFile}`.
|
||||
|
||||
### 2. Conditional Validation
|
||||
|
||||
**IF hasSidecar = true:**
|
||||
Perform these checks systematically - validate EVERY rule specified in agentValidation.md:
|
||||
|
||||
#### A. Sidecar Folder Validation
|
||||
- [ ] Sidecar folder exists at specified path
|
||||
- [ ] Sidecar folder is accessible and readable
|
||||
- [ ] Sidecar folder path in metadata matches actual location
|
||||
- [ ] Folder naming follows convention: `{agent-name}-sidecar`
|
||||
|
||||
#### B. Sidecar File Inventory
|
||||
- [ ] List all files in sidecar folder
|
||||
- [ ] Verify expected files are present (memories.md, instructions.md recommended)
|
||||
- [ ] Check for unexpected files
|
||||
- [ ] Validate file names follow conventions
|
||||
|
||||
#### C. Path Reference Validation
|
||||
For each sidecar path reference in agent YAML:
|
||||
- [ ] Extract path from YAML reference
|
||||
- [ ] Verify path format is correct: `{project-root}/_bmad/_memory/{sidecar-folder}/...`
|
||||
- [ ] `{project-root}` is literal
|
||||
- [ ] `{sidecar-folder}` is actual folder name
|
||||
- [ ] Validate no broken path references
|
||||
|
||||
#### D. Critical Actions Validation (MANDATORY for hasSidecar: true)
|
||||
- [ ] critical_actions section exists in agent YAML
|
||||
- [ ] Contains at minimum 3 actions
|
||||
- [ ] Loads sidecar memories: `{project-root}/_bmad/_memory/{sidecar-folder}/memories.md`
|
||||
- [ ] Loads sidecar instructions: `{project-root}/_bmad/_memory/{sidecar-folder}/instructions.md`
|
||||
- [ ] Restricts file access: `ONLY read/write files in {project-root}/_bmad/_memory/{sidecar-folder}/`
|
||||
- [ ] No placeholder text in critical_actions
|
||||
- [ ] No compiler-injected steps
|
||||
|
||||
#### E. Sidecar Structure Completeness
|
||||
- [ ] All referenced sidecar files present
|
||||
- [ ] No orphaned references (files referenced but not present)
|
||||
- [ ] No unreferenced files (files present but not referenced)
|
||||
- [ ] File structure matches agent requirements
|
||||
|
||||
**IF hasSidecar = false:**
|
||||
- [ ] Mark sidecar validation as N/A
|
||||
- [ ] Confirm no sidecar-folder path in metadata
|
||||
- [ ] Confirm no sidecar references in critical_actions (if present)
|
||||
- [ ] Confirm no sidecar references in menu handlers
|
||||
|
||||
### 3. Append Findings to Report
|
||||
|
||||
Append to `{validationReport}`:
|
||||
|
||||
```markdown
|
||||
### Sidecar Validation
|
||||
|
||||
**Status:** {✅ PASS / ⚠️ WARNING / ❌ FAIL / N/A}
|
||||
|
||||
**hasSidecar:** {true|false}
|
||||
|
||||
**Checks:**
|
||||
- [ ] metadata.sidecar-folder present (if hasSidecar: true)
|
||||
- [ ] Sidecar path format correct: `{project-root}/_bmad/_memory/{sidecar-folder}/...`
|
||||
- [ ] Sidecar files exist at specified path (if hasSidecar: true)
|
||||
- [ ] All referenced files present
|
||||
- [ ] No broken path references
|
||||
|
||||
**Detailed Findings:**
|
||||
|
||||
*PASSING (for agents WITH sidecar):*
|
||||
{List of passing checks}
|
||||
|
||||
*WARNINGS:*
|
||||
{List of non-blocking issues}
|
||||
|
||||
*FAILURES:*
|
||||
{List of blocking issues that must be fixed}
|
||||
|
||||
*N/A (for agents WITHOUT sidecar):*
|
||||
N/A - Agent has hasSidecar: false, no sidecar required
|
||||
```
|
||||
|
||||
### 4. Auto-Advance
|
||||
|
||||
Load and execute `{nextStepFile}` immediately.
|
||||
|
||||
---
|
||||
|
||||
**Compiling validation summary...**
|
||||
104
_bmad/bmb/workflows/agent/steps-v/v-03-summary.md
Normal file
104
_bmad/bmb/workflows/agent/steps-v/v-03-summary.md
Normal file
@@ -0,0 +1,104 @@
|
||||
---
|
||||
name: 'v-03-summary'
|
||||
description: 'Display complete validation report and offer next steps'
|
||||
|
||||
validationReport: '{bmb_creations_output_folder}/validation-report-{agent-name}.md'
|
||||
|
||||
advancedElicitationTask: '{project-root}/_bmad/core/workflows/advanced-elicitation/workflow.xml'
|
||||
partyModeWorkflow: '{project-root}/_bmad/core/workflows/party-mode/workflow.md'
|
||||
---
|
||||
|
||||
# Validate Step 3: Validation Summary
|
||||
|
||||
## STEP GOAL:
|
||||
|
||||
Display the complete validation report to the user and offer options for fixing issues or improving the agent.
|
||||
|
||||
## MANDATORY EXECUTION RULES:
|
||||
|
||||
- 📖 CRITICAL: Read the complete step file before taking any action
|
||||
- 🔄 CRITICAL: Read validationReport to display findings
|
||||
- ✅ YOU MUST ALWAYS SPEAK OUTPUT In your Agent communication style with the config `{communication_language}`
|
||||
|
||||
### Step-Specific Rules:
|
||||
|
||||
- 🎯 Display complete validation report clearly
|
||||
- 📊 Offer options for fixing issues
|
||||
- 💬 Present next step choices
|
||||
|
||||
## EXECUTION PROTOCOLS:
|
||||
|
||||
- 🎯 Read validation report to collect all findings
|
||||
- 📊 Display organized summary
|
||||
- 💾 Allow user to decide next steps
|
||||
|
||||
## MANDATORY SEQUENCE
|
||||
|
||||
**CRITICAL:** Follow this sequence exactly. Do not skip, reorder, or improvise unless user explicitly requests a change.
|
||||
|
||||
### 1. Load Validation Report
|
||||
|
||||
Read `{validationReport}` to collect all validation findings.
|
||||
|
||||
### 2. Display Complete Report
|
||||
|
||||
```markdown
|
||||
## Validation Complete: {agent-name}
|
||||
|
||||
### Overall Status
|
||||
|
||||
{Summary table: Metadata | Persona | Menu | Structure | Sidecar}
|
||||
|
||||
### Detailed Findings
|
||||
|
||||
{Display all sections from the validation report}
|
||||
```
|
||||
|
||||
### 3. Present Next Steps
|
||||
|
||||
"What would you like to do?
|
||||
|
||||
**[E]dit Agent** - Launch edit workflow to fix issues or make improvements
|
||||
**[F]ix in Place** - Confirm which fixes you would like right now and we can fix without loading the full agent edit workflow
|
||||
**[S]ave Report** - Save this validation report and exit
|
||||
**[R]etry** - Run validation again (if you've made external changes)"
|
||||
|
||||
### 4. Present MENU OPTIONS
|
||||
|
||||
Display: "**Select an Option:** [A] Advanced Elicitation [P] Party Mode [E] Edit Agent [S] Save & Exit [R] Retry Validation"
|
||||
|
||||
#### Menu Handling Logic:
|
||||
|
||||
- IF A: Execute {advancedElicitationTask}, and when finished redisplay the menu
|
||||
- IF P: Execute {partyModeWorkflow}, and when finished redisplay the menu
|
||||
- IF E: Inform user they can launch edit workflow with the same agent file, then redisplay menu
|
||||
- IF F; Attempt to make users desired fixes without loading the full edit workflow
|
||||
- IF S: Save final report to {validationReport} and end workflow
|
||||
- IF R: Restart validation from step v-01
|
||||
- IF Any other comments or queries: help user respond then [Redisplay Menu Options](#4-present-menu-options)
|
||||
|
||||
#### EXECUTION RULES:
|
||||
|
||||
- ALWAYS halt and wait for user input after presenting menu
|
||||
- User can chat or ask questions - always respond and then end with display again of the menu options
|
||||
|
||||
## CRITICAL STEP COMPLETION NOTE
|
||||
|
||||
The validation workflow is complete when user selects [S] to save the report, or [E] to proceed to edit workflow.
|
||||
|
||||
---
|
||||
|
||||
## 🚨 SYSTEM SUCCESS/FAILURE METRICS
|
||||
|
||||
### ✅ SUCCESS:
|
||||
|
||||
- Complete validation report displayed
|
||||
- All findings clearly organized
|
||||
- User offered clear next steps
|
||||
|
||||
### ❌ SYSTEM FAILURE:
|
||||
|
||||
- Findings not displayed to user
|
||||
- No clear next steps offered
|
||||
|
||||
**Master Rule:** Skipping steps, optimizing sequences, or not following exact instructions is FORBIDDEN and constitutes SYSTEM FAILURE.
|
||||
Reference in New Issue
Block a user