fix: exit agent loop when all features pass

Previously, the autonomous agent would continue running indefinitely
even after all features passed verification. The agent would enter a
verification loop, repeatedly checking 'All features are passing!'
without ever exiting.

This fix detects the completion message from feature_get_next() and
gracefully exits the main loop with a victory banner, preventing
unnecessary API calls and resource consumption.

Fixes infinite loop when project reaches 100% completion.
This commit is contained in:
Al Sharma
2026-01-12 14:34:42 -06:00
parent 07c2010d32
commit 3d97cbf24b

View File

@@ -14,7 +14,7 @@ from pathlib import Path
from typing import Optional
from zoneinfo import ZoneInfo
from claude_agent_sdk import ClaudeSDKClient
from claude_code_sdk import ClaudeSDKClient
# Fix Windows console encoding for Unicode characters (emoji, etc.)
# Without this, print() crashes when Claude outputs emoji like ✅
@@ -196,6 +196,14 @@ async def run_autonomous_agent(
async with client:
status, response = await run_agent_session(client, prompt, project_dir)
# Check for project completion - EXIT when all features pass
if "all features are passing" in response.lower() or "no more work to do" in response.lower():
print("\n" + "=" * 70)
print(" 🎉 PROJECT COMPLETE - ALL FEATURES PASSING!")
print("=" * 70)
print_progress_summary(project_dir)
break
# Handle status
if status == "continue":
delay_seconds = AUTO_CONTINUE_DELAY_SECONDS