fix(native-eval): reject invalid harness runs - #64
Conversation
|
Codex review: found issues before merge. Reviewed July 30, 2026, 4:38 AM ET / 08:38 UTC. ClawSweeper reviewWhat this changesThe PR records native-eval execution outcomes, excludes fully invalid harness runs from score-eligible aggregates, and requires an archived exit status when fleet recovery completes an exported run. Merge readiness⛔ Blocked by patch quality or review findings - 6 items remain Keep this PR open. It addresses the paired native-eval bug, but its removal of legacy fleet recovery makes previously exported full-coverage runs fail whenever their archived exit status was not retained; the current head is unchanged from the prior review cycle, so that compatibility blocker remains. Priority: P1 Review scores
Verification
How this fits togetherNative eval runs agent trials, stores result artifacts and manifests, and aggregates accepted runs into benchmark scores. Fleet recovery later validates exported artifacts and determines whether a remote campaign can be marked completed or must be retried. flowchart LR
A[Native eval trial] --> B[Execution outcome record]
B --> C[Run acceptance decision]
C --> D[Score aggregation]
E[Exported run artifacts] --> F[Fleet recovery]
G[Archived exit status] --> F
F --> H[Completed or retry state]
C --> D
Decision needed
Why: The defect fix correctly avoids treating artifact count as proof of successful execution, but choosing the upgrade behavior for already-exported campaigns is a maintainer compatibility policy decision. Before merge
Findings
Agent review detailsSecurityNone. Review metrics
Root-cause clusterRelationship: Members:
Proposal only: this assessment does not dispatch repair, suppress jobs, mutate sibling items, close, or merge anything. Merge-risk optionsMaintainer options:
Technical reviewBest possible solution: Keep strict archived-exit requirements for newly created runs, while adding a versioned legacy recovery or migration path that preserves historical exports as explicitly unknown/retriable rather than silently converting them into failures. Do we have a high-confidence way to reproduce the issue? Yes in source, though it was not executed in this read-only review: create an exported OpenClaw run with full result coverage and a final checkpoint but no archived exit status, then invoke fleet recovery. The changed regression test describes that path and demonstrates the before/after state transition. Is this the best way to solve the issue? No, not yet. Rejecting inferred success is the right bug fix, but replacing it with an unconditional legacy failure needs a versioned migration, retry path, or explicit maintainer-approved upgrade policy. Full review comments:
Overall correctness: patch is incorrect AGENTS.md: unclear because the file could not be read completely. Codex review notes: model internal, reasoning high; reviewed against 884dd1bb5511. LabelsLabel justifications:
EvidenceWhat I checked:
Likely related people:
Rating scale
Overall follows the weaker of proof and patch quality. Workflow
HistoryReview history (1 earlier review cycle)
|
What does this PR do?
Records structured native-eval execution outcomes and rejects runs where every
trial failed at the harness, infrastructure, or verifier layer.
Why?
Verifier rewards are useful diagnostics, but they are not proof that the
benchmark harness executed correctly. Fully invalid runs were being presented
as completed score data, and fleet recovery could infer success without an
archived exit status.
Fixes #63
Changes
Tests
python -m pytest -qpasses on Blacksmith Testboxpython -m ruff check clawbench app.py scripts testspasses on Blacksmith TestboxFocused proof: 117 tests passed; Ruff clean. Autoreview reported no actionable
findings.