Repository navigation
test(code-metrics): let the change-scope complexity case pass a measure reported unavailable - #13039
Conversation
…overage grader A host run of the change-scope complexity case reached its report with every python measure unavailable (no collector visible in the eval's throwaway home), and the coverage grader split FAIL PASS PASS because it asked for a collector and version per measure. The grader now accepts a measure reported unavailable with its reason, as the type-debt case's coverage grader already does. Refs: #12940 Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_015te8CrNfM6v83JDbLRFDA9
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 reviewed Security review: PR #13039 (incremental since e2b4865)This incremental review is complete: I read the change to both files listed in scope. Neither file matches a trusted-path glob.
Instruction-surface lens: this is eval case text, not a standing instruction (it is not a There are no trust-control, workflow, token, manifest or billing changes in this push. Plugin eval runs spend only prepaid API usage; the PR describes about 1.2 USD per run, made outside CI. The PR context file contains no embedded instructions aimed at the review lane. The earlier summary on this lane (#13039 (comment)) reported no findings, so nothing carries over. I found no security issues. critical-findings: 0 |
|
claude-review reviewed Code review: PR #13039 (incremental,
|
…ndbox The grader accepts a measure reported unavailable, so the case's description and expected_outcome now say the same, matching the type-debt case. Rename the fragment to the form check-plugins requires. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Closes #12940
Summary
The host run #12979 left for the three change-scope
/code-metrics:auditeval cases (size, complexity, type-debt), plus one grader fix it exposed. Each case now reaches the report it grades.Fix
audit-complexity-reports-the-change-with-provenance-and-no-verdict/case.yaml:expectation-2accepted only a Coverage table naming a collector and version per lane and measure. In the sandbox no complexity collector is on PATH, so every measure reads unavailable and the old wording could not be met even by a correct report (one of three judge votes failed it). It now also accepts a measure reported unavailable with the reason the run gave, as long as the run installs no collector and states no number it did not collect. test(code-metrics): scaffold the change-scope audit eval cases #12979 reworded the type-debt case'sexpectation-2the same way.descriptionandexpected_outcomenow say a measure is taken only on a host with its collector on PATH, and otherwise reads unavailable with its reason, matching the type-debt case..changes/code-metrics/: abump: nonefragment (eval suite only).scaffold.shfiles are already 100755 on main (git ls-files -s), so nothing changed there.Departure from #12940: the issue asked for the complexity scaffold to be "a function with branches, in a lane that has a collector". The scaffold has the function, but the sandbox has no collector, so the case checks the report's shape (the unavailable reason, the ISO 5055 reference, no verdict) and leaves the numbers measured for
discount()unchecked there. Basis for not making a collector available: judgment on cost, since each eval run costs about 1.2 USD, and the type-debt case took the same path; why collectors are not on the sandbox's PATH is UNVERIFIED.Verification
validate-cases.pyoverplugins/code-metrics/evals: exit 0, 7 WARN lines, all about the Bash grant the runs pass with--allow-tools Bash. Re-run on the current head.claude plugin eval --case <name> --scaffold --runs 1 --ablation none --judge-model opusrun per action. All three reached their report with nodispatch.shexit 2, and each run's validity gate was VALID:audit-size.shcall exited 3 (a brokensccmise shim); the run then used the bundled counter and exited 0.expectation-2votes FAIL, PASS, PASS on the old wording, which is the grader fixed above.expectation-2and reworded fields. The rerun was refused before its first turn, at no cost, because symbolic links in~/.dockerfailed the eval runner's credential-store preflight. CI runs no plugin evals, so these edits' only check is the reading above.Related
🤖 Generated with Claude Code
https://claude.ai/code/session_015te8CrNfM6v83JDbLRFDA9