feat(bugs)!: rename the bug-report plugin to bugs - #3232
Conversation
BREAKING: plugin id bug-report -> bugs; skills are now /bugs:scan, /bugs:write, /bugs:setup; the tracked team config surface renames to .claude/bugs.md; the plugin-data root moves with the plugin name. No aliasing shim shipped by request. Live references swept fleet-wide (fences, convention registries, leaf-name registry, settings, marketplace, generated docs); historical changelog entries, the upstream port record, and topic-slice snapshots retain the old name as immutable history. The bug-reports/ data subdir literal and the 'bug-report this' trigger phrase are unchanged by design. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01JMRQbnTGgw3zxsd1fUDstX
Verifier findings: claude-ops 0.37.1 and work-items 0.39.19 entries cover their swept cross-references (published-version-reuse gate), and the persisted report frontmatter reverts to type: bug-report per the storage-format stability precedent (ADR 0013). Co-Authored-By: Claude Fable 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01JMRQbnTGgw3zxsd1fUDstX
|
Claude finished @kyle-sexton's task in 47s —— View job Security review (
|
|
Last security-reviewed head: |
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: d67519b706
ℹ️ About Codex in GitHub
Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".
…scade layers — review findings
The marketplace renamed the `bug-report` plugin to `bugs` upstream (melodic-software/claude-code-plugins#3232, plugin 0.9.0) as a hard rename with no aliasing, so the old id no longer resolves and the entry enabled a plugin this repo could neither install nor update. Renames the `enabledPlugins` entry in place — `bugs` keeps the same alphabetical slot. No other tracked file referenced the old name, and the plugin ships no tracked team config layer here.
|
Claude finished @kyle-sexton's task in 34s —— View job Code review (
|
|
Claude has reviewed this PR 1 time. The lane skips further automatic reviews after 5; deleting this comment resets the count. |
Closes #4589 ## Summary Renames the `provenance` plugin to `attribution`, so the name says what the plugin gets you: prose that restates an external source attributes it. `provenance` stays for one release as a deprecation shim, because a plugin id that disappears without a `renames` entry reports `Plugin "<name>" not found in marketplace` to everyone who has it installed ([host-marketplace, "Uninstall removed plugins from users' machines"](https://code.claude.com/docs/en/plugins/host-marketplace)). ## Fix - `plugins/provenance/` moved to `plugins/attribution/` with `git mv` (67 files). The plugin is now at 0.6.0, and its CHANGELOG notes each breaking change: - Install id `attribution@melodic-software`. - Skills `/attribution:audit` and `/attribution:setup`. - Rule ids `attribution/audit/rule-*`. - Config file `.claude/attribution.json` (user, team and `.local` layers). A leftover `provenance*.json` prints a one-line warning and is never read. - Findings file `<ts>-attribution.md`. - The README marker example is `attribution:source`. Existing `provenance:source` fences still work, because the breadcrumb extractor matches any URL-carrying comment fence rather than a literal. - A new `plugins/provenance/` 0.6.0 shim: - A CHANGELOG with every earlier heading kept. - A README that explains the migration. - Two stub skills with `disable-model-invocation: true` that point to `attribution:*`. - Minimal evals. - Excluded from the cheat sheet. - Repo wiring: - `marketplace.json`: an attribution entry plus the deprecated shim entry. `renames` is unchanged. - `AGENTS.md` row. - `.claude/provenance.json` renamed to `.claude/attribution.json`. - `scripts/skill-leaf-name-registry.txt`, `scripts/em-dash-purged-paths.txt`, `scripts/cheatsheet-config.mjs`. - The unhobble manifest mirror's paths. - `docs/conventions/detector-findings` rows, with a 3.1.2 entry. - Regenerated `docs/catalog.md`. - Reference-only edits, each with a patch bump and a CHANGELOG entry: docs-hygiene 0.23.2, review 0.30.5 (crosswalk rule ids), codebase-health 0.10.1, code-tidying 0.23.3, playbooks 0.13.2. - Kept as they were: - Past CHANGELOG sections and `docs/specs/provenance-*`, as history. - The word "provenance" where it means origin. - The JSON `provenance` fields in other plugins. ## Verification PENDING ## Related - This was an unattended interview. The lane lead answered each open question with the default from the item or the lane notes, and a fresh-context validator challenged the answers without seeing the reasoning. The full register is in the branch's PLAN (local). - Q1: rename cleanly or ship a shim? Shim, and the validator confirmed it. Conflict for the owner to decide: `docs/migration-playbook.md` says a rename "is a clean breaking change carried by a version bump and a changelog note" and a retirement gets "No tombstone", and #3232 (bug-report -> bugs) was a hard rename. - Q2 (skill ids), Q3 (rule-id prefix), Q4 (config filename, with the warning the validator added), Q5 (findings filename), Q6 (keep `provenance` as a tag), Q7 (unhobble paths): confirmed. - Q8: the validator overturned keeping the `provenance:source` marker example. - USER-RESERVED, left out of this PR: - Adding a `renames` entry (`provenance` -> `attribution`). Upstream calls the map append-only, and it reverses the frozen-map doctrine. - The dotfiles `.chezmoidata/claude.json` seed. - `components/cloud-environment/fleet-plugins.json` in melodic-software/standards. - Each machine's `enabledPlugins`. - The data directory `~/.claude/plugins/data/provenance-melodic-software/`. - Follow-up: remove the `provenance` shim (its directory, marketplace entry, cheat-sheet exclusion and leaf-registry owner) in a later release. 🤖 Generated with [Claude Code](https://claude.com/claude-code) --------- Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com> Co-authored-by: Cursor Agent <cursoragent@cursor.com> Co-authored-by: Kyle Sexton <kyle-sexton@users.noreply.github.com>
No linked issue
Summary
Renames the
bug-reportplugin tobugs— withscan(landed in #3208) besidewrite, the plugin's identity is the front half of the bug lifecycle (find them, report them), and the old name described only the second half. Follow-up to #3208 by owner request: hard rename, no aliasing/retirement machinery, breaking changes accepted. Plugin 0.8.0 → 0.9.0.Fix
plugins/bug-report/→plugins/bugs/(15 tracked renames); skills are now/bugs:scan,/bugs:write,/bugs:setup; marketplace entry,.claude/settings.jsonenablement, and the skill-leaf-name registry updated..claude/bug-report.md→.claude/bugs.md(same keys, cascade, and merge semantics perreference/config.md); convention registries (config-cascade, plugin-data-report-keying) updated.claude-ops:known-issues(0.37.1) andwork-items:track(0.39.19) with their own changelog entries per the published-version-reuse gate.type: bug-report(storage-format identifiers stay stable across renames — ADR 0013), thebug-reports/plugin-data subdir literal, the'bug-report this'trigger phrase, and historical changelog/upstream/topic-slice records, which retain the old name as immutable history. The old-name marketplace tag is kept as a search alias.Verification
Fresh-context verifier audited the rename against 8 criteria: file-census parity (15/15 carried), manifest/marketplace/settings state, byte-identical changelog history under the new 0.9.0 entry, a classified residual-reference sweep (only deliberate keeps remain), cross-fleet surface updates with the keying-convention citation still resolving, and gates. Its one FAIL (unversioned cross-plugin edits) and one scope flag (
type:identifier drift) are fixed in d67519b. Local gates all exit 0:validate-plugins.sh, all fourcheck-changelog-parity.shmodes,check-changed-skills.sh origin/main(5 skills PASS), catalog + cheat-sheet--check, markdownlint, typos, editorconfig-checker.Related
docs/conventions/config-cascade/,docs/conventions/plugin-data-report-keying/🤖 Generated with Claude Code
https://claude.ai/code/session_01JMRQbnTGgw3zxsd1fUDstX
Generated by Claude Code