open-swe/agent/webhooks
Adam Moussa b9c348ebba
feat(reviewer): explicit-request verdicts + shell verdict guard
Mention-triggered reviews that explicitly ask for a verdict now submit a
real APPROVE/REQUEST_CHANGES through publish_review; auto-reviews stay
advisory (COMMENT). Authorization is enforced in code: publish_review
honors a verdict only when the dispatching webhook set verdict_requested,
which only the explicit-mention path does.

- request_pr_review gains instructions (forwarded verbatim into an escaped
  requester_instructions data block) and request_verdict
- self-review guard downgrades verdicts on Open SWE-authored PRs; stale
  APPROVEs are best-effort dismissed when later findings land
- new PullRequestVerdictGuardMiddleware blocks gh pr review
  --approve/-a/--request-changes/-r, gh api, and curl verdict fallbacks on
  both the coding-agent and reviewer graphs
- shared escape helper moved to agent/utils/prompt_data.py
2026-07-20 15:06:53 -04:00
..
__init__.py refactor: adopt modular webhook architecture (#1621) + port fork customizations (#85) 2026-06-30 18:46:46 -04:00
common.py feat(reviewer): explicit-request verdicts + shell verdict guard 2026-07-20 15:06:53 -04:00
confluence.py refactor: split webapp.py into api/ + per-source webhook routes 2026-07-17 14:30:05 -04:00
confluence_routes.py refactor: split webapp.py into api/ + per-source webhook routes 2026-07-17 14:30:05 -04:00
github.py feat(reviewer): explicit-request verdicts + shell verdict guard 2026-07-20 15:06:53 -04:00
github_routes.py refactor: split webapp.py into api/ + per-source webhook routes 2026-07-17 14:30:05 -04:00
jira.py refactor: split webapp.py into api/ + per-source webhook routes 2026-07-17 14:30:05 -04:00
jira_routes.py refactor: split webapp.py into api/ + per-source webhook routes 2026-07-17 14:30:05 -04:00
linear.py refactor: split webapp.py into api/ + per-source webhook routes 2026-07-17 14:30:05 -04:00
linear_routes.py refactor: split webapp.py into api/ + per-source webhook routes 2026-07-17 14:30:05 -04:00
slack.py refactor: split webapp.py into api/ + per-source webhook routes 2026-07-17 14:30:05 -04:00
slack_routes.py refactor: split webapp.py into api/ + per-source webhook routes 2026-07-17 14:30:05 -04:00