Skip to content

fix(release): guard Claude Code integration version - #2913

Open
ijevin wants to merge 1 commit into
vectorize-io:mainfrom
ijevin:fix/claude-plugin-release-version-2900
Open

fix(release): guard Claude Code integration version#2913
ijevin wants to merge 1 commit into
vectorize-io:mainfrom
ijevin:fix/claude-plugin-release-version-2900

Conversation

@ijevin

@ijevin ijevin commented Jul 22, 2026

Copy link
Copy Markdown
Contributor

Summary

  • release the pending Claude Code integration changes as plugin version 0.7.6
  • add a read-only release-integration.sh --check preflight for manifest/tag/unreleased-change consistency
  • block core releases before mutation or tagging when Claude Code integration changes have not been released
  • regenerate the docs skill during core releases so its bundled OpenAPI copy cannot drift
  • add an isolated regression test for stale changes, manifest mismatch, nested marketplace version keys, extra arguments, the core-release gate, and the docs-skill generation chain

Why 0.7.6, not 0.8.5

Integrations have been independently versioned since #565. The latest Claude Code integration release is integrations/claude-code/v0.7.5, so the next integration version is 0.7.6; coupling it to the core v0.8.5 tag would break that contract.

The immediate bug was that #2801 changed the Claude Code integration, but no integration release followed. Both plugin manifests therefore stayed at 0.7.5, causing claude plugin update hindsight-memory@hindsight to treat the cached plugin as current.

The new preflight preserves independent integration releases: it is read-only and only blocks a core release when Claude Code has commits after its latest integration tag, when the plugin and marketplace manifests disagree, or when the manifest version does not match the latest integration tag.

The first CI run also exposed an existing release-pipeline gap: core v0.8.5 regenerated hindsight-docs/static/openapi.json but did not refresh skills/hindsight-docs/references/openapi.json, leaving the bundled copy at v0.8.4. The core release flow now runs generate-docs-skill.sh after OpenAPI/client generation, and this PR synchronizes the stale generated copy.

Testing

  • bash scripts/tests/test-release-integration.sh
  • cd hindsight-integrations/claude-code && uv run --quiet pytest tests/ -q (206 passed)
  • ./scripts/generate-docs-skill.sh followed by a clean generated-files check
  • bash -n scripts/release-integration.sh
  • bash -n scripts/release.sh
  • bash -n scripts/tests/test-release-integration.sh
  • JSON validation for both manifests and the bundled OpenAPI spec
  • byte-for-byte comparison of the source and bundled OpenAPI specs
  • git diff --check upstream/main...HEAD

No uv.lock files or advisory locks are included.

Fixes #2900

Release the pending Claude Code integration as v0.7.6 and add a read-only preflight that blocks core releases while Claude Code changes remain unreleased or its manifests and tag disagree.

Fixes vectorize-io#2900
@ijevin
ijevin force-pushed the fix/claude-plugin-release-version-2900 branch from e52d0aa to 6ee78b7 Compare July 22, 2026 23:15
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.

Claude Code plugin.json version not bumped for v0.8.5 — plugin update is a no-op

1 participant