Repository navigation
Migrate titan-receipts installs to commitproof with a renames entry - #12
Merged
Merged
Conversation
Installs made under the old plugin name broke when the plugin became commitproof: after a marketplace update, `claude plugin update titan-receipts@titan-receipts-marketplace` failed with "Plugin titan-receipts not found" and the plugin showed "failed to load". marketplace.json now maps titan-receipts to commitproof in a top-level renames map, the documented way to migrate users after a plugin rename. Checked end to end in an isolated Claude Code 2.1.299 config: an existing titan-receipts 1.2.0 install loads again after the marketplace update, its enabledPlugins key is rewritten to commitproof, and one `claude plugin install commitproof@titan-receipts-marketplace` brings it to 1.3.1. CHANGELOG.md tells existing users that one step. test_rename.py pins the map. The old-name check now allows the old name only inside it. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
The steps read as if everyone should run them. They are now for titan-receipts installs only; anyone who also installed commitproof@commitproof removes the old marketplace instead, so two copies do not both record receipts; and the README's "Formerly Titan Receipts" section is named as the way onto the current name for good. Co-Authored-By: Claude Opus 5.5 <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.
Summary
Renaming the plugin from
titan-receiptstocommitproofstranded existing marketplace installs. A top-levelrenamesmap, the documented migration for a plugin rename, points the old name at the new one.titan-receipts@titan-receipts-marketplaceinstallclaude plugin marketplace update titan-receipts-marketplaceenabledPluginskeytitan-receipts@…commitproof@titan-receipts-marketplaceclaude plugin install commitproof@titan-receipts-marketplace(one time)Diff:
"renames": {"titan-receipts": "commitproof"}in.claude-plugin/marketplace.json, a test that pins it, the old-name test scoped so the map is the only place the old name may appear, and a CHANGELOG note with the one-time upgrade commands.Evidence
tests/test_rename.py::test_old_installs_migrate_through_a_renames_entry: red before (assert None == {'titan-receipts': 'commitproof'}), green after.marketplace.json(mutation checked, then restored).claude plugin validate --strict .and--strict .claude-plugin/plugin.json: both exit 0.mainplus thismarketplace.json→ the table above. Without therenamesentry, the same steps reproduce "Plugin titan-receipts not found" and "failed to load".Not covered: the marketplace's own name also changed in 1.3.0 (
titan-receipts-marketplace→commitproof), and the docs don't describe migrating that. In the test, Claude Code kept the user's registered name, socommitproof@titan-receipts-marketplaceis the working id for existing users.Merge danger
Door: two-way (one manifest key, a test and a CHANGELOG entry; a revert undoes it). Blast radius: users. Existing installs start loading again after their next marketplace update.
🤖 Generated with Claude Code