# Meta-Rule: Bug Diagnosis Workflow **Author**: Matthew Raymer **Date**: August 24, 2025 **Status**: 🎯 **ACTIVE** - Core workflow for all bug investigation ## Purpose This meta-rule defines the systematic approach for investigating and diagnosing bugs, defects, and unexpected behaviors in the TimeSafari application. It ensures consistent, thorough, and efficient problem-solving workflows. ## Workflow Constraints **This meta-rule enforces DIAGNOSIS MODE for all bundled sub-rules:** ```json { "workflowMode": "diagnosis", "constraints": { "mode": "read_only", "forbidden": ["modify", "create", "build", "commit"], "required": "complete_investigation_before_fixing" } } ``` **All bundled sub-rules automatically inherit these constraints.** ## Workflow State Update **When this meta-rule is invoked, update the workflow state file:** ```json { "currentMode": "diagnosis", "lastInvoked": "meta_bug_diagnosis.mdc", "timestamp": "2025-01-27T15:30:00Z", "constraints": { "mode": "read_only", "forbidden": ["modify", "create", "build", "commit"], "allowed": ["read", "search", "analyze", "document"], "required": "complete_investigation_before_fixing" } } ``` **State File Location**: `.cursor/rules/.workflow_state.json` **This enables the core always-on rule to enforce diagnosis mode constraints.** ## When to Use **ALWAYS** - Apply this workflow to every bug investigation, regardless of severity or complexity. This ensures systematic problem-solving and prevents common investigation pitfalls. ## Bundled Rules ### **Investigation Foundation** - **`development/research_diagnostic.mdc`** - Research and investigation methodologies - **`development/logging_standards.mdc`** - Logging and debugging best practices - **`development/type_safety_guide.mdc`** - Type safety and error prevention ### **Development Workflow** - **`workflow/version_control.mdc`** - Version control during investigation - **`development/software_development.mdc`** - Development best practices ## Critical Development Constraints ### **🚫 NEVER Use Build Commands During Diagnosis** **Critical Rule**: Never use `npm run build:web` or similar build commands during bug diagnosis - **Reason**: These commands block the chat and prevent effective troubleshooting - **Impact**: Blocks user interaction, prevents real-time problem solving - **Alternative**: Use safe, fast commands for investigation - **When to use build**: Only after diagnosis is complete and fixes are ready for testing ### **Safe Diagnosis Commands** ✅ **Safe to use during diagnosis:** - `npm run lint-fix` - Syntax and style checking - `npm run type-check` - TypeScript validation (if available) - `git status` - Version control status - `ls` / `dir` - File listing - `cat` / `read_file` - File content inspection - `grep_search` - Text pattern searching ❌ **Never use during diagnosis:** - `npm run build:web` - Blocks chat - `npm run build:electron` - Blocks chat - `npm run build:capacitor` - Blocks chat - Any long-running build processes ## Investigation Workflow ### **Phase 1: Problem Definition** 1. **Gather Evidence** - Error messages and stack traces - User-reported symptoms - System logs and timestamps - Reproduction steps 2. **Context Analysis** - When did the problem start? - What changed recently? - Which platform/environment? - User actions leading to the issue ### **Phase 2: Systematic Investigation** 1. **Code Inspection** - Relevant file examination - Import and dependency analysis - Syntax and type checking - Logic flow analysis 2. **Environment Analysis** - Platform-specific considerations - Configuration and settings - Database and storage state - Network and API connectivity ### **Phase 3: Root Cause Identification** 1. **Pattern Recognition** - Similar issues in codebase - Common failure modes - Platform-specific behaviors - Recent changes impact 2. **Hypothesis Testing** - Targeted code changes - Configuration modifications - Environment adjustments - Systematic elimination ## Investigation Techniques ### **Safe Code Analysis** - **File Reading**: Use `read_file` tool for targeted inspection - **Pattern Searching**: Use `grep_search` for code patterns - **Semantic Search**: Use `codebase_search` for related functionality - **Import Tracing**: Follow dependency chains systematically ### **Error Analysis** - **Stack Trace Analysis**: Identify error origin and propagation - **Log Correlation**: Match errors with system events - **Timeline Reconstruction**: Build sequence of events - **Context Preservation**: Maintain investigation state ### **Platform Considerations** - **Web Platform**: Browser-specific behaviors and limitations - **Electron Platform**: Desktop app considerations - **Capacitor Platform**: Mobile app behaviors - **Cross-Platform**: Shared vs. platform-specific code ## Evidence Collection Standards ### **Timestamps** - **UTC Format**: All timestamps in UTC for consistency - **Precision**: Include milliseconds for precise correlation - **Context**: Include relevant system state information - **Correlation**: Link events across different components ### **Error Context** - **Full Error Objects**: Capture complete error information - **Stack Traces**: Preserve call stack for analysis - **User Actions**: Document steps leading to error - **System State**: Capture relevant configuration and state ### **Reproduction Steps** - **Clear Sequence**: Step-by-step reproduction instructions - **Environment Details**: Platform, version, configuration - **Data Requirements**: Required data or state - **Expected vs. Actual**: Clear behavior comparison ## Investigation Documentation ### **Problem Summary** - **Issue Description**: Clear, concise problem statement - **Impact Assessment**: Severity and user impact - **Scope Definition**: Affected components and users - **Priority Level**: Based on impact and frequency ### **Investigation Log** - **Timeline**: Chronological investigation steps - **Evidence**: Collected information and findings - **Hypotheses**: Tested theories and results - **Conclusions**: Root cause identification ### **Solution Requirements** - **Fix Description**: Required changes and approach - **Testing Strategy**: Validation and verification steps - **Rollback Plan**: Reversion strategy if needed - **Prevention Measures**: Future issue prevention ## Quality Standards ### **Investigation Completeness** - **Evidence Sufficiency**: Adequate information for root cause - **Alternative Theories**: Considered and eliminated - **Platform Coverage**: All relevant platforms investigated - **Edge Cases**: Unusual scenarios considered ### **Documentation Quality** - **Clear Communication**: Understandable to all stakeholders - **Technical Accuracy**: Precise technical details - **Actionable Insights**: Clear next steps and recommendations - **Knowledge Transfer**: Lessons learned for future reference ## Common Pitfalls ### **Investigation Mistakes** - **Jumping to Solutions**: Implementing fixes before understanding - **Insufficient Evidence**: Making assumptions without data - **Platform Blindness**: Ignoring platform-specific behaviors - **Scope Creep**: Expanding investigation beyond original problem ### **Communication Issues** - **Technical Jargon**: Using unclear terminology - **Missing Context**: Insufficient background information - **Unclear Recommendations**: Vague or ambiguous next steps - **Poor Documentation**: Incomplete or unclear investigation records ## Success Criteria - [ ] **Problem clearly defined** with sufficient evidence - [ ] **Root cause identified** through systematic investigation - [ ] **Solution approach determined** with clear requirements - [ ] **Documentation complete** for knowledge transfer - [ ] **No chat-blocking commands** used during investigation - [ ] **Platform considerations** properly addressed - [ ] **Timeline and context** properly documented ## Integration with Other Meta-Rules ### **Bug Fixing** - **Investigation Results**: Provide foundation for fix implementation - **Solution Requirements**: Define what needs to be built - **Testing Strategy**: Inform validation approach - **Documentation**: Support implementation guidance ### **Feature Planning** - **Root Cause Analysis**: Identify systemic issues - **Prevention Measures**: Plan future issue avoidance - **Architecture Improvements**: Identify structural enhancements - **Process Refinements**: Improve development workflows ### **Research and Documentation** - **Knowledge Base**: Contribute to troubleshooting guides - **Pattern Recognition**: Identify common failure modes - **Best Practices**: Develop investigation methodologies - **Team Training**: Improve investigation capabilities --- **See also**: - `.cursor/rules/meta_bug_fixing.mdc` for implementing fixes - `.cursor/rules/meta_feature_planning.mdc` for planning improvements - `.cursor/rules/meta_documentation.mdc` for documentation standards **Status**: Active meta-rule for bug diagnosis **Priority**: High **Estimated Effort**: Ongoing reference **Dependencies**: All bundled sub-rules **Stakeholders**: Development team, QA team, DevOps team