fix(vibe): skip canonical categories with no Vibe tool instead of emitting inert tables - #2549
Merged
dyoshikawa merged 4 commits intoAug 1, 2026
Merged
Conversation
…tting inert tables toVibeToolName fell back to the canonical category name verbatim, so categories with no Vibe counterpart (glob, notebookedit, ...) emitted [tools.<category>] tables for tools Vibe does not have - a deny authored there looked applied while being silently inert, the dangerous direction. Unlike agent -> task (#2441) there is no correct name to rename to, so the category is now skipped with a warning naming it and the affected rule count (the grokcli adapter's pattern). The skip also covers the enabled/disabled cleanup loop and the sensitive_patterns override so no phantom tool names are touched. Unknown on-disk [tools.*] tables still round-trip untouched. Closes #2485 Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
…categories Review follow-ups on PR #2549 (both reviewers flagged the same high): - grep was missing from CANONICAL_TO_VIBE_TOOL_NAMES even though Vibe has a builtin grep tool, so the new skip logic would have dropped a previously-working grep deny with a factually wrong warning. Both maps now carry grep: "grep", with a test asserting [tools.grep] permission = "never" + disabled_tools emission. - The sensitive_patterns override skip now warns too (explicit user config must not vanish silently), and a test covers the override and cleanup-loop skip paths (existing disabled_tools entry for an unmapped name survives untouched). - The docs migration note mentions the stale inert [tools.glob] / [tools.notebookedit] tables earlier versions emitted (hand-removal, matching the unknown-tables-round-trip contract). Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Owner
Author
|
@dyoshikawa Thank you! |
dyoshikawa
deleted the
resolve-scrap-issue-2485-vibe-unmapped-categories
branch
August 1, 2026 01:30
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Fixes #2485:
toVibeToolNamefell back to the canonical category name verbatim, so categories with no Vibe counterpart (e.g.glob,notebookedit) emitted[tools.<category>]tables for tools Vibe does not have — adenyauthored there looked applied while being silently inert, the dangerous direction. Unlike theagent→taskrename (#2441) there is no correct name to map to.hasVibeToolNameown-property check. The skip also covers theenabled_tools/disabled_toolscleanup loop and thevibe.permission.<category>.sensitive_patternsoverride, so no phantom tool names are created or touched anywhere.[tools.*]table still round-trips untouched (test added), and the empty-table artifact this issue also referenced was already removed by thepermission = "never"emission in PR fix(vibe): stop misusing exclusive enabled_tools, preserve vibe-mcp-add servers, emit never, warn on shadowed global config #2543.Testing
glob/notebookeditemits no tables, nodisabled_toolsentries, and warns per category; unknown on-disk[tools.custom_tool]table survives a generate.pnpm cicheckgreen.Closes #2485
🤖 Generated with Claude Code