name: batch-super-dev description: "Interactive batch selector for super-dev-pipeline with complexity-based routing. Micro stories get lightweight path, standard stories get full pipeline, complex stories get enhanced validation." author: "BMad" version: "1.3.0" # Critical variables from config config_source: "{project-root}/_bmad/bmm/config.yaml" output_folder: "{config_source}:output_folder" sprint_artifacts: "{config_source}:sprint_artifacts" communication_language: "{config_source}:communication_language" date: system-generated # Workflow paths installed_path: "{project-root}/_bmad/bmm/workflows/4-implementation/batch-super-dev" instructions: "{installed_path}/instructions.md" # State management sprint_status: "{sprint_artifacts}/sprint-status.yaml" batch_log: "{sprint_artifacts}/batch-super-dev-{date}.log" # Variables filter_by_epic: "" # Optional: Filter stories by epic number (e.g., "3" for only Epic 3 stories) max_stories: 20 # Safety limit - won't process more than this in one batch pause_between_stories: 5 # Seconds to pause between stories (allows monitoring, prevents rate limits) # Super-dev-pipeline invocation settings super_dev_settings: mode: "batch" # Always use batch mode for autonomous execution workflow_path: "{project-root}/_bmad/bmm/workflows/4-implementation/super-dev-pipeline" # Story validation settings (NEW in v1.2.0) validation: enabled: true # Validate story files before processing auto_create_missing: false # If true, auto-create without prompting (use with caution) auto_regenerate_invalid: false # If true, auto-regenerate without prompting (use with caution) min_sections: 12 # BMAD format requires all 12 sections min_current_state_words: 100 # Current State must have substantial content require_gap_analysis: true # Current State must have ✅/❌ markers backup_before_regenerate: true # Create .backup file before regenerating # Story complexity scoring (NEW in v1.3.0) # Routes stories to appropriate pipeline based on complexity complexity: enabled: true thresholds: micro: # Lightweight path: skip gap analysis + code review max_tasks: 3 max_files: 5 risk_keywords: [] # No high-risk keywords allowed standard: # Normal path: full pipeline max_tasks: 15 max_files: 30 risk_keywords: ["api", "service", "component", "feature"] complex: # Enhanced path: extra validation, consider splitting min_tasks: 16 risk_keywords: ["auth", "security", "migration", "database", "payment", "encryption"] # Risk keyword scoring (adds to complexity) risk_weights: high: ["auth", "security", "payment", "encryption", "migration", "database", "schema"] medium: ["api", "integration", "external", "third-party", "cache"] low: ["ui", "style", "config", "docs", "test"] # Keyword matching configuration (defines how risk keywords are detected) keyword_matching: case_sensitive: false # "AUTH" matches "auth" require_word_boundaries: true # "auth" won't match "author" match_strategy: "exact" # exact word match required (no stemming) scan_locations: - story_title - task_descriptions - subtask_descriptions # Keyword variants (synonyms that map to canonical forms) variants: auth: ["authentication", "authorize", "authorization", "authz", "authn"] database: ["db", "databases", "datastore"] payment: ["payments", "pay", "billing", "checkout"] migration: ["migrations", "migrate"] security: ["secure", "security"] encryption: ["encrypt", "encrypted", "cipher"] # Task counting rules task_counting: method: "top_level_only" # Only count [ ] at task level, not subtasks # Options: "top_level_only", "include_subtasks", "weighted" # Example: # - [ ] Parent task <- counts as 1 # - [ ] Subtask 1 <- ignored # - [ ] Subtask 2 <- ignored # Execution settings execution: continue_on_failure: true # Keep processing remaining stories if one fails display_progress: true # Show running summary after each story save_state: true # Save progress to resume if interrupted standalone: true