Skip to content

Converge integration#202

Open
david-rfai wants to merge 10 commits intomainfrom
ConvergeIntegration
Open

Converge integration#202
david-rfai wants to merge 10 commits intomainfrom
ConvergeIntegration

Conversation

@david-rfai
Copy link
Collaborator

@david-rfai david-rfai commented Mar 12, 2026

Changes

  • Added support for running converge with rapidfireai start
  • Pinned numpy version to 2.0.1 for compatibility with langchain-pinecone
  • Pinned protobuf<6.0.0

Changelog Content

Additions

  • Added support for running converge with rapidfireai start

Changes

  • Pinned numpy version to 2.0.1 for compatibility with langchain-pinecone
  • Pinned protobuf<6.0.0Include any issues addressed.

Note

Medium Risk
Changes service startup/cleanup behavior and introduces conditional launching of an external converge process, which could impact runtime behavior and port readiness in rapidfireai start. Dependency pinning may also affect environments that previously resolved newer numpy/protobuf versions.

Overview
rapidfireai start can now optionally launch RapidFireAI Converge instead of the legacy frontend via a new --converge flag (and RF_CONVERGE_MODE env var), including mode validation (all|none|backend|frontend).

The start script now detects rapidfireai-pro before attempting Converge, starts/stops Converge processes, and includes converge.log in failure summaries. Evals requirements are updated to pin numpy==2.0.1 and protobuf<6.0.0, and rapidfireai doctor now reports additional related packages (e.g., protobuf, langchain-pinecone, langchain-postgres).

Written by Cursor Bugbot for commit 958ecf3. This will update automatically on new commits. Configure here.

Copy link

@cursor cursor bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Cursor Bugbot has reviewed your changes and found 2 potential issues.

Autofix Details

Bugbot Autofix prepared fixes for both issues found in the latest run.

  • ✅ Fixed: CLI overrides RF_CONVERGE_MODE environment variable silently
    • Changed --converge argument default from hardcoded 'all' to os.getenv('RF_CONVERGE_MODE', 'all') to respect environment variable.
  • ✅ Fixed: Cleanup kills unrelated uvicorn processes with broad pattern
    • Scoped uvicorn pkill pattern from 'uvicorn.*main:app' to 'uvicorn.*converge' to avoid killing unrelated FastAPI processes.

Create PR

Or push these changes by commenting:

@cursor push 6e2762362e
Preview (6e2762362e)
diff --git a/rapidfireai/cli.py b/rapidfireai/cli.py
--- a/rapidfireai/cli.py
+++ b/rapidfireai/cli.py
@@ -459,7 +459,7 @@
     parser.add_argument(
         "--converge",
         choices=["all", "none", "backend", "frontend"],
-        default="all",
+        default=os.getenv("RF_CONVERGE_MODE", "all"),
         help="Converge mode: all (default, start converge backend+frontend), none (use original frontend, do not start converge), backend (only converge backend), frontend (only converge frontend)",
     )
 

diff --git a/setup/start.sh b/setup/start.sh
--- a/setup/start.sh
+++ b/setup/start.sh
@@ -200,7 +200,7 @@
         pkill -f "python.*rapidfireai/frontend/server.py" 2>/dev/null || true
         # Stop Converge if it was running
         pkill -f "converge start" 2>/dev/null || true
-        pkill -f "uvicorn.*main:app" 2>/dev/null || true
+        pkill -f "uvicorn.*converge" 2>/dev/null || true
     fi
 
     print_success "All services stopped"

This Bugbot Autofix run was free. To enable autofix for future PRs, go to the Cursor dashboard.

Copy link

@cursor cursor bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Cursor Bugbot has reviewed your changes and found 1 potential issue.

Bugbot Autofix is OFF. To automatically fix reported issues with cloud agents, enable autofix in the Cursor dashboard.

if [[ "$mode" == "backend" ]]; then
print_success "Converge backend started (PID: $converge_pid)"
return 0
fi
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Backend mode reports success without verifying process started

Medium Severity

start_converge in backend mode immediately returns 0 (success) after launching the background process, without any verification that the process actually started. Every other service starter (start_mlflow, start_api_server, start_frontend) uses wait_for_service or similar checks before reporting success. If the converge command is missing from PATH or crashes immediately, the function still reports success, causing start_services to count it as started and print "All services started successfully!" — which is misleading.

Fix in Cursor Fix in Web

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant