Skip to content

Remove a skill's grants when it is uninstalled - #563

Merged
davidmckayv merged 1 commit into
mainfrom
ci/skill-uninstall-grants
Sep 15, 2026
Merged

davidmckayv merged 1 commit into
mainfrom
ci/skill-uninstall-grants

Conversation

@davidmckayv

Copy link
Copy Markdown
Contributor

Folds in #558 by @zopeVaibhav — verified: uninstalling a skill left its grants (keyed by slug), so a new skill reusing the slug inherited them. uninstallSkill now drops the grants and the skill in one transaction, and a migration removes any already-orphaned skill grants.

The only change from #558 is the migration renumber: #558 used 0037, which collides with 00370039 (the composio migrations) already on main. It's renumbered to 0040, snapshot prevId chained to 0039; the fix is data-only so the schema snapshot is unchanged (drift check passes locally). #558's own branch couldn't take the renumber (GitHub refused the maintainer push), so this lands the same work here. Closing #558 in favour of this.

Credit to @zopeVaibhav.

Uninstalling a skill deleted the skill row but left its tool grants, which are keyed by slug. A new
skill created under the same slug then inherited them and was offered on the old Bots with no grant
action — a quiet privilege carry-over. uninstallSkill now removes the skill's grants and the skill
itself in one transaction, and a migration drops any grants already orphaned this way.

Originally #558 by zopeVaibhav, folded in here with the migration renumbered from 0037 to 0040 (0037
through 0039 are the composio migrations already on main), because the fork branch could not take the
change directly.
@davidmckayv
davidmckayv merged commit a57c84d into main Sep 15, 2026
15 checks passed
@davidmckayv
davidmckayv deleted the ci/skill-uninstall-grants branch September 15, 2026 18:17
davidmckayv added a commit that referenced this pull request Sep 15, 2026
…564)

The Unreleased changelog was missing several changes that landed since v0.0.11: the Composio
connector (#481), the removal of a skill's grants when it is uninstalled (#563), and the
request-validation sweep that answers a malformed request with a 400 rather than coercing it or
letting it through (#543-#548, #550), including the one fail-open it closed. Added, each checked
against the code.

The README's Governed MCP bullet named only Google Drive and Notion; Composio brokers a few hundred
more apps in the catalogue now, so it says so.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant