Skip to content

feat(swe-bench): SWEBenchFleetScorer - fan out units across a service fleet - #475

Closed
arekay-nv wants to merge 1 commit into
swe-layer-6from
swe-layer-7
Closed

feat(swe-bench): SWEBenchFleetScorer - fan out units across a service fleet#475
arekay-nv wants to merge 1 commit into
swe-layer-6from
swe-layer-7

Conversation

@arekay-nv

Copy link
Copy Markdown
Collaborator

What does this PR do?

Type of change

  • Bug fix
  • New feature
  • Documentation update
  • Refactor/cleanup

Related issues

Testing

  • Tests added/updated
  • All tests pass locally
  • Manual testing completed

Checklist

  • Code follows project style
  • Pre-commit hooks pass
  • Documentation updated (if needed)

Stack created with GitHub Stacks CLIGive Feedback 💬

… fleet

Wires the pieces into a scorer registered as eval_method: swe_bench_fleet.
It is a scheduler in front of the existing SWE-bench service protocol, not a
new runtime: a unit is one RunRequest over a shard, so exact instance
binding, per-instance containers, artifact allow-listing and cancellation
are reused rather than reimplemented.

preflight() runs the gates against the inference endpoints and /health
against every service, raising SetupError before a single instance is
dispatched. score() plans, dispatches with one in-flight run per service,
classifies every unit, requeues any unit with infra_error_count > 0 even
when the service reported succeeded, and takes the accuracy number only
past the merge gate - self.complete comes from the gate, never a count
heuristic.

Stall quarantine verifies effect rather than status: a service that is
/health-OK but has completed no unit within stall_timeout_s is quarantined
and its in-flight unit requeued.

Also adds scripts/swe_bench_wq.py {status,merge,requeue,reap} for
operators. reap is dry-run by default and requeue prints exactly which
result, claim and attempt records it removed, because the failure mode in
the field was an operator believing a delete had requeued something.
@arekay-nv
arekay-nv requested a review from a team as a code owner August 26, 2026 03:32
@github-actions
github-actions Bot requested a review from nvzhihanj August 26, 2026 03:32
@github-actions

Copy link
Copy Markdown

MLCommons CLA bot All contributors have signed the MLCommons CLA ✍️ ✅

@github-actions github-actions Bot added the size/large PR Review Policy: 501-1500 lines or 21-50 files label Aug 26, 2026
Comment on lines +2147 to +2149
from .swe_bench_fleet_scorer import ( # noqa: E402
SWEBenchFleetScorer as SWEBenchFleetScorer,
)
@leopck

leopck commented Aug 27, 2026

Copy link
Copy Markdown
Collaborator

Thanks for the help @arekay-nv closing this PR, new PR is now up here: #480

@leopck leopck closed this Aug 27, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

size/large PR Review Policy: 501-1500 lines or 21-50 files

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants