mirror of
https://github.com/Sea-Haven-Industries/open-swe.git
synced 2026-09-30 19:43:15 +00:00
* fix: prevent futile retry loop when commit_and_open_pr fails with git/API errors
- Root cause: when git checkout or GitHub PR API fails, the tool returned a generic {"success": false} error with no signal that retrying is futile, causing the agent to loop 9-13+ times until hitting the 1000-step recursion limit
- Change: (1) git_checkout_branch now returns (bool, str) so the actual git error output is surfaced in the tool response; (2) checkout and PR creation failures now include "fatal": true and an explicit "Do not retry" message; (3) prompt.py COMMIT_PR_SECTION adds an explicit instruction to stop on fatal errors
- Verified: 109 unit tests pass, no regressions
* fix: skip PR safety net on fatal commit failures
* style(open_pr): ruff-format fatal retry skip condition
---------
Co-authored-by: LangSmith Forge <forge-agent@langsmith.ai>
Co-authored-by: Johannes du Plessis <johannes@langchain.dev>
|
||
|---|---|---|
| .. | ||
| test_auth_sources.py | ||
| test_commit_and_open_pr_403.py | ||
| test_commit_and_open_pr_workflow_scope.py | ||
| test_ensure_no_empty_msg.py | ||
| test_get_pr_review_comments.py | ||
| test_github_ci.py | ||
| test_github_comment_prompts.py | ||
| test_github_create_pr.py | ||
| test_github_issue_webhook.py | ||
| test_github_pr_label.py | ||
| test_github_review.py | ||
| test_github_security.py | ||
| test_http_security.py | ||
| test_multimodal.py | ||
| test_notify_step_limit_middleware.py | ||
| test_open_pr_middleware.py | ||
| test_proxy_auth.py | ||
| test_recent_comments.py | ||
| test_repo_extraction.py | ||
| test_sandbox_paths.py | ||
| test_sanitize_tool_inputs.py | ||
| test_slack_context.py | ||