claude-evolve 1.2.6 → 1.2.8

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.
@@ -129,7 +129,10 @@ fi
129
129
  # Generation analysis
130
130
  echo
131
131
  echo "=== Generation Analysis ==="
132
- declare -A gen_count gen_sum gen_completed
132
+
133
+ # Create temporary file for generation stats
134
+ gen_stats_file="/tmp/evolution_gen_stats_$$.tmp"
135
+ >"$gen_stats_file"
133
136
 
134
137
  while IFS=, read -r id _ desc perf status; do
135
138
  [[ $id == "id" ]] && continue # Skip header
@@ -142,33 +145,34 @@ while IFS=, read -r id _ desc perf status; do
142
145
  gen="gen00" # Mark old numeric IDs as gen00
143
146
  fi
144
147
 
145
- # Track generation stats
146
- : ${gen_count[$gen]:=0}
147
- ((gen_count[$gen]++))
148
-
148
+ # Write generation data to temp file
149
+ echo -n "$gen " >> "$gen_stats_file"
149
150
  if [[ $status =~ ^(complete|completed)$ && -n $perf && $perf != "" ]]; then
150
- : ${gen_completed[$gen]:=0}
151
- : ${gen_sum[$gen]:=0}
152
- ((gen_completed[$gen]++))
153
- gen_sum[$gen]=$(echo "${gen_sum[$gen]} + $perf" | bc -l 2>/dev/null || echo "${gen_sum[$gen]}")
151
+ echo "completed $perf" >> "$gen_stats_file"
152
+ else
153
+ echo "incomplete" >> "$gen_stats_file"
154
154
  fi
155
155
  done <"$csv_file"
156
156
 
157
- # Display generation stats
158
- for gen in $(printf '%s\n' "${!gen_count[@]}" | sort); do
159
- total_in_gen=${gen_count[$gen]}
160
- completed_in_gen=${gen_completed[$gen]:-0}
157
+ # Process generation stats
158
+ for gen in $(cut -d' ' -f1 "$gen_stats_file" | sort -u); do
159
+ total_in_gen=$(grep -c "^$gen " "$gen_stats_file")
160
+ completed_in_gen=$(grep -c "^$gen completed" "$gen_stats_file")
161
161
 
162
162
  echo -n "$gen: $total_in_gen candidates"
163
163
 
164
164
  if [[ $completed_in_gen -gt 0 ]]; then
165
- avg=$(echo "scale=4; ${gen_sum[$gen]} / $completed_in_gen" | bc -l 2>/dev/null || echo "0")
165
+ # Calculate average performance for this generation
166
+ sum=$(grep "^$gen completed" "$gen_stats_file" | awk '{s+=$3} END {print s}')
167
+ avg=$(echo "scale=4; $sum / $completed_in_gen" | bc -l 2>/dev/null || echo "0")
166
168
  echo " ($completed_in_gen completed, avg: $avg)"
167
169
  else
168
170
  echo " (0 completed)"
169
171
  fi
170
172
  done
171
173
 
174
+ rm -f "$gen_stats_file"
175
+
172
176
  # Simple chart generation using gnuplot if available
173
177
  if command -v gnuplot >/dev/null 2>&1 && [[ $count_with_performance -gt 0 ]]; then
174
178
  echo
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "claude-evolve",
3
- "version": "1.2.6",
3
+ "version": "1.2.8",
4
4
  "bin": {
5
5
  "claude-evolve": "./bin/claude-evolve",
6
6
  "claude-evolve-main": "./bin/claude-evolve-main",