claude-evolve 1.6.8 → 1.6.10
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/bin/claude-evolve-worker +10 -9
- package/lib/ai-cli.sh +8 -2
- package/lib/config.sh +2 -2
- package/package.json +1 -1
package/bin/claude-evolve-worker
CHANGED
|
@@ -139,6 +139,8 @@ call_ai_for_evolution() {
|
|
|
139
139
|
# Exhausted retries
|
|
140
140
|
echo "[WORKER-$$] All models hit usage limits after $max_retries retries" >&2
|
|
141
141
|
echo "[WORKER-$$] Unable to complete evolution due to API limits" >&2
|
|
142
|
+
# Clean up any partial target file before exiting
|
|
143
|
+
rm -f "$target_file"
|
|
142
144
|
exit 3
|
|
143
145
|
fi
|
|
144
146
|
fi
|
|
@@ -156,19 +158,18 @@ call_ai_for_evolution() {
|
|
|
156
158
|
fi
|
|
157
159
|
fi
|
|
158
160
|
|
|
159
|
-
# Success if
|
|
160
|
-
if
|
|
161
|
-
|
|
162
|
-
|
|
163
|
-
else
|
|
164
|
-
echo "[WORKER-$$] AI succeeded with exit code 0" >&2
|
|
165
|
-
fi
|
|
161
|
+
# Success only if the target file was actually modified.
|
|
162
|
+
# Even if AI exited with code 0, if there were no changes, treat as failure to avoid stale copies.
|
|
163
|
+
if [[ "$file_was_modified" == "true" ]]; then
|
|
164
|
+
echo "[WORKER-$$] AI successfully modified $target_file (exit code: $ai_exit_code)" >&2
|
|
166
165
|
# Output the result for the worker to use
|
|
167
166
|
echo "$ai_output"
|
|
168
167
|
return 0
|
|
169
168
|
fi
|
|
170
169
|
|
|
171
|
-
# Non-limit failure -
|
|
170
|
+
# Non-limit failure - no modification detected; clean up the copied file
|
|
171
|
+
echo "[WORKER-$$] AI changed nothing or failed; cleaning up temporary file" >&2
|
|
172
|
+
rm -f "$target_file"
|
|
172
173
|
echo "[WORKER-$$] AI failed: exit code $ai_exit_code, no file changes detected" >&2
|
|
173
174
|
return 1
|
|
174
175
|
done
|
|
@@ -580,4 +581,4 @@ with EvolutionCSV('$FULL_CSV_PATH') as csv:
|
|
|
580
581
|
CURRENT_CANDIDATE_ID=""
|
|
581
582
|
done
|
|
582
583
|
|
|
583
|
-
echo "[WORKER-$$] No more pending candidates, worker exiting"
|
|
584
|
+
echo "[WORKER-$$] No more pending candidates, worker exiting"
|
package/lib/ai-cli.sh
CHANGED
|
@@ -97,11 +97,17 @@ $prompt"
|
|
|
97
97
|
local ai_exit_code=$?
|
|
98
98
|
;;
|
|
99
99
|
codex-qwen3)
|
|
100
|
-
# Qwen3-Coder via Codex CLI with Ollama backend (
|
|
100
|
+
# Qwen3-Coder via Codex CLI with Ollama backend (only mildly agentic)
|
|
101
101
|
local ai_output
|
|
102
102
|
ai_output=$(timeout 600 codex exec --dangerously-bypass-approvals-and-sandbox --skip-git-repo-check --oss --model qwen3-coder:30b "$prompt" 2>&1)
|
|
103
103
|
local ai_exit_code=$?
|
|
104
104
|
;;
|
|
105
|
+
codex-oss)
|
|
106
|
+
# Codex-OSS via Codex CLI with Ollama backend
|
|
107
|
+
local ai_output
|
|
108
|
+
ai_output=$(timeout 600 codex exec --dangerously-bypass-approvals-and-sandbox --skip-git-repo-check --oss "$prompt" 2>&1)
|
|
109
|
+
local ai_exit_code=$?
|
|
110
|
+
;;
|
|
105
111
|
aider-qwen3|qwen3)
|
|
106
112
|
# Qwen3-Coder via Aider + Ollama
|
|
107
113
|
# Extract the target filename from the prompt (e.g., "Modify the algorithm in evolution_gen01-001.py...")
|
|
@@ -345,4 +351,4 @@ call_ai_with_round_robin() {
|
|
|
345
351
|
# Legacy function name for compatibility
|
|
346
352
|
call_ai_with_fallbacks() {
|
|
347
353
|
call_ai_with_round_robin "$@"
|
|
348
|
-
}
|
|
354
|
+
}
|
package/lib/config.sh
CHANGED
|
@@ -55,9 +55,9 @@ DEFAULT_MEMORY_LIMIT_MB=12288
|
|
|
55
55
|
|
|
56
56
|
# Default LLM CLI configuration - use simple variables instead of arrays
|
|
57
57
|
# Run: 100% local with qwen3 via Codex+Ollama (more reliable than aider)
|
|
58
|
-
DEFAULT_LLM_RUN="codex-qwen3"
|
|
58
|
+
DEFAULT_LLM_RUN="codex-qwen3 codex-oss"
|
|
59
59
|
# Ideate: Commercial models for idea generation + local fallback
|
|
60
|
-
DEFAULT_LLM_IDEATE="gemini sonnet-think gpt5high o3high glm grok-4 codex-qwen3"
|
|
60
|
+
DEFAULT_LLM_IDEATE="gemini sonnet-think gpt5high o3high glm grok-4 codex-qwen3 codex-oss"
|
|
61
61
|
|
|
62
62
|
# Load configuration from config file
|
|
63
63
|
load_config() {
|