Skip to content

Migrate titan-receipts installs to commitproof with a renames entry - #12

Merged
Rmasood1122 merged 2 commits into
mainfrom
fix/rename-migration
Oct 20, 2026
Merged

Rmasood1122 merged 2 commits into
mainfrom
fix/rename-migration

Conversation

@Rmasood1122

Copy link
Copy Markdown
Owner

Summary

Renaming the plugin from titan-receipts to commitproof stranded existing marketplace installs. A top-level renames map, the documented migration for a plugin rename, points the old name at the new one.

Existing titan-receipts@titan-receipts-marketplace install Before After
claude plugin marketplace update titan-receipts-marketplace succeeds succeeds
Plugin status afterwards failed to load enabled
enabledPlugins key stays titan-receipts@… rewritten to commitproof@titan-receipts-marketplace
claude plugin install commitproof@titan-receipts-marketplace (one time) n/a installs commitproof 1.3.1, enabled

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.
  • The scoped old-name test still fails if "titan-receipts" appears anywhere else in marketplace.json (mutation checked, then restored).
  • Full suite: 113 → 114 passed. claude plugin validate --strict . and --strict .claude-plugin/plugin.json: both exit 0.
  • Live, in an isolated Claude Code 2.1.299 config, using a local copy of this marketplace: titan-receipts 1.2.0 installed → marketplace moved to main plus this marketplace.json → the table above. Without the renames entry, the same steps reproduce "Plugin titan-receipts not found" and "failed to load".
  • Docs: code.claude.com/docs/en/plugins/host-marketplace ("Migrate users with a renames map"). Git-hosted marketplaces need the one-time install, which is why CHANGELOG.md gives the command.

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, so commitproof@titan-receipts-marketplace is 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

Rmasood1122 and others added 2 commits October 20, 2026 18:57
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>
@Rmasood1122
Rmasood1122 merged commit b363c4b into main Oct 20, 2026
4 checks passed
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