Skip to content

chore: keep the shipped plugin CHANGELOG small - #918

Draft
tractorjuice wants to merge 1 commit into
mainfrom
chore/trim-plugin-changelog
Draft

tractorjuice wants to merge 1 commit into
mainfrom
chore/trim-plugin-changelog

Conversation

@tractorjuice

Copy link
Copy Markdown
Owner

Parked — do not merge. This branch is held in reserve for the Claude plugin directory review. Merge it only if the reviewer asks for changes to the "Files or downloads the validator couldn't inspect" hold, or once core ArcKit is approved, so it ships with the first release after approval. No release goes out until core is approved.

Why

The directory's validator could not inspect plugins/arckit-claude/CHANGELOG.md at 319 KB. It is one of the two findings behind the Files or downloads the validator couldn't inspect policy hold on the core plugin (v6.17.3 and v6.17.5). The other finding is the file count (582), which this PR does not address. A 211 KB template in the same plugin was read without complaint, so the limit sits somewhere between the two.

What changed

  • scripts/trim-plugin-changelog.py keeps the newest releases in the shipped file and moves whole older minor series, word for word, to docs/changelog/arckit-plugin-archive.md. push-extensions.sh never ships that path. A line under the title links to the archive.
  • The plugin CHANGELOG goes from 311 KB to 49 KB and now holds 6.13.0 onwards. All 210 sections are still present across the two files, in order and byte-identical.
  • It stays small: bump-version.sh runs the trim on every release (target 64 KB, cut only between minor series), and a new lint-markdown.yml step fails if the file passes 128 KB.
  • check-contributor-credits.py also reads the archive. standardise-colon.py skips it, since its old entries quote the /arckit. dot form 67 times.
  • RELEASING.md, the release skill and both [Unreleased] sections describe the change.

Checks

  • 7 new tests in tests/plugin/test_trim_plugin_changelog.py: series boundaries, nothing lost or reordered, idempotent second run, archive ordering, pointer line, duplicate guard
  • pytest tests/: 2290 passed, 228 skipped
  • node --test tests/plugin/*.test.mjs: 395 passed
  • Every python3 scripts/… step in lint-markdown.yml: all 22 pass
  • markdownlint-cli2 on the changed Markdown: 0 issues

🤖 Generated with Claude Code

The Claude plugin directory's validator could not inspect
plugins/arckit-claude/CHANGELOG.md at 319 KB; it is one of the two
findings behind the "Files or downloads the validator couldn't inspect"
policy hold on the core plugin (v6.17.3, v6.17.5).

scripts/trim-plugin-changelog.py keeps the newest releases in the shipped
file and moves whole older minor series, word for word, to
docs/changelog/arckit-plugin-archive.md, which push-extensions.sh never
ships. The plugin CHANGELOG drops to 49 KB (6.13.0 onwards) and links to
the archive. bump-version.sh runs the trim on every release; CI fails if
the file passes 128 KB. The contributor-credit check reads the archive,
and the colon-notation check skips it (it is history).

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
@tractorjuice tractorjuice added the chore Maintenance, tooling, CI, releases — no user-facing change label Oct 6, 2026

This branch has not been deployed

No deployments
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

chore Maintenance, tooling, CI, releases — no user-facing change

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant