Skip to content

fix: refresh speckit_version in init-options on integration update#2647

Open
PascalThuet wants to merge 1 commit into
github:mainfrom
PascalThuet:codex/refresh-init-options-speckit-version
Open

fix: refresh speckit_version in init-options on integration update#2647
PascalThuet wants to merge 1 commit into
github:mainfrom
PascalThuet:codex/refresh-init-options-speckit-version

Conversation

@PascalThuet
Copy link
Copy Markdown
Contributor

@PascalThuet PascalThuet commented May 20, 2026

Summary

  • Refresh .specify/init-options.json speckit_version whenever active integration metadata is updated.
  • Refresh the same version field for multi-agent install/upgrade paths without changing the default integration fields.
  • Add regression tests for default and non-default integration update paths.

Why

init-options.json stores active integration metadata such as integration, ai, context_file, script, and ai_skills, but speckit_version stayed pinned to the version that originally initialized the project.

After upgrading Spec Kit, that made init-options.json diverge from .specify/integration.json and the integration manifests, which already record the current Spec Kit version.

For multi-agent projects, non-default integration installs/upgrades also update .specify/integration.json, so this keeps the global init-options version aligned while preserving the active ai, integration, and context_file values.

If the intended meaning of this field is historical instead, it should probably be renamed or documented separately, for example as initialized_speckit_version.

Validation

  • uv run pytest tests/integrations/test_integration_subcommand.py -v

Copilot AI review requested due to automatic review settings May 20, 2026 14:07
Copy link
Copy Markdown
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

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

Pull request overview

Note

Copilot was unable to run its full agentic suite in this review.

Adds tracking of the current speckit_version in .specify/init-options.json and ensures integration upgrade refreshes it.

Changes:

  • Persist speckit_version when updating integration init options.
  • Add an integration test verifying integration upgrade --force updates speckit_version.

Reviewed changes

Copilot reviewed 2 out of 2 changed files in this pull request and generated no comments.

File Description
tests/integrations/test_integration_subcommand.py Adds test coverage to ensure speckit_version is refreshed during upgrade.
src/specify_cli/init.py Writes the current speckit_version into init options during integration option updates.

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

@PascalThuet PascalThuet changed the title [codex] fix init-options speckit version refresh fix: refresh speckit_version in init-options on integration update May 20, 2026
@PascalThuet PascalThuet marked this pull request as ready for review May 20, 2026 14:12
@PascalThuet PascalThuet requested a review from mnriem as a code owner May 20, 2026 14:12
@PascalThuet PascalThuet force-pushed the codex/refresh-init-options-speckit-version branch from c300d70 to fa2b5da Compare May 20, 2026 14: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.

2 participants