Repository navigation
fix(ffmpeg): preserve bounded verifier failure stages in public results - #58
Open
loopx-agent wants to merge 1 commit into
Open
loopx-agent wants to merge 1 commit into
loopx-agent wants to merge 1 commit into
Conversation
Signed-off-by: huangruiteng <14976749+huangruiteng@users.noreply.github.com>
This branch has not been deployed
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
What and why
Fixes #57. FFmpeg's public result currently makes a pre-build source-policy rejection indistinguishable from a failed build or pixel-correctness failure. Record the failure stage in the producing verifier branch and read it from the structured reward when grading. The existing failed overall-score detail and summary gain a fixed, bounded explanation; raw reasons, paths, exceptions and workload details are not exposed.
Numeric scoring, validity, test counts, source checks, thresholds, workloads and rescaling are unchanged. Unknown/missing/malformed diagnostic evidence preserves the previous feedback. Positive results are unchanged. This does not fix the broad scanner's false positives, log-based score injection, root build isolation, or the old eval script's richer category hints.
Checklist for task changes
NOTES.mdrecords the feedback-only effect and validation; unresolved known issues remain explicit.Old vs new judge
Old: published amd64
seededge/edgebench.judge.ffmpeg_swscale_reimplementation:e938bf6f485e, digestsha256:711b595fe8a28783b6450afd900a2d4a52fa0c409efdb78e94deed012c0ab9f6.New: an image derived from that immutable digest, replacing exactly
grade.py,run.sh,tests/compute_reward.pyandtests/test.shat their Dockerfile destinations. Baseline and toolchains are the same image layers. Each isolated container used 4 CPUs, 8 GiB, no network and the real/judge/run.shentrypoint. This is an incremental source-image validation, not a clean rebuild of the toolchains.All zero-score samples stay valid with one failed test. Both scaffold repetitions stay valid with one passed test and 30/30 correctness. The speed ranges overlap; these samples do not establish statistical performance equivalence or solver improvement. No measured speedup is claimed.
The original scaffold is committed under
environment/workspace/scaffold/rust; synthetic negatives need no historical solver artifacts. The source-policy sample is only a diagnostic note containing a verifier-related term; scanner rules are deliberately unchanged.Validation:
uv run --group dev pytest -q tests/— 36 passed, 1 skipped. The new 17 cases exercise the real reward CLI → shell shim → task grader → public result parser, including absent/unknown/contradictory evidence, positive-score parity and build-output spoofing of diagnostic stage. Independent review also reran those 17 cases. Shell syntax checks pass for the two touched shell scripts.