Repository navigation
fix(store): prune rows whose file is now scanned under a new id - #177
Merged
Merged
Conversation
An extension's id is derived from its name, so a change in how a skill's name is read (#173 stripped the quotes from `name: "imagegen"`) makes the next scan report the same file under a new id. The old row survived forever: it was a marketplace install with install_meta whose file was of course still on disk, which the stale-row rules read as a momentary scan gap. Users upgrading saw both `"imagegen"` and `imagegen` listed. A file the scan now reports for the same agent under another id is a reassignment, not a scan gap: the old row goes, and its install_meta moves to the row that took the file over unless that row already has its own, so provenance and update checks survive. Only skills and plugins qualify, where one file is one extension; MCP/hook rows share their config file and a skill in a shared directory has one row per agent, so matching is on kind, agent and path. The two copies of the stale-prune loop (full sync and per-agent sync) are replaced by one shared helper. Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
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.
Problem
After upgrading to v1.15.1, users who had installed skills with a quoted frontmatter name (
name: "imagegen") from the marketplace saw them listed twice:"imagegen"andimagegen.#173 changed how the name is read, which changes the id derived from it, so the next scan reports the same file under a new id. The old row was a marketplace install with install_meta whose file was still on disk, and the stale-row rules in
store/sync.rstreated that as a momentary scan gap and kept it forever. Only rows with install_meta were affected; quoted skills that came with an agent or were cloned by hand were pruned and replaced normally.Fix
Verification
cargo test --workspace, clippy andcargo fmt --checkclean.🤖 Generated with Claude Code