open-swe/agent
Adam Moussa 2ed7d9f25f
fix(reviewer): harden verdict path against security-review findings
Adversarial security review (detector fan-out + proof-or-kill verifier)
of the verdict feature surfaced several verdict-integrity gaps; resolve
the confirmed ones:

- head-drift (high): a mid-run push moves the resolved head, so an APPROVE
  could anchor to an unreviewed commit. Downgrade any verdict to a comment
  when the resolved head differs from the reviewed head (verdict_ignored
  reason head_moved); the push's own re-review submits a fresh verdict.
- self-review fail-open: downgrade to comment when the PR author cannot be
  confirmed (author_unknown), and compare bot logins case-insensitively.
- verdict_submitted now reflects GitHub's returned review state, not just
  the event we asked for, so a coerced APPROVE isn't reported as submitted.
- an authorized verdict whose findings all anchor outside the diff now
  posts as a bodied review with zero inline comments instead of failing.
- add finding_reply to the shared data-block escape tag superset.
2026-07-20 15:19:37 -04:00
..
api refactor: split webapp.py into api/ + per-source webhook routes 2026-07-17 14:30:05 -04:00
dashboard feat: optional separate LangSmith key/endpoint for sandboxes (#1760) 2026-07-17 16:22:38 -04:00
graphs refactor: adopt graphs/runtime/providers shims + retarget langgraph.json 2026-07-17 13:57:20 -04:00
integrations feat: optional separate LangSmith key/endpoint for sandboxes (#1760) 2026-07-17 16:22:38 -04:00
middleware feat(reviewer): explicit-request verdicts + shell verdict guard 2026-07-20 15:06:53 -04:00
providers refactor: adopt graphs/runtime/providers shims + retarget langgraph.json 2026-07-17 13:57:20 -04:00
resources refactor: move docs/resources/assets to domain layout 2026-07-17 13:45:39 -04:00
review feat(reviewer): explicit-request verdicts + shell verdict guard 2026-07-20 15:06:53 -04:00
runtime refactor: adopt graphs/runtime/providers shims + retarget langgraph.json 2026-07-17 13:57:20 -04:00
skills feat: outcomes dataset + bootstrap/continual split via skills (#1365) 2026-06-01 13:25:12 -07:00
tools fix(reviewer): harden verdict path against security-review findings 2026-07-20 15:19:37 -04:00
utils fix(reviewer): harden verdict path against security-review findings 2026-07-20 15:19:37 -04:00
webhooks feat(reviewer): explicit-request verdicts + shell verdict guard 2026-07-20 15:06:53 -04:00
analyzer.py refactor: consolidate reviewer modules into agent/review/ 2026-07-17 13:52:03 -04:00
chat.py fix: defensive copy in get_reviewer_agent and get_chat_agent [closes #1584] (#1742) 2026-07-17 16:22:38 -04:00
ci_autofix.py refactor: split webapp.py into api/ + per-source webhook routes 2026-07-17 14:30:05 -04:00
ci_monitor.py feat: CI auto-fix and PR babysitting for agent PRs (#1530) 2026-06-15 13:53:50 -07:00
completion.py feat: Jira + Confluence integration (tools + triggers) (#182) 2026-07-13 19:45:54 -04:00
dispatch.py feat: port durable dispatch hardening and startup latency improvements (#160) 2026-07-09 17:11:25 -04:00
encryption.py feat: support TOKEN_ENCRYPTION_KEY rotation via MultiFernet [closes AB-2323] (#1275) 2026-05-08 14:29:23 -07:00
prompt.py feat(reviewer): explicit-request verdicts + shell verdict guard 2026-07-20 15:06:53 -04:00
reconcile.py refactor: adopt modular webhook architecture (#1621) + port fork customizations (#85) 2026-06-30 18:46:46 -04:00
reviewer.py feat(reviewer): explicit-request verdicts + shell verdict guard 2026-07-20 15:06:53 -04:00
scheduler.py refactor: adopt modular webhook architecture (#1621) + port fork customizations (#85) 2026-06-30 18:46:46 -04:00
server.py feat(reviewer): explicit-request verdicts + shell verdict guard 2026-07-20 15:06:53 -04:00
webapp.py refactor: split webapp.py into api/ + per-source webhook routes 2026-07-17 14:30:05 -04:00