Skip to content

feat(scanner): reject plugin pnpm uv and poetry publish - #1182

Draft
seonghobae wants to merge 11 commits into
feat/claude-plugin-registry-publish-1099from
feat/claude-plugin-alt-publish-1099
Draft

feat(scanner): reject plugin pnpm uv and poetry publish#1182
seonghobae wants to merge 11 commits into
feat/claude-plugin-registry-publish-1099from
feat/claude-plugin-alt-publish-1099

Conversation

@seonghobae

@seonghobae seonghobae commented Sep 8, 2026

Copy link
Copy Markdown
Contributor

Successor of #1180 / issue #1099. Does not Close those. npm/twine/cargo stay #1180. Object-store s3 stays #1179. Pass is not Noema admission.

Unique delta

Fail closed when a plugin hook or manifest runs remaining package-manager publish writes that #1180 left as inventory:

  • pnpm publish as claude-plugin-pnpm-publish-command (CWE-269)
  • uv publish as claude-plugin-uv-publish-command (CWE-250)
  • poetry publish as claude-plugin-poetry-publish-command (CWE-250)
  • yarn npm publish stays claude-plugin-npm-publish-command
  • pnpm list stays inventory
  • unquoted # comments, echo/printf lookalikes, and marketplace description prose are not this class
  • README pnpm wording is not a hook command
  • snippets are command labels, not tokens or secrets

#1180 remains owner of npm/twine/cargo publish.

Evidence

  • RED f734512 then GREEN e933579
  • tests/test_claude_plugin_alt_publish.py plus sibling registry lock
  • plugin coverage suite 484 passed on Python 3.13

Relates to #1099. Relates to #1180.

Current quoted-command context repair

This descendant inherits #1173 RED d7384e53d44a426356a73e24b2b9cc3fe153de27 and final canonical repair 3a5b14771cc7abb6553fa1ec9bcd8b62acc947ac without copying a leaf workaround. Exact head: e9df55d04e2563ad90a574d4f2f5685fa52754af; current parent: e835a8fc4e050bb6f960ed04686717b5773bc63f; Git compare is 0 behind and preserves this PR's unique detector/test delta. The top #1183 source AST and extracted helper probes pass quoted/reporting negatives while preserving direct and command-substitution positives. This custom-base PR stays Draft until its own hosted integration and independent review are terminal.

Current assignment-value context repair — 2026-09-08

This normal two-parent descendant inherits canonical #1173 RED 90ae232e852b3d01463d978f9bccd9157c341fe7 and GREEN 1e6a3eb43a5bc2d146656af13e7fa6cad2a77315 without a leaf workaround. Exact head: 058051f72e7a953905bafcf5142eb93f7698e863; current parent: 167a0ba7cc538bb2d3d56679ddc7d24fc71ef32d; Git compare is 0 behind and preserves this PR's unique detector/test delta. Assignment-value negatives and environment-prefix/direct/substitution positives are present in the exact tree. This custom-base PR remains Draft until its own hosted integration and independent current-head review are terminal. Earlier head strings in this body are historical evidence only.

Current heredoc-safe restack — 2026-09-08

Canonical #1173 exact head 184b4b4f55906284ac1d8059e46cec8f0d9cfc9a fixes closed literal here-document payload false positives with RED 6f6be77d... → GREEN 12faf2f.... This branch was integrated non-destructively on parent ecc7a1c883cd06d80a9431b35aa152282c7a5f9e; exact head is 2c7b0656fdd9e1977483fb007e3173d387254893. GitHub compare reports behind_by=0, ahead_by=11; the PR's unique detector delta remains in the tree. Exact-head hosted integration and independent review are not terminal, so this PR remains Draft. Earlier head strings are historical evidence only.

Hook and manifest pnpm publish, uv publish, and poetry publish must
fail closed. yarn npm publish stays the npm class. Comments, echo
lookalikes, and README wording stay inventory. Relates to #1099.
Fail closed on executable pnpm publish, uv publish, and poetry
publish. yarn npm publish stays the npm class. npm pack and
comments stay inventory. Relates to #1099.
@coderabbitai

coderabbitai Bot commented Sep 8, 2026

Copy link
Copy Markdown

Important

Draft PR not reviewed

Draft PRs are not automatically reviewed by default.

  • Trigger a manual review

To automatically review draft PRs, update your CodeRabbit configuration:

reviews:
  auto_review:
    drafts: true

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands.

seonghobae added a commit that referenced this pull request Sep 8, 2026
Exact head e933579 stacked on #1180 fails closed on pnpm, uv, and
poetry publish. yarn npm publish stays npm. Relates to #1099.
seonghobae added a commit that referenced this pull request Sep 8, 2026
Summary:
- Snapshot 2026-09-08 06:17 UTC records Draft #1183 `798da47` stacked on #1182.
- Executable gem push and nuget push fail closed.
- Remaining leftover: composer/pub/go upload.

Rationale:
- #999 is the single writer of the product-technical gap baseline.
- Do not Close #1099 or #1182.

Tests:
- documentation-only; detector evidence lives on #1183 (495 passed)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

enhancement New feature or request priority: high

Projects

Status: Backlog

Development

Successfully merging this pull request may close these issues.

1 participant