Repository navigation
Conversation
Pin the latest BC-ALAgents and BCQuality main snapshot, update the installable Copilot CLI, add Gemini 3.7 Flash and Grok 4.6, and bump BC-Bench to 0.10.0. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> Copilot-Session: 57308020-6803-4e62-b08e-57fa875bff89
Update the harness pin to the immutable BC-ALAgents main commit produced by microsoft/BC-ALAgents#60. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> Copilot-Session: 57308020-6803-4e62-b08e-57fa875bff89
Limit the model refresh to Gemini 3.7 Flash and retain the existing provider set. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> Copilot-Session: 57308020-6803-4e62-b08e-57fa875bff89
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> Copilot-Session: 57308020-6803-4e62-b08e-57fa875bff89
Co-authored-by: Sun Haoran <haoransun@microsoft.com>
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> Copilot-Session: 57308020-6803-4e62-b08e-57fa875bff89
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> Copilot-Session: 57308020-6803-4e62-b08e-57fa875bff89
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> Copilot-Session: 76eb42c4-2acd-4f9c-a898-f4a44f9d46f7
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> Copilot-Session: 76eb42c4-2acd-4f9c-a898-f4a44f9d46f7
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> Copilot-Session: 76eb42c4-2acd-4f9c-a898-f4a44f9d46f7
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> Copilot-Session: 76eb42c4-2acd-4f9c-a898-f4a44f9d46f7
Preserve the pinned Copilot CLI, BC-ALAgents revision, serial scheduling, focused entries, concurrent repetitions, and observed incomplete usage telemetry. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> Copilot-Session: 76eb42c4-2acd-4f9c-a898-f4a44f9d46f7
Pin the experimental workflow to the fail-closed BC-ALAgents engine so root-only and substituted-model runs cannot be mistaken for leaf-model evidence. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> Copilot-Session: 76eb42c4-2acd-4f9c-a898-f4a44f9d46f7
Use the engine revision that rejects any model outside the configured root and leaf pair during leaf-model experiments. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> Copilot-Session: 76eb42c4-2acd-4f9c-a898-f4a44f9d46f7
Retain the strict telemetry allowlist while removing the orchestration-changing prompt prohibition. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> Copilot-Session: 76eb42c4-2acd-4f9c-a898-f4a44f9d46f7
Validate immutable engine and BCQuality revisions, exact model routing, scheduling, and complete process telemetry before accepting benchmark results. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> Copilot-Session: 76eb42c4-2acd-4f9c-a898-f4a44f9d46f7
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> Copilot-Session: 76eb42c4-2acd-4f9c-a898-f4a44f9d46f7
Pin only the review engine in BC-Bench and validate BCQuality as engine-produced provenance rather than a benchmark-controlled revision. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> Copilot-Session: 76eb42c4-2acd-4f9c-a898-f4a44f9d46f7
|
Addressed the BCQuality ownership boundary:
Validation: 84 focused tests and the full BC-Bench suite (1,074 passed) completed successfully. Live run 34850610549 also proved the new ownership path: without BC-Bench supplying a SHA, BC-ALAgents recorded its own commit |
Limit baseline workflow choices to OpenAI and Microsoft model families and use GPT-5.4 as the initial root default. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> Copilot-Session: 76eb42c4-2acd-4f9c-a898-f4a44f9d46f7
|
Updated the initial experiment scope: Claude and Gemini are no longer selectable in the #881 PR Review workflow. The root and leaf defaults are now GPT-5.4, with choices limited to OpenAI/Microsoft model families for the first deterministic baseline. Workflow tests assert the exact allowed lists so excluded providers cannot be reintroduced accidentally. |
Pass the known BC-ALAgents commit into the runner and remove the redundant checkout revision lookup. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> Copilot-Session: 76eb42c4-2acd-4f9c-a898-f4a44f9d46f7
|
Simplified the engine revision flow as discussed: |
Start deterministic validation with GPT-5.6 Sol at the root and GPT-5.6 Luna for review leaves. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> Copilot-Session: 76eb42c4-2acd-4f9c-a898-f4a44f9d46f7
|
Updated the initial defaults to GPT-5.6 Sol for root consolidation and GPT-5.6 Luna for all review leaves. The allowed model scope remains OpenAI/Microsoft only. |
There was a problem hiding this comment.
Note
Copilot was unable to run its full agentic suite in this review.
Pull request overview
Adds deterministic, provenance-validated PR Review evaluations by pinning the engine + Copilot CLI, introducing a run-manifest schema/validator, and expanding metrics + workflow inputs to support leaf scheduling and focused runs.
Changes:
- Introduces
_run-manifest.jsonschema + validation and wires it into the PR Review agent runtime. - Expands PR Review metrics to include model telemetry, scheduling configuration, and BCQuality provenance; updates persistence/reporting behavior.
- Updates the GitHub Actions workflow/action pins and inputs (leaf model/execution/concurrency, repetition-id, entries) and strengthens related tests.
Reviewed changes
Copilot reviewed 17 out of 17 changed files in this pull request and generated 5 comments.
Show a summary per file
| File | Description |
|---|---|
| tests/test_review_workflows.py | Updates workflow pin assertions and validates new workflow_dispatch inputs and requeue payload behavior. |
| tests/test_review_runners.py | Ensures runner receives and propagates agent_version for PR review runs/evaluations. |
| tests/test_pr_review_run_manifest.py | Adds unit tests for loading/validating the new PR review run manifest schema. |
| tests/test_pr_review_metrics_reporting.py | Updates metrics JSON expectations and adds PR review metrics typing usage. |
| tests/test_pr_review_metrics.py | Adjusts PR review metrics semantics and adds validation tests against a manifest-backed run. |
| tests/test_pr_review_agent.py | Adds manifest fixture writing, new env requirements, and asserts expanded metrics/env behavior. |
| tests/test_agent_versions.py | Adds coverage for resolving engine commit even when the engine checkout is dirty (smoke runs). |
| src/bcbench/types.py | Extends PRReviewMetrics with model list, premium requests, scheduling config, and provenance fields. |
| src/bcbench/commands/run.py | Plumbs agent_version into run pr-review using require_clean=False. |
| src/bcbench/commands/evaluate.py | Computes PR review engine version once and passes it consistently to context and runner. |
| src/bcbench/cli_options.py | Adds gpt-5.4 to the allowed Copilot model literals. |
| src/bcbench/agent/pr_review/run_manifest.py | New manifest models + loader + validator enforcing pinned/ordered/deterministic runtime. |
| src/bcbench/agent/pr_review/metrics.py | Adds optional manifest cross-checking and broadens which metrics are promoted when available. |
| src/bcbench/agent/pr_review/agent.py | Requires leaf scheduling env, validates manifest, pins CLI version, and returns manifest-aware metrics. |
| docs/code-review.md | Documents deterministic leaf scheduling, manifest validation, and expanded metric/provenance recording. |
| .github/workflows/pr-review-evaluation.yml | Adds new workflow inputs, concurrency keying, focused entry runs, and uploads run manifest artifacts. |
| .github/actions/install-agent-harnesses/action.yml | Updates pinned engine SHA and GitHub Copilot CLI version. |
💡 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> Copilot-Session: 76eb42c4-2acd-4f9c-a898-f4a44f9d46f7
Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com> Copilot-Session: 76eb42c4-2acd-4f9c-a898-f4a44f9d46f7
Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com> Copilot-Session: 76eb42c4-2acd-4f9c-a898-f4a44f9d46f7
There was a problem hiding this comment.
Note
Copilot was unable to run its full agentic suite in this review.
Copilot review overview
Review effort: Lite
Findings: 2
Open (4)
This makes several environment variables mandatory for all callers ofrun_pr_review_agent, which… · New The manifest validation does not assert manifest-pinned severity fields (e.g.,minimum_severity/… · New Theengine-shadescription is now misleading: an empty string still falls back to the default… · NewProcessMetrics.cli_versionis optional in the schema, butvalidate_run_manifest(...)later… · New
Resolved since last review (5)
This test replacesentries_expressionin the payload but never asserts that the placeholder is… Indexing the workflow YAML viaworkflow_data[True]relies on PyYAML interpreting the top-level… With the current schema +validate_run_manifest, a manifest could havestatus='completed'while… The pinned Copilot CLI version is duplicated across Python (_COPILOT_CLI_VERSION), the workflow… The assertions forleaf-executionandmax-leaf-concurrencydepend on exact YAML…
Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
Sun Haoran (haoranpb)
left a comment
There was a problem hiding this comment.
Mostly the Code Review Environment Variable consumption, the rest looks good
b226b64 to
46b3a5d
Compare
Code coverage overviewLanguages: Python Python / code-coverage/pytest
View coverage of the 6 most impacted files.
ℹ️ Calculations represent line coverage. Results may change as calculations are updated. Updated |
There was a problem hiding this comment.
Copilot review overview
🟡 Changes recommended
Manifest validation remains fail-open, routing variants can share an aggregation identity, and the required benchmark version bump is missing.
Review effort: Balanced
Findings: 3
Open (7)
Include leaf configuration in experiment identity · New Reject incomplete or malformed aggregate telemetry · New Require complete ordered process and telemetry validation · New Bump benchmark version when default harnesses or models change · New Restrict PR Review models to documented choices · New Set evaluate PR Review defaults to Sol root and Luna leaf · New Set run PR Review defaults to Sol root and Luna leaf · New
Resolved since last review (4)
The manifest validation does not assert manifest-pinned severity fields (e.g.,minimum_severity/… This makes several environment variables mandatory for all callers ofrun_pr_review_agent, which…ProcessMetrics.cli_versionis optional in the schema, butvalidate_run_manifest(...)later… Theengine-shadescription is now misleading: an empty string still falls back to the default…
…e-pr-review-leaf-models
Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com> Copilot-Session: 76eb42c4-2acd-4f9c-a898-f4a44f9d46f7
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>
46b3a5d to
f9d79bb
Compare
Require aggregate CLI/model identity, exclude incomplete usage from cost comparisons, align PR Review choices and defaults with its workflow, and bump BC-Bench to 0.16.0. Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>



Summary
03239afe611a3eff490002eba0e4098b48099ba3(Fix checkout-free post-phase BCQuality resolution BC-ALAgents#73), while retaining an explicit full-SHA override only for unpublished experiment runs1.0.88and Claude Code to2.1.2811.0.83: the pinned engine validates its OpenTelemetry CLI-version field, which current generic CLI1.0.88does not emitpartialrecovery manifest state but reject it from benchmark scoring, so incomplete review coverage cannot contaminate quality or token comparisonsWhy
Prompt-driven child orchestration cannot provide trustworthy model-placement or cost evidence. BC-Bench must verify the production engine's mechanically bound root/leaf models and manifest before accepting a run. The latest BC-ALAgents revision also includes the checkout-free post-phase publishing correction, while preserving generation-phase BCQuality provenance validation.
The initial evaluation-identity smoke run exposed a real contract mismatch: CLI
1.0.88produced no telemetry CLI version, so #73 correctly rejected it. This PR isolates the supported1.0.83engine/telemetry pair to PR Review rather than weakening deterministic validation or holding generic Copilot evaluations back from1.0.88.Validation
git diff --check, and pre-commit hooks passedty checkcompleted with one pre-existing unused-ignore warning in untouchedsrc/bcbench/redteam.pyDependencies
Initial model scope
The PR Review baseline continues to exclude Claude and Gemini models while deterministic model routing is rebaselined. Root choices are GPT-5.4, GPT-5.6 Sol/Terra/Luna, GPT-5.3 Codex, and MAI Code 1.1 Flash. Leaf choices remain GPT-5.4, GPT-5.6 Luna, and MAI Code 1.1 Flash. GPT-5.6 Sol remains the default root and GPT-5.6 Luna the default leaf.
GPT-6 Astra is a generic Copilot and contamination frontier candidate, but is intentionally not offered to the PR Review engine until a telemetry-compatible engine/CLI pair exists. Claude Fable 5.1 is deliberately excluded because it has no clear coding-benchmark role beyond the existing Sonnet/Opus/Haiku coverage. The fixed code-review judge remains
gpt-5.3-codexto avoid an unrelated scoring-methodology change.Follow-up
After the test run passes, rerun the complete PR Review benchmark with entries, root model, leaf model, scheduling, revisions, and repetitions fixed. Treat token consumption as the primary performance measure, with quality metrics as guardrails. A BCQuality contract-bearing immutable release is still needed so external consumers need not pin raw commits.