Repository navigation
Harden BCal aggregation against shard setup failures - #963
Closed
martinsrui-msft wants to merge 3 commits into
Closed
martinsrui-msft wants to merge 3 commits into
martinsrui-msft wants to merge 3 commits into
Conversation
martinsrui-msft
added this pull request to stack #964
October 9, 2026 10:36
Contributor
Code Coverage OverviewLanguages: Python Python / code-coverage/pytestThe overall line coverage in commit 830f866 in the Show a line coverage summary of the most impacted files.
Updated |
| from bcbench.config import get_config | ||
| from bcbench.dataset import BaseDatasetEntry, BugFixEntry, NL2ALEntry | ||
| from bcbench.evaluate.base import AgentRunner, EvaluationPipeline | ||
| from bcbench.evaluate.base import AgentRunner, EvaluationOutcome, EvaluationPipeline |
Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com> (cherry picked from commit d05f8ca)
Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
Keep a nonnumeric per-row core-score sentinel until the LM checklist returns exactly one numeric test_passed score. This makes bc-eval conversion fail the run after per-row evaluator errors while explicit infrastructure failures remain unscored. Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
Sun Haoran (haoranpb)
force-pushed
the
martinsrui-publish-bcal-resilience
branch
from
October 9, 2026 10:47
ae96ca6 to
830f866
Compare
Sun Haoran (haoranpb)
left a comment
Collaborator
There was a problem hiding this comment.
I think the PR might be a bit much to address the transient uv failure.
The current behavior: partial failures (e.g. one or more tasks out of the entire dataset) will fail the whole job.
This has been serving us well because it can mean some tasks are malformed, or upstream caused failures.
In this case, I guess it is a signal that we should invest a in the CI run stabilities, i.e. tasks fail but then succeed after one re-run. I will take a note of this and see if we could improve that for all workflows
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.
Summary
This PR hardens the BCal evaluation workflow against matrix shards that fail before BC-Bench can write a result. It preserves the M365 LLM API migration in #962 and is the top PR in native stack #964 (
#962->#963).It intentionally excludes the cancelled validation-only/Kusto experiment and all unrelated local dashboard changes.
Incident
nl2al__sales-order-rush-flag-1bcbench evaluate bcalstarted.uv syncfailed downloadingurllib3==2.8.0from the Azure Artifacts blob after UV exhausted its 3 internal retries. The final transport error was an HTTP/2stream no longer neededfailure.evaluation_results/**/*.jsonldid not exist. The matrix expected 110 entries, but only 109 result artifacts were available.Behavior after this change
continue-on-erroronly so the workflow can wait 20 seconds and attempt setup once more. The retry itself is not suppressed: if it also fails, the original UV failure remains visible and the matrix shard stays failed.provider, status when available, and error message), preserve the expected dataset payload, and emit a nulltest_passedscore rather than fabricating a pass or fail.test_passedscore is returned. If judging raises or omits that score, BC Eval conversion fails the summarization command before storage.test_passedvalidation but stop before external storage.This builds on the aggregation hardening from #944 while covering the remaining pre-evaluation setup-failure gap.
Validation
tychecks passed.git diff --checkpassed.4f66a0dc9bbc7382cd072418431ce58827030c1aexactly matches the validated source tip.