mirror of
https://github.com/Sea-Haven-Industries/open-swe.git
synced 2026-09-30 06:53:14 +00:00
Publish had partial-failure windows that double-posted summaries or
corrupted findings state. This hardens the recovery paths:
- open_swe_review_exists is now tri-state (True/False/None). On a
pagination/API failure it returns None ("unknown") instead of False,
and the empty-summary dedup keys off the durable last_reviewed_sha
before consulting GitHub, so a transient failure never double-posts a
"no issues found" summary.
- Comment-id backfill matches strictly on the embedded open-swe marker;
the colliding (path, line, body) fallback is gone, so similar findings
no longer share a comment id and break resolve-on-fix.
- Review-id and comment-id stamping collapse into one guarded
read-modify-write (re-reads latest before writing), removing the
half-stamped intermediate states the prior multi-write flow left open.
- New mutate_findings primitive centralizes read-modify-write so finding
updates operate on the freshest persisted list and skip no-op writes.
Co-authored-by: open-swe[bot] <open-swe@users.noreply.github.com>
|
||
|---|---|---|
| .. | ||
| __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 | ||