Repository navigation
Validate eval fixture destinations - #1281
Merged
Merged
Conversation
Reject mapping-style environment files that omit or empty dest before Vally dispatch. Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com> Copilot-Session: 4384a67a-0183-4a85-9e2a-d59515eb02e7
AbhitejJohn
marked this pull request as ready for review
October 8, 2026 21:12
AbhitejJohn
enabled auto-merge
October 8, 2026 21:12
Contributor
There was a problem hiding this comment.
🟡 Changes recommended
The empty-string validation branch is not exercised because the test value parses as YAML null.
1 open finding
What changed in this PR
Strengthens the eval quality gate by rejecting fixture mappings without valid destinations.
Changes:
- Validates
environment.files[].destas a non-empty string. - Adds regression self-tests.
- Documents fail-closed fixture materialization.
| File | Description |
|---|---|
eng/eval-quality/check_eval_quality.py |
Adds destination validation. |
eng/eval-quality/selftest_eval_quality.py |
Adds missing and empty destination cases. |
eng/eval-quality/README.md |
Documents destination requirements. |
🧠 Review effort: Balanced
💡 Add a code-review agent skill or configure MCP servers for context-aware, tailored reviews. Learn more in the docs.
Contributor
|
👋 @AbhitejJohn — this PR has 1 unresolved review thread(s),merge conflict. When you're ready, please address the feedback and push an update; the triage bot will pick up the next state automatically. (Add the |
added 2 commits
October 9, 2026 10:54
Use a quoted empty YAML scalar so the self-test reaches the empty-string branch. Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com> Copilot-Session: 4384a67a-0183-4a85-9e2a-d59515eb02e7
Resolve the eval-quality conflict by retaining non-empty destination validation and distinct missing/empty regression cases. Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com> Copilot-Session: 4384a67a-0183-4a85-9e2a-d59515eb02e7
Check root and stimulus environment file mappings and align the documented destination contract. Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com> Copilot-Session: 4384a67a-0183-4a85-9e2a-d59515eb02e7
Contributor
|
✅ Evaluation passed for |
webreidi
approved these changes
Oct 9, 2026
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
Require every mapping-style
environment.filesentry to declare a non-empty stringdest. Add regression cases for a missing field and an explicitly empty value, and document the fail-closed materialization rule.Related issue
Related to #1207 evaluation run 37693909743.
Why
The failure is harness/spec-load. Vally rejected the eval before execution with
environment-file-missing-field, butcheck_eval_quality.pyskipped destination validation whendestwas absent or empty because the check was conditional on a truthy value.Impact
Malformed fixture mappings now fail the repository quality gate before evaluation dispatch. Existing valid mappings keep the same containment and materialization behavior.
Validation
python -m py_compile eng\eval-quality\check_eval_quality.py eng\eval-quality\selftest_eval_quality.py— passed.Targeted self-test invocation below — passed both
fixture mapping requires destinationandfixture mapping rejects empty destination.python eng\eval-quality\check_eval_quality.py— passed; enforced 1 changed eval suite and reportedNo errors.python eng\eval-quality\check_eval_quality.py --all— scanned all 101 eval specs; failed on 544 pre-existing legacy errors, with nodesterrors outside the regression cases.python eng\eval-quality\selftest_eval_quality.py— the first 6 cases passed, then the existing symlink test stopped on this Windows host withWinError 1314because symlink privilege is unavailable.Checklist
eng/known-domains.txtfor any new external domains referenced by skill content. (Not applicable.)Evaluation changes only
For every eval-related change, including a new eval: