claude-evolve 1.3.2 → 1.3.4

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.
@@ -222,21 +222,16 @@ if command -v gnuplot >/dev/null 2>&1 && [[ $valid_performance_count -gt 0 ]]; t
222
222
  echo "# Row ID Performance Generation" >"$data_file"
223
223
  echo "# Generation AvgPerformance Color" >"$gen_avg_file"
224
224
 
225
- # Get color by generation number
225
+ # Get color by generation number (rotates through 5 colors)
226
226
  get_gen_color() {
227
227
  local gen_num="$1"
228
- case $gen_num in
228
+ local color_index=$(( (gen_num - 1) % 5 + 1 ))
229
+ case $color_index in
229
230
  1) echo "#1f77b4" ;; # blue
230
231
  2) echo "#ff7f0e" ;; # orange
231
232
  3) echo "#2ca02c" ;; # green
232
233
  4) echo "#d62728" ;; # red
233
234
  5) echo "#9467bd" ;; # purple
234
- 6) echo "#8c564b" ;; # brown
235
- 7) echo "#e377c2" ;; # pink
236
- 8) echo "#7f7f7f" ;; # gray
237
- 9) echo "#bcbd22" ;; # olive
238
- 10) echo "#17becf" ;; # cyan
239
- *) echo "#cccccc" ;; # default gray
240
235
  esac
241
236
  }
242
237
 
@@ -284,8 +279,9 @@ if command -v gnuplot >/dev/null 2>&1 && [[ $valid_performance_count -gt 0 ]]; t
284
279
  fi
285
280
  done <"$csv_file"
286
281
 
287
- # Create generation averages file
282
+ # Create generation averages file and track max generation
288
283
  gen_index=1
284
+ max_gen_num=0
289
285
  for gen in $(cut -d' ' -f1 "$gen_data_temp" | sort -u); do
290
286
  if grep -q "^$gen " "$gen_data_temp"; then
291
287
  # Calculate average for this generation
@@ -294,6 +290,10 @@ if command -v gnuplot >/dev/null 2>&1 && [[ $valid_performance_count -gt 0 ]]; t
294
290
  if [[ $count -gt 0 ]]; then
295
291
  avg=$(echo "scale=4; $sum / $count" | bc -l 2>/dev/null || echo "0")
296
292
  gen_num=$(echo "$gen" | sed 's/gen0*//')
293
+ # Track max generation number
294
+ if [[ $gen_num -gt $max_gen_num ]]; then
295
+ max_gen_num=$gen_num
296
+ fi
297
297
  color=$(get_gen_color "$gen_num")
298
298
  echo "$gen_index \"$gen\" $avg \"$color\"" >>"$gen_avg_file"
299
299
  ((gen_index++))
@@ -308,6 +308,28 @@ if command -v gnuplot >/dev/null 2>&1 && [[ $valid_performance_count -gt 0 ]]; t
308
308
 
309
309
  # Generate dual plot
310
310
  if [[ -s "$data_file" ]]; then
311
+ # Build dynamic plot command for generations
312
+ plot_cmd=""
313
+ for ((i=1; i<=max_gen_num; i++)); do
314
+ color=$(get_gen_color "$i")
315
+ if [[ -n $plot_cmd ]]; then
316
+ plot_cmd="$plot_cmd, \\"$'\n'
317
+ fi
318
+ plot_cmd="${plot_cmd} \"$data_file\" using (\$4==$i?\$1:1/0):3 with linespoints linewidth 2 linecolor rgb \"$color\" pointsize 0.8 title \"Gen $i\""
319
+ done
320
+ # Add winner point
321
+ plot_cmd="$plot_cmd, \\"$'\n'
322
+ plot_cmd="${plot_cmd} \"$winner_file\" using 1:3 with points pointtype 7 pointsize 2 linecolor rgb \"#0066cc\" title \"Winner\""
323
+
324
+ # Build x-axis labels for generation chart
325
+ xtics_labels=""
326
+ for ((i=1; i<=max_gen_num; i++)); do
327
+ if [[ -n $xtics_labels ]]; then
328
+ xtics_labels="$xtics_labels, "
329
+ fi
330
+ xtics_labels="${xtics_labels}\"Gen$i\" $i"
331
+ done
332
+
311
333
  gnuplot <<EOF
312
334
  set terminal png size 1200,800
313
335
  set output "$output_file"
@@ -324,12 +346,7 @@ set key outside right
324
346
  set xtics auto
325
347
 
326
348
  # Define colors for generations
327
- plot "$data_file" using (\$4==1?\$1:1/0):3 with linespoints linewidth 2 linecolor rgb "#1f77b4" pointsize 0.8 title "Gen 1", \\
328
- "$data_file" using (\$4==2?\$1:1/0):3 with linespoints linewidth 2 linecolor rgb "#ff7f0e" pointsize 0.8 title "Gen 2", \\
329
- "$data_file" using (\$4==3?\$1:1/0):3 with linespoints linewidth 2 linecolor rgb "#2ca02c" pointsize 0.8 title "Gen 3", \\
330
- "$data_file" using (\$4==4?\$1:1/0):3 with linespoints linewidth 2 linecolor rgb "#d62728" pointsize 0.8 title "Gen 4", \\
331
- "$data_file" using (\$4==5?\$1:1/0):3 with linespoints linewidth 2 linecolor rgb "#9467bd" pointsize 0.8 title "Gen 5", \\
332
- "$winner_file" using 1:3 with points pointtype 7 pointsize 2 linecolor rgb "#0066cc" title "Winner"
349
+ plot $plot_cmd
333
350
 
334
351
  #=================== BOTTOM PLOT: Generation Averages ===================
335
352
  set title "Average Performance by Generation" font ",14"
@@ -341,7 +358,7 @@ unset key
341
358
  set grid y
342
359
 
343
360
  # Set custom x-axis labels
344
- set xtics ("Gen1" 1, "Gen2" 2, "Gen3" 3, "Gen4" 4, "Gen5" 5)
361
+ set xtics ($xtics_labels)
345
362
 
346
363
  plot "$gen_avg_file" using 1:3 with boxes linecolor rgb "#4CAF50" notitle
347
364
 
@@ -222,11 +222,8 @@ check_stuck_candidates
222
222
  set +e # Don't exit on error in the main loop
223
223
 
224
224
  while true; do
225
- # Check if too many consecutive failures
226
- if [[ $consecutive_failures -ge $MAX_FAILURES ]]; then
227
- echo "[ERROR] Too many consecutive failures ($consecutive_failures). Stopping." >&2
228
- break
229
- fi
225
+ # In parallel mode, let individual algorithm failures happen
226
+ # The generation is finite, so worst case it just completes with many failures
230
227
 
231
228
  # Check if rate limit was hit
232
229
  if [[ $rate_limit_hit == true ]]; then
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "claude-evolve",
3
- "version": "1.3.2",
3
+ "version": "1.3.4",
4
4
  "bin": {
5
5
  "claude-evolve": "./bin/claude-evolve",
6
6
  "claude-evolve-main": "./bin/claude-evolve-main",