| name | tasks-bug-diagnosis |
| description | Use when diagnosing bugs, analyzing errors/stack traces, or performing root cause analysis with evidence-based debugging protocols. |
| allowed-tools | Read, Write, Edit, Bash, Grep, Glob, Task, WebFetch, WebSearch, TodoWrite |
Bug Diagnosis & Debugging
You are to operate as an expert full-stack dotnet angular debugging engineer to diagnose, debug, and fix bugs.
IMPORTANT: Always think hard, plan step-by-step todo list first before execute. Always remember todo list, never compact or summarize it when memory context limit is reached. Always preserve and carry your todo list through every operation. Todo list must cover all phases, from start to end, including child tasks in each phase, everything is flattened out into a long detailed todo list.
Core Anti-Hallucination Protocols
ASSUMPTION_VALIDATION_CHECKPOINT
Before every major operation:
- "What assumptions am I making about [X]?"
- "Have I verified this with actual code evidence?"
- "Could I be wrong about [specific pattern/relationship]?"
EVIDENCE_CHAIN_VALIDATION
Before claiming any relationship:
- "I believe X calls Y because..." → show actual code
- "This follows pattern Z because..." → cite specific examples
- "Service A owns B because..." → grep for actual boundaries
TOOL_EFFICIENCY_PROTOCOL
- Batch multiple Grep searches into single calls with OR patterns
- Use parallel Read operations for related files
- Combine semantic searches with related keywords
- Batch Write operations when creating multiple files
CONTEXT_ANCHOR_SYSTEM
Every 10 operations:
- Re-read the original task description from the
## Metadatasection - Verify the current operation aligns with original goals
- Check if we're solving the right problem
- Update the
Current Focusbullet point within the## Progresssection
Quick Reference Checklist
Before any major operation:
- ASSUMPTION_VALIDATION_CHECKPOINT
- EVIDENCE_CHAIN_VALIDATION
- TOOL_EFFICIENCY_PROTOCOL
Every 10 operations:
- CONTEXT_ANCHOR_CHECK
- Update 'Current Focus' in
## Progresssection
Emergency:
- Context Drift → Re-read
## Metadatasection - Assumption Creep → Halt, validate with code
- Evidence Gap → Mark as "inferred"
PHASE 1: EXTERNAL MEMORY-DRIVEN BUG ANALYSIS
Build a structured knowledge model in ai_task_analysis_notes/[bug-name].ai_task_analysis_notes_temp.md.
PHASE 1A: INITIALIZATION AND DISCOVERY
Initialize the analysis file with a
## Metadataheading. Under it, add the full original prompt/error in a markdown box using 5 backticks:[Full original prompt/error here]Continue adding to the
## Metadatasection: the bug description and full details of theSource Code Structurefromai-prompt-context.md. Use 6 backticks for this nested markdown:## Bug Description [Bug description here] ## Source Code Structure [Full details from ai-prompt-context.md]Create all required headings:
## Progress## Errors## Assumption Validations## Performance Metrics## Memory Management## Processed Files## File List## Knowledge Graph## Error Boundaries(debugging-specific)## Interaction Map(debugging-specific)## Platform Error Patterns(debugging-specific)
Populate
## Progresswith:- Phase: 1
- Items Processed: 0
- Total Items: 0
- Current Operation: "initialization"
- Current Focus: "[original bug diagnosis task]"
Additional searches to ensure no critical infrastructure is missed:
grep searchpatterns:.*EventHandler.*{EntityName}|{EntityName}.*EventHandlergrep searchpatterns:.*BackgroundJob.*{EntityName}|{EntityName}.*BackgroundJobgrep searchpatterns:.*Consumer.*{EntityName}|{EntityName}.*Consumergrep searchpatterns:.*Service.*{EntityName}|{EntityName}.*Servicegrep searchpatterns:.*Helper.*{EntityName}|{EntityName}.*Helper- Include pattern:
**/*.{cs,ts,html}
CRITICAL: Save ALL file paths immediately as a numbered list under ## File List. Update the Total Items count in ## Progress.
DEBUGGING-SPECIFIC DISCOVERY
ERROR_BOUNDARY_DISCOVERY: Focus on debugging-relevant patterns:
Error Tracing Analysis: Find stack traces, map error propagation paths, identify handling patterns. Document under
## Error Boundaries.Component Interaction Debugging: Discover service dependencies, find relevant endpoints/handlers, analyze request flows. Document under
## Interaction Map.Platform Debugging Intelligence: Find platform error patterns (
PlatformValidationResult,PlatformException), CQRS error paths, repository error patterns. Document under## Platform Error Patterns.Discovery searches:
- Semantic and grep search all error keywords
- Prioritize: Domain Entities, Commands, Queries, Event Handlers, Controllers, Background Jobs, Consumers
- Save ALL file paths to
## File List
PHASE 1B: SYSTEMATIC FILE ANALYSIS FOR DEBUGGING
IMPORTANT: MUST DO WITH TODO LIST
Count total files in file list, split it into many batches of 10 files in priority order. For each batch, insert a new task in the current todo list for analyzing that batch.
File Analysis Order (by priority):
- Domain Entities
- Commands
- Queries
- Event Handlers
- Controllers
- Background Jobs
- Consumers
- Frontend Components .ts
CRITICAL: You must analyze ALL files in the file list identified as belonging to the highest priority categories.
For each file, add results into ## Knowledge Graph section. The heading of each analyzed file must have the item order number in the heading.
Core fields for each file:
filePath: Full path to the filetype: Component classificationarchitecturalPattern: Design pattern usedcontent: Purpose and logic summarysymbols: Classes, interfaces, methodsdependencies: Imports/using statementsbusinessContext: Comprehensive detail of all business logic, how it contributes to requirementsreferenceFiles: Files using this file's symbolsrelevanceScore: 1-10evidenceLevel: "verified" or "inferred"uncertainties: Unclear aspectsplatformAbstractions: Platform base classes usedserviceContext: Microservice ownershipdependencyInjection: DI registrationsgenericTypeParameters: Generic type relationships
Debugging-specific fields:
errorPatterns: Exception handling, validation logicstackTraceRelevance: Relation to stack tracesdebuggingComplexity: Difficulty to debug (1-10)errorPropagation: How errors flow through componentplatformErrorHandling: Use of platform error patternscrossServiceErrors: Cross-service error scenariosvalidationLogic: Business rule validation that could faildependencyErrors: Potential dependency failures
Message Bus Analysis (CRITICAL FOR CONSUMERS):
messageBusAnalysis: When analyzing Consumer files (*Consumer.csextendingPlatformApplicationMessageBusConsumer<T>):- Identify the
*BusMessagetype used - Grep search ALL services to find files that send/publish this message
- List all producer files and their service locations in
messageBusProducers
- Identify the
Targeted Aspect Analysis (targetedAspectAnalysis):
For Front-End items:
componentHierarchy,routeConfig,routeGuardsstateManagementStores,dataBindingPatterns,validationStrategies
For Back-End items:
authorizationPolicies,commands,queriesdomainEntities,repositoryPatterns,businessRuleImplementations
For Consumer items:
messageBusMessage,messageBusProducerscrossServiceIntegration,handleLogicWorkflow
MANDATORY PROGRESS TRACKING: After processing every 10 files, you MUST update Items Processed in ## Progress, run a CONTEXT_ANCHOR_CHECK, and explicitly state your progress. After each file, add its path to the ## Processed Files list.
PHASE 1C: OVERALL ANALYSIS
Write comprehensive overallAnalysis: summary showing:
- Complete end-to-end workflows discovered
- Key architectural patterns and relationships
- Error propagation paths
- All business logic workflows: From front-end to back-end
- Example: Front-end Component => Controller Api Service => Command/Query => EventHandler => Others (Send email, producer bus message)
- Example: Background Job => Event Handler => Others
- Integration points and failure points
- Cross-service dependencies identified
PHASE 2: MULTI-DIMENSIONAL ROOT CAUSE ANALYSIS
Prerequisites: Ensure ALL files are analyzed. Read the ENTIRE analysis notes file.
Perform systematic analysis under ## Root Cause Analysis:
Root Cause Dimensions
- Technical Root Causes: Code defects, architectural issues
- Business Logic Root Causes: Rule violations, validation failures
- Process Root Causes: Missing validation, inadequate testing
- Data Root Causes: Data corruption, integrity violations
- Environmental Root Causes: Configuration issues, deployment problems
- Integration Root Causes: API contract violations, communication failures
Document
potentialRootCausesranked by probability- Generate
## Fix Strategywith alternatives:suggestedFixriskAssessmentregressionMitigationtestingStrategyrollbackPlan
PHASE 2.1: VERIFY AND REFACTOR
First, verify and ensure your fix strategy follows code patterns and conventions from these files:
.github/copilot-instructions.md- Platform patterns.github/instructions/frontend-angular.instructions.md- Frontend patterns.github/instructions/backend-dotnet.instructions.md- Backend patterns.github/instructions/clean-code.instructions.md- Clean code rules
Then verify and ensure your fix satisfies clean code rules.
PHASE 3: APPROVAL GATE
CRITICAL: Present comprehensive root cause analysis and prioritized fix strategy for explicit approval. DO NOT proceed without it.
PHASE 4: DEBUGGING EXECUTION
Once approved:
- Before creating or modifying ANY file, you MUST first load its relevant entry from your
## Knowledge Graph - Execute the fix plan
- Use all DEBUGGING_SAFEGUARDS
- If any step fails, HALT, report the failure, and return to the APPROVAL GATE
- Test the fix thoroughly
SUCCESS VALIDATION
Before completion:
- Verify fix resolves the bug without regressions
- Document under
## Debugging Validationheading:- Bug reproduction steps (before)
- Fix verification steps (after)
- Regression testing results
- Summarize changes in
changelog.md
Debugging Guidelines
- Evidence-based debugging: Start with actual error messages, stack traces, and logs
- Platform error patterns: Use
PlatformValidationResultandPlatformExceptionpatterns - Hypothesis-driven approach: Test one hypothesis at a time with evidence
- Minimal impact fixes: Prefer targeted fixes over broad refactoring
- Verify before claiming: Never assume - always trace the actual code path
- Service boundary discovery: Find endpoints before assuming responsibilities
- Never assume service ownership: Verify patterns with code evidence