Skip to content

Fix #4345 (2/4): bump drifted bundled extension versions and sync the catalog - #4394

Open
CrazyBaran wants to merge 2 commits into
github:mainfrom
CrazyBaran:fix/4345-version-bumps-catalog-sync
Open

Fix #4345 (2/4): bump drifted bundled extension versions and sync the catalog#4394
CrazyBaran wants to merge 2 commits into
github:mainfrom
CrazyBaran:fix/4345-version-bumps-catalog-sync

Conversation

@CrazyBaran

@CrazyBaran CrazyBaran commented Sep 1, 2026

Copy link
Copy Markdown
Contributor

Fixes the version-drift half of #4345: the bundled agent-context and git extensions had accumulated content changes without a version bump (and assess a smaller one), so specify extension update compared 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.yml1.1.0; extensions/assess/extension.yml1.0.1
  • extensions/catalog.json synced to the same versions — the catalog is what extension update compares against, and its preflight rejects a manifest whose version differs from the catalog's, so the two must move together
  • examples/bundles/*/bundle.yml pins moved to agent-context 1.1.0
  • bundler test fixtures now read the pinned version from the example bundles instead of hardcoding it (tests/bundler_helpers.py), so future bumps don't have to touch every fixture; plus the git manifest version pin in its test

All 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:

  1. Fix #4345 (1/4): install bundled extension updates from the local package #4351 (local bundled-update support) merges and ships in a release first
  2. then this PR lands, and upgraded CLIs deliver the bumped extensions from their local package while older CLIs are told to upgrade spec-kit

The other parts

  1. CI version-bump guardFix #4345 (3/4): CI guard requiring version bumps on bundled extension changes #4395 (independent; once merged it will also validate this PR's bump/catalog sync)
  2. Content-hash staleness detectionfeat/4345-content-staleness-detection, stacked on Fix #4345 (1/4): install bundled extension updates from the local package #4351

Refs #4345.

🤖 Generated with Claude Code

Jakub Baranowski and others added 2 commits September 1, 2026 19:33
…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>

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

🔵 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-context and git to 1.1.0, and assess to 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.

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.

2 participants