BMAD-METHOD/.claude/orchestrator/error-recovery-system.md

12 KiB

Error Detection & Recovery System - Reliability Engineering

System Overview

The Error Detection & Recovery System provides comprehensive failure detection, graceful degradation, automatic recovery, and learning mechanisms to ensure high system reliability and user experience.

Error Detection Framework

Multi-Layer Error Detection

error_detection_layers:
  layer_1_syntax_validation:
    scope: "template_rendering_and_data_structure"
    detection_speed: "immediate"
    checks:
      - template_syntax_errors
      - variable_substitution_failures  
      - json_schema_validation_failures
      - required_field_missing_errors
    auto_recovery: true
    
  layer_2_content_quality:
    scope: "agent_output_semantic_validation"
    detection_speed: "real_time"
    checks:
      - placeholder_text_detection
      - vague_language_detection
      - incomplete_section_detection
      - logical_inconsistency_detection
    auto_recovery: "limited"
    
  layer_3_cross_agent_consistency:
    scope: "multi_agent_output_alignment"
    detection_speed: "post_agent_completion"
    checks:
      - requirement_contradiction_detection
      - technical_feasibility_conflicts
      - timeline_inconsistencies
      - scope_creep_detection
    auto_recovery: false  # Requires consensus building
    
  layer_4_workflow_integrity:
    scope: "overall_workflow_health"
    detection_speed: "continuous"
    checks:
      - workflow_deadlock_detection
      - infinite_retry_loop_detection
      - resource_exhaustion_detection
      - quality_degradation_trends
    auto_recovery: "system_level"

Error Classification System

error_categories:
  transient_errors:
    characteristics: ["temporary", "retry_likely_to_succeed", "system_recoverable"]
    examples:
      - timeout_errors
      - temporary_resource_unavailability
      - network_connectivity_issues
      - context_lock_conflicts
    recovery_strategy: "automatic_retry_with_backoff"
    max_retries: 3
    
  deterministic_errors:
    characteristics: ["repeatable", "same_input_same_failure", "logic_issue"]
    examples:
      - invalid_template_variables
      - malformed_context_data
      - agent_prompt_logic_errors
      - workflow_configuration_errors
    recovery_strategy: "fallback_to_simplified_approach"
    escalation: "immediate"
    
  quality_errors:
    characteristics: ["subjective", "quality_below_threshold", "content_issue"]
    examples:
      - low_quality_agent_output
      - insufficient_detail_level
      - unclear_requirements
      - incomplete_specifications
    recovery_strategy: "iterative_improvement"
    max_iterations: 2
    
  system_errors:
    characteristics: ["infrastructure", "resource_limitation", "external_dependency"]
    examples:
      - memory_exhaustion
      - cpu_overload
      - storage_unavailable
      - external_service_failure
    recovery_strategy: "graceful_degradation"
    fallback: "minimal_functionality_mode"
    
  user_input_errors:
    characteristics: ["invalid_specification", "insufficient_information", "contradictory_requirements"]
    examples:
      - empty_or_vague_specifications
      - contradictory_user_requirements
      - unrealistic_constraints
      - missing_critical_information
    recovery_strategy: "guided_specification_improvement"
    escalation: "request_user_clarification"

Recovery Mechanisms

Automated Recovery Strategies

recovery_strategies:
  automatic_retry_with_intelligence:
    trigger_conditions:
      - transient_error_detected
      - timeout_without_critical_failure
      - temporary_resource_unavailability
      
    retry_algorithm:
      base_delay: 5  # seconds
      backoff_multiplier: 2.0
      max_delay: 120  # seconds
      jitter: 0.2  # 20% random variation
      
    retry_enhancements:
      context_refresh: "reload_latest_context_before_retry"
      resource_reallocation: "request_additional_resources_if_available"
      prompt_enhancement: "add_previous_failure_context_to_agent_prompt"
      
    success_criteria:
      quality_threshold: 6.0
      completeness_check: true
      consistency_validation: true
      
  iterative_improvement:
    trigger_conditions:
      - quality_below_threshold
      - incomplete_output_detected
      - validation_failures
      
    improvement_process:
      iteration_1:
        strategy: "enhance_context_with_specific_guidance"
        guidance_types: ["missing_sections", "quality_improvement_tips", "specific_examples"]
        
      iteration_2:
        strategy: "simplify_requirements_and_focus_on_essentials"
        simplification: ["reduce_scope", "focus_on_core_features", "use_simpler_language"]
        
      iteration_3:
        strategy: "use_alternative_agent_approach"
        alternatives: ["different_template", "alternative_prompt", "reduced_complexity"]
        
  graceful_degradation:
    trigger_conditions:
      - system_resource_exhaustion
      - multiple_agent_failures
      - unrecoverable_quality_issues
      
    degradation_levels:
      level_1_reduced_features:
        disable: ["advanced_validation", "cross_agent_checks", "parallel_execution"]
        maintain: ["core_functionality", "basic_quality_gates", "essential_outputs"]
        
      level_2_simplified_workflow:
        use: ["simplified_templates", "single_agent_fallbacks", "basic_validation_only"]
        skip: ["comprehensive_analysis", "detailed_architecture", "extensive_testing"]
        
      level_3_minimal_functionality:
        provide: ["basic_project_brief", "simple_requirements", "minimal_guidance"]
        inform_user: "system_operating_in_minimal_mode_due_to_constraints"
        
  fallback_mechanisms:
    agent_failure_fallbacks:
      analyst_failure:
        fallback_agent: "pm_with_analysis_template"
        quality_impact: "medium"
        user_notification: "using_simplified_analysis_approach"
        
      pm_failure:
        fallback_strategy: "analyst_creates_basic_requirements"
        quality_impact: "high"
        user_notification: "using_analyst_generated_requirements"
        
      architect_failure:
        fallback_strategy: "use_standard_technology_stack_template"
        quality_impact: "medium"
        user_notification: "using_proven_architecture_patterns"
        
      developer_failure:
        fallback_strategy: "provide_detailed_implementation_guidance_instead"
        quality_impact: "high"
        user_notification: "providing_implementation_roadmap_instead_of_code"
        
      ux_failure:
        fallback_strategy: "architect_includes_basic_ui_considerations"
        quality_impact: "medium"
        user_notification: "including_basic_ui_guidance_in_architecture"
        
      qa_failure:
        fallback_strategy: "developer_includes_basic_testing_approach"
        quality_impact: "low"
        user_notification: "including_testing_guidance_in_implementation"

Context Recovery System

context_recovery:
  checkpoint_system:
    checkpoint_frequency:
      - after_successful_agent_completion
      - before_major_workflow_transitions
      - after_quality_gate_passage
      - before_parallel_execution_groups
      
    checkpoint_data:
      - complete_context_snapshot
      - agent_output_metadata
      - quality_scores_and_validations
      - workflow_state_information
      - performance_metrics
      
    storage_strategy:
      location: ".claude/context/checkpoints/"
      naming: "checkpoint-{session_id}-{step_number}-{timestamp}"
      retention: "session_lifetime_plus_1_hour"
      compression: "lz4_compression"
      
  recovery_procedures:
    context_corruption_recovery:
      detection_methods:
        - json_schema_validation_failure
        - required_field_missing
        - data_type_inconsistencies
        - cross_reference_integrity_failures
        
      recovery_steps:
        1. "identify_last_known_good_checkpoint"
        2. "restore_context_from_checkpoint"
        3. "validate_restored_context_integrity"
        4. "identify_lost_work_since_checkpoint"
        5. "attempt_partial_work_recovery"
        6. "resume_workflow_from_recovery_point"
        
    partial_context_recovery:
      scenarios:
        - agent_completed_but_context_write_failed
        - network_interruption_during_context_update
        - concurrent_access_corruption
        
      recovery_approach:
        - extract_recoverable_data_from_agent_output
        - rebuild_context_structure_with_recovered_data
        - fill_missing_fields_with_computed_defaults
        - validate_recovered_context_completeness

