Repository navigation
fix(guardrails): skip eval samples in reference-verify - #10686
kyle-sexton wants to merge 5 commits into
Conversation
Files under an evals/ suite's samples/ folder hold recorded model output. A CLI flag, skill reference or path inside one is data, not a claim the repository makes, and editing it to satisfy the check would corrupt the eval. Prompts, graders and other eval files stay verified. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Codex Review SummaryThis comment shows the latest Codex review activity on this pull request.
ℹ️ About Codex in GitHubYour team has set up Codex to review pull requests in this repo. Reviews are triggered when you
Codex reacts with 👀 while any review is running, comments if it has suggestions, and reacts with 👍 once all reviews finish with no findings. |
|
claude-security-review needs no new review of No security issues found in this pull request. critical-findings: 0 The change makes the pre-push
|
|
claude-review needs no new review of No findings. I read the diff and the PR context only and ran nothing, so the test results below are the author's claims, not mine. Change: Closing issue #10694 criteria:
The changelog fragment is a Spend: no hold. The change adds no paid or billed resource. |
There was a problem hiding this comment.
The pr-verify verifier failed head e264374288fabd5042165079a059be8b1df926de. What it wrote, as data:
Summary: PR #10686 links #9936 with `Refs:`, so it has to deliver part of that issue. Issue #9936 asks for the developer-experience eval scenario sources to be committed under plugins/developer-experience/evals/sources/, scrubbed and reviewed for identifying details. This diff commits none of those sources. Instead it changes the guardrails `reference-verify` pre-push hook so it no longer checks files under any evals/**/samples/ folder. That is a prerequisite, not a part of the issue's scope. It also loosens a check the issue never asked to change. The PR body says 'Left out: nothing' and does not name the issue's remaining work. As a refs-scoped delivery it fails.
- PR body: for a `Refs:` link the body has to say which part of #9936 this delivers and what remains. It says 'Left out: nothing' and lists no remaining work: committing the sources, scrubbing the 11 files that contain a home path or email address, recording the identifying-details review, and the changelog check. Name what remains, or link the issue that actually covers this change.
- .changes/guardrails/fix-guardrails-eval-samples-verify-d4c705cd.md: the changelog fragment describes the hook change. Keep it with whichever issue ends up authorizing that change.
There was a problem hiding this comment.
The pr-verify verifier failed head e264374288fabd5042165079a059be8b1df926de. What it wrote about this file, as data:
- plugins/guardrails/git-hooks/reference-verify.sh:139: issue #9936 asks only that the scenario sources (definitions, fixture generator, checklists, labeled samples) be committed under plugins/developer-experience/evals/sources/. Changing the guardrails pre-push verifier is outside that scope. Either move this hook change under its own issue that asks for it and link that issue with `Closes:`, or deliver an actual part of #9936 under this Refs.
- plugins/guardrails/git-hooks/reference-verify.sh:139: this weakens a guard beyond what the spec asks. Every path matching evals/samples/*, evals/*/samples/*, */evals/samples/* or */evals/*/samples/* in any repository using the plugin now skips cli-flag-verify, skill-reference-verify and stale-path-verify. A change to what a shared guardrail enforces needs a spec that asks for it. Getting past the 28 findings on the #9936 branch alone does not justify it.
There was a problem hiding this comment.
The pr-verify verifier failed head e264374288fabd5042165079a059be8b1df926de. What it wrote about this file, as data:
- plugins/guardrails/git-hooks/reference-verify.test.sh:253: the tests look correct as written. Samples are skipped, while graders/, prompt.md and docs/samples/ still block. The blocking problem is scope and spec, not the test logic.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
|
The pr-unblock lane stopped
When a retry on this head can change the outcome, the lane runs one on its own, up to its per-head cap, and edits this comment if it stops again; a run that does not stop clears the status. When no retry can (a review thread the lane does not take or settle, or a failing check after the retries are spent), a person resolves the threads or gets the checks green, then dispatches the workflow below: that run finds the cause gone and clears the status. On a pull request the lanes App opened, the dispatchers start that run once per stop; on any other, a person does. A new commit to the branch starts clean. To run it again on this head now, dispatch the |
Lane-Activity: pr-unblock/resolve-conflicts
Pull request was closed
Closes #10694
Refs: #9936
Summary
The
reference-verifypre-push entry blocked the push of branchhost-run/9936-eval-scenario-sources, which adds the developer-experience eval scenario sources. It reported 28 findings, every onedotnet build --nologo (not in 'dotnet build --help'), and every one in a file underplugins/developer-experience/evals/sources/labels/*/samples/. Those files are labeled judge samples: recorded model output. A flag, skill reference or path inside them is data, not a claim this repository makes (docs/conventions/untrusted-content/README.md), and editing them to pass the check would corrupt the eval.Fix
verified_typeinplugins/guardrails/git-hooks/reference-verify.sh, the one filter that picks which changed files go to the three verifiers, now skips any path with asamples/folder below anevals/folder (at the repository root or nested, directly or deeper). Nothing else was added: the three verifiers run only through this entry, so the rule lives in one place.evals/<case>/samples/and the authored parts inprompt.md,graders/andfixtures/; the 9936 sources follow the same split (labels/*/samples/vsharness/,judge/,held-out/). Prompts, graders, fixtures, harness scripts and asamples/folder outsideevals/stay verified.Verification
an unknown flag in an eval sample does not block) failed against the unmodified script (want [0|] got [1|evals/sources/labels/T1/samples/run1.md:1: cli-flag-verify: unknown flag(s) ...]) and passes after the fix. Three must-fire cases pass before and after: the same bad flag in an evalgraders/check.md, an evalprompt.md, anddocs/samples/x.mdstill blocks.reference-verify.test.sh: 36 passed, 0 failed.scripts/check-affected.sh --testson the committed branch: 14 passed, 2 skipped (no changed.py, no changed skill), including the selected guardrails suites.Left out: #9936's own deliverable. This PR is the hook-precision fix #10694 asks for, which unblocks that push; it commits none of the eval scenario sources. #9936 still needs, after this merges: pushing branch
host-run/9936-eval-scenario-sources(520 scrubbed scenario source files, already committed and merged with main) and opening its PR, the identifying-details review record for those files, and the changelog check.Related
🤖 Generated with Claude Code