- Syntax error in
HealingWorkspaceManager#test_fixes_in_workspaceunmatchedendcorrected.
- Targeted RSpec test-fix loop after code changes in
ClaudeCodeEvolutionHandler:- Runs specs for files related to recent modifications
- Parses failures and re-invokes Claude with failure summary
- Iterates up to
test_fix.max_iterations(default 2)
- Configuration:
test_fix.max_iterationswith sensible default inConfigManagerandsetup.rb.
- Removed demo mode code and comments across gem: prompts, setup script, logger phrasing, and workspace manager.
- Switched class targeting to excluded-classes-only model; removed
allowed_classesusage in config managers and setup generation.
- Backwards compatible; no breaking API changes. Configure
test_fix.max_iterationsinconfig/code_healer.ymlto tune retries.
All notable changes to this project will be documented in this file.
The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.
- Enhanced PresentationLogger: Improved with backtrace truncation, timing display, and specialized action methods
- Smart Value Truncation: Long arrays and strings are intelligently truncated for clean presentation
- Timing Integration: Total healing time displayed in final outcome
- Action-Specific Logging:
claude_action,workspace_action,git_actionmethods for contextual logging
- Workspace Logs: Dramatically reduced verbosity while maintaining key information
- Backtrace Display: Shows only first 3 relevant lines with clean formatting
- Git Operations: Streamlined git status and diff output for presentation clarity
- Outcome Display: Enhanced with timing and better formatting
- Perfect for conference demos with
CODE_HEALER_VERBOSE=truefor detailed debugging - No API changes; safe minor release
- PresentationLogger: clean, emoji-labeled, presentation-friendly logs with optional verbose mode (
CODE_HEALER_VERBOSE=true) - HealingJob and ClaudeCodeEvolutionHandler now use PresentationLogger for concise output
- Suppressed noisy prints in core healing flow in favor of high-signal steps and outcomes
- No API changes; safe minor release. Ideal for conference demos.
- Aggressive File Filtering: Implemented comprehensive filtering to prevent
tmp/,log/, and other temporary files from being committed - Pre-Commit Validation: Added workspace validation before commit to ensure no temporary files slip through
- Mandatory MCP Usage: Enhanced business context prompts to force Claude to use Atlassian MCP tools for Confluence/Jira integration
- Missing Method Fix: Added
extract_file_path_from_errormethod to resolve undefined method errors
- File Filtering: Enhanced
should_skip_file?method with aggressive patterns for temporary files at any level - Git Cleanup: Comprehensive cleanup of tracked temporary files using
git rm --cachedandfindcommands - Business Context: Changed from "optional" to "mandatory" MCP tool usage in prompts
- Setup Configuration: Fixed
setup.rbto includemcp__atlassianpermission in command template
- Temporary File Commits: Prevents
tmp/,log/,storage/,coverage/directories from being committed - MCP Tool Access: Fixed missing
mcp__atlassianpermission in setup script - Syntax Error: Removed stray
ycharacter that caused Ruby syntax errors - Method Missing: Added missing
extract_file_path_from_errormethod toHealingJobclass
- Persistent Isolated Workspaces: Implemented persistent workspaces that reuse the same isolated environment instead of cloning each time
- Smart Branch Checkout: Workspaces now checkout to the configured target branch instead of cloning the current working branch
- Workspace Reset: Added ability to reset workspace to clean state without deleting the entire workspace
- Configuration Control: Added
persistent_workspacesandsticky_workspaceconfiguration options
- Workspace Strategy: Changed from cloning new workspaces each time to reusing persistent workspaces with branch checkout
- Performance: Significantly faster healing operations by avoiding repeated repository cloning
- Branch Targeting: Workspaces now target the configured
pr_target_branchinstead of the current working branch
- Branch Consistency: Ensures fixes are always applied to the correct target branch regardless of current working branch
- Critical Flag Fix: Fixed Claude Terminal command to use correct
--printflag instead of unsupported--codeflag - Command Compatibility: Ensured all Claude Terminal flags are compatible with the
--printcommand - Fallback Template: Updated fallback command template to use correct flags
- Critical Bug Fix: Resolved
mcp_setupundefined method error in Claude Code evolution handler - Claude Command Fix: Fixed command template to use
--printinstead of--codefor proper code editing - Demo Mode Enhancement: Improved demo mode handling with optimized Claude command building
- Command Cleanup: Removed duplicate permission flags and incompatible command options
- Confluence MCP Integration: Added direct Confluence MCP tools for business context fetching (optional usage)
- Flexible MCP Usage: Enhanced prompts to optionally use Confluence MCP tools when available
- Non-interactive MCP: Fixed Claude Terminal flags to avoid manual approval prompts
- Business Context Strategy: Added
confluence_onlystrategy for focused Confluence documentation usage
- MCP Tool Access: Removed restrictive tool flags that blocked MCP tool usage
- Debug Logging: Cleaned up unnecessary MCP debugging logs from initialization and job startup
- Command Optimization: Fixed Claude Terminal command flags for proper MCP integration
- Prompt Strategy: Updated business context prompts to optionally use MCP tools when available
- Initialization: Streamlined gem startup without MCP availability checks
- Dependencies: Maintained
httpartyfor MCP API integration while removing debug overhead
- Critical Git Operations Duplication: Fixed duplicate Git operations between evolution handler and workspace manager.
- Branch Detection: Fixed automatic detection of repository's default branch (master vs main).
- Configuration Loading: Fixed pr_target_branch configuration loading from both git section and root level.
- Workspace Isolation: Improved Git operations to occur only in isolated workspace, preventing conflicts.
- Evolution Handler: Removed duplicate Git operations to prevent conflicts with workspace manager.
- Setup Script: Enhanced with automatic branch detection and better configuration structure.
- Critical YAML Generation Bug: Fixed incorrect indentation in setup script that caused YAML parsing errors.
- Configuration File Structure: Corrected all YAML indentation issues in generated configuration files.
- Interactive Demo Mode Setup: Added comprehensive demo mode configuration options to the interactive setup script.
- Demo Mode Features: Timeout reduction (60s), sticky workspace, Claude session persistence, and conditional test/PR skipping.
- Setup Script Enhancements: Better user guidance for demo mode configuration and performance optimization.
- Setup Script: Enhanced with demo mode questions and configuration generation.
- Configuration Generation: Automatically generates optimized settings for conference demonstrations.
- Processing state: dashboard shows in-flight healings as "processing" (no longer treated as failed)
- API metrics payload now includes
statusand timezone-awarecreated_at
- API endpoints default to JSON (
/code_healer/api/...) to avoid template lookup - Compact metrics JSON for dashboard list rendering
- Timezone correctness: all metrics timestamps use
Time.zone - Daily trend counts computed with timezone-aware day buckets
- Dashboard Template Loading: Fixed template loading issues by explicitly specifying view paths
- Engine Views Configuration: Properly configured engine views path to resolve template missing errors
- Controller Template Rendering: Updated render calls to use explicit template paths
- Template Rendering: Changed from implicit template rendering to explicit template path specification
- View Path Configuration: Enhanced engine configuration for proper view loading
- Dashboard UI Improvements: Enhanced dashboard with proper HTML layout and styling
- Charts and Visualizations: Added Chart.js integration for data visualization
- Detailed Views: Enhanced healing details and performance metrics views
- Responsive Design: Mobile-friendly dashboard interface
- SQL Compatibility: Replaced raw SQL with Rails-native methods for better database compatibility
- Dashboard Controller: Fixed controller loading and routing issues
- Engine Integration: Simplified engine structure to avoid conflicts
- Metrics Collection: Improved performance of dashboard metrics queries
- UI Rendering: Replaced plain text dashboard with proper HTML views
- Automatic Dashboard Integration: Rails Engine automatically mounts dashboard routes
- Database Migrations: Automatic migration copying and execution
- Dashboard Components: Complete dashboard system with metrics, trends, and performance views
- API Endpoints: JSON API for dashboard data integration
- Git Operations: All Git operations now occur within isolated healing workspaces
- PR Creation: Fixed duplicate PR creation and repository targeting issues
- Workspace Management: Improved isolated healing environment with proper cleanup
- Healing Workflow: Complete isolation of healing operations from main repository
- Dashboard Installation: Fully automatic dashboard setup via Rails Engine
- Duplicate PR Creation: Prevented duplicate PR creation when evolution handler already creates PRs
- Workspace Cleanup: Improved cleanup of healing workspaces
- Repository Cloning: Fixed incorrect repository cloning by using GitHub remote URL instead of local path
- Git Remote: Ensured workspace has correct remote origin for proper Git operations
- Git Operations: All Git operations (branching, committing, pushing, PR creation) now occur strictly within isolated workspace
- File Operations: Removed direct file copying to main repository for complete isolation
- Git Commit Issues: Added proper change detection before committing in isolated workspace
- File Comparison: Enhanced file comparison logic to only copy changed files
- Workspace Cleanup: Improved cleanup process to prevent Git conflicts
- Git Working Tree: Preserved .git directory during cloning and only removed during cleanup
- Branch Name Sanitization: Improved branch name handling for Git operations
- Duplicate Class Definition: Removed duplicate HealingJob class definition causing Sidekiq errors
- Workspace Logging: Added comprehensive logging to isolated healing workspace system
- Configuration Keys: Updated HealingWorkspaceManager to handle both string and symbol keys
- Git Operations: Fixed Git operations in isolated healing workspaces
- Production Safety: Enhanced production safety with isolated healing workspaces
- Git Integration: Improved Git integration within isolated environments
- AI-Powered Code Healing: Automatic code error detection and repair
- Multiple AI Providers: Support for OpenAI API and Claude Code Terminal
- Business Context Integration: MCP-powered intelligent healing with business rules
- Git Integration: Automatic branch creation, commits, and pull requests
- Isolated Healing: Safe code modification in isolated workspaces
- Dashboard System: Metrics collection and visualization
- Rails Integration: Automatic Rails application integration via Railtie
- 0.1.0: Initial gem release with core functionality
- Unreleased: Future improvements and features
Please read CONTRIBUTING.md for details on our code of conduct and the process for submitting pull requests.
This project is licensed under the MIT License - see the LICENSE file for details.