claude-evolve 1.7.16 → 1.7.17

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.
@@ -978,7 +978,14 @@ generate_novel_ideas_direct() {
978
978
  done
979
979
 
980
980
  echo "[INFO] Generating $count novel exploration ideas with IDs: $required_ids_str"
981
- local data_rows=$(grep -v '^[[:space:]]*$' "$FULL_CSV_PATH" | tail -n +2 | wc -l)
981
+
982
+ # Count total lines in temp CSV (including header)
983
+ local total_lines
984
+ total_lines=$(wc -l < "$temp_csv")
985
+ local read_offset=$((total_lines - 25))
986
+ if [[ $read_offset -lt 1 ]]; then
987
+ read_offset=1
988
+ fi
982
989
 
983
990
  # Use relative paths and change to evolution directory so AI can access files
984
991
  local temp_csv_basename=$(basename "$temp_csv")
@@ -988,6 +995,8 @@ generate_novel_ideas_direct() {
988
995
 
989
996
  local prompt="I need you to use your file editing capabilities to fill in PLACEHOLDER descriptions in the CSV file: $temp_csv_basename
990
997
 
998
+ THE FILE HAS $total_lines TOTAL LINES. Read from line $read_offset to see the placeholder rows at the end.
999
+
991
1000
  Current evolution context:
992
1001
  - Generation: $CURRENT_GENERATION
993
1002
  - Algorithm: algorithm.py (base algorithm)
@@ -1000,9 +1009,15 @@ The CSV file already contains $count stub rows with these IDs: $required_ids_str
1000
1009
  Each stub row has a PLACEHOLDER description like: \"[PLACEHOLDER: Replace this with your algorithmic idea]\"
1001
1010
  Your job is to REPLACE each PLACEHOLDER with a real algorithmic idea description.
1002
1011
 
1012
+ ⚠️ CRITICAL FILE READING INSTRUCTIONS ⚠️
1013
+ THE CSV FILE IS VERY LARGE (OVER 100,000 TOKENS). YOU WILL RUN OUT OF CONTEXT IF YOU READ IT ALL!
1014
+ - DO NOT read the entire file or you will exceed context limits and CRASH
1015
+ - Use: Read(file_path='$temp_csv_basename', offset=$read_offset, limit=25)
1016
+ - This will read ONLY the last 25 lines where the placeholders are
1017
+ - DO NOT READ FROM OFFSET 0 - that will load the entire huge file and fail!
1018
+
1003
1019
  CRITICAL INSTRUCTIONS:
1004
- 1. Use the Read tool to examine the CSV file (read from the END to see the placeholder rows)
1005
- Example: Read the last 20 lines to see the placeholders
1020
+ 1. Read ONLY the last 20-30 lines of the CSV to see the placeholder rows
1006
1021
  2. DO NOT ADD OR DELETE ANY ROWS - only EDIT the placeholder descriptions
1007
1022
  3. DO NOT CHANGE THE IDs - they are already correct
1008
1023
  4. Use the Edit tool to replace each PLACEHOLDER description with a real idea
@@ -1099,7 +1114,14 @@ generate_hill_climbing_direct() {
1099
1114
  done
1100
1115
 
1101
1116
  echo "[INFO] Generating $count hill climbing ideas with IDs: $required_ids_str"
1102
- local data_rows=$(grep -v '^[[:space:]]*$' "$FULL_CSV_PATH" | tail -n +2 | wc -l)
1117
+
1118
+ # Count total lines in temp CSV (including header)
1119
+ local total_lines
1120
+ total_lines=$(wc -l < "$temp_csv")
1121
+ local read_offset=$((total_lines - 25))
1122
+ if [[ $read_offset -lt 1 ]]; then
1123
+ read_offset=1
1124
+ fi
1103
1125
 
1104
1126
  # Get existing Python files for this generation to avoid ID collisions
1105
1127
  local existing_py_files=$(get_existing_py_files_for_generation "$CURRENT_GENERATION")
@@ -1113,6 +1135,8 @@ generate_hill_climbing_direct() {
1113
1135
 
1114
1136
  local prompt="I need you to use your file editing capabilities to fill in PLACEHOLDER descriptions in the CSV file: $temp_csv_basename
1115
1137
 
1138
+ THE FILE HAS $total_lines TOTAL LINES. Read from line $read_offset to see the placeholder rows at the end.
1139
+
1116
1140
  IMPORTANT: You MUST use one of these exact parent IDs: $valid_parent_ids
1117
1141
 
1118
1142
  Successful algorithms to tune:
@@ -1137,8 +1161,15 @@ The CSV file already contains $count stub rows with these IDs: $required_ids_str
1137
1161
  Each stub row has a PLACEHOLDER description like: \"[PLACEHOLDER: Replace with parameter tuning idea]\"
1138
1162
  Your job is to REPLACE each PLACEHOLDER with a real parameter tuning idea.
1139
1163
 
1164
+ ⚠️ CRITICAL FILE READING INSTRUCTIONS ⚠️
1165
+ THE CSV FILE IS VERY LARGE (OVER 100,000 TOKENS). YOU WILL RUN OUT OF CONTEXT IF YOU READ IT ALL!
1166
+ - DO NOT read the entire file or you will exceed context limits and CRASH
1167
+ - Use: Read(file_path='$temp_csv_basename', offset=$read_offset, limit=25)
1168
+ - This will read ONLY the last 25 lines where the placeholders are
1169
+ - DO NOT READ FROM OFFSET 0 - that will load the entire huge file and fail!
1170
+
1140
1171
  CRITICAL INSTRUCTIONS:
1141
- 1. Use the Read tool to examine the CSV file (read from the END to see the placeholder rows)
1172
+ 1. Read ONLY the last 25 lines using the offset specified above
1142
1173
  2. DO NOT ADD OR DELETE ANY ROWS - only EDIT the placeholder descriptions
1143
1174
  3. DO NOT CHANGE THE IDs - they are already correct
1144
1175
  4. Use the Edit tool to replace each PLACEHOLDER description with a parameter tuning idea
@@ -1211,7 +1242,14 @@ generate_structural_mutation_direct() {
1211
1242
  done
1212
1243
 
1213
1244
  echo "[INFO] Generating $count structural mutation ideas with IDs: $required_ids_str"
1214
- local data_rows=$(grep -v '^[[:space:]]*$' "$FULL_CSV_PATH" | tail -n +2 | wc -l)
1245
+
1246
+ # Count total lines in temp CSV (including header)
1247
+ local total_lines
1248
+ total_lines=$(wc -l < "$temp_csv")
1249
+ local read_offset=$((total_lines - 25))
1250
+ if [[ $read_offset -lt 1 ]]; then
1251
+ read_offset=1
1252
+ fi
1215
1253
 
1216
1254
  # Get existing Python files for this generation to avoid ID collisions
1217
1255
  local existing_py_files=$(get_existing_py_files_for_generation "$CURRENT_GENERATION")
@@ -1225,6 +1263,8 @@ generate_structural_mutation_direct() {
1225
1263
 
1226
1264
  local prompt="I need you to use your file editing capabilities to fill in PLACEHOLDER descriptions in the CSV file: $temp_csv_basename
1227
1265
 
1266
+ THE FILE HAS $total_lines TOTAL LINES. Read from line $read_offset to see the placeholder rows at the end.
1267
+
1228
1268
  IMPORTANT: You MUST use one of these exact parent IDs: $valid_parent_ids
1229
1269
 
1230
1270
  Successful algorithms to modify structurally:
@@ -1241,8 +1281,15 @@ The CSV file already contains $count stub rows with these IDs: $required_ids_str
1241
1281
  Each stub row has a PLACEHOLDER description like: \"[PLACEHOLDER: Replace with structural modification idea]\"
1242
1282
  Your job is to REPLACE each PLACEHOLDER with a real structural modification idea.
1243
1283
 
1284
+ ⚠️ CRITICAL FILE READING INSTRUCTIONS ⚠️
1285
+ THE CSV FILE IS VERY LARGE (OVER 100,000 TOKENS). YOU WILL RUN OUT OF CONTEXT IF YOU READ IT ALL!
1286
+ - DO NOT read the entire file or you will exceed context limits and CRASH
1287
+ - Use: Read(file_path='$temp_csv_basename', offset=$read_offset, limit=25)
1288
+ - This will read ONLY the last 25 lines where the placeholders are
1289
+ - DO NOT READ FROM OFFSET 0 - that will load the entire huge file and fail!
1290
+
1244
1291
  CRITICAL INSTRUCTIONS:
1245
- 1. Use the Read tool to examine the CSV file (read from the END to see the placeholder rows)
1292
+ 1. Read ONLY the last 25 lines using the offset specified above
1246
1293
  2. DO NOT ADD OR DELETE ANY ROWS - only EDIT the placeholder descriptions
1247
1294
  3. DO NOT CHANGE THE IDs - they are already correct
1248
1295
  4. Use the Edit tool to replace each PLACEHOLDER description with a structural modification idea
@@ -1314,7 +1361,14 @@ generate_crossover_direct() {
1314
1361
  done
1315
1362
 
1316
1363
  echo "[INFO] Generating $count crossover hybrid ideas with IDs: $required_ids_str"
1317
- local data_rows=$(grep -v '^[[:space:]]*$' "$FULL_CSV_PATH" | tail -n +2 | wc -l)
1364
+
1365
+ # Count total lines in temp CSV (including header)
1366
+ local total_lines
1367
+ total_lines=$(wc -l < "$temp_csv")
1368
+ local read_offset=$((total_lines - 25))
1369
+ if [[ $read_offset -lt 1 ]]; then
1370
+ read_offset=1
1371
+ fi
1318
1372
 
1319
1373
  # Get existing Python files for this generation to avoid ID collisions
1320
1374
  local existing_py_files=$(get_existing_py_files_for_generation "$CURRENT_GENERATION")
@@ -1328,6 +1382,8 @@ generate_crossover_direct() {
1328
1382
 
1329
1383
  local prompt="I need you to use your file editing capabilities to fill in PLACEHOLDER descriptions in the CSV file: $temp_csv_basename
1330
1384
 
1385
+ THE FILE HAS $total_lines TOTAL LINES. Read from line $read_offset to see the placeholder rows at the end.
1386
+
1331
1387
  IMPORTANT: You MUST use ONLY these exact parent IDs: $valid_parent_ids
1332
1388
 
1333
1389
  Top performers to combine (reference at least 2 in each idea):
@@ -1344,8 +1400,15 @@ The CSV file already contains $count stub rows with these IDs: $required_ids_str
1344
1400
  Each stub row has a PLACEHOLDER description like: \"[PLACEHOLDER: Replace with crossover hybrid idea]\"
1345
1401
  Your job is to REPLACE each PLACEHOLDER with a real crossover/hybrid idea that combines 2+ algorithms.
1346
1402
 
1403
+ ⚠️ CRITICAL FILE READING INSTRUCTIONS ⚠️
1404
+ THE CSV FILE IS VERY LARGE (OVER 100,000 TOKENS). YOU WILL RUN OUT OF CONTEXT IF YOU READ IT ALL!
1405
+ - DO NOT read the entire file or you will exceed context limits and CRASH
1406
+ - Use: Read(file_path='$temp_csv_basename', offset=$read_offset, limit=25)
1407
+ - This will read ONLY the last 25 lines where the placeholders are
1408
+ - DO NOT READ FROM OFFSET 0 - that will load the entire huge file and fail!
1409
+
1347
1410
  CRITICAL INSTRUCTIONS:
1348
- 1. Use the Read tool to examine the CSV file (read from the END to see the placeholder rows)
1411
+ 1. Read ONLY the last 25 lines using the offset specified above
1349
1412
  2. DO NOT ADD OR DELETE ANY ROWS - only EDIT the placeholder descriptions
1350
1413
  3. DO NOT CHANGE THE IDs - they are already correct
1351
1414
  4. Use the Edit tool to replace each PLACEHOLDER description with a crossover idea
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "claude-evolve",
3
- "version": "1.7.16",
3
+ "version": "1.7.17",
4
4
  "bin": {
5
5
  "claude-evolve": "./bin/claude-evolve",
6
6
  "claude-evolve-main": "./bin/claude-evolve-main",