Learning and Improvement System

Error Pattern Analysis

error_learning:
  pattern_detection:
    collection_scope: "all_errors_across_all_sessions"
    analysis_frequency: "daily"
    pattern_types:
      - recurring_agent_failures
      - common_quality_issues
      - frequent_timeout_scenarios
      - typical_user_input_problems
      
    learning_algorithms:
      frequency_analysis: "identify_most_common_error_patterns"
      correlation_analysis: "find_relationships_between_errors_and_context"
      trend_analysis: "detect_increasing_or_decreasing_error_rates"
      
  automatic_improvements:
    prompt_optimization:
      trigger: "recurring_agent_output_quality_issues"
      approach: "add_specific_guidance_to_agent_prompts_based_on_common_failures"
      
    timeout_adjustment:
      trigger: "frequent_timeout_errors"
      approach: "dynamically_adjust_timeout_values_based_on_historical_performance"
      
    validation_enhancement:
      trigger: "recurring_validation_failures"
      approach: "add_new_validation_rules_based_on_common_error_patterns"
      
    workflow_optimization:
      trigger: "frequent_workflow_inefficiencies"
      approach: "modify_workflow_steps_to_avoid_common_failure_points"

Proactive Error Prevention

prevention_mechanisms:
  predictive_error_detection:
    early_warning_indicators:
      - context_complexity_exceeding_thresholds
      - user_specification_ambiguity_scores
      - resource_utilization_trending_toward_limits
      - agent_performance_degradation_patterns
      
    preventive_actions:
      high_complexity_detection:
        action: "suggest_project_scope_reduction"
        timing: "before_workflow_execution"
        
      ambiguous_specification_detection:
        action: "request_specification_clarification"
        timing: "during_initial_analysis"
        
      resource_constraint_prediction:
        action: "enable_graceful_degradation_mode_preemptively"
        timing: "before_resource_exhaustion"
        
  input_validation_enhancement:
    user_specification_validation:
      checks:
        - minimum_specification_length
        - required_element_presence
        - clarity_and_specificity_scoring
        - feasibility_assessment
        
      improvement_guidance:
        insufficient_detail: "provide_specification_enhancement_suggestions"
        vague_requirements: "ask_targeted_clarification_questions"
        unrealistic_scope: "suggest_scope_prioritization"

Monitoring and Alerting

Real-Time Monitoring

monitoring_system:
  health_metrics:
    system_health:
      - error_rate_per_hour
      - average_recovery_time
      - quality_degradation_incidents
      - user_satisfaction_scores
      
    performance_health:
      - workflow_completion_rate
      - average_execution_time
      - resource_utilization_efficiency
      - cache_hit_ratios
      
    quality_health:
      - average_output_quality_scores
      - validation_failure_rates
      - cross_agent_consistency_scores
      - user_acceptance_rates
      
  alerting_rules:
    critical_alerts:
      - error_rate > 25% over 10 minutes
      - system_unavailable > 2 minutes
      - data_corruption_detected
      - security_breach_indicators
      
    warning_alerts:
      - error_rate > 10% over 30 minutes
      - quality_scores < 7.0 average over 1 hour
      - resource_utilization > 85% for 15 minutes
      - recovery_attempts > 50% of executions
      
  dashboard_metrics:
    real_time_display:
      - current_active_workflows
      - error_rates_and_trends
      - performance_metrics
      - quality_indicators
      - recovery_success_rates

This comprehensive Error Detection & Recovery System ensures the BMAD-Spec Orchestrator maintains high reliability and provides excellent user experience even when facing various types of failures and edge cases.