claude-evolve 1.3.42 → 1.3.43
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 +6 -19
- package/lib/csv-lock.sh +3 -0
- package/package.json +1 -1
package/bin/claude-evolve-worker
CHANGED
|
@@ -382,41 +382,28 @@ echo "[WORKER-$$] Running evaluation..."
|
|
|
382
382
|
eval_output=""
|
|
383
383
|
eval_exit_code=0
|
|
384
384
|
|
|
385
|
-
# Stream evaluator output in real-time while capturing it
|
|
386
|
-
eval_tempfile=$(mktemp)
|
|
387
385
|
if [[ -n $timeout_seconds ]]; then
|
|
388
386
|
echo "[WORKER-$$] Evaluation timeout: ${timeout_seconds}s"
|
|
389
|
-
#
|
|
390
|
-
if EXPERIMENT_ID="$id" timeout "$timeout_seconds" "$PYTHON_CMD" "$FULL_EVALUATOR_PATH" "$output_file"
|
|
391
|
-
|
|
392
|
-
echo "[EVALUATOR] $line" >&2
|
|
393
|
-
done; then
|
|
394
|
-
eval_exit_code=${PIPESTATUS[0]}
|
|
387
|
+
# For Modal compatibility, don't capture stderr
|
|
388
|
+
if eval_output=$(EXPERIMENT_ID="$id" timeout "$timeout_seconds" "$PYTHON_CMD" "$FULL_EVALUATOR_PATH" "$output_file"); then
|
|
389
|
+
eval_exit_code=0
|
|
395
390
|
else
|
|
396
391
|
eval_exit_code=$?
|
|
397
392
|
if [[ $eval_exit_code -eq 124 ]]; then
|
|
398
393
|
echo "[ERROR] Evaluation timed out" >&2
|
|
399
394
|
update_csv_row_with_lock "$candidate_id" "status" "timeout"
|
|
400
|
-
rm -f "$eval_tempfile"
|
|
401
395
|
exit 1
|
|
402
396
|
fi
|
|
403
397
|
fi
|
|
404
398
|
else
|
|
405
|
-
#
|
|
406
|
-
if EXPERIMENT_ID="$id" "$PYTHON_CMD" "$FULL_EVALUATOR_PATH" "$output_file"
|
|
407
|
-
|
|
408
|
-
echo "[EVALUATOR] $line" >&2
|
|
409
|
-
done; then
|
|
410
|
-
eval_exit_code=${PIPESTATUS[0]}
|
|
399
|
+
# For Modal compatibility, don't capture stderr
|
|
400
|
+
if eval_output=$(EXPERIMENT_ID="$id" "$PYTHON_CMD" "$FULL_EVALUATOR_PATH" "$output_file"); then
|
|
401
|
+
eval_exit_code=0
|
|
411
402
|
else
|
|
412
403
|
eval_exit_code=$?
|
|
413
404
|
fi
|
|
414
405
|
fi
|
|
415
406
|
|
|
416
|
-
# Read the complete output from temp file
|
|
417
|
-
eval_output=$(cat "$eval_tempfile")
|
|
418
|
-
rm -f "$eval_tempfile"
|
|
419
|
-
|
|
420
407
|
# Log evaluator output
|
|
421
408
|
{
|
|
422
409
|
echo "=== WORKER $$ - EVALUATOR OUTPUT ==="
|
package/lib/csv-lock.sh
CHANGED
|
@@ -251,6 +251,9 @@ with open('$csv_file', 'r') as f:
|
|
|
251
251
|
candidate_id = None
|
|
252
252
|
original_status = None
|
|
253
253
|
for i in range(1, len(rows)):
|
|
254
|
+
# Skip empty rows
|
|
255
|
+
if not rows[i] or len(rows[i]) == 0:
|
|
256
|
+
continue
|
|
254
257
|
# If row has fewer than 5 fields, it's pending
|
|
255
258
|
if len(rows[i]) < 5:
|
|
256
259
|
candidate_id = rows[i][0]
|