Skip to content

v3.0.6

  • v3.0.6
  • 6cac3da
  • Verified

    This commit was created on GitHub.com and signed with GitHub’s verified signature.
  • Choose a tag to compare

  • v3.0.6
  • 6cac3da
  • Choose a tag to compare

  • Verified

    This commit was created on GitHub.com and signed with GitHub’s verified signature.
@that-guy-wade that-guy-wade tagged this 30 Oct 18:12
* fix(validator): keep inference transcripts serializable

Inference transcripts are built from sandbox output, which the validator
does not trust. A non-finite float there (written by the sandbox as
Infinity or NaN) made the episode artifact fail to serialize, and one
unreadable line (an over-long integer, deep nesting, invalid UTF-8 or a
mistyped field) made transcript loading fail for every episode in the run.

- Map non-finite floats in transcripts to null.
- Skip only the output line that cannot be read or sanitized.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>

* fix(validator): report runs whose completion cannot be recorded as failed

- When Backend rejects a SUCCESS report with a non-transient error, report
  the run FAILED ("Completion rejected by Backend (HTTP <status>)") instead
  of leaving it to expire. The detail stays in the validator log.
- When a failure report cannot be sent because its sandbox metadata does
  not serialize (e.g. usage counters that sum to inf), send it once
  without the metadata.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>

* fix(validator): report a queued success that Backend refuses as failed

A SUCCESS report that first hit a transient error was retried from the
local queue, where a later non-transient refusal was dropped, leaving the
run to expire. Report it FAILED there too, as _complete_run does. Only an
HTTP refusal is reported: an unparsed response may mean the completion
landed.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>

---------

Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
Assets 2
Loading