Fix #4345 (2/4): bump drifted bundled extension versions and sync the catalog - #4394
Open
CrazyBaran wants to merge 2 commits into
Open
Fix #4345 (2/4): bump drifted bundled extension versions and sync the catalog#4394CrazyBaran wants to merge 2 commits into
CrazyBaran wants to merge 2 commits into
Conversation
…xt, git 1.1.0; assess 1.0.1) The bundled agent-context and git extensions have carried version 1.0.0 since they were created while their content kept changing - including fixes for failures that made them unusable on some platforms (agent-context: 15 commits, +1,120/-169 across 7 of its 8 files; git: 23 commits, +2,191/-567 across all 21 files). Because `specify extension update` compares semver only, every installed copy is reported "Up to date (v1.0.0)" forever and never receives those fixes (github#4345). Bump both manifests to 1.1.0 and sync extensions/catalog.json so existing installs finally see an available update. assess also drifted (one docs-only change to a shipped command file since its version was set), so it gets a patch bump to 1.0.1; bug has no drift and stays at 1.0.0. Refs github#4345 Assisted-by: Claude Code (model: claude-fable-5, autonomous) Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
…em in fixtures Copilot review round 3 on github#4351: the agent-context bump left every checked-in bundle pinned to 1.0.0. BundleExtensionPrimitive enforces exact pins against the bundled manifest, so the offline installs in tests/integration/test_bundler_local_install.py and test_bundler_init_install.py failed, and all four examples/bundles/*/bundle.yml examples stopped being installable. - examples/bundles/{business-analyst,developer,product-manager, security-researcher}/bundle.yml: agent-context pin 1.0.0 -> 1.1.0 (exact pins are the point of the example format, so they stay literal). - The two integration-test fixtures now resolve the pin through a new tests/bundler_helpers.bundled_extension_version() helper, which reads the version via the same _locate_bundled_extension lookup the primitive enforces against - so the fixtures test the bundler's pin mechanics rather than a frozen version literal, and the next legitimate extension bump cannot silently break them again. The git and assess extensions are not pinned by any checked-in bundle; tests/contract/test_bundle_cli.py's 1.0.0 pin feeds `bundle validate`, which checks existence only, and keeps passing unchanged. Refs github#4345 Assisted-by: Claude Code (model: claude-fable-5, autonomous) Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Contributor
There was a problem hiding this comment.
🔵 Needs a closer look
Catalog publication must wait until #4351 is merged and shipped, and that prerequisite remains open.
Pull request overview
Synchronizes bundled extension versions so updates can detect and deliver previously drifted content.
Changes:
- Bumps
agent-contextandgitto 1.1.0, andassessto 1.0.1. - Synchronizes the built-in catalog and example bundle pins.
- Derives test fixture pins from bundled manifests.
File summaries
| File | Description |
|---|---|
extensions/agent-context/extension.yml |
Bumps agent-context version. |
extensions/assess/extension.yml |
Bumps assess version. |
extensions/git/extension.yml |
Bumps git version. |
extensions/catalog.json |
Synchronizes catalog versions and timestamp. |
examples/bundles/business-analyst/bundle.yml |
Updates agent-context pin. |
examples/bundles/developer/bundle.yml |
Updates agent-context pin. |
examples/bundles/product-manager/bundle.yml |
Updates agent-context pin. |
examples/bundles/security-researcher/bundle.yml |
Updates agent-context pin. |
tests/bundler_helpers.py |
Adds bundled-version lookup helper. |
tests/integration/test_bundler_init_install.py |
Uses the current bundled version. |
tests/integration/test_bundler_local_install.py |
Uses the current bundled version. |
tests/extensions/git/test_git_extension.py |
Updates the expected git version. |
Review details
- Files reviewed: 12/12 changed files
- Comments generated: 0
- Review effort level: Balanced
💡 Add a code-review agent skill or configure MCP servers for context-aware, tailored reviews. Learn more in the docs.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Fixes the version-drift half of #4345: the bundled
agent-contextandgitextensions had accumulated content changes without a version bump (andassessa smaller one), sospecify extension updatecompared equal semvers and reported "Up to date" forever on already-installed copies — the shipped fixes were never delivered.Scope (part 2 of the split requested in review)
Following @mnriem's request to split the original #4351 into four parts, this PR carries part 2 — version/catalog bumps and bundle-pin updates, based on latest
main:extensions/agent-context/extension.yml,extensions/git/extension.yml→ 1.1.0;extensions/assess/extension.yml→ 1.0.1extensions/catalog.jsonsynced to the same versions — the catalog is whatextension updatecompares against, and its preflight rejects a manifest whose version differs from the catalog's, so the two must move togetherexamples/bundles/*/bundle.ymlpins moved toagent-context1.1.0tests/bundler_helpers.py), so future bumps don't have to touch every fixture; plus thegitmanifest version pin in its testAll content is byte-identical to what was already reviewed on #4351 through the previous rounds — only re-partitioned.
⚠ Sequencing: merge after #4351
This PR changes the live catalog that already-released CLIs fetch from
main(extensions/catalog.json). Without the local bundled-update support from #4351, a released CLI that sees these bumped versions would offer an update it then fails to install — bundled extensions have no download URL. Per the sequence suggested in review:The other parts
feat/4345-content-staleness-detection, stacked on Fix #4345 (1/4): install bundled extension updates from the local package #4351Refs #4345.
🤖 Generated with Claude Code