Repository navigation
fix(issue-body-contract): deliver the plugin contract to one root path - #988
Conversation
claude-code-plugins refuses a file that is byte-identical in two plugins unless the same change registers it, and a sync PR cannot carry that registration. The sync now delivers the contract once, to docs/contracts/issue-body/contract.json, and that repository's sync-shared-copies.sh fans it out to the bugs and work-items plugins. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01VQb9Q2ceZLXhTR4d1vkTCe
Codex Review Summary: ✅ CompletedThis comment shows the latest Codex review activity on this pull request.
ℹ️ About Codex in GitHubYour team has set up Codex to review pull requests in this repo. Reviews are triggered when you
Codex reacts with 👀 while any review is running, comments if it has suggestions, and reacts with 👍 once all reviews finish with no findings. |
|
claude-security-review reviewed No security issues found in this pull request (head acc4105). The change has three files: it re-registers the issue-body contract sync as one canonical file,
manifest: no hits. |
|
claude-review reviewed No findings. I read the full diff (
|
No related issue: follow-up to #986 (owner-approved issue-body contract design)
Summary
#986 synced the issue-body contract into two plugin directories of
claude-code-plugins. Its sync PR, melodic-software/claude-code-plugins#15429, cannot pass:scripts/check-cross-plugin-source-drift.shrefuses a file byte-identical across two plugins unless the same change registers it, and a registry entry cannot land first because the check also refuses an entry with fewer than two copies (STALE BASELINE). A sync PR cannot carry that registration.Fix
sync-manifest.yml:issue-body-contract-bugsandissue-body-contract-work-itemsbecome one component,issue-body-contract-plugins, deliveringcontract.jsontodocs/contracts/issue-body/contract.jsoninclaude-code-plugins. That repository'ssync-shared-copies.shfans the canonical into each plugin'sreference/, registered in the same change, as it already does fordocs/contracts/standards/README.md.Verification
bash distribution/sync-manifest.sh validate: valid, 52 components, 15 targets.components/managed-files-guard/managed-files-guard.test.sh: passes.claude-code-pluginscheckout, a registry entry forreference/issue-body-contract.jsonwithout the copies failscheck-cross-plugin-source-drift.sh --checkwith STALE BASELINE (exit 1), which rules out registering first.Related
🤖 Generated with Claude Code
https://claude.ai/code/session_01VQb9Q2ceZLXhTR4d1vkTCe