BMAD-METHOD/.claude/orchestrator/enhanced-workflow-engine.md

11 KiB

Enhanced Workflow Engine - Context-Aware Execution

System Overview

The Enhanced Workflow Engine provides intelligent workflow execution with context management, parallel processing, validation gates, and adaptive routing based on project complexity.

Enhanced Workflow Definition Schema

Core Workflow Structure

workflow_definition:
  metadata:
    id: "greenfield-fullstack-v2"
    name: "Enhanced Greenfield Fullstack"
    description: "Context-aware full-stack development workflow"
    version: "2.0.0"
    
  configuration:
    context_engine_enabled: true
    parallel_execution: true
    quality_gates: true
    adaptive_routing: true
    error_recovery: true
    
  execution_strategy:
    type: "dependency_based"
    max_parallel_agents: 3
    quality_threshold: 7.0
    retry_limit: 2
    timeout_minutes: 15
    
  steps:
    - id: "step_1"
      name: "Project Analysis"
      execution_group: 1
      agent: "analyst"
      dependencies: []
      
      context_management:
        inputs:
          required:
            - source: "user_input.specification"
              validation: 
                min_length: 50
                required_keywords: ["problem", "users", "solution"]
          optional:
            - source: "global_context.domain_knowledge"
              
        outputs:
          primary: "project_brief"
          structured_data:
            - "problem_statement"
            - "target_users" 
            - "core_features"
            - "success_metrics"
            - "technical_constraints"
            - "complexity_indicators"
            
        transformations:
          - name: "complexity_scoring"
            algorithm: |
              feature_count = len(core_features)
              user_types = len(target_users)
              technical_complexity = len(technical_constraints)
              complexity_score = min(10, (feature_count * 1.5 + user_types + technical_complexity * 2) / 3)              
            output: "project_metadata.complexity_score"
            
      quality_gates:
        - name: "completeness_check"
          criteria:
            - "all_required_sections_present"
            - "problem_statement_length > 100"
            - "target_users_count > 0"
            - "core_features_count >= 3"
          failure_action: "retry_with_enhancement"
          
        - name: "clarity_assessment" 
          criteria:
            - "readability_score > 7.0"
            - "specific_metrics_included"
            - "no_vague_language"
          failure_action: "request_clarification"
          
      adaptive_routing:
        - condition: "complexity_score <= 3"
          route: "simplified_workflow"
          modifications:
            - skip: ["detailed_architecture_review"]
            - merge: ["ux_design", "basic_frontend_spec"]
            
        - condition: "complexity_score >= 8"
          route: "enterprise_workflow" 
          modifications:
            - add: ["security_analysis", "performance_planning", "scalability_assessment"]
            - extend_timeout: 25
            
    - id: "step_2"
      name: "Requirements Documentation"
      execution_group: 2
      agent: "pm"
      dependencies: ["step_1"]
      
      context_management:
        inputs:
          required:
            - source: "analyst.outputs.project_brief.structured_data"
              extract: ["problem_statement", "target_users", "core_features", "success_metrics"]
            - source: "project_metadata.complexity_score"
              
        outputs:
          primary: "prd"
          structured_data:
            - "user_stories"
            - "functional_requirements"
            - "non_functional_requirements"
            - "acceptance_criteria"
            - "priority_matrix"
            - "success_metrics"
            
        cross_validation:
          - validator: "analyst"
            criteria: ["requirements_align_with_analysis", "no_scope_creep"]
            weight: 0.3
            
      parallel_processing:
        can_parallel_with: ["step_3_prep"]
        shared_resources: ["context_store"]
        
    - id: "step_3_prep"
      name: "UX Research Preparation"
      execution_group: 2
      agent: "ux_expert"
      type: "preparation_step"
      dependencies: ["step_1"]
      
      context_management:
        inputs:
          required:
            - source: "analyst.outputs.project_brief.structured_data.target_users"
            - source: "analyst.outputs.project_brief.structured_data.core_features"
              
        outputs:
          primary: "user_research"
          structured_data:
            - "enhanced_personas"
            - "initial_user_journeys"
            - "research_questions"
            
    - id: "step_3"
      name: "Parallel Design & Architecture"
      execution_group: 3
      type: "parallel_group"
      dependencies: ["step_2", "step_3_prep"]
      
      parallel_agents:
        - agent: "ux_expert"
          task: "ui_ux_design"
          context_inputs:
            - source: "pm.outputs.prd.structured_data.user_stories"
            - source: "step_3_prep.outputs.user_research"
          outputs: ["ui_spec"]
          
        - agent: "architect" 
          task: "system_architecture"
          context_inputs:
            - source: "pm.outputs.prd.structured_data"
            - source: "analyst.outputs.project_brief.structured_data.technical_constraints"
          outputs: ["architecture"]
          
      synchronization:
        method: "barrier_sync"
        timeout_minutes: 20
        partial_failure_handling: "continue_with_available"
        
      cross_validation:
        - agents: ["ux_expert", "architect"]
          validation: "ui_technical_feasibility"
          criteria: ["ui_components_implementable", "performance_expectations_realistic"]
          
    - id: "step_4"
      name: "Implementation"
      execution_group: 4
      agent: "developer"
      dependencies: ["step_3"]
      
      context_management:
        inputs:
          required:
            - source: "architect.outputs.architecture.structured_data"
              extract: ["technology_stack", "system_architecture", "database_design", "api_specifications"]
            - source: "ux_expert.outputs.ui_spec.structured_data"
              extract: ["component_specifications", "user_journeys", "design_system"]
            - source: "pm.outputs.prd.structured_data"
              extract: ["user_stories", "acceptance_criteria"]
              
        outputs:
          primary: "implementation"
          structured_data:
            - "component_list"
            - "api_endpoints"
            - "database_schema"
            - "configuration_files"
            - "test_coverage"
            
        validation_checkpoints:
          - checkpoint: "25_percent_complete"
            validators: ["architect"]
            criteria: ["architecture_compliance"]
            
          - checkpoint: "75_percent_complete" 
            validators: ["pm", "ux_expert"]
            criteria: ["requirements_implementation", "ui_specification_adherence"]
            
    - id: "step_5"
      name: "Quality Assurance"
      execution_group: 5
      agent: "qa"
      dependencies: ["step_4"]
      
      context_management:
        inputs:
          required:
            - source: "developer.outputs.implementation"
            - source: "pm.outputs.prd.structured_data.acceptance_criteria"
            
        outputs:
          primary: "test_plan"
          final_validation: true
          
      quality_gates:
        - name: "comprehensive_coverage"
          criteria:
            - "all_user_stories_tested"
            - "critical_paths_covered"
            - "edge_cases_identified"
            - "performance_tests_included"
          failure_action: "extend_test_coverage"
          
        - name: "quality_assessment"
          criteria:
            - "overall_quality_score >= 8.0"
            - "no_critical_issues"
            - "security_validated"
          failure_action: "implementation_revision"
          
  error_recovery:
    strategies:
      agent_failure:
        action: "retry_with_enhanced_context"
        max_retries: 2
        fallback: "simplified_agent_approach"
        
      quality_gate_failure:
        action: "targeted_improvement"
        escalation: "human_review_request"
        
      context_corruption:
        action: "restore_from_checkpoint"
        validation: "full_context_revalidation"
        
  performance_optimization:
    caching:
      enabled: true
      cache_duration: "session_lifetime"
      cache_scope: "project_context"
      
    parallel_execution:
      max_concurrent: 3
      resource_allocation: "dynamic"
      load_balancing: "agent_specialization_aware"
      
    incremental_processing:
      enabled: true
      change_detection: "content_hash_comparison"
      affected_agent_analysis: true

