Repository navigation
Fix skipped BCal aggregation and retired judge model - #925
martinsrui-msft wants to merge 6 commits into
Conversation
Preserve and report partial matrix results, add transient dependency retries, make storage retries idempotent, and verify scheduled Kusto ingestion. Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
Code Coverage OverviewLanguages: Python Python / code-coverage/pytestThe overall line coverage in commit 59bc801 in the Show a line coverage summary of the most impacted files.
Updated |
Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
There was a problem hiding this comment.
Warning
Copilot couldn't run its full agentic review because it didn't start before the timeout. Make sure your repository has a runner available, or add a copilot-code-review.yml file specifying one with the runs-on attribute. See the docs for more details.
Copilot review overview
Review effort: Lite
Findings: 1
Open (4)
Thisuses:value is not a valid path for a reusable workflow invocation. GitHub Actions expects a… · New Writing the raw exception text to stderr can leak sensitive or high-volume information into build… · New The model field is namedcomplete, but exported per-row metadata usesevaluation_complete. This… · New The model field is namedcomplete, but exported per-row metadata usesevaluation_complete. This… · New
What changed in this PR
Hardens scheduled BCal evaluation ingestion by adding matrix completeness tracking, ensuring aggregation/diagnostics are preserved across shard failures, and preventing scoring/storage/leaderboard updates for partial runs.
Changes:
- Add completeness metadata generation/export (JSON + per-result metadata) and a
result require-completeCLI gate. - Update GitHub Actions workflows to always summarize after failures, isolate artifacts per
run_attempt, and block bceval/leaderboard unless complete. - Pin/cache BcContainerHelper and restore narrowly-scoped CAPI retry logic; update LMChecklist judge model pinning and aggregation identity.
| File | Description |
|---|---|
| tests/test_review_workflows.py | Adds workflow regression tests for completeness enforcement and pinned dependency caching. |
| tests/test_evaluation_summary.py | Updates aggregation tests to keep retired judge baseline runs separated. |
| tests/test_completeness.py | Introduces unit tests for completeness counting and metadata export. |
| tests/test_cli_commands.py | Adds integration coverage for completeness persistence and step outputs. |
| tests/test_category_command.py | Updates expected pinned judge model in generated bceval config. |
| tests/test_bcal_capi_bridge.py | Adds tests asserting retry only for transient CAPI failures. |
| src/bcbench/results/summary.py | Extends summaries to optionally carry completeness metadata. |
| src/bcbench/results/display.py | Renders completeness in GitHub summaries and adds a completeness-only summary writer. |
| src/bcbench/results/completeness.py | Implements completeness model, persistence, metadata export, and markdown rendering. |
| src/bcbench/results/bceval_export.py | Embeds completeness metadata into each exported bceval JSONL row. |
| src/bcbench/results/__init__.py | Re-exports completeness and the new GitHub completeness summary helper. |
| src/bcbench/commands/result.py | Adds completeness tracking to result summarize and a require-complete gate command. |
| src/bcbench/commands/dataset.py | Adds --count-output for reusable workflows to retrieve entry counts. |
| src/bcbench/agent/shared/config.yaml | Pins LMChecklist judge model to gpt-56-reasoning-nano-luna. |
| src/bcbench/agent/bcal/bc_eval_capi_bridge.py | Restores bounded retry for transient CAPI failures with backoff. |
| CATEGORIES.md | Documents pinned judge model and aggregation separation from retired baselines. |
| .github/workflows/summarize-results.yml | Always uploads partial diagnostics; blocks scoring/leaderboard on incompleteness; enforces completeness at end. |
| .github/workflows/get-entries.yml | Exposes entry count output for downstream completeness enforcement. |
| .github/workflows/bcal-evaluation.yml | Adds pinned/cached BcContainerHelper setup, run_attempt-scoped artifacts, and always-run summarization. |
💡 Add a code-review agent skill or configure MCP servers for context-aware, tailored reviews. Learn more in the docs.
Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
|
Superseded by the replacement native stack:
Together, the two PRs preserve this PR's cumulative patch while separating the concerns for review. |


Scheduled BCal runs skipped final aggregation when a dataset entry run failed. That left no completeness summary and made evaluation data appear to disappear. NL2AL scoring also used the retired GPT-4.1 ShortCo judge.
gpt-56-reasoning-nano-lunawith separate judge baselines.Verification