open-swe/agent/dashboard
Johannes du Plessis 0927f2dd9c
feat: Run reviewer eval in a GitHub Action; dashboard becomes read-only (#1556)
* Run reviewer eval in a GitHub Action; make dashboard a read-only progress view

The dashboard launched the eval as a subprocess inside the serving deployment
worker, so a container recycle killed long runs and discarded results that had
already completed server-side. Move the harness to a workflow_dispatch Action
(run on prod). run_eval now publishes status/progress/log-tail to the LangGraph
store record the dashboard reads, so /admin/evals stays a live view; a killed
Action surfaces as failed via the stale-heartbeat reconcile.

* reviewer_eval workflow: pass inputs via env, no shell interpolation

Addresses the reviewer finding: workflow_dispatch string inputs were
interpolated into the run: block (limit unquoted), allowing shell injection in
a job holding LANGSMITH/ANTHROPIC keys. Pass inputs through env and reference
quoted "$VARS"; validate limit is numeric and build its flag in bash.

---------

Co-authored-by: open-swe[bot] <open-swe@users.noreply.github.com>
2026-06-16 19:38:36 -07:00
..
__init__.py feat: open-swe dashboard for per-user profile config (#1302) 2026-05-15 11:23:53 -07:00
admin.py feat: server-side Datadog/LangSmith observability tools + team creds [closes OPE-54] (#1476) 2026-06-10 11:07:42 -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: Store-backed GitHub/Slack user mapping (self-service + admin) (#1369) 2026-06-01 14:37:19 -07:00
agent_usage.py Revert out-of-process usage-snapshot builder (#1473) 2026-06-09 13:19:11 -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: CI auto-fix and PR babysitting for agent PRs (#1530) 2026-06-15 13:53:50 -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: Run reviewer eval in a GitHub Action; dashboard becomes read-only (#1556) 2026-06-16 19:38:36 -07:00
oauth.py fix: auto-recover from expired GitHub refresh tokens (#1491) 2026-06-11 12:05:27 -07:00
options.py feat: add GLM 5.2 model option (#1543) 2026-06-16 15:31:10 -07: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 feat: add scheduled web agents (#1422) 2026-06-05 02:20:24 +00:00
review_api.py feat: AI-sorted PR review view with diff grouping (#1544) 2026-06-16 13:59:37 -07:00
review_chat_api.py feat: chat with your PR on the review page (#1534) 2026-06-15 17:17:30 -07: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 feat: Run reviewer eval in a GitHub Action; dashboard becomes read-only (#1556) 2026-06-16 19:38:36 -07:00
schedules.py feat: add scheduled web agents (#1422) 2026-06-05 02:20:24 +00:00
slack_oauth.py feat: open Slack-triggered PRs as the triggering user (#1375) 2026-06-02 15:04:20 -07: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 feat: AI-sorted PR review view with diff grouping (#1544) 2026-06-16 13:59:37 -07:00
thread_api.py feat: mark threads as resolved to hide from sidebar (#1500) 2026-06-12 12:01:42 -07:00
user_mappings.py fix: use Slack OIDC mappings for Slack thread ownership (#1410) 2026-06-04 19:58:30 +00:00