Skip to content

Native eval accepts fully invalid harness runs #63

Description

@vincentkoc

What happened

Native eval runs can be reported as completed and included in aggregate scoring
when every trial failed at the harness, infrastructure, or verifier layer.
OpenClaw exit codes 70/71 are a concrete example: verifier rewards may still be
present, while the benchmark execution itself was invalid.

Fleet recovery also inferred a zero exit code from result-file count plus a
final checkpoint marker, even when the archived run exit status was unknown.

Expected behaviour

Preserve verifier rewards for diagnosis, but mark fully invalid runs as
rejected and exclude them from score-eligible aggregates. Fleet completion
must require an explicit archived run exit status.

Steps to reproduce

# Run a native OpenClaw campaign where every trial exits 71 after the verifier
# has produced reward files, then aggregate the exported run.
python -m scripts.native_eval.aggregate <jobs-root> <summary-dir>

Relevant output

NonZeroAgentExitCodeError: Agent exited with code 71

Before the fix, a full set of reward files could still produce a completed,
eligible run despite all trials ending with the harness-specific failure.

Environment

  • Python version: 3.12
  • OS: Linux
  • ClawBench commit: 884dd1b

Metadata

Metadata

Assignees

No one assigned

    Labels

    P2Normal priority bug or improvement with limited blast radius.bugSomething isn't workingclawsweeper:linked-pr-openClawSweeper found an open linked pull request for this issue.clawsweeper:no-new-fix-prClawSweeper does not recommend queueing a new automated fix PR for this issue.impact:otherThis issue has meaningful maintainer-visible impact outside the owned taxonomy.issue-rating: 🦪 silver shellfishThin issue quality; more reproduction proof or environment detail is needed.

    Type

    No type

    Fields

    Priority

    None yet

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions