claude-evolve 1.8.36 → 1.8.38

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.
@@ -933,13 +933,18 @@ ideate_ai_strategies() {
933
933
 
934
934
  echo "[INFO] Strategy results: $strategies_succeeded/$strategies_attempted succeeded" >&2
935
935
 
936
- # REQUIRE ALL strategies to succeed - no partial results
937
- # Accepting partial results leads to endless loops with 1 idea per generation
938
- if [[ $strategies_succeeded -eq $strategies_attempted ]]; then
936
+ # Accept partial results - if ANY strategy succeeded, that's enough
937
+ # The workers will process what we have, and next ideation run can add more
938
+ # AIDEV-NOTE: Previously required ALL strategies to succeed, which caused
939
+ # endless ideation loops because CSV writes weren't rolled back on "rejection"
940
+ if [[ $strategies_succeeded -gt 0 ]]; then
941
+ if [[ $strategies_succeeded -lt $strategies_attempted ]]; then
942
+ echo "[INFO] Partial success: $strategies_succeeded/$strategies_attempted strategies completed" >&2
943
+ echo "[INFO] Workers will process existing ideas, next ideation can add more" >&2
944
+ fi
939
945
  return 0
940
946
  else
941
- echo "[ERROR] Not all ideation strategies succeeded ($strategies_succeeded/$strategies_attempted)" >&2
942
- echo "[ERROR] Rejecting partial results - will retry with exponential backoff" >&2
947
+ echo "[ERROR] All ideation strategies failed (0/$strategies_attempted)" >&2
943
948
  return 1
944
949
  fi
945
950
  }
@@ -1662,6 +1667,18 @@ wait_seconds=300 # Start with 5 minutes
1662
1667
  max_wait_seconds=300 # Cap at 5 minutes
1663
1668
 
1664
1669
  while true; do
1670
+ # AIDEV-NOTE: Check if we already have enough pending ideas for this generation
1671
+ # This prevents endless ideation loops when partial results were written but
1672
+ # the function returned failure (e.g., 2/4 strategies succeeded)
1673
+ pending_count=$(grep -c "^gen${CURRENT_GENERATION}-.*,pending" "$FULL_CSV_PATH" 2>/dev/null || echo "0")
1674
+ if [[ $pending_count -ge $TOTAL_IDEAS ]]; then
1675
+ echo "[INFO] Already have $pending_count pending ideas for generation $CURRENT_GENERATION (target: $TOTAL_IDEAS)"
1676
+ echo "[INFO] Skipping ideation - workers will process existing ideas"
1677
+ exit 0
1678
+ elif [[ $pending_count -gt 0 ]]; then
1679
+ echo "[INFO] Found $pending_count existing pending ideas for generation $CURRENT_GENERATION (target: $TOTAL_IDEAS)"
1680
+ fi
1681
+
1665
1682
  if [[ $use_strategies == true ]]; then
1666
1683
  echo "[INFO] Multi-strategy AI generation mode"
1667
1684
  if ideate_ai_strategies; then
package/lib/ai-cli.sh CHANGED
@@ -190,7 +190,7 @@ $prompt"
190
190
  codex-oss-local)
191
191
  # Codex-OSS via Codex CLI with Ollama backend
192
192
  local ai_output
193
- ai_output=$(timeout -k 30 2400 codex exec --dangerously-bypass-approvals-and-sandbox --skip-git-repo-check --oss "$prompt" 2>&1)
193
+ ai_output=$(timeout -k 30 2400 codex exec --dangerously-bypass-approvals-and-sandbox --skip-git-repo-check --oss --local-provider=ollama "$prompt" 2>&1)
194
194
  local ai_exit_code=$?
195
195
  ;;
196
196
  deepseek-v3-llamacloud)
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "claude-evolve",
3
- "version": "1.8.36",
3
+ "version": "1.8.38",
4
4
  "bin": {
5
5
  "claude-evolve": "./bin/claude-evolve",
6
6
  "claude-evolve-main": "./bin/claude-evolve-main",