mirror of
https://github.com/leonvanzyl/autocoder.git
synced 2026-01-30 06:12:06 +00:00
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:
10
agent.py
10
agent.py
@@ -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
|
||||
|
||||
Reference in New Issue
Block a user