Skip to content

fix(examples): retain attributed Arena failures with zero reward - #1724

Merged
sitabulaixizawaluduo merged 2 commits into
mainfrom
zjw/arena-outcome-followup
Sep 18, 2026
Merged

sitabulaixizawaluduo merged 2 commits into
mainfrom
zjw/arena-outcome-followup

Conversation

@Le8r0nJames

@Le8r0nJames Le8r0nJames commented Sep 17, 2026 •

Copy link
Copy Markdown
Collaborator

Description

Follow-up to #1702 (Arena single- and multi-stream rollouts).

Recognize structured GameAgent harness outcome codes when classifying failed
Arena episodes. Allowlisted HARNESS_FAILED outcomes with existing interactions
can use the existing zero-reward recovery/export path instead of being rejected
as unknown failures. Keep the existing interaction-count and proxy-system-error
guards, legacy failure handling, and unrelated-status rejection.

Also provide a validated identity_reward transform for configurations that need
the original Arena score without threshold scaling. This does not change the
default reward transform or fix nullable rewards in export statistics.

Review follow-up (2026-09-18)

One precedence boundary remains: an explicit structured non-model outcome can still match the legacy Claude error envelope and be classified as a model failure. This is inherited legacy fallback behavior interacting with the new structured-code path; its policy needs clarification before treating structured codes as authoritative across all fallbacks.

Related Issue

Follow-up to #1702.
No separate issue.

Type of Change

  • 🐛 Bug fix
  • ✨ New feature
  • 💥 Breaking change
  • 📝 Documentation update
  • ♻️ Refactoring
  • ⚡ Performance improvement
  • ✅ Test coverage improvement

Checklist

  • I have read the Contributing Guide
  • Pre-commit hooks pass (pre-commit run --all-files)
  • Relevant tests pass; new tests added for new functionality
  • Documentation updated (if applicable; built with ./docs/build_all.sh)
  • Branch is up to date with main
  • Self-reviewed via /review-pr command
  • This PR was created by a coding agent via /create-pr
  • This PR is a breaking change

Breaking Change Details (if applicable): None.

Additional Context

This is an independent change based on main, not the experimental runtime stack.
It reuses a minimal subset of previously developed coverage; no new test scenarios
were introduced in this update.

Validation: pytest -q tests/test_swe_arena_multi_stream.py tests/experimental/openai/test_context_overflow_recovery.py — 75 passed in the target image. Redundant identity/export coverage was removed; the new classification coverage is reduced to 69 lines. Production code is unchanged.

Changed-file pre-commit
hooks pass. Full-tree hooks were attempted but hit local Python 3.10 environment
limitations (missing tomllib and the installed Torch lacking CPUOffloadPolicy).
No full distributed end-to-end regression is claimed for this rebased branch.

Integrate current main without rewriting published history.
@yulangz

yulangz commented Sep 18, 2026

Copy link
Copy Markdown
Collaborator

LGTM

@sitabulaixizawaluduo
sitabulaixizawaluduo merged commit c7dbaa7 into main Sep 18, 2026
1 check passed
@sitabulaixizawaluduo
sitabulaixizawaluduo deleted the zjw/arena-outcome-followup branch September 18, 2026 03:25
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants