claude-evolve 1.5.30 → 1.5.32
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-edit +22 -6
- package/lib/config.sh +2 -2
- package/package.json +1 -1
package/bin/claude-evolve-edit
CHANGED
|
@@ -40,6 +40,7 @@ SELECTORS:
|
|
|
40
40
|
pending Target all candidates with pending status
|
|
41
41
|
running Target all candidates with running status
|
|
42
42
|
skipped Target all candidates with skipped status
|
|
43
|
+
0perf Target all candidates with 0 performance score
|
|
43
44
|
|
|
44
45
|
ACTIONS:
|
|
45
46
|
failed Mark candidates as failed (keeps scores)
|
|
@@ -50,6 +51,7 @@ ACTIONS:
|
|
|
50
51
|
failed-retry2 Mark candidates for retry attempt 2 (bug fixing)
|
|
51
52
|
failed-retry3 Mark candidates for retry attempt 3 (bug fixing)
|
|
52
53
|
reboot Reset completely (delete .py files, clear scores, set pending)
|
|
54
|
+
reset Same as reboot (synonym)
|
|
53
55
|
delete Delete candidates from CSV and remove .py files (asks confirmation)
|
|
54
56
|
|
|
55
57
|
EXAMPLES:
|
|
@@ -62,6 +64,8 @@ EXAMPLES:
|
|
|
62
64
|
claude-evolve edit complete failed # Mark all complete as failed for re-run
|
|
63
65
|
claude-evolve edit all pending # Mark everything as pending for re-run
|
|
64
66
|
claude-evolve edit gen02 reboot # Full reset of gen02 (delete files + clear data)
|
|
67
|
+
claude-evolve edit gen02 reset # Same as reboot (synonym)
|
|
68
|
+
claude-evolve edit 0perf pending # Reset all candidates with 0 performance
|
|
65
69
|
claude-evolve edit gen02 delete # Delete gen02 from CSV and remove .py files
|
|
66
70
|
|
|
67
71
|
DESCRIPTION:
|
|
@@ -112,16 +116,16 @@ if ! validate_config; then
|
|
|
112
116
|
fi
|
|
113
117
|
|
|
114
118
|
# Validate selector format
|
|
115
|
-
if [[ "$SELECTOR" != "all" && ! "$SELECTOR" =~ ^gen[0-9]+$ && "$SELECTOR" != "failed" && "$SELECTOR" != "complete" && "$SELECTOR" != "pending" && "$SELECTOR" != "running" && "$SELECTOR" != "skipped" ]]; then
|
|
116
|
-
echo "[ERROR] Selector must be 'all', 'genXX' (e.g., gen01), or status ('failed', 'complete', 'pending', 'running', 'skipped')" >&2
|
|
119
|
+
if [[ "$SELECTOR" != "all" && ! "$SELECTOR" =~ ^gen[0-9]+$ && "$SELECTOR" != "failed" && "$SELECTOR" != "complete" && "$SELECTOR" != "pending" && "$SELECTOR" != "running" && "$SELECTOR" != "skipped" && "$SELECTOR" != "0perf" ]]; then
|
|
120
|
+
echo "[ERROR] Selector must be 'all', 'genXX' (e.g., gen01), or status ('failed', 'complete', 'pending', 'running', 'skipped', '0perf')" >&2
|
|
117
121
|
exit 1
|
|
118
122
|
fi
|
|
119
123
|
|
|
120
124
|
# Validate action
|
|
121
125
|
case "$ACTION" in
|
|
122
|
-
failed|complete|pending|skipped|failed-retry1|failed-retry2|failed-retry3|reboot|delete) ;;
|
|
126
|
+
failed|complete|pending|skipped|failed-retry1|failed-retry2|failed-retry3|reboot|reset|delete) ;;
|
|
123
127
|
*)
|
|
124
|
-
echo "[ERROR] Action must be one of: failed, complete, pending, skipped, failed-retry1, failed-retry2, failed-retry3, reboot, delete" >&2
|
|
128
|
+
echo "[ERROR] Action must be one of: failed, complete, pending, skipped, failed-retry1, failed-retry2, failed-retry3, reboot, reset, delete" >&2
|
|
125
129
|
exit 1
|
|
126
130
|
;;
|
|
127
131
|
esac
|
|
@@ -213,12 +217,16 @@ try:
|
|
|
213
217
|
elif selector.startswith('gen') and '-' in candidate_id:
|
|
214
218
|
# Generation selector (e.g., gen01, gen02)
|
|
215
219
|
matches = candidate_id.startswith(selector + '-')
|
|
216
|
-
elif selector in ['failed', 'complete', 'pending', 'running', 'skipped']:
|
|
220
|
+
elif selector in ['failed', 'complete', 'pending', 'running', 'skipped', '0perf']:
|
|
217
221
|
# Status selector
|
|
218
222
|
if selector == 'pending':
|
|
219
223
|
matches = current_status == '' or current_status == 'pending'
|
|
220
224
|
elif selector == 'failed':
|
|
221
225
|
matches = current_status.startswith('failed')
|
|
226
|
+
elif selector == '0perf':
|
|
227
|
+
# Select candidates with performance == 0
|
|
228
|
+
performance = row[3] if len(row) > 3 else ''
|
|
229
|
+
matches = performance == '0' or performance == '0.0'
|
|
222
230
|
else:
|
|
223
231
|
matches = current_status == selector
|
|
224
232
|
|
|
@@ -367,6 +375,10 @@ try:
|
|
|
367
375
|
matches = current_status.startswith('failed')
|
|
368
376
|
elif selector == 'skipped':
|
|
369
377
|
matches = current_status == 'skipped'
|
|
378
|
+
elif selector == '0perf':
|
|
379
|
+
# Select candidates with performance == 0
|
|
380
|
+
performance = row[3] if len(row) > 3 else ''
|
|
381
|
+
matches = performance == '0' or performance == '0.0'
|
|
370
382
|
else:
|
|
371
383
|
matches = current_status == selector
|
|
372
384
|
|
|
@@ -487,6 +499,10 @@ with EvolutionCSV('$FULL_CSV_PATH') as csv:
|
|
|
487
499
|
matches = current_status.startswith('failed')
|
|
488
500
|
elif selector == 'skipped':
|
|
489
501
|
matches = current_status == 'skipped'
|
|
502
|
+
elif selector == '0perf':
|
|
503
|
+
# Select candidates with performance == 0
|
|
504
|
+
performance = row[3] if len(row) > 3 else ''
|
|
505
|
+
matches = performance == '0' or performance == '0.0'
|
|
490
506
|
else:
|
|
491
507
|
matches = current_status == selector
|
|
492
508
|
|
|
@@ -544,7 +560,7 @@ case "$ACTION" in
|
|
|
544
560
|
failed-retry3)
|
|
545
561
|
update_candidates_status "$SELECTOR" "failed-retry3" "false"
|
|
546
562
|
;;
|
|
547
|
-
reboot)
|
|
563
|
+
reboot|reset)
|
|
548
564
|
echo "[INFO] Performing full reboot of '$SELECTOR'..."
|
|
549
565
|
delete_evolution_files "$SELECTOR"
|
|
550
566
|
update_candidates_status "$SELECTOR" "" "true" # Clear scores and set pending
|
package/lib/config.sh
CHANGED
|
@@ -54,8 +54,8 @@ DEFAULT_MAX_RETRIES=3
|
|
|
54
54
|
DEFAULT_MEMORY_LIMIT_MB=12288
|
|
55
55
|
|
|
56
56
|
# Default LLM CLI configuration - use simple variables instead of arrays
|
|
57
|
-
DEFAULT_LLM_RUN="
|
|
58
|
-
DEFAULT_LLM_IDEATE="gemini sonnet-think
|
|
57
|
+
DEFAULT_LLM_RUN="gpt5 cursor-sonnet deepseek"
|
|
58
|
+
DEFAULT_LLM_IDEATE="gemini sonnet-think gpt5high o3high glm"
|
|
59
59
|
|
|
60
60
|
# Load configuration from config file
|
|
61
61
|
load_config() {
|