Skip to content

fix(plugins): ship the claude-code hook version bumps with releases - #1313

Merged
phernandez merged 5 commits into
mainfrom
fix/release-stages-claude-hook-bumps
Aug 24, 2026
Merged

fix(plugins): ship the claude-code hook version bumps with releases#1313
phernandez merged 5 commits into
mainfrom
fix/release-stages-claude-hook-bumps

Conversation

@phernandez

@phernandez phernandez commented Aug 24, 2026

Copy link
Copy Markdown
Member

Three release-hardening fixes found while shipping v0.23.0:

  1. Stranded version bumps: scripts/update_versions.py bumps the claude-code hook shims' dependency floor, but the release recipe's git add list staged only the codex copies — the v0.23.0 bump commit shipped without them. This PR lands the stranded >=0.23.0 bumps and adds both files to the staged list in the release and beta recipes.

  2. Pre-release resolution on older uv: 0.23.0 depends on fastmcp==4.0.0b1, and older uv (e.g. 0.8.4, 2025-07) refuses pre-release transitive deps — plain uv pip install basic-memory silently resolves 0.22.1, and the hook shims fail resolution entirely, which fail-open turns into the Claude Code plugin hooks silently no-op on current release: hook CLI verb only exists on main (not in 0.22.1) #1210 silent no-op. Current uv (0.12.x) resolves fine. All four shims (claude-code + codex) now carry [tool.uv] prerelease = "allow" in their PEP 723 metadata.

  3. Live Claude Code plugin hooks silently no-op on current release: hook CLI verb only exists on main (not in 0.22.1) #1210 validation: with the hardening, the SessionStart shim executed end-to-end under uv 0.8.4 with no BM_BIN override — resolved PyPI 0.23.0 and printed the full session brief. The marketplace no-op is fixed for both old and new uv once this merges.

🤖 Generated with Claude Code

https://claude.ai/code/session_01G4rbaeHJN3L7CREp5v38J9

scripts/update_versions.py bumps the claude-code hook shims'
basic-memory dependency floor, but the release recipe's git add list
only staged the codex copies — the v0.23.0 release left both files
dirty in the working tree instead of on the bump commit. Stage them in
the recipe and land the stranded v0.23.0 bumps.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01G4rbaeHJN3L7CREp5v38J9
Signed-off-by: phernandez <paul@basicmachines.co>
@phernandez phernandez added this to the v0.23 milestone Aug 24, 2026
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01G4rbaeHJN3L7CREp5v38J9
Signed-off-by: phernandez <paul@basicmachines.co>

@chatgpt-codex-connector chatgpt-codex-connector Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit: 533c414956

ℹ️ 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".

Comment thread plugins/claude-code/hooks/pre_compact.py Outdated
basic-memory 0.23.0 depends on fastmcp==4.0.0b1, and older uv versions
(e.g. 0.8.4) refuse pre-release transitive dependencies: plain
'uv pip install basic-memory' silently resolves 0.22.1 and the hook
shims fail resolution entirely, which the fail-open contract turns into
the #1210 silent no-op. Current uv (0.12.x) resolves fine. A
[tool.uv] prerelease = "allow" block in each shim's script metadata
makes resolution work on both: verified live under uv 0.8.4 — the
SessionStart shim resolved PyPI 0.23.0 and printed the full brief.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01G4rbaeHJN3L7CREp5v38J9
Signed-off-by: phernandez <paul@basicmachines.co>

@chatgpt-codex-connector chatgpt-codex-connector Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit: 285467e7e9

ℹ️ 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".

Comment thread plugins/claude-code/hooks/pre_compact.py Outdated
…ases

A blanket [tool.uv] prerelease = 'allow' would let the stable shims
resolve a future basic-memory beta. Declaring the exact fastmcp beta as
a direct dependency scopes the pre-release opt-in to the one package
that needs it: old uv resolves basic-memory 0.23.0 (verified live under
uv 0.8.4), and basic-memory itself stays stable-only. The version
updater, validator, and floor tests follow the new multi-line form.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01G4rbaeHJN3L7CREp5v38J9
Signed-off-by: phernandez <paul@basicmachines.co>
@phernandez

Copy link
Copy Markdown
Member Author

@codex review

@chatgpt-codex-connector chatgpt-codex-connector Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit: 30875d7ccf

ℹ️ 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".

Comment thread plugins/claude-code/hooks/pre_compact.py
The shim pins are rewritten by nothing automatic, so drift against
core's fastmcp requirement would pass package checks and fail at shim
resolution time. The Claude plugin validator now compares each shim pin
against pyproject.toml, and a codex-side test does the same.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01G4rbaeHJN3L7CREp5v38J9
Signed-off-by: phernandez <paul@basicmachines.co>
@phernandez

Copy link
Copy Markdown
Member Author

@codex review

@chatgpt-codex-connector

Copy link
Copy Markdown

Codex Review: Didn't find any major issues. Keep them coming!

Reviewed commit: 176250a9c7

ℹ️ 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".

@phernandez
phernandez merged commit a891163 into main Aug 24, 2026
32 checks passed
@phernandez
phernandez deleted the fix/release-stages-claude-hook-bumps branch August 24, 2026 04:07
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.

1 participant