Workflow Execution Engine

Main Execution Controller

execution_controller:
  initialization:
    - validate_workflow_definition
    - initialize_context_store
    - setup_agent_pool
    - configure_monitoring
    
  execution_loop:
    - determine_ready_steps
    - allocate_agent_resources
    - execute_parallel_groups
    - validate_outputs
    - update_context_store
    - check_quality_gates
    - plan_next_iteration
    
  completion_criteria:
    - all_steps_completed: true
    - quality_gates_passed: true  
    - context_validation: "success"
    - user_acceptance: "pending|approved"

Integration with Existing Agent Prompts

Context Injection Enhancement

Each existing agent prompt gets enhanced with:

# Added to each agent prompt
## <enhanced_context_access>
### Structured Context Available:
{{#context_engine}}
**Previous Agent Outputs:**
{{#each completed_agents}}
- **{{name}}**: {{outputs.primary}} (Quality: {{quality_score}}/10)
  {{#each outputs.structured_data}}
  - {{key}}: {{value}}
  {{/each}}
{{/each}}

**Project Metadata:**
- Complexity Score: {{project_metadata.complexity_score}}/10
- Workflow Type: {{project_metadata.workflow_type}}
- Quality Threshold: {{configuration.quality_threshold}}

**Global Context:**
- Budget Level: {{global_context.project_constraints.budget_level}}
- Timeline: {{global_context.project_constraints.timeline}}
- Team Size: {{global_context.project_constraints.team_size}}
{{/context_engine}}
</enhanced_context_access>

## <quality_self_assessment>
After completing your work, provide this structured self-assessment:

**Quality Metrics:**
- Completeness Score (1-10): [Your assessment]
- Clarity Score (1-10): [Your assessment]
- Implementation Readiness (1-10): [Your assessment]
- Alignment with Previous Work (1-10): [Your assessment]

**Validation Checklist:**
- [ ] All required sections completed
- [ ] Addresses all input requirements
- [ ] Maintains consistency with previous agents
- [ ] Includes specific, actionable content
- [ ] No placeholder or vague language

**Context Validation:**
- [ ] Referenced all required previous outputs
- [ ] Maintained consistency with project constraints
- [ ] Aligned with complexity score and project type
</quality_self_assessment>

This Enhanced Workflow Engine transforms our static workflow system into an intelligent, adaptive orchestrator that manages context, validates quality, and recovers from errors automatically.