mirror of
https://github.com/Sea-Haven-Industries/open-swe.git
synced 2026-09-30 17:23:15 +00:00
* fix: resolve reviewer head_sha from thread metadata, not frozen run config A push that lands while a reviewer run is in flight is delivered as a queued message into that run. The run's configurable is frozen at creation, so its head_sha still names the commit the run was created for — not the commit just pushed. publish_review then anchored the GitHub review to the stale commit and regressed last_reviewed_sha to it, and add_finding/update_finding stamped findings with the stale SHA. Persist the current head in thread metadata at every reviewer dispatch (both the ready-for-review and push paths, before they branch to create a run or queue a message), and add resolve_review_head_sha() which prefers the metadata head over the run config. Wire it into publish_review (review commit_id + last_reviewed_sha), add_finding (first_seen_sha) and update_finding (last_confirmed_sha). Falls back to the run config when metadata carries no head (first review, eval, tests). * fix: persist head_sha in manual review dispatch (trigger_pr_review_from_ref) resolve_review_head_sha prefers metadata[head_sha] over the run config, and the push/ready dispatchers write it — but trigger_pr_review_from_ref (Slack/GitHub @open-swe review, request_pr_review tool) created a run with a freshly-fetched config head while leaving metadata's head stale from a prior dispatch. A manual re-review at a newer commit would then resolve to the old head and publish/advance findings against it. Persist head_sha in that dispatch's metadata write too, so every run-creating reviewer dispatch keeps metadata in sync with the head its run targets. Caught by the Open SWE reviewer on this PR. |
||
|---|---|---|
| .. | ||
| __init__.py | ||
| add_finding.py | ||
| fetch_url.py | ||
| http_request.py | ||
| linear_comment.py | ||
| linear_create_issue.py | ||
| linear_delete_issue.py | ||
| linear_get_issue.py | ||
| linear_get_issue_comments.py | ||
| linear_list_teams.py | ||
| linear_update_issue.py | ||
| list_findings.py | ||
| open_pull_request.py | ||
| publish_review.py | ||
| read_finding_outcomes.py | ||
| reply_to_finding_thread.py | ||
| request_pr_review.py | ||
| resolve_finding_thread.py | ||
| save_review_style.py | ||
| slack_read_thread_messages.py | ||
| slack_thread_reply.py | ||
| update_finding.py | ||
| web_search.py | ||