OpenHands / OpenHands/software-agent-sdk
[Harness Watch] Run scheduled comparisons through the existing evaluation workflow
Nobody has claimed this yet.
- Dominant language
- Python
- Stars
- 1.1k
- Forks
- 542
- Avg merge
- 1d 19h
- Merged PRs (30d)
- 137
Description
Parent epic: #4627
Goal
Add one thin controller in OpenHands/evaluation. It schedules and coordinates existing eval-job.yml runs; it does not implement another evaluation runner.
This issue absorbs the small versioned-configuration requirement from #4636.
P0
- Commit one configuration containing the model/route, benchmark and fixed instance panel, harnesses, refs, budgets, worker limits, and practical alarm thresholds.
- Resolve refs and model configuration once, then dispatch four independent eval-job.yml runs with identical inputs except agent type.
- Support weekly and manual triggers, an overlap guard, a total concurrency budget, and rotated dispatch order.
- Record child run IDs and result URLs, then invoke #4642 after all cells finish.
- Treat workflow, infrastructure, missing-result, and telemetry failures separately from harness outcomes.
- On a practical threshold breach, rerun only OpenHands and the affected comparator once on the relevant complete blocks with fresh workspaces and keys.
- Update one tracking issue only when the confirmation reproduces the direction with complete telemetry.
Initial alarms may remain simple: a 10-point resolved deficit, or greater than 1.5× spend, fresh input, or proxy requests without a resolved advantage. Thresholds are operational, not significance claims.
P1
Add more sophisticated monitoring, adaptive confirmation, and release-blocking policy only after P0 has stable operating data.
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start by reading the existing OpenHands/evaluation code and the eval-job.yml workflow, then review the related parent and follow-up issues #4627, #4636, and #4642. Trace how workflow inputs, run IDs, result URLs, telemetry, and concurrency are currently handled. Done means a versioned controller can schedule the four runs, guard overlaps, handle retries and failure categories, and update tracking only after complete confirmation telemetry.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- github-actions, python
- Domain
- ci-cd, devops, testing-qa
- Issue type
- Feature
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Active
- Clarity
- Mostly clear
- Newbie friendliness
- 35/100