Skip to content

fix(tools): exempt invoke_skill and load_skill from utility gate#3165

Merged
bug-ops merged 1 commit intomainfrom
3163-invoke-skill-utility-gate
Apr 18, 2026
Merged

fix(tools): exempt invoke_skill and load_skill from utility gate#3165
bug-ops merged 1 commit intomainfrom
3163-invoke-skill-utility-gate

Conversation

@bug-ops
Copy link
Copy Markdown
Owner

@bug-ops bug-ops commented Apr 18, 2026

Summary

  • UtilityScoringConfig::default() had exempt_tools: Vec::new(), causing the utility scorer to block invoke_skill and load_skill calls with Retrieve/Respond verdicts
  • Added both tools to the default exempt list, matching the existing AdversarialPolicyConfig::default_exempt_tools() behaviour from fix(skills,tools): exempt invoke_skill from policy gates and fix plugin hot-reload #3150
  • Added regression test utility_scoring_default_exempt_tools_contains_skill_ops

Test plan

  • cargo nextest run -p zeph-tools -E 'test(utility_scoring_default_exempt)' — passes
  • Live session: echo "use the /help skill" | cargo run --features full -- --config .local/config/testing.toml — skill executes without utility gate block

Closes #3163

@github-actions github-actions Bot added documentation Improvements or additions to documentation rust Rust code changes bug Something isn't working size/S Small PR (11-50 lines) labels Apr 18, 2026
UtilityScoringConfig::default() populated exempt_tools with an empty
Vec, so the utility scorer blocked invoke_skill calls even though
AdversarialPolicyConfig and vigil already exempted them (#3150).
Add invoke_skill and load_skill to the default exempt list and cover
the invariant with a regression test.

Closes #3163
@bug-ops bug-ops enabled auto-merge (squash) April 18, 2026 11:43
@bug-ops bug-ops force-pushed the 3163-invoke-skill-utility-gate branch from 43ac837 to bbddedd Compare April 18, 2026 11:43
@bug-ops bug-ops merged commit 90e0d86 into main Apr 18, 2026
32 checks passed
@bug-ops bug-ops deleted the 3163-invoke-skill-utility-gate branch April 18, 2026 11:49
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

bug Something isn't working documentation Improvements or additions to documentation rust Rust code changes size/S Small PR (11-50 lines)

Projects

None yet

Development

Successfully merging this pull request may close these issues.

tools: invoke_skill still blocked by utility gate — #3150 only exempted adversarial gate

1 participant