# Loop Detection & Escalation ## Task Overview Systematically track solution attempts, detect loop scenarios, and trigger collaborative escalation when agents get stuck repeating unsuccessful approaches. This consolidated framework combines automatic detection with structured collaboration preparation for external AI agents. ## Context Prevents agents from endlessly repeating failed solutions by implementing automatic escalation triggers and structured collaboration preparation. Ensures efficient use of context windows and systematic knowledge sharing while maintaining detailed audit trails of solution attempts. ## Execution Approach **LOOP PREVENTION PROTOCOL** - This system addresses systematic "retry the same approach" behavior that wastes time and context. 1. **Track each solution attempt** systematically with outcomes 2. **Detect loop patterns** automatically using defined triggers 3. **Prepare collaboration context** for external agents 4. **Execute escalation** when conditions are met 5. **Document learnings** from collaborative solutions The goal is efficient problem-solving through systematic collaboration when internal approaches reach limitations. --- ## Phase 1: Pre-Escalation Tracking ### Problem Definition Setup Before attempting any solutions, establish clear problem context: - [ ] **Issue clearly defined:** Specific error message, file location, or failure description documented - [ ] **Root cause hypothesis:** Current understanding of what's causing the issue - [ ] **Context captured:** Relevant code snippets, configuration files, or environment details - [ ] **Success criteria defined:** What exactly needs to happen for issue to be resolved - [ ] **Environment documented:** Platform, versions, dependencies affecting the issue ### Solution Attempt Tracking Track each solution attempt using this systematic format: ```bash echo "=== LOOP DETECTION TRACKING ===" echo "Issue Tracking Started: $(date)" echo "Issue ID: issue-$(date +%Y%m%d-%H%M)" echo "" # Create tracking report LOOP_REPORT="loop-tracking-$(date +%Y%m%d-%H%M).md" echo "# Loop Detection Tracking Report" > $LOOP_REPORT echo "Date: $(date)" >> $LOOP_REPORT echo "Issue ID: issue-$(date +%Y%m%d-%H%M)" >> $LOOP_REPORT echo "" >> $LOOP_REPORT echo "## Problem Definition" >> $LOOP_REPORT echo "**Issue Description:** [Specific error or failure]" >> $LOOP_REPORT echo "**Error Location:** [File, line, or component]" >> $LOOP_REPORT echo "**Root Cause Hypothesis:** [Current understanding]" >> $LOOP_REPORT echo "**Success Criteria:** [What needs to work]" >> $LOOP_REPORT echo "**Environment:** [Platform, versions, dependencies]" >> $LOOP_REPORT echo "" >> $LOOP_REPORT echo "## Solution Attempt Log" >> $LOOP_REPORT ATTEMPT_COUNT=0 ``` **For each solution attempt, document:** ```markdown ### Attempt #[N]: [Brief description] - **Start Time:** [timestamp] - **Approach:** [Description of solution attempted] - **Hypothesis:** [Why this approach should work] - **Actions Taken:** [Specific steps executed] - **Code Changes:** [Files modified and how] - **Test Results:** [What happened when tested] - **Result:** [Success/Failure/Partial success] - **Learning:** [What this attempt revealed about the problem] - **New Information:** [Any new understanding gained] - **Next Hypothesis:** [How this changes understanding of the issue] - **End Time:** [timestamp] - **Duration:** [time spent on this attempt] ``` ### Automated Attempt Logging ```bash # Function to log solution attempts log_attempt() { local attempt_num=$1 local approach="$2" local result="$3" local learning="$4" ATTEMPT_COUNT=$((ATTEMPT_COUNT + 1)) echo "" >> $LOOP_REPORT echo "### Attempt #$ATTEMPT_COUNT: $approach" >> $LOOP_REPORT echo "- **Start Time:** $(date)" >> $LOOP_REPORT echo "- **Approach:** $approach" >> $LOOP_REPORT echo "- **Result:** $result" >> $LOOP_REPORT echo "- **Learning:** $learning" >> $LOOP_REPORT echo "- **Duration:** [manual entry required]" >> $LOOP_REPORT # Check for escalation triggers after each attempt check_escalation_triggers } # Function to check escalation triggers check_escalation_triggers() { local should_escalate=false echo "## Escalation Check #$ATTEMPT_COUNT" >> $LOOP_REPORT echo "Time: $(date)" >> $LOOP_REPORT # Check attempt count trigger if [ $ATTEMPT_COUNT -ge 3 ]; then echo "🚨 **TRIGGER**: 3+ failed attempts detected ($ATTEMPT_COUNT attempts)" >> $LOOP_REPORT should_escalate=true fi # Check for repetitive patterns (manual analysis required) echo "- **Repetitive Approaches:** [Manual assessment needed]" >> $LOOP_REPORT echo "- **Circular Reasoning:** [Manual assessment needed]" >> $LOOP_REPORT echo "- **Diminishing Returns:** [Manual assessment needed]" >> $LOOP_REPORT # Time-based trigger (manual tracking required) echo "- **Time Threshold:** [Manual time tracking needed - trigger at 90+ minutes]" >> $LOOP_REPORT echo "- **Context Window Pressure:** [Manual assessment of context usage]" >> $LOOP_REPORT if [ "$should_escalate" == "true" ]; then echo "" >> $LOOP_REPORT echo "⚡ **ESCALATION TRIGGERED** - Preparing collaboration request..." >> $LOOP_REPORT prepare_collaboration_request fi } ``` ## Phase 2: Loop Detection Indicators ### Automatic Detection Triggers The system monitors for these escalation conditions: ```bash # Loop Detection Configuration FAILED_ATTEMPTS=3 # 3+ failed solution attempts TIME_LIMIT_MINUTES=90 # 90+ minutes on single issue PATTERN_REPETITION=true # Repeating previously tried solutions CONTEXT_PRESSURE=high # Approaching context window limits DIMINISHING_RETURNS=true # Each attempt provides less information ``` ### Manual Detection Checklist Monitor these indicators during problem-solving: - [ ] **Repetitive approaches:** Same or very similar solutions attempted multiple times - [ ] **Circular reasoning:** Solution attempts that return to previously tried approaches - [ ] **Diminishing returns:** Each attempt provides less new information than the previous - [ ] **Time threshold exceeded:** More than 90 minutes spent on single issue without progress - [ ] **Context window pressure:** Approaching context limits due to extensive debugging - [ ] **Decreasing confidence:** Solutions becoming more speculative rather than systematic - [ ] **Resource exhaustion:** Running out of approaches within current knowledge domain ### Escalation Trigger Assessment ```bash # Function to assess escalation need assess_escalation_need() { echo "=== ESCALATION ASSESSMENT ===" >> $LOOP_REPORT echo "Assessment Time: $(date)" >> $LOOP_REPORT echo "" >> $LOOP_REPORT echo "### Automatic Triggers:" >> $LOOP_REPORT echo "- **Failed Attempts:** $ATTEMPT_COUNT (trigger: ≥3)" >> $LOOP_REPORT echo "- **Time Investment:** [Manual tracking] (trigger: ≥90 minutes)" >> $LOOP_REPORT echo "- **Pattern Repetition:** [Manual assessment] (trigger: repeating approaches)" >> $LOOP_REPORT echo "- **Context Pressure:** [Manual assessment] (trigger: approaching limits)" >> $LOOP_REPORT echo "" >> $LOOP_REPORT echo "### Manual Assessment Required:" >> $LOOP_REPORT echo "- [ ] Same approaches being repeated?" >> $LOOP_REPORT echo "- [ ] Each attempt providing less new information?" >> $LOOP_REPORT echo "- [ ] Running out of systematic approaches?" >> $LOOP_REPORT echo "- [ ] Context window becoming crowded with debug info?" >> $LOOP_REPORT echo "- [ ] Issue blocking progress on main objective?" >> $LOOP_REPORT echo "- [ ] Specialized knowledge domain expertise needed?" >> $LOOP_REPORT } ``` ## Phase 3: Collaboration Preparation ### Issue Classification Before escalating, classify the problem type for optimal collaborator selection: ```bash prepare_collaboration_request() { echo "" >> $LOOP_REPORT echo "=== COLLABORATION REQUEST PREPARATION ===" >> $LOOP_REPORT echo "Preparation Time: $(date)" >> $LOOP_REPORT echo "" >> $LOOP_REPORT echo "## Issue Classification" >> $LOOP_REPORT echo "- [ ] **Code Implementation Problem:** Logic, syntax, or algorithm issues" >> $LOOP_REPORT echo "- [ ] **Architecture Design Problem:** Structural or pattern-related issues" >> $LOOP_REPORT echo "- [ ] **Platform Integration Problem:** OS, framework, or tool compatibility" >> $LOOP_REPORT echo "- [ ] **Performance Optimization Problem:** Speed, memory, or efficiency issues" >> $LOOP_REPORT echo "- [ ] **Cross-Platform Compatibility Problem:** Multi-OS or environment issues" >> $LOOP_REPORT echo "- [ ] **Domain-Specific Problem:** Specialized knowledge area" >> $LOOP_REPORT echo "" >> $LOOP_REPORT generate_collaboration_package } ``` ### Collaborative Information Package Generate structured context for external collaborators: ```bash generate_collaboration_package() { echo "## Collaboration Information Package" >> $LOOP_REPORT echo "" >> $LOOP_REPORT echo "### Executive Summary" >> $LOOP_REPORT echo "**Problem:** [One-line description of core issue]" >> $LOOP_REPORT echo "**Impact:** [How this blocks progress]" >> $LOOP_REPORT echo "**Attempts:** $ATTEMPT_COUNT solutions tried over [X] minutes" >> $LOOP_REPORT echo "**Request:** [Specific type of help needed]" >> $LOOP_REPORT echo "" >> $LOOP_REPORT echo "### Technical Context" >> $LOOP_REPORT echo "**Platform:** [OS, framework, language versions]" >> $LOOP_REPORT echo "**Environment:** [Development setup, tools, constraints]" >> $LOOP_REPORT echo "**Dependencies:** [Key libraries, frameworks, services]" >> $LOOP_REPORT echo "**Error Details:** [Exact error messages, stack traces]" >> $LOOP_REPORT echo "" >> $LOOP_REPORT echo "### Code Context" >> $LOOP_REPORT echo "**Relevant Files:** [List of files involved]" >> $LOOP_REPORT echo "**Key Functions:** [Methods or classes at issue]" >> $LOOP_REPORT echo "**Data Structures:** [Important types or interfaces]" >> $LOOP_REPORT echo "**Integration Points:** [How components connect]" >> $LOOP_REPORT echo "" >> $LOOP_REPORT echo "### Solution Attempts Summary" >> $LOOP_REPORT echo "**Approach 1:** [Brief summary + outcome]" >> $LOOP_REPORT echo "**Approach 2:** [Brief summary + outcome]" >> $LOOP_REPORT echo "**Approach 3:** [Brief summary + outcome]" >> $LOOP_REPORT echo "**Pattern:** [What all attempts had in common]" >> $LOOP_REPORT echo "**Learnings:** [Key insights from attempts]" >> $LOOP_REPORT echo "" >> $LOOP_REPORT echo "### Specific Request" >> $LOOP_REPORT echo "**What We Need:** [Specific type of assistance]" >> $LOOP_REPORT echo "**Knowledge Gap:** [What we don't know]" >> $LOOP_REPORT echo "**Success Criteria:** [How to know if solution works]" >> $LOOP_REPORT echo "**Constraints:** [Limitations or requirements]" >> $LOOP_REPORT echo "" >> $LOOP_REPORT select_collaborator } ``` ### Collaborator Selection ```bash select_collaborator() { echo "## Recommended Collaborator Selection" >> $LOOP_REPORT echo "" >> $LOOP_REPORT echo "### Collaborator Specialization Guide:" >> $LOOP_REPORT echo "- **Gemini:** Algorithm optimization, mathematical problems, data analysis" >> $LOOP_REPORT echo "- **Claude Code:** Architecture design, code structure, enterprise patterns" >> $LOOP_REPORT echo "- **GPT-4:** General problem-solving, creative approaches, debugging" >> $LOOP_REPORT echo "- **Specialized LLMs:** Domain-specific expertise (security, ML, etc.)" >> $LOOP_REPORT echo "" >> $LOOP_REPORT echo "### Recommended Primary Collaborator:" >> $LOOP_REPORT echo "**Choice:** [Based on issue classification]" >> $LOOP_REPORT echo "**Rationale:** [Why this collaborator is best suited]" >> $LOOP_REPORT echo "**Alternative:** [Backup option if primary unavailable]" >> $LOOP_REPORT echo "" >> $LOOP_REPORT echo "### Collaboration Request Ready" >> $LOOP_REPORT echo "**Package Location:** $LOOP_REPORT" >> $LOOP_REPORT echo "**Next Action:** Initiate collaboration with selected external agent" >> $LOOP_REPORT # Generate copy-paste prompt for external LLM generate_external_prompt } # Generate copy-paste prompt for external LLM collaboration generate_external_prompt() { EXTERNAL_PROMPT="external-llm-prompt-$(date +%Y%m%d-%H%M).md" cat > $EXTERNAL_PROMPT << 'EOF' # COLLABORATION REQUEST - Copy & Paste This Entire Message ## Situation I'm an AI development agent that has hit a wall after multiple failed attempts at resolving an issue. I need fresh perspective and collaborative problem-solving. ## Issue Summary **Problem:** [FILL: One-line description of core issue] **Impact:** [FILL: How this blocks progress] **Attempts:** [FILL: Number] solutions tried over [FILL: X] minutes **Request:** [FILL: Specific type of help needed] ## Technical Context **Platform:** [FILL: OS, framework, language versions] **Environment:** [FILL: Development setup, tools, constraints] **Dependencies:** [FILL: Key libraries, frameworks, services] **Error Details:** [FILL: Exact error messages, stack traces] ## Code Context **Relevant Files:** [FILL: List of files involved] **Key Functions:** [FILL: Methods or classes at issue] **Data Structures:** [FILL: Important types or interfaces] **Integration Points:** [FILL: How components connect] ## Failed Solution Attempts ### Attempt 1: [FILL: Brief approach description] - **Hypothesis:** [FILL: Why we thought this would work] - **Actions:** [FILL: What we tried] - **Outcome:** [FILL: What happened] - **Learning:** [FILL: What this revealed] ### Attempt 2: [FILL: Brief approach description] - **Hypothesis:** [FILL: Why we thought this would work] - **Actions:** [FILL: What we tried] - **Outcome:** [FILL: What happened] - **Learning:** [FILL: What this revealed] ### Attempt 3: [FILL: Brief approach description] - **Hypothesis:** [FILL: Why we thought this would work] - **Actions:** [FILL: What we tried] - **Outcome:** [FILL: What happened] - **Learning:** [FILL: What this revealed] ## Pattern Analysis **Common Thread:** [FILL: What all attempts had in common] **Key Insights:** [FILL: Main learnings from attempts] **Potential Blind Spots:** [FILL: What we might be missing] ## Specific Collaboration Request **What I Need:** [FILL: Specific type of assistance - fresh approach, domain expertise, different perspective, etc.] **Knowledge Gap:** [FILL: What we don't know or understand] **Success Criteria:** [FILL: How to know if solution works] **Constraints:** [FILL: Limitations or requirements to work within] ## Code Snippets (if relevant) ```[language] [FILL: Relevant code that's causing issues] ``` ## Error Logs (if relevant) ``` [FILL: Exact error messages and stack traces] ``` ## What Would Help Most - [ ] Fresh perspective on root cause - [ ] Alternative solution approaches - [ ] Domain-specific expertise - [ ] Code review and suggestions - [ ] Architecture/design guidance - [ ] Debugging methodology - [ ] Other: [FILL: Specific need] --- **Please provide:** A clear, actionable solution approach with reasoning, or alternative perspectives I should consider. I'm looking for breakthrough thinking to get unstuck. EOF echo "" echo "🎯 **COPY-PASTE PROMPT GENERATED**" echo "📋 **File:** $EXTERNAL_PROMPT" echo "" echo "👉 **INSTRUCTIONS FOR USER:**" echo "1. Open the file: $EXTERNAL_PROMPT" echo "2. Fill in all [FILL: ...] placeholders with actual details" echo "3. Copy the entire completed prompt" echo "4. Paste into Gemini, GPT-4, or your preferred external LLM" echo "5. Share the response back with me for implementation" echo "" echo "✨ **This structured approach maximizes collaboration effectiveness!**" # Add to main report echo "" >> $LOOP_REPORT echo "### 🎯 COPY-PASTE PROMPT READY" >> $LOOP_REPORT echo "**File Generated:** $EXTERNAL_PROMPT" >> $LOOP_REPORT echo "**Instructions:** Fill placeholders, copy entire prompt, paste to external LLM" >> $LOOP_REPORT echo "**Status:** Ready for user action" >> $LOOP_REPORT } ``` ## Phase 4: Escalation Execution ### Collaboration Initiation When escalation triggers are met: 1. **Finalize collaboration package** with all context 2. **Select appropriate external collaborator** based on issue type 3. **Initiate collaboration request** with structured information 4. **Monitor collaboration progress** and integrate responses 5. **Document solution and learnings** for future reference ### Collaboration Management ```bash # Function to manage active collaboration manage_collaboration() { local collaborator="$1" local request_id="$2" echo "=== ACTIVE COLLABORATION ===" >> $LOOP_REPORT echo "Collaboration Started: $(date)" >> $LOOP_REPORT echo "Collaborator: $collaborator" >> $LOOP_REPORT echo "Request ID: $request_id" >> $LOOP_REPORT echo "" >> $LOOP_REPORT echo "### Collaboration Tracking:" >> $LOOP_REPORT echo "- **Request Sent:** $(date)" >> $LOOP_REPORT echo "- **Information Package:** Complete" >> $LOOP_REPORT echo "- **Response Expected:** [Timeline]" >> $LOOP_REPORT echo "- **Status:** Active" >> $LOOP_REPORT echo "" >> $LOOP_REPORT echo "### Response Integration Plan:" >> $LOOP_REPORT echo "- [ ] **Validate suggested solution** against our constraints" >> $LOOP_REPORT echo "- [ ] **Test proposed approach** in safe environment" >> $LOOP_REPORT echo "- [ ] **Document new learnings** from collaboration" >> $LOOP_REPORT echo "- [ ] **Update internal knowledge** for future similar issues" >> $LOOP_REPORT echo "- [ ] **Close collaboration** when issue resolved" >> $LOOP_REPORT } ``` ## Phase 5: Learning Integration ### Solution Documentation When collaboration yields results: ```bash document_solution() { local solution_approach="$1" local collaborator="$2" echo "" >> $LOOP_REPORT echo "=== SOLUTION DOCUMENTATION ===" >> $LOOP_REPORT echo "Solution Found: $(date)" >> $LOOP_REPORT echo "Collaborator: $collaborator" >> $LOOP_REPORT echo "" >> $LOOP_REPORT echo "### Solution Summary:" >> $LOOP_REPORT echo "**Approach:** $solution_approach" >> $LOOP_REPORT echo "**Key Insight:** [What made this solution work]" >> $LOOP_REPORT echo "**Why Previous Attempts Failed:** [Root cause analysis]" >> $LOOP_REPORT echo "**Implementation Steps:** [How solution was applied]" >> $LOOP_REPORT echo "**Validation Results:** [How success was verified]" >> $LOOP_REPORT echo "" >> $LOOP_REPORT echo "### Knowledge Integration:" >> $LOOP_REPORT echo "**New Understanding:** [What we learned about this type of problem]" >> $LOOP_REPORT echo "**Pattern Recognition:** [How to identify similar issues faster]" >> $LOOP_REPORT echo "**Prevention Strategy:** [How to avoid this issue in future]" >> $LOOP_REPORT echo "**Collaboration Value:** [What external perspective provided]" >> $LOOP_REPORT echo "" >> $LOOP_REPORT echo "### Future Reference:" >> $LOOP_REPORT echo "**Issue Type:** [Classification for future lookup]" >> $LOOP_REPORT echo "**Solution Pattern:** [Reusable approach]" >> $LOOP_REPORT echo "**Recommended Collaborator:** [For similar future issues]" >> $LOOP_REPORT echo "**Documentation Updates:** [Changes to make to prevent recurrence]" >> $LOOP_REPORT } ``` ### Loop Prevention Learning Extract patterns to prevent future loops: ```bash extract_loop_patterns() { echo "" >> $LOOP_REPORT echo "=== LOOP PREVENTION ANALYSIS ===" >> $LOOP_REPORT echo "Analysis Date: $(date)" >> $LOOP_REPORT echo "" >> $LOOP_REPORT echo "### Loop Indicators Observed:" >> $LOOP_REPORT echo "- **Trigger Point:** [What should have prompted earlier escalation]" >> $LOOP_REPORT echo "- **Repetition Pattern:** [How approaches were repeating]" >> $LOOP_REPORT echo "- **Knowledge Boundary:** [Where internal expertise reached limits]" >> $LOOP_REPORT echo "- **Time Investment:** [Total time spent before escalation]" >> $LOOP_REPORT echo "" >> $LOOP_REPORT echo "### Optimization Opportunities:" >> $LOOP_REPORT echo "- **Earlier Escalation:** [When should we have escalated sooner]" >> $LOOP_REPORT echo "- **Better Classification:** [How to categorize similar issues faster]" >> $LOOP_REPORT echo "- **Improved Tracking:** [How to better monitor solution attempts]" >> $LOOP_REPORT echo "- **Knowledge Gaps:** [Areas to improve internal expertise]" >> $LOOP_REPORT echo "" >> $LOOP_REPORT echo "### Prevention Recommendations:" >> $LOOP_REPORT echo "- **Escalation Triggers:** [Refined triggers for this issue type]" >> $LOOP_REPORT echo "- **Early Warning Signs:** [Indicators to watch for]" >> $LOOP_REPORT echo "- **Documentation Improvements:** [What to add to prevent recurrence]" >> $LOOP_REPORT echo "- **Process Enhancements:** [How to handle similar issues better]" >> $LOOP_REPORT } ``` ## Integration Points ### Variables Exported for Other Tools ```bash # Core loop detection variables export ATTEMPT_COUNT=[number of solution attempts] export TIME_INVESTED=[minutes spent on issue] export ESCALATION_TRIGGERED=[true/false] export COLLABORATOR_SELECTED=[external agent chosen] export SOLUTION_FOUND=[true/false] # Issue classification variables export ISSUE_TYPE=[implementation/architecture/platform/performance/compatibility] export KNOWLEDGE_DOMAIN=[specialized area if applicable] export COMPLEXITY_LEVEL=[low/medium/high] # Collaboration variables export COLLABORATION_PACKAGE_PATH=[path to information package] export COLLABORATOR_RESPONSE=[summary of external input] export SOLUTION_APPROACH=[final working solution] # Learning variables export LOOP_PATTERNS=[patterns that led to loops] export PREVENTION_STRATEGIES=[how to avoid similar loops] export KNOWLEDGE_GAPS=[areas for improvement] ``` ### Integration with Other BMAD Tools - **Triggers create-remediation-story.md** when solution creates new tasks - **Updates reality-audit-comprehensive.md** with solution validation - **Feeds into build-context-analysis.md** for future similar issues - **Provides data for quality framework improvements** --- ## Summary This comprehensive loop detection and escalation framework prevents agents from wasting time and context on repetitive unsuccessful approaches. It combines systematic tracking, automatic trigger detection, structured collaboration preparation, and learning integration to ensure efficient problem-solving through external expertise when needed. **Key Features:** - **Systematic attempt tracking** with detailed outcomes and learnings - **Automatic loop detection** based on multiple trigger conditions - **Structured collaboration preparation** for optimal external engagement - **Intelligent collaborator selection** based on issue classification - **Solution documentation and learning integration** for continuous improvement - **Prevention pattern extraction** to avoid future similar loops **Benefits:** - **Prevents context window exhaustion** from repetitive debugging - **Enables efficient external collaboration** through structured requests - **Preserves learning and insights** for future similar issues - **Reduces time investment** in unproductive solution approaches - **Improves overall problem-solving efficiency** through systematic escalation