fix(plugins): ship the claude-code hook version bumps with releases - #1313
Conversation
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>
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01G4rbaeHJN3L7CREp5v38J9 Signed-off-by: phernandez <paul@basicmachines.co>
There was a problem hiding this comment.
💡 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".
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>
There was a problem hiding this comment.
💡 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".
…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>
|
@codex review |
There was a problem hiding this comment.
💡 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".
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>
|
@codex review |
|
Codex Review: Didn't find any major issues. Keep them coming! Reviewed commit: ℹ️ About Codex in GitHubYour team has set up Codex to review pull requests in this repo. Reviews are triggered when you
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". |
Three release-hardening fixes found while shipping v0.23.0:
Stranded version bumps:
scripts/update_versions.pybumps the claude-code hook shims' dependency floor, but the release recipe'sgit addlist staged only the codex copies — the v0.23.0 bump commit shipped without them. This PR lands the stranded>=0.23.0bumps and adds both files to the staged list in the release and beta recipes.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 — plainuv pip install basic-memorysilently 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:hookCLI 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.Live Claude Code plugin hooks silently no-op on current release:
hookCLI 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 noBM_BINoverride — 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