Repository navigation
fix(evals): let run-validity gate a base side whose unfired runs are the measured change - #11982
Conversation
…the measured change run-validity.py takes --measured-fire <case> (repeatable): the skill-fired check reports that case's misses as a measured rate, as for an invocation probe, so the base side of a change that makes a skill fire can gate VALID. Every other check, and every unnamed case, is unchanged. Closes #11979 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. |
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: 3302285336
ℹ️ About Codex in GitHub
Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".
|
claude-security-review reviewed Security review (incremental, since 3302285)I found no security issues in this change. What I read: every hunk of
Other checks:
critical-findings: 0 |
|
claude-review reviewed Incremental review (3302285 → fa090fd): no findings. I read every hunk of the three changed files in
Closing issue #11979: the incremental change keeps the earlier-reviewed flag behaviour and tests as they were. I did not run the tests. The author says No embedded instructions in the PR context. Nothing in this change spends money or prepaid credit. |
…issue link The skill-fired check labelled every measured tally "invocation probes", so a --measured-fire case read as a probe in the WARN line and the verdict. The label is now "measured cases" whenever a named case is among them. The skill reference drops its issue link (skill criteria: no issue numbers in a skill). Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Closes #11979
Summary
run-validity.pymarked a whole result file INVALID whenever a should-trigger case did not fire. On the base side of a change that makes a skill fire, not firing is the quantity being measured, so that base file could never gate VALID however clean its runs were (#11895'sshape-and-depth-nested-radius: base fired 0/3 with no error or denial and still failed the gate).--measured-fire <case>names such cases; their misses are reported as a measured rate, the way invocation probes already are.Fix
plugins/evals/skills/plugin-eval/scripts/run-validity.py: new repeatable--measured-fire CASE;check_firedtreats a named case like an invocation probe (misses becomemeasured:lines and a WARN). Every other check, and every unnamed case, is unchanged. Docstring updated.plugins/evals/skills/plugin-eval/scripts/test_run_validity.py: two tests. A file whose only defect is an unfired run gates INVALID without the flag and VALID with it; a second unfired case not named stays INVALID with the flag.plugins/evals/skills/plugin-eval/reference/reading-results.md: says when to pass the flag..changes/evals/fix-11979-measured-fire-5c1e8d20.md.Verification
run-validity.test.sh: 101 tests, OK. The new tests fail on main, which rejects the unknown flag.scripts/run-ruff.sh checkon both Python files: all checks passed.Related
🤖 Generated with Claude Code