Add Vally-first Copilot on Rails evaluation system - #1669
Draft
Alex Weininger (alexweininger) wants to merge 4 commits into
Draft
Add Vally-first Copilot on Rails evaluation system#1669Alex Weininger (alexweininger) wants to merge 4 commits into
Alex Weininger (alexweininger) wants to merge 4 commits into
Conversation
Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com> Copilot-Session: cb4fb14d-a092-4456-b611-b7aa68be64e3
…evaluation-system
Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com> Copilot-Session: cb4fb14d-a092-4456-b611-b7aa68be64e3
Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com> Copilot-Session: cb4fb14d-a092-4456-b611-b7aa68be64e3
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
Adds a Vally-first evaluation and release-evidence system for Copilot on Rails.
railsandbaseline-controlledarms with the same model, scenario, endpoint, and attempt.This is a stacked draft targeting
feat/CoRand does not modify the existing PR #1615.What the full suite runs
The standard suite has three layers:
The paired Vally experiment already runs both Rails and baseline. Do not run the standalone baseline command in addition unless debugging baseline behavior.
One-time teammate setup
Prerequisites
Install and authenticate the ACA CLI
Linux/macOS:
curl -fsSL https://aka.ms/aca-cli-install | shWindows PowerShell:
This same install path is also used inside sandboxes and containers for agent-driven self-installs.
Only open interactive sign-in when cached authentication is absent:
aca doctormust be green before running ACA tiers.An administrator can grant a teammate access to the shared group:
To create a separate evaluation group:
The group creator already receives Data Owner.
--set-configis required so subsequent evaluator commands resolve the group.The evaluator uses checked-in declarative manifests. For new manifests, the reproducible CI/CD flow is:
The manifest pattern is the recommended CI/CD and reproducibility path. Use
aca sandbox schemafor editor autocomplete.Local environment
COR_EVAL_OWNER_IDmust be lowercase alphanumeric/hyphen text and at most 63 characters. Never commit tokens or generated result workspaces.Run the complete local suite
1. Deterministic contracts
2. Real ACA grader certification
Stop if grader certification fails; model/product results should not be interpreted while an oracle is uncertified.
To diagnose one case:
3. Paired Rails and baseline E2E
Inspect the exact plan before making paid calls:
Run the primary-model compatibility pilot:
This command runs two scenarios x two arms x one attempt = four paid trials. Equivalent aliases exist for
claude-sonnet-5andgpt-5.4-mini.Aggregate durable evidence:
Review:
report.mdvally-native-report.jsonexperiment-input-manifest.jsonartifacts/native-summary.jsonartifacts/cor-validation.jsonartifacts/validation-manifest.jsoncandidatemeans all configured gates passed.holdmeans complete evidence contains a gate failure.insufficient_evidencemeans required coverage or proof is missing and is not a passing result.Cleanup verification
aca sandbox list -l "owner-id=$COR_EVAL_OWNER_ID" -o jsonThe result must be empty. If diagnostic state must be preserved before destructive cleanup:
Never use a broad selector or delete another run's sandboxes.
CI setup
Workflow:
.github/workflows/copilot-on-rails-evals.ymlRepository variables:
COR_EVAL_DAILY_ENABLED=trueCOR_EVAL_WEEKLY_ENABLED=trueCOR_EVAL_RESOURCE_GROUPCOR_EVAL_SANDBOX_GROUPCOR_EVAL_REGIONRepository secrets:
COR_EVAL_AZURE_CLIENT_IDCOR_EVAL_AZURE_TENANT_IDCOR_EVAL_AZURE_SUBSCRIPTION_IDCOR_EVAL_COPILOT_GITHUB_TOKENThe Azure identity needs
Container Apps SandboxGroup Data Owneron the configured group.Daily is four paid trials. Weekly is 48 paid trials. A local release experiment is 120 paid trials. CI caps concurrency at two, retains evidence for 30 days, and runs exact-owner cleanup even after failures.
The release dispatch currently fails closed before paid calls because provenance-bound real VS Code breakpoint evidence and explicitly authorized live-deployment evidence are not yet wired into that workflow.
Extending and acting on the evaluations
See
evals/CONTRIBUTING.mdfor:Validation completed
Initial evidence and limitations
The corrected three-model compatibility pilot produced six matched pairs:
The system therefore currently recommends
insufficient_evidence, not release. The strongest recurring product gap is the React + Functions + PostgreSQL journey. Current real breakpoint evidence predates the latest provenance contract, and live deployment remains explicitly authorization-gated.