open-swe/agent/dashboard
amoussa1229 710e5f9b86 Key workflow approval on head workflow tree and block unsafe pushes
Switches the workflow push guard from diffing against a sandbox-writable
remote-tracking ref to hashing the actual workflow tree at the pushed head via
. This closes the confused-deputy
base-poisoning vector and the replay vector: approval is bound to the exact
files and blob SHAs at head, so a different workflow tree requires re-approval.

Also:
- Fails the git push parser CLOSED: unrecognized or unsafe push forms are now
  blocked instead of running unguarded.
- Checks the exact fingerprint's rejected status before the stale-approval path.
- Updates prompt and Slack copy to reflect the new head-tree behavior.
- Adds tests for base-poisoning, replay, deletion, unparsed push blocking, and
  rejection-before-stale ordering.

Refs: 98
2026-07-01 20:58:07 +00:00
..
__init__.py feat: open-swe dashboard for per-user profile config (#1302) 2026-05-15 11:23:53 -07:00
admin.py fix: allow GitHub logins for dashboard admins (#1582) 2026-06-20 09:44:12 -07:00
agent_instructions.py feat: per-repo custom instructions for the coding agent (#1460) 2026-06-09 15:46:29 -07:00
agent_overrides.py feat: author Slack/dashboard/schedule commits + PRs as the app by default (#57) (#60) 2026-06-29 14:22:33 -04:00
agent_usage.py feat: weight merged PRs above LOC in usage leaderboard sorting (#1563) 2026-06-17 10:59:42 -07:00
analyzer_cron.py feat: outcomes dataset + bootstrap/continual split via skills (#1365) 2026-06-01 13:25:12 -07:00
autofix_state.py feat: activate PR babysitting UI toggles for autofix and trigger mode (#1561) 2026-06-17 14:12:04 -07:00
enabled_repos.py feat: restructure Open SWE Review tab + wire create_prs (#1319) 2026-05-21 09:17:07 -07:00
eval_jobs.py feat: migrate model providers to Bedrock (Claude) + Fireworks (everything else) (#62) 2026-06-29 15:57:19 -04:00
notion_oauth.py feat: add user-scoped Notion MCP OAuth (#1593) 2026-06-23 12:07:13 -07:00
oauth.py chore: sync upstream/main, defer #1621 modular webhooks (#81) 2026-06-30 16:45:19 -04:00
options.py chore: sync upstream/main, defer #1621 modular webhooks (#81) 2026-06-30 16:45:19 -04:00
plan_api.py refactor: adopt modular webhook architecture (#1621) + port fork customizations (#85) 2026-06-30 18:46:46 -04:00
plan_store.py chore: sync upstream/main, defer #1621 modular webhooks (#81) 2026-06-30 16:45:19 -04:00
pr_diff.py feat: render Reviews page diffs with pierre MultiFileDiff (#1517) 2026-06-12 11:03:51 -07:00
profiles.py fix: auto-recover from expired GitHub refresh tokens (#1491) 2026-06-11 12:05:27 -07:00
repo_access.py chore: sync upstream/main, defer #1621 modular webhooks (#81) 2026-06-30 16:45:19 -04:00
repo_snapshots.py feat: repo-scoped dynamic sandbox snapshots (#1595) 2026-06-23 12:24:11 -07:00
review_api.py chore: sync upstream/main, defer #1621 modular webhooks (#81) 2026-06-30 16:45:19 -04:00
review_chat_api.py feat: managed LangGraph Cloud + Vercel migration (PR2 — code fixes + docs) (#65) 2026-06-29 19:58:38 -04:00
review_style_jobs.py feat: outcomes dataset + bootstrap/continual split via skills (#1365) 2026-06-01 13:25:12 -07:00
review_styles.py feat: outcomes dataset + bootstrap/continual split via skills (#1365) 2026-06-01 13:25:12 -07:00
routes.py chore: sync upstream/main, defer #1621 modular webhooks (#81) 2026-06-30 16:45:19 -04:00
schedules.py feat: post scheduled-run report to a configured Slack channel (#83) 2026-06-30 17:34:52 -04:00
slack_oauth.py chore: sync upstream/main, defer #1621 modular webhooks (#81) 2026-06-30 16:45:19 -04:00
team_credentials.py feat: server-side Datadog/LangSmith observability tools + team creds [closes OPE-54] (#1476) 2026-06-10 11:07:42 -07:00
team_settings.py chore: sync upstream/main, defer #1621 modular webhooks (#81) 2026-06-30 16:45:19 -04:00
thread_api.py chore: sync upstream/main, defer #1621 modular webhooks (#81) 2026-06-30 16:45:19 -04:00
user_credentials.py feat: add user-scoped Notion MCP OAuth (#1593) 2026-06-23 12:07:13 -07:00
user_mappings.py feat: managed LangGraph Cloud + Vercel migration (PR2 — code fixes + docs) (#65) 2026-06-29 19:58:38 -04:00
workflow_approval.py Key workflow approval on head workflow tree and block unsafe pushes 2026-07-01 20:58:07 +00:00
workflow_approval_api.py chore: sync upstream/main, defer #1621 modular webhooks (#81) 2026-06-30 16:45:19 -04:00