Repository navigation
fix(skill-quality): run emitted invocation probes without the read-only search tools - #11755
Conversation
…ly search tools An emitted probe case runs in an empty workspace, so the agent searched outside it with Glob, Grep and Read, and run-validity.py failed the run on those denied calls: no trigger measurement could gate VALID. A case's allowed_tools only adds tools, so the emitted README, the invocation-probes reference and rewrite-a-plugin step 5 now pass --disallow-tools Read Glob Grep. Host smoke (Claude Code 2.1.316, Opus 5.5, 19 /ai-slop:audit probe cases, with-arm, --runs 1): VALID, 0 denied calls in 19 traces, against 16 of 19 denied with allowed_tools [Skill]. Per-case outcomes matched the earlier smoke except one positive that now fires (18/19 vs 17/19). Closes #11624 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 reviewed Security review: PR #11755I found no security issues. What changed. The PR adds
What I checked.
Spend: none in this diff. The documented probe runs use prepaid model usage when someone runs them by hand. critical-findings: 0 |
|
claude-review reviewed Code review: PR #11755: zero findingsI read every hunk of all 6 changed files. None of them match a trusted-path glob. What changed. Emitted invocation-probe runs now pass
There are two changelog fragments, both Checks
Non-blocking note (not counted). The emitted Embedded text. Neither the PR context file nor the closing issue contains any instruction aimed at this lane. Spend. None. The change only alters run flags in docs and the generated README. |
Closes #11624
Summary
An emitted invocation-probe case runs in an empty workspace, so the agent searched outside it with Glob, Grep and Read.
run-validity.pyfailed the run on those denied calls, so no trigger measurement could gate VALID. Probe runs now pass--disallow-tools Read Glob Grep, which removes the search tools. A case'sallowed_toolscannot do this: it only adds tools.Fix
measure-invocation.sh emit-plugin-evalwrites beside the cases gives the full run line:--ablation none --keep-temp --disallow-tools Read Glob Grep.reference/invocation-probes.md"emit-plugin-eval results" states the flag and why. It points atclaude plugin eval --helpas the source, with an as-of date and recheck trigger, because the plugin-evals page documents grants only./playbooks:skill-authoringrewrite-a-plugin.mdstep 5 runs the emitted probes with the flag.allowed_toolsis unchanged, so a run that forgets the flag gets the old denial pattern rather than the worse oneallowed_tools: [Skill]gave.Verification
/ai-slop:auditprobe cases, with-arm,--runs 1.run-validity.pyverdict VALID, 0 denied tool calls in 19 traces. Before the fix, 6 of 8 runs had denials, and 16 of 19 withallowed_tools: [Skill].measure-invocation.test.sh: all passed, including a new check that the emitted README carries the flag; it fails on main.scripts/check-affected.sh: 14 passed.Related
🤖 Generated with Claude Code