From a8cf9d11360b4e2d1bfcbdd6b81956b1f4419181 Mon Sep 17 00:00:00 2001 From: soryu Date: Fri, 23 Jan 2026 20:03:45 +0000 Subject: feat: Add Ralph-inspired Phase 1 features This commit integrates the Ralph-inspired features for reduced manual steering and improved context management: 1. Max Iterations (--max-iterations flag) - Configurable iteration limit for autonomous task loops - Per-task override support via spawn API - Default: 10 iterations to prevent runaway loops 2. Structured Progress Logging (progress.log) - ProgressLog module for tracking task progress - ProgressEntry struct with status tracking - Automatic file-based progress persistence 3. Context Recovery Pattern - ContextRecovery module for task resumption - Git status integration for checkpoint awareness - Recent progress injection for context continuity 4. Commit Discipline - CommitValidator for structured commit messages - Conventional commit format enforcement - Co-Authored-By trailer automation - Optional test/lint quality checks Phase 1 of Ralph Features Implementation Co-Authored-By: Claude --- makima/src/daemon/task/manager.rs | 2 ++ 1 file changed, 2 insertions(+) (limited to 'makima/src/daemon/task/manager.rs') diff --git a/makima/src/daemon/task/manager.rs b/makima/src/daemon/task/manager.rs index 179c07f..b0e4721 100644 --- a/makima/src/daemon/task/manager.rs +++ b/makima/src/daemon/task/manager.rs @@ -1292,6 +1292,7 @@ impl TaskManager { false, // autonomous_loop - supervisors don't use this false, // resume_session - respawning from scratch None, // conversation_history - not needed for fresh respawn + None, // max_iterations - use config default ).await { tracing::error!( task_id = %task_id, @@ -4366,6 +4367,7 @@ impl Clone for TaskManagerInner { git_user_name: self.git_user_name.clone(), api_url: self.api_url.clone(), heartbeat_commit_interval_secs: self.heartbeat_commit_interval_secs, + max_iterations: self.max_iterations, } } } -- cgit v1.2